SiamBAN詳細分析,一看就懂!

cxkyxx發表於2020-10-04

整體把握

SiamBAN是今年CVPR中效果最好的跟蹤器之一,研究它的原理更加能夠很好的幫助我們掌握目前跟蹤器發展的趨勢。
SIamBAN,按照意思分析是孿生自適應框。“孿生”,說明該跟蹤使用了Siamese網路架構;而“自適應框”,則是該跟蹤器採用了anchor-free的策略,不預先設定anchor框的尺寸,使得框擁有更大強大的自由度。
通過分析論文和程式碼,我認為SiamBAN就是一個優化版的SiamRPN++,最大的創新點在於anchor-free的引用,去掉了預定義的anchor,從而使得模型整體的引數下降,使得速度得到進一步的提升。
對於SiamBAN的原理分析,我準備採用三個方面:網路框架、訓練、跟蹤。

網路框架

與SIamRPN++相似,或者說網路框架基本相同。不過不同點在於SiamBAN中引入了空洞卷積的原理,經過實驗證明,空洞卷積能夠增大感受野,提升跟蹤效能。
SIamBAN的網路框架如下圖所示:
在這裡插入圖片描述
通過上圖,可以發現網路分為兩個分支:搜尋分支和模板分支。

整體的執行原理:

  1. 將搜尋補丁和模板補丁輸入對應的網路分支,在第4、5個卷積模組中新增空洞卷積,膨脹因子分別設定為2和4。
  2. 分別取出搜尋分支和模板分支中第3、4、5卷積模組的卷積結果。為了減少計算量,作者只選取了模板分支卷積結果的 7 × 7 7\times7 7×7區域。因為當輸入補丁的尺寸為 127 × 127 127\times127 127×127,輸出的特徵圖的尺寸為 15 × 15 15\times15 15×15,這時候選取[4:11]的區域,完全可以代表模板中選定的物體。
  3. 將相對應的卷積結果進行互相關操作。比如,搜尋分支第3卷積模組的卷積結果應該與模板分支第3卷積模組的卷積結果進行互相關,其中模板分支的卷積結果作為卷積核。那麼,最後獲得了三份互相關的特徵圖。(上圖顯示)
  4. 將這三份互相關特徵圖合併為一張。SiamBAN在程式碼中使用的方法是取平均,即一個位置的三個值相加除以三。最後得到了一份互相關特徵圖。
  5. 實際上,當執行到第4步的時候,就可以發現其實網路執行就可以結束了。但是作者為了能夠減少計算量, 將互相關圖的維度減少到256.(neck)

細節補充

  1. 骨幹網路選取的ResNet-50。
  2. 三個互相關特徵圖的尺寸是一樣的。雖然他們是不同層的卷積結果,但是通過控制卷積核大小、padding、dilation、stride完全可以實現輸出的尺寸相同。可以參考下面輸出尺寸的公式:
    H n e w = H o l d + 2 × p a d d i n g − d i l a t i o n × ( k e r n e l − 1 ) − 1 s t r i d e H_{new}=\frac{H_{old}+2\times padding-dilation\times (kernel-1)-1}{stride} Hnew=strideHold+2×paddingdilation×(kernel1)1

訓練

將搜尋補丁和模板補丁輸入網路後會得到二通道分類得分圖和四通道偏差座標圖。那麼,想要網路得到這樣的輸出就要對網路進行訓練。

分類訓練

正樣本代表分類特徵點為1,負樣本代表分類特徵點取值為0.
所謂分類訓練,指的就是教會網路分辨正樣本和負樣本的能力,在跟蹤過程中正樣本和負樣本的界定為跟蹤目標和其他。那麼界定方法的不同也就成為了區分不同訓練過程的關鍵。可以用下列圖表表示:

分類訓練
訓練網路判別正負樣本的能力
正負樣本的界定

