Paper:High Performance Visual Tracking with Siamese Region Proposal Network。
http://openaccess.thecvf.com/content_cvpr_2018/papers/Li_High_Performance_Visual_CVPR_2018_paper.pdf
我們在前面已經(jīng)介紹了SiamFC,SiamFC的方法只能估計目標的中心位置,而要想對目標的尺寸進行估計,只有通過多尺度測試來預(yù)測尺度的變化,這種方式不僅增加了計算量,同時也不夠精確。SiamRPN作為對其的改進,主要通過引入?yún)^(qū)域候選網(wǎng)絡(luò)(Region Proposal Networks, RPN)來對bbox進行回歸,提高跟蹤定位的精度。
1. 算法原理
1.1 SiamRPN網(wǎng)絡(luò)架構(gòu)

由上圖可以看出,整個網(wǎng)絡(luò)結(jié)構(gòu)可以分為兩部分:
- Siames Network,與SiamFC類似,孿生網(wǎng)絡(luò)分為上下兩支,上下兩支路的網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)完全相同,該網(wǎng)絡(luò)的作用是分別提取模板幀和檢測幀的圖像特征。孿生網(wǎng)絡(luò)的兩個分支可以用一個卷積網(wǎng)絡(luò)實現(xiàn),值得注意的是這個卷積網(wǎng)絡(luò)必須為全卷積網(wǎng)絡(luò),滿足平移不變性,即先對圖像進行有比例因子的轉(zhuǎn)換操作再進行全卷積操作等同于先對圖像進行全卷積操作再進行轉(zhuǎn)換操作。
- Region Proposal Network,該子網(wǎng)絡(luò)的作用是對bbox進行回歸,得到精確的位置估計。RPN網(wǎng)絡(luò)由兩部分組成,一部分是分類分支,用于區(qū)分目標和背景,另一部分是回歸分支,它將候選區(qū)域進行微調(diào)。
1.2 Anchors
在討論RPN前,需要說一說anchor,anchor的本質(zhì)就是輸出一系列不同尺寸和形狀的矩形,
在RPN中使用滑窗技術(shù)在特征圖的每個點都生成k個anchor,即通過這些矩形來對bbox進行回歸。
1.3 RPN
從網(wǎng)絡(luò)架構(gòu)可以看出,模板圖像和搜索圖像經(jīng)過Siamese網(wǎng)絡(luò)分別得到6 x 6 x 256,22 x 22 x 256的特征,然后模板圖像特征通過3 x 3的卷積核分別產(chǎn)生了4 x 4 x (2k x 256)以及4 x 4 x (4k x 256)的特征,這里從6 x 6的尺寸經(jīng)過3 x 3的卷積核得到4 x 4的特征尺寸比較簡單,值得注意的是特征通道從256上升到了2k x 256以及4k x 256,之所以通道數(shù)上升了2k倍,是在特征圖的每個點生成k個anchor,同時每個anchor可以被分類到前景或背景,所以分類分支上升了2k倍,同理每個anchor可以用4個參數(shù)進行描述,所以回歸分支上升了4k倍。同時搜索圖像也通過3 x 3的卷積核分別得到兩個特征,這里特征通道數(shù)保持不變。
對于分類分支,將2k個模板圖像anchor的4 x 4 x 256特征作為卷積核與搜索圖像特征進行卷積操作,從而產(chǎn)生分類分支響應(yīng)圖;對于回歸分支與此類似,產(chǎn)生的響應(yīng)圖為17 x17 x 4k,其中每個點表示一個尺寸為4k的向量,為dx,dy,dw,dh,衡量著anchor與groundtruth的偏差。響應(yīng)圖計算公式如下:

1.4 訓(xùn)練階段
在訓(xùn)練過程中使用Faster R-CNN的loss函數(shù),用cross-entropy loss作為分類分支的損失函數(shù),用smooth L1 loss作為回歸分支的損失函數(shù)。
交叉熵loss與SiamFC類似。對于回歸分支的損失函數(shù),首先將anchor的坐標標準化,




- 相比于L1損失函數(shù),可以收斂得更快。
- 相比于L2損失函數(shù),對離群點、異常值不敏感,梯度變化相對更小,訓(xùn)練時不容易跑飛。
訓(xùn)練過程中anchor數(shù)量一共五個,one scale, 5 ratios([0.33, 0.5, 1, 2, 3])。
正負樣本選擇策略:設(shè)置高低兩個閾值,大于0.6的為正樣本,小于0.3的為負樣本,一個pair中有64個樣本,其中正樣本最多16個。
1.5 跟蹤階段
作者將跟蹤任務(wù)規(guī)劃為一個one-shot detection任務(wù),即首先學(xué)習(xí)一個learner net,在本文中對應(yīng)于相似性函數(shù)。學(xué)習(xí)完成后,在跟蹤階段通過初始幀學(xué)習(xí)得到卷積操作的卷積核參數(shù),從而得到pupil net,然后再后續(xù)幀對目標進行跟蹤。其實在之前的相關(guān)濾波器類跟蹤器,SiamFC跟蹤器都存在這樣的思想,SiamRPN從理論的角度對其進行了闡述。
跟蹤框架可以描述為,
推理階段:




由此我們得到K個proposals。
Proposal selection:
我們需要從K個proposal中進行選取,文章中給出了兩個策略:
- 作者認為相鄰幀目標的位移不會太大,所以只選取分類特征圖中心區(qū)域的點。
- 使用cosine窗和尺度變化懲罰來re-rank proposals的得分
最終使用NMS 來得到最終的bbox。
2 實驗
實驗環(huán)境是Intel i7、12G RAM、Nvidia GTX1060。
上圖為在OTB2015上的實驗結(jié)果,可以看出相對于SiamFC跟蹤性能有利很大的提升。同時跟蹤速度達到了160FPS,幾乎為SiamFC(86FPS)跟蹤速度的2倍。