論文筆記Learning dynamic siamese network for visual object tracking

1. 標題及來源

Learning dynamic siamese network for visual object tracking, ICCV, 2017

2. 擬解決的問題

1. 如何有效地學習目標外觀的時間變化(efectively learn temporal variation of target appearance)
2. 如何排除複雜背景的干擾(exclude the interference of cluttered background)
3. 在解決1和2的基礎上保持實時性

3. 解決方法

3.1 算法整體

在這裏插入圖片描述
圖中橙線是該方法的網絡結構圖
1. 通過卷積網絡提取第一幀中目標模板的特徵,將得到的特徵圖記爲fl(O1)f^l(O_1)
2. 通過卷積網絡提取第t幀中候選區域的特徵,將得到的特徵圖記爲fl(Zt)f^l(Z_t)
3. 將fl(O1)f^l(O_1)與目標外貌變化參數Vt1lV^{l}_{t-1}進行點乘操作,得到第t幀中目標更新後的特徵
4. 將fl(Zt)f^l(Z_t)與背景抑制參數Wt1lW^{l}_{t-1}進行點乘操作,得到第t幀中候選區域更新後的特徵
5. 將更新後的兩個特徵進行相關操作,得到響應圖,確定目標的位置

3.2 算法詳細流程

在這裏插入圖片描述
RLR表示regularized linear regression(正則線性迴歸),O表示target,Z表示search region,flf^l表示孿生網絡的第l層特徵,Gt1G_{t - 1}表示和第t-1幀的Z同大小的圖片,但是target在該圖片的中心區域,Gt1\overline{G}_{t-1}表示對Gt1G_{t-1}進行了背景抑制,即Gt1Wt1lG_{t - 1}*W^l_{t - 1}
a. 從當前幀(記爲t)中裁剪出搜索區域,記爲ZtZ_t
b. 根據上一幀的響應圖(St1lS^l_{t-1})得到上一幀的Ot1,Gt1c.使孿t1O_{t-1}, G_{t-1} c. 使用孿生網絡提取第t-1幀O_{t - 1}lFd.1的特徵,將第l層特徵記爲F d. 同理提取第1幀O_1的特徵,將其記爲F_1$
e. 將F1F_1和F輸入到RLR單元學習外觀變化參數V
f. 將Gt1G_{t - 1}輸入到右邊那個分支中,通過點乘得到Gt1\overline{G}_{t - 1}
g. 使用孿生網絡分別提取Gt1Gt1G_{t - 1}和\overline{G}_{t - 1}的特徵,記爲FGFGF_G和F_{\overline G}
h. 將FGFGF_G和F_{\overline G}輸入到RLR單元中學習背景抑制參數W
i. 使用孿生網絡提取第t幀search region的特徵,記爲FzF_z
j. 將FzWF_z*W作爲更新後的search region(O^\widehat O),將F1VF_1 * V作爲更新後的target(F^z\widehat F_z),兩者進行相關操作即可得到響應圖,從而確定目標的位置。

3.3 RLR

通過它可以計算Vt1lWt1lV^l_{t - 1}和W^l_{t - 1}
給定兩個張量X和Y以及一個最優的線性變換矩陣R,使X和Y相似
R=argmin(T)TXY2+λT2R = arg min(T) ||T * X - Y||^2 + \lambda ||T||^2
*表示循環卷積
上述方程可以通過傅里葉變換快速求得R
在這裏插入圖片描述
外觀變化參數V: 它的目的就是爲了建模第一幀和第t-1幀的變化來建模目標的變化,然後更新target,使其能得到好的模板。它可以套用上述公式,即T就是V,X是F1lF^l_1,Y是Ft1lF^l_{t - 1}
在這裏插入圖片描述

背景抑制參數W: 它的目的是爲了抑制背景信息,它通過第t-1幀的響應圖得到與第t-1幀search region同大小的圖片,並且target在該圖片的中心區域,記爲Gt1G_{t - 1},將它與高斯響應圖相乘得到Gt1\overline G_{t-1}。它也可以套用上述公式,即T就是W,X是FGt1lF^l_{G_{t-1}},Y是FGt1lF^l_{\overline G_{t-1}}
在這裏插入圖片描述