之前的SiamRPN中對於正負樣本的界定為特徵圖對應搜尋補丁上anchor與真實框的IOU分數。IOU>0.6的特徵點為正樣本,用1表示;IOU<0.3的特徵點為負樣本,用0表示。又因為樣本的數量太多可能會增加計算負擔,所以只挑選了最多16個正樣本,48個負樣本。特徵圖對應搜尋補丁上的anchor示意圖,如下所示:
右圖的anchor與真實框的IOU決定對應特徵圖上一點的正、負取值
右圖的anchor與真實框的IOU決定對應特徵圖上一點的正、負取值。
而對於SiamBAN而言,正負樣本的界定為如下圖所示:
在這裡插入圖片描述
從上圖中可以看到,在搜尋補丁上畫了兩個橢圓 E 1 、 E 2 E_1、E_2 E1E2。它們以目標中心,分別以( g h 2 , g w 2 \frac{g_h}{2},\frac{g_w}{2} 2gh,2gw)、( g h 4 , g w 4 \frac{g_h}{4},\frac{g_w}{4} 4gh,4gw)為半徑,獲得橢圓( g w 、 g h g_w、g_h gwgh代表真實框的寬和高)。表示式為:
E 1 : ( p i − g x c ) 2 ( g w 2 ) 2 + ( p j − g y c ) 2 ( g h 2 ) 2 = 1 E 2 : ( p i − g x c ) 2 ( g w 4 ) 2 + ( p j − g y c ) 2 ( g h 4 ) 2 = 1 E_1:\frac{(p_i-g_{x_c})^2}{(\frac{g_w}{2})^2}+\frac{(p_j-g_{y_c})^2}{(\frac{g_h}{2})^2}=1\\ E_2:\frac{(p_i-g_{x_c})^2}{(\frac{g_w}{4})^2}+\frac{(p_j-g_{y_c})^2}{(\frac{g_h}{4})^2}=1 E1:(2gw)2(pigxc)2+(2gh)2(pjgyc)2=1E2:(4gw)2(pigxc)2+(4gh)2(pjgyc)2=1
規定在橢圓 E 2 E_2 E2內的部分為正樣本,橢圓 E 1 E_1 E1外的部分為負樣本,兩個橢圓之間的部分忽略。
因為在SiamBAN中特徵圖上的點與搜尋補丁上的點的對應關係為:
( p i , p j ) = [ w i m 2 + ( i − w 2 ) × s , h i m 2 + ( j − h 2 ) × s ] (p_i,p_j)=[\frac{w_{im}}{2}+(i-\frac{w}{2})\times s,\frac{h_{im}}{2}+(j-\frac{h}{2})\times s] (pi,pj)=[2wim+(i2w)×s,2him+(j2h)×s]
其中 ( p i , p j ) (p_i,p_j) (pi,pj)為搜尋補丁上的座標, w i m 、 h i m w_{im}、h_{im} wimhim為搜尋補丁的寬、高, w 、 h w、h wh為特徵圖的寬、高, s s s為總步長(所有步長的乘積)。
那麼可以得到特徵圖上的點對映會搜尋補丁。落在搜尋補丁正樣本區域的點取正值,為1;落在負樣本區域的點取負值,為0.示意圖如下:
在這裡插入圖片描述
當正負樣本設定好後,損失函式的選取為通用的交叉熵函式。

迴歸訓練

之前SiamRPN中迴歸訓練遵循的原理為: g t − a n c h o r = 偏 差 gt-anchor=偏差 gtanchor=。通過比較預測偏差和實際偏差的損失來不斷逼近真實框。這種方法是基於anchor的迴歸。但是SiamBAN的作者認為人在觀察物體的時候並沒有anchor的存在,於是引入了anchor-free的策略進行迴歸。
在SiamBAN中,作者遵循的原理為: g t − 搜 索 補 丁 的 坐 標 = 偏 差 gt-搜尋補丁的座標=偏差 gt=,即特徵圖對應搜尋補丁上每點與真實框四條邊的距離。
當我們通過網路獲得特徵圖對應搜尋補丁上每點與真實框四條邊的預測距離後,利用下面等式:
p x 1 = p i − d l r e g p y 1 = p j − d t r e g p x 2 = p i + d r r e g p y 2 = p i + d b r e g p_{x_1}=p_i-d_l^{reg}\\ p_{y_1}=p_j-d_t^{reg}\\ p_{x_2}=p_i+d_r^{reg}\\ p_{y_2}=p_i+d_b^{reg}\\ px1=pidlregpy1=pjdtregpx2=pi+drregpy2=pi+dbreg
可以得出特徵圖對應搜尋補丁上每點預測框的左上角和右下角(注意理想情況下每點的預測框應該相同,因為原理中的偏差是每點與真實框的距離,那麼反推回來每點預測的應該都是真實框)。通過將左上角和右下角的轉換,可以得到特徵圖對應搜尋補丁上每點的預測框,進而也能得到預測框與真實框的IOU。利用迴歸損失函式: 1 − I O U 1-IOU 1IOU可以進行訓練。

跟蹤

  1. 輸入跟蹤視訊
  2. 劃定需要跟蹤的目標
  3. 跟蹤器初始化(第一幀的處理)
    1. 擷取模板補丁(方法與SiamRPN相同)
    2. 將模板補丁輸入網路,得到第3、4、5層的卷積結果,並且對卷積結果進行處理(降維和模板特徵圖擷取7x7區域)
  4. 進行跟蹤
    1. 擷取搜尋補丁(方法與SiamRPN相同)
    2. 將搜尋補丁輸入網路,得到第3、4、5層的卷積結果
    3. 與模板補丁的三個卷積結果進行相關卷積,並且將得到的三個互相關特徵圖進行加權平均,得到分類特徵圖和偏差座標圖。
    4. 利用上述公式(迴歸訓練中),將得到的偏差座標圖轉換成多個預測框
    5. 施加平移懲罰和尺度懲罰,從多個預測框中獲得最佳跟蹤框,從而實現跟蹤。

時間有限,如果想看具體的跟蹤過程,請留言告訴我,多的話我就把它寫出來。其實這個跟蹤過程跟SiamRPN差不多,那個看懂了這個自然沒問題。

相關文章