CFNet:基於孿生網絡的反向傳播濾波器

論文全名:End-to-end representation learning for Correlation Filter based tracking

論文摘自CVPR 2017,由Jack ValmadreLuca BertinettoJõao F. Henriques、Andrea Vedaldi與Philip H. S. Torr撰寫。該論文是Siamese-fc的改進版。

摘要

相關濾波器是一種訓練線性模板以區分圖像及其轉換圖像的算法。因爲它在傅立葉域中快速運行,使得檢測器在每幀都能重新訓練,它非常適合物體跟蹤。 但是,使用相關濾波器的先前工作是需要針對不同任務進行訓練。

特點:是第一個將具有封閉式解決方案的相關濾波學習器作爲深度神經網絡中的一個分層來進行訓練:這樣可以學習與相關濾波器緊密耦合的深度特徵

實驗表明,我們的方法具有重要的實際好處,在輕量級架構下實現高幀率運行。

1  前言

在線訓練深度網絡,從一個或幾個例子中捕獲未知的對象類,具有挑戰性。跟蹤目的是在序列開始時只監督邊界框,從而在視頻上對對象進行重檢測。主要挑戰是對目標對象先驗知識的缺乏。

(1)帶有隨機梯度下降(SGD)的深度網絡優化

特點:忽略先驗知識的缺乏,將預訓練的深度卷積神經網絡(CNN)適應目標

缺點:有限的訓練數據大量參數成爲問題;SGD對於在線調整來說計算相當昂貴

(2)Siamese CNN

特點:不對網絡進行在線調整;將深度嵌入用作通用的對象描述符;使用離線訓練區分兩個圖像塊是否包含相同的對象

缺點:使用固定標準來比較目標外觀會阻止算法學習視頻的特點

(3)相關濾波器(CF)

特點:使用在線學習方法;其效率使得跟蹤器能夠在每一幀上實時調整模型;使用快速傅里葉變換(FFT)解決脊迴歸問題;比SGD更有效;與嵌入法相反,允許判別器針對特定視頻。

(4)CNNs + CFs

特點:將CF的在線學習效率與CNN的離線學習功能相結合,改進了性能。

缺點:CF應用預先訓練的CNN特徵上,而沒有兩種方法的任何深度集成。(思考:CNN-CF組合是否也可以進行端到端訓練?)

實現的關鍵步驟是將CF(訓練學習問題的良藥!)放入可分的CNN層,以便可以通過CF將錯誤送入CNN特徵。因此,這需要區分大線性方程組的解。本文提供了相關濾波器導數的閉合表達式,具體方法:將CF納入Siamese-fc框架,CF沒有改善網絡的效果,但實現了幾千個參數的超輕量級網絡,且速度很快。

2  相關工作

(1)自MOSSE之後,相關濾波器知名度直線提升,爲簡單起見,作者採用了相關濾波器基本公式

(2)在ECCVW2016時作者便提出了Siamese-fc孿生網絡,所以在本論文中使用了該網絡。

(3)相關濾波器層=計算正則化反捲積問題\neq“反捲積層”的上採樣卷積層。相關濾波器採用二次正則化而不是1-範數正則化,提出了一個封閉式的解決方案

(4)對於訓練期間反向傳播梯度優化算法,作者研究了SVD和Cholesky分解的反向傳播形式(梯度下降能夠計算線性方程組與特徵值),通過求解線性方程組,實現一種有效的反向傳播過程,其中矩陣爲循環矩陣。

(5)使用傳統學習問題傳播梯度。

3.具體思想

我們隨後推導出我們網絡中主要新成分的評估和反向傳播的表達式,

相關濾波器層在前向傳遞中在線學習(第3.4節)

3.1  Siamese-fc網絡(網絡框架)

與全卷積的Siamese框架不同,該網絡輸入包括訓練圖x'和測試圖z'的對(x',z')。x'表示以初始幀中的目標對象爲中心的圖像塊,z'表示下一幀中較大的搜索區域。它們都由可學習參數ρ的CNN fρ處理。生成兩個特徵映射,進行交叉互關聯,使目標位置對應最大響應值,與全卷積的Siamese框架類似,離線訓練網絡,從視頻集合中獲取數百萬隨機對(x'i,z'i)。對應一個值爲{-1,1}的ci的空間映射(真實對象位置屬於正樣本,其餘屬於負樣本)。損失函數定義爲