3.4 多層特徵融合

在這裏插入圖片描述
St=lLγlStlS_t = \sum_{l \in L}\gamma^l \bigodot S^l_t,如上圖所示。反向更新公式如下
γlLt=StlStLt∇_{\gamma^l}L_t = S^l_t \bigodot ∇_{S_t} L_t

4. 實驗結果

4.1 OTB-2013

在這裏插入圖片描述
從圖中可以發現
1. DSiamM在兩個圖中都排名第2,MDNet的效果最好,但是MDNet只有1fps左右,遠小於DiamM的45fps
2. MDNet中使用了數據集中的序列訓練他們的模型,所以相對可能會有點不公平,針對這點,作者復現了MDNet並將其重命名爲R-MDNet
3. SINT+使用光流作爲額外的運動信息,但是依舊比DSiamM的效果差
4. DSiamM和DSiam雖然比SiamFC慢,但是性能相對提升了7.9%和5.6%

在這裏插入圖片描述
從圖中可以發現:
a.當圖片質量較差(FM, MB, LR)時,算法的性能會受到較大影響

4.2 VOT-2015實驗結果

在這裏插入圖片描述
從表中可以發現:
1. 雖然DSiamM的Overlap的分數比MDNet和DeepSRDCF低,但是DSiam的速度遠超過它們
2. 雖然GOTRUN,Staple和SiamFC更快,但是它的Accuracy和Overlap更低
在這裏插入圖片描述
從圖中可以發現:
a. DSiamM相比DSiam多了一次特徵融合操作,但是下降了20fps,由此可以發現,它的特徵融合相對較費時

4.3 消融實驗的實驗結果

在這裏插入圖片描述
左圖
從圖中我們可以發現:
a. 背景抑制模塊移除後效果影響不是非常大

右圖
從圖中可以發現:
a. 用t-1幀的target替換第1幀的target會使性能下降,可能是因爲跟蹤時的錯誤累積導致
b. 固定融合權重性能下降,可能是因爲不同位置的貢獻程度是不一樣的,當我們固定融合權重時,就認爲它們的貢獻程度是一樣的,所以固定融合權重會使性能下降

4.4 失敗樣例

在這裏插入圖片描述
從圖中可以發現:
在第4行中,DSiamM跟蹤目標失敗

5. 存在的問題

a. 當圖片質量較差時,目標容易跟丟
b. 原文中的目標外觀變化參數V,它的目的是縮小第1幀和第t-1幀之間的差距,但是它並不能保證此處的第t-1幀一定是正確的,但是當簡單的使用t-1幀替換時,它的效果又較差,所以此處就很神奇了(可能是我水平有限,歡迎大家留言討論)

6. 總結

該算法在SiamFC的基礎上,引入了目標外觀變化參數V和背景抑制參數W,通過在傅里葉頻域中可以快速學習V和W,通過這兩個參數更新target和search region,它的速度是45fps,在OTB2013上的AUC和precision分別是0.642和0.86,在VOT2015上的Accuracy,Overlap和Speed分別是0.5414,0.2804,6.4834;當融合了多層特徵後,它的速度是25fps,在OTB2015上的AUC和precision分別是0.656和0.891,在VOT2015上的Accuracy,Overlap和Speed分別是0.5566,0.2927和4.3498。

7. 知識補充

7.1 circular convolution(循環卷積)

計算兩個長度均爲N的序列x1(n)x_1(n)x2(n)x_2(n)的循環卷積,設
x1(n)=(1234)x_1(n)=(1,2,3,4)x2(n)=(5678)x_2(n)=(5,6,7,8),N=4,
x1(n)x_1(n)按逆時針方向均勻分佈在一個圓周上。將x2(n)x_2(n)按順時針的方向均勻分佈在另一個同心圓上,如下圖a所示
在這裏插入圖片描述
然後求兩圓上相應序列的乘積,並把V項乘積疊加起來作爲n=0時刻的卷積值y(0),即
y(0)=15+46+37+28=66y(0)=1*5+4*6+3*7+2*8=66

