CFNet視頻目標跟蹤推導筆記

1. 論文信息

論文題目:End-to-end representation learning for Correlation Filter based tracking
論文出處:CVPR 2017
論文作者:Jack Valmadre,Luca Bertinetto等人
論文主頁:http://www.robots.ox.ac.uk/~luca/cfnet.html
源碼鏈接:https://github.com/bertinetto/cfnet

2. 濾波器求解——論文公式(7)推導過程

2.1 最優化求解

首先,定義最優化問題

(1)argminw12nXTwy2+λ2w2

其中,w 表示待求解的濾波器,n 表示樣本數目,y 表示樣本標籤。
現在,我們將公式(1)換一種方式進行表述,定義r=XTwy ,那麼最優化問題爲
(2)argminw,r12nr2+λ2w2s.t.r=XTwy

從公式(2)開始,利用拉格朗日乘子法進行優化,具體可以參考Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers一書中Chapter 2.1 Dual Ascent中的描述(PDF鏈接:https://web.stanford.edu/~boyd/papers/pdf/admm_distr_stats.pdf),首先構建拉格朗日表達式:
(3)L(w,r,v)=12nr2+λ2w2+vT(rXTw+y)

其中v 是拉格朗日乘數,這樣,將損失函數進行梯度求解,首先對w 求偏導數,得

(4)L(w,r,v)w=(12nr2+λ2w2+vT(rXTw+y))w=(12nr2)w+(λ2w2)w+(vT(rXTw+y))w=(12nr2)w+(λ2w2)w+(vT(XTw))w=(12nr2)w+(λ2w2)w+(vTXTw)w=0+λw+vT(0XT)=λw(vTXT)T=λwXv

現在對r 求偏導數,得

(5)L(w,r,v)r=(12nr2+λ2w2+vT(rXTw+y))r=(12nr2)r+(λ2w2)r+(vT(rXTw+y))r=12n2r+0+(vT)T(10+0)=1nr+v

最後對v 求偏導數,得

(6)L(w,r,v)v=(12nr2+λ2w2+vT(rXTw+y))v=(12nr2)v+(λ2w2)v+(vT(rXTw+y))v=0+0+(rXTw+y)=rXTw+y

現在,分別令上述三個偏導數爲0,得

(7){λwXv=01nr+v=0rXTw+y=0

根據方程(7),首先求解 ,可以得到

(8)w=1λXv

接下來求解v ,有

(9){w=1λXv1nr+v=0r=XTwy1n(XTwy)+v=01n(XT1λXvy)+v=01n1λXTXv1ny+v=01n1λXTXv+v=1ny1n1λXTXv+v=1ny1n1λXTXv+v=1ny1λXTXv+nv=y(1λXTX+nI)v=y(XTX+λnI)v=λyv=λyXTX+λnIv=λn(1nXTX+λI)yv=λn(1nXTX+λI)1y

最終,得到的解爲

(10){w=1λXvv=λn(1nXTX+λI)1y=v=λnK1y

其中,K=1nXTX+λI 是正則化核矩陣。通常情況下,我們會引入一個scaled dual變量α=1λv=1nK1y ,利用變量α ,可以將w 表示爲某種加權組合

(11)w=Xα=i=1nαixi

2.2 相關濾波引入

根據相關濾波跟蹤方法的特性,這裏我們將上述變量X 定義爲循環矩陣,滿足X[u,t]=X[u+tmodm] ,由於此時矩陣X 是對稱矩陣,所以模板w 是通過互相關的方式獲取的

(12)w=Xα=αx

注: 表示循環卷積操作, 表示循環互相關操作, 表示矩陣元素級乘法

關於正則化核矩陣K=1nXTX+λI ,關於它的線性映射等價於與base信號k 的卷積

(13)Kz=kz

其中k=1nxx+λδ ,由於

(14)z:FXTXz=F((zx)x)=z^x^x^=F(z(xx))

於是,有

(15){k=1nxx+λδkα=k1nK1y=1nkK1y=1nKK1y=1nyw=αx

放到傅里葉域中,其解爲

(16){k^=1n(x^x^)+λIα^=1nk^1y^w^=α^x^

公式(16)即爲論文中的公式(7),這樣,相關濾波的求解表達式就完成了。

注:公式中的互相關,在傅里葉域中會帶上一個共軛符號,其中一種出處:
不管如何,與直接卷積相差一個負號。這時,看清楚了,相關函數在頻域也不完全是乘積,是一個信號的共軛再與原信號乘積,這就是與“時域卷積頻域相乘不同的地方”。
所以,請記住這個有用的結論:兩個信號的互相關函數的頻域等於X信號頻域的共軛乘以Y信號的頻域。
https://blog.csdn.net/xiahouzuoxin/article/details/19286077

3. 反向傳播公式推導過程

3.1 計算微分

由於論文將相關濾波器作爲深度神經網絡中的一層,因此在定義網絡結構時,有必要確定網絡的反向傳播表達式。

首先,根據公式(15),求解微分

(17){dk=1n(dxx+xdx)dkα+kdα=1ndydw=dαx+αdx

將公式(17)轉換到傅里葉域,有

(18){dk^=1n(dx^x^+x^dx^)dα^=k^1(1ndy^dk^α^)dw^=dα^x^+α^dx^

3.2 計算反向傳播

J1 表示映射dxdk (這個映射就是公式(17),如果放到傅里葉域就是公式(18)),首先計算內積

(19)F(dk),F(J1(dx))=dk^,1n(dx^x^+x^dx^)=1ndk^,dx^x^+1ndk^,x^dx^=1ndx^,dk^x^+1ndx^,x^dk^=1ndx^,dk^x^+1ndx^,dk^x^=1ndx^,dk^x^+dk^x^=1ndx^,dk^x^+dk^x^=1ndx^,2Re{dk^x^}=dx^,2nRe{dk^x^}=dx^,2nRe{dk^}x^

根據公式(19),計算反向傳播映射

(20)x^=2nx^Re{k^}

類似地,現在計算內積

(21)F(dα),F(J2(dk,dy))=dα^,k^1(1ndy^dk^α^)=dα^,k^1(1ndy^)dα^,k^1(dk^α^)=1nk^1dα^,dy^+dα^,k^1(dk^α^)=1nk^1dα^,dy^+k^1α^dα^,dk^=1nk^dα^,dy^+k^α^dα^,dk^

得到反向傳播映射

(22){y^=1nk^α^k^=k^α^α^

類似地,計算內積

(23)F(dw),F(J3(dα,dx))=dw^,dα^x^+α^dx^=dw^,dα^x^+dw^,α^dx^=dα^,dw^x^+dx^,α^dw^=dα^,dw^x^+dx^,α^dw^

也可以得到反向傳播映射

(24){α^=x^w^x^=α^w^

最後,綜合上述公式(20)、(22)和(24),可以得到CFNet最終的反向傳播映射

(25){α^=x^w^y^=1nk^α^k^=k^α^α^x^=2nx^Re{k^}+α^w^

最後,本推導筆記離不開富民同學的耐心幫助和CSDN博主的xiahouzuoxin的啓發,在此一併表示感謝!


更多內容,歡迎掃碼關注“視覺邊疆”微信訂閱號

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章