3.2  跟蹤算法(跟蹤框架)

採用簡單的跟蹤算法來評估相似度函數,在線跟蹤時,搜索圖像塊大小爲之前幀中目標對象大小的四倍,將目標對象與搜索區域的特徵表示進行比較,用前向模式評估網絡,對象的新位置爲得分最高的位置。
區別:原始的Siamese-fc網絡簡單地將每個幀與對象的初始幀進行比較,而該框架在每個幀中計算一個新template,然後將其與前一個template相結合

3.3  CFNet(相關濾波網絡)

CFNet:不對稱的Siamese網絡
對兩個輸入圖像進行相同的卷積特徵變換後,“訓練圖x”用於學習線性template,然後通過互相關搜索“測試圖z”。

一、作者使用x互相關符之間的相關濾波塊代替式(1)的網絡,最終的架構如圖1所示,公式爲

(1)與KCF核心相同,通過求解傅立葉域中的脊迴歸問題,對於訓練特徵圖x,從w =ω(x)中計算出標準的CFtemplate w(更具魯棒性);

(2)爲了讓結果適合於邏輯迴歸,引入標量參數權重s和偏差b;

(3)將式(2)中的g替換成h,訓練方法與Siamese-fc相同。

二、在2015年提出的SRDCF與CFLB中,都提到了擴大相關濾波器中的圖像區域後效果明顯提升;爲了減少循環邊緣的影響,特徵圖x預先乘以餘弦窗(MOSSE)並裁剪最終的template(一作的又一理論性論文)。

三、提出將CF template放入網絡,達到端到端訓練。

3.4  相關濾波器(在傅里葉域中用CF以封閉式反向傳播梯度)

一、公式 

KCF算法類似,給定圖像x∈Rm×m,CF template w\in \mathbb{R}^{m\times m}x\ast \delta _{-u}(x的循環移位)的內積儘可能接近期望響應y[u]:,其中\mathbb{U}=\begin{Bmatrix} 0,\cdots ,m-1 \end{Bmatrix}^{2}是圖像的域,y[u]是y\in \mathbb{R}^{m\times m}的第u個元素,δτ是狄拉克δ函數。使用\ast來表示循環卷積\star表示循環互相關。損失函數爲,其中n=|\mathbb{U}|是樣本的有效數量,最優CF template w必須滿足方程組(見附錄C)

(一)先前條件:

將損失問題等價成約束優化問題,即,用拉格朗日求鞍點法求解該方程(對應參數w,r,v求偏導,得到:。其中,令,那麼w=X\alpha =\sum_{i=1}^{n}\alpha _{i}X_{i}  (25),當特徵數d大於核矩陣維度n時,對偶解比原解效果更好。

(二)對於單通道CF:

(1)由於矩陣X(由向量x循環組成)爲對稱矩陣,有定義(循環互相關計算中第u個元素):

,那麼由式(25)得:(28)

(2)對於任意的向量z,利用式(28)傅立葉變換與逆變換,有:FX^{T}Xz=FX^{T}(z\star x)=F((z\star x)\star x)=\hat{z}\circ \hat{x}\circ \hat{x}=F(z\ast (x\star x)),與結合, 有:k\ast z=Kz=\frac{1}{n}X^{T}Xz+\lambda z=\frac{1}{n}z\ast (x\star x)+\lambda z=z\ast (x\star x+\lambda \delta ),則有:

(3)同樣的,對於上面提到的,可以解出

得到方程:與對應傅里葉域中:

:至於式(32)中進行傅立葉變換後x變成了它的共軛,可以從KCF的4.4節中找出答案:\begin{align*} &X^{H}X=Fdiag(\hat{x}^{*})F^{H}Fdiag(\hat{x})F^{H} \\ & = Fdiag(\hat{x}^{*})diag(\hat{x})F^{H} \\ &= Fdiag(\hat {x}^{*} \odot \hat{x})F^{H} \end{align*}

(三)對於多通道CF:

KCF中提到,對偶空間在多通道情況下效率更高(相比單通道),且計算與通道數量成線性關係。對於具有k個通道的信號,對應的式(21)\begin{align*} & arg\, min\frac{1}{2n}\left \| \sum_{p}X_{p}^{T}w_{p} -y\right \|^{2}+\frac{\lambda }{2}\left \| \sum_{p}w_{p} \right \|^{2}\\ &= arg\, min\frac{1}{2n}\left \| \sum_{p}X_{p}^{T}w_{p} -y\right \|^{2}+\frac{\lambda }{2}\sum_{p}\left \| w_{p}\right \|^{2} \end{align*}與式(22)L(w,r,v)=\frac{1}{2n}\left \| r \right \|^{2}+\frac{\lambda }{2}\sum_{p}\left \| w_{p} \right \|^{2}+v^{T}(r-\sum_{p}X_{p}^{T}w_{p}+y),可以得出

(1)

(2)核矩陣\LARGE \Rightarrow

(3)

得到方程:與對應傅里葉域中:

二、濾波器的反向傳播

在計算圖上,採用變量與變量(根據線性函數y=f(x)計算),最終損失爲,偏導數爲,反向傳播圖是從∇y到∇x的線性圖。

(一)矩陣微積分:

反向傳播是通過計算輸出來間接計算輸入

在程雲鵬等著作的《矩陣論》中p169(網頁對應的第95頁)例3.15給出了該式的詳細證明:

即有:

(二)定義反向傳播:

定義反向傳播的線性映射:,那麼對於都爲實數域中的向量,有\LARGE \begin{align*} \left \langle J^{*}(v),u \right \rangle &=\left \langle v^{*}\frac{\partial f(x)}{\partial x} ^{*},u\right \rangle =\frac{\partial f(x)}{\partial x} ^{*} \left \langle v^{*},u \right \rangle= \left \langle v,\frac{\partial f(x)}{\partial x}u \right \rangle \\ &=\left \langle v,J(u) \right \rangle \end{align*}  (41)與兩個輸入的梯度相關

反向傳播圖是線性圖,作者採用Parseval定理,它表明傅里葉變換是單一的(除比例因子):
對式(31)求微分得到:與對應傅里葉域中的。得到圖2(在傅立葉域中):

(三)單通道CF中的反向傳播:

上面提到,反向傳播圖是作爲差分線性圖的伴隨。 我們可以自由地在傅里葉域中獲得這些伴隨映射,因爲Parseval定理提供了內積的存儲。

(1)\LARGE J_{1}\LARGE dx \mapsto dk的特徵映射,記\LARGE \begin{align*} J_{1}(dx)&=J_{1}(u)=\frac{\partial (\frac{1}{n}(x\star x)+\lambda \delta )}{\partial x}u \\ &=\frac{1}{n}(dx\star x +x\star dx ) \end{align*}\LARGE v=dk,對式(41)做傅里葉變換(這裏設\LARGE \hat{x}=\hat{x}^{*}),\LARGE J_{1}^{*}(v)=\frac{1}{n}(dk^{*}\star x+x^{*}\star dk)^{*}。可得:\small =\left \langle FJ_{1}^{*}(dk),Fdx \right \rangle =\left \langle \frac{1}{n}(\widehat{dk}^{*}\circ \widehat{x}+\hat{x}^{*}\circ \widehat{dk})^{*} ,\widehat{dx}\right \rangle =\left \langle \frac{1}{n}(\widehat{dk}\circ \widehat{x}^{*}+\hat{x}\circ \widehat{dk}^{*}) ,\widehat{dx}\right \rangle\small =\left \langle \frac{2}{n}Re\left \{ \widehat{dk} \right \}\circ \hat{x},\widehat{dx} \right \rangle。那麼根據輸入的梯度相關性,可得:
(2)類似的,對於\LARGE J_{2}的特徵映射,記\small J_{2}(dk,dy)=k^{-1}\ast \left ( \frac{1}{n}dy-dk\ast \alpha \right )\small v=d\alpha

那麼對應地,,根據輸入的梯度相關性,分別得:

(3)類似的,對於的特徵映射,記\small J_{3}(dx,d\alpha )=\small v=dw

那麼對應地,,根據輸入的梯度相關性,分別得:

綜上所述,根據圖2的的整體反向傳播圖,最終結果爲:開始階段計算前向傅里葉變換結束時計算逆變換。多通道圖像的擴展是微不足道的,並在附錄E(補充材料)中給出。

(四)多通道CF中的反向傳播:

與一公式中的(三)類似,對式(37)用微分方法進行反向傳播運算,得到傅里葉域中的:。與上面的單通道反向傳播計算類似,我們也可以得到類似式(10)的方程:,且計算與通道數量成線性關係

另外,我們注意到響應y具有損失的梯度,可以優化該參數。然而在MOSSEKCF中,並未發現學習這個參數可以提高精度。

4. 實驗

主要目的:研究訓練期間加入CF的效果。

實驗對比:

(1)與本論文第一版本Siamese-fc相比較;(2)將端到端訓練的CFNet與它的變形(針對不同任務進行不同訓練)進行比較。

4.1  評估標準

訓練集:ImageNet2015的3862個訓練視頻。(最多相隔100幀)兩幀圖像中隨機採樣12對隨機提取,進行100次迭代。在跟蹤期間,以幾何步長1.04來實現在尺度空間中的跟蹤。將縮放對象的響應乘以0.97來更新比例。爲了避免對象大小的突然轉換,使用具有學習率0.6的滾動平均值來更新比例。

驗證集:VOT-2014,VOT-2016和Temple-Color數據集,一共129個視頻;

測試集:OTB-2013,OTB-50和OTB-100數據集。

特點:實驗中,使用相同的“自然”超參數集,沒有針對任何特定方法進行調整;使用區間爲55,66,...,100這十個幀數間隔訓練網絡。

評估標準:(1)與OTB2013與OTB2015一樣:計算平均IOU;(2)TRE:選擇三個等間隔點,從每個點運行跟蹤器,當IOU=0時,終止跟蹤其運行(後餘幀默認IOU=0)。

4.2  與Siamese-fc比較

數據集:驗證集
算法:Siamese-fc與CFNet
 實線以權重0.01更新學習率;虛線表示不更新

注意:上圖比較了兩種方法對不同深度網絡驗證集的準確性。深度爲n的特徵提取網絡在第n個線性層(包括ReLU,不包括池化層)後終止。

與原Siamese-fc不同點:(1)將網絡的總步幅從8減少到4(conv1爲2,pool1爲2)【減少小特徵】;(2)將輸出層通道從128固定爲32【速度更快】。

總結:(1)淺層網絡用於計算特徵時,CFNet明顯優於Siamese-fc;(2)CFNet相對不受網絡層數的影響;(3)當有足夠的模型容量和可用數據時,CFNet變得多餘;(4)更新模板對兩個算法效果都有明顯提升。

4.3  其他實驗

Baseline + CF:訓練Siamese-fc+跟蹤期間CF。當添加更多卷積層時,性能並未有所提升。

CFNet-const:對於多通道CF:,解決了在測試時脊迴歸問題,(網參)拉格朗日乘子α:離線訓練,測試不變。

CFNet > Siamese-fc > CFNet-const
說明反向傳播的重要性

 

訓練:(1)數據結果爲OTB2013;(2)在每個算法中加入不同的(300次迭代)超參;(3)對於OTB2013中的灰度圖像,使用所有灰度序列重新訓練每個算法。

評估:(1)OPE:算法在圖像序列只運行一次;(2)TRE:每個算法從20個不同的起點開始,一直運行最後。

總結:當網絡較淺時,CFNet效果很好,需要較少的操作和較少的存儲

CPU:4.0GHz Intel i7
GPU:NVIDIATitan X

 

CFNet-conv2:(1)速度75FPS;(2)比Baseline-conv5(基於Siamese-conv5)參數少4%;(3)存儲空間600kB

5.  結論

(1)提出CFNet(非對稱架構):運用了反向傳播梯度,使用在線訓練優化基礎特徵表示。爲循環方程系統建立了有效的反向傳播圖。

(2)CFNet網絡對深度層數不太敏感。

(3)對未來研究:自適應擴展,以及通過學習來將反向傳播梯度用於一次性學習和領域適應等相關任務。

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