若求n=1時刻的y(l)值,可將外圓的:x2(n)x_2(n)固定,把內圓上的序列x1(n)x_1(n)順時針旋轉一個單位時間(或將x1(n)x_1(n)固定,把外圓上的序列x2(n)x_2(n)逆時針旋轉),如上圖b所示,然後把對應項的乘積疊加起來,即爲所求。即y(1)=25+16+47+38=68y(1)=2*5+1*6+4*7+3*8=68
參考資料:百度百科

7.2 Fourier transformation(傅里葉變換)

時域: 以時間作爲參照來觀察動態世界的方法稱爲時域分析,就像我們經常看到的世界一樣
頻域: 當換一種方法觀察世界,發現世界是永恆不變的,這種靜止的世界叫做頻域
例如音樂的曲調類似於正弦波,從時域的角度看它的曲調在不斷變化,但是從頻域的角度看則可以認爲它只是靜止的一個音符
頻域基本單元: 把第一個頻率最低的頻率分量看做“1”,這個就算構建頻域的最基本單元
傅里葉變換類型:

變換 簡稱 時間 頻率
傅里葉級數 Fourier Series(FS) 連續,週期性 離散,非週期性
連續傅里葉變換 Fourier Transform(FT) 連續,非週期性 連續,非週期性
離散時間傅里葉變換 Discrete Time Fourier Transform(DTFT) 離散,非週期性 連續,週期性
離散傅里葉變換 Discrete Fourier Transform(DFT) 離散,週期性 離散,週期性

傅里葉級數(FS)的頻譜: 可以理解爲不同頻率正弦波的振幅。如下圖所示
在這裏插入圖片描述
傅里葉級數的相位譜: 正弦波中最高點與頻率軸最小的水平距離就是時間差,將該值除以所在頻率的週期,就得到了相位譜,如下圖所示。
在這裏插入圖片描述
傅里葉變換(FT): 可以認爲對一個週期無限大的函數計算傅里葉級數。計算公式如下:
F(ω)=F[f(t)]=+f(t)eiωtdtF(\omega)=F[f(t)]=\int^{+\infty}_{-\infty}f(t)e^{-i\omega t}dt

傅里葉變換的逆變換: f(t)=F1[F(ω)]=12π+F(ω)eiωtdωf(t)=F^{-1}[F(\omega)]=\frac{1}{2\pi} \int^{+\infty}_{-\infty}F(\omega)e^{-i\omega t}d\omega
說明:F(ω)F(\omega)表示頻域函數,f(t)f(t)表示時域函數
F(ω)F(\omega)表示頻域函數,f(t)f(t)表示時域函數
離散時域傅里葉變換(DTFT): 離散傅里葉變換(DFT)是離散時域傅里葉變換(DTFT)的特例。DTFT在時域上離散,在頻域上則是週期的。DTFT可以被看做是傅里葉級數(FS)的逆變換
離散傅里葉變換(DFT): 連續傅里葉變換在時域和頻域上都離散的形式,且時域和頻域都是週期性的。計算公式如下:
X(k)=n=0N1x(n)ej2πNkn(k=0,1,2,...,N1)X(k)=\sum^{N-1}_{n=0}x(n)e^{-j \frac{2\pi}{N}kn}(k=0,1,2,...,N-1)
X(k)表示DFT變換後的數據,x(n)爲採樣的模擬信號,公式中的x(n)可以爲覆信號,即虛部爲0,此時公式可以展開爲:
X(k)=n=0N1x(n)(cos2πknNjsin2πknN)(k=0,1,2,...,N1)X(k)=\sum^{N-1}_{n=0} x(n) (cos2\pi k \frac{n}{N}-j sin2 \pi k \frac{n}{N}) (k=0, 1, 2, ..., N-1)
參考資料:

  1. 深入淺出的講解傅里葉變換
  2. 傅里葉變換(一)——認識傅里葉變換
  3. 離散傅里葉變換-DFT(FFT基礎)

7.3 SuperPixel

SuperPixel就是將一幅圖像的像素分爲稍微大一些的像素塊。
參考資料:SuperPixel

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