論文地址:https://arxiv.org/pdf/1812.11703.pdf
源碼地址:https://lb1100.github.io/SiamRPN++
SiamRPN++源于2018年收錄于cs.CV上的論文《SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks》,基于深度網(wǎng)絡的孿生視覺跟蹤的發(fā)展。
孿生網(wǎng)絡算法使用的互相關層在視頻幀(搜索區(qū)域search region)中搜索范例物體(目標模板target template),盡管它非??焖伲鄬τ谀繕烁欘I域最優(yōu)的算法(如ECO、MDNet),在準確度上還有很大差異。
隨著深度神經(jīng)網(wǎng)絡的發(fā)展,當前更深層的網(wǎng)絡能更好地描述圖片特征,但作者使用ResNet替代之前類似AlexNet的網(wǎng)絡收效甚微,后來發(fā)現(xiàn)這是由于較新的網(wǎng)絡中都使用了填充padding損失了平移不變性造成的,本文中使用空間感知采樣算法,解決了這一問題,使孿生網(wǎng)絡能使用更深層的底層網(wǎng)絡。同時提出了層聚合和深度聚合的方案,使SiamRPN++模型效果明顯提升,且有效地減少了模型參數(shù)。
論文主要貢獻有幾下幾點:
- 通過研究證明增加網(wǎng)絡深度時模型效果變差的原因是破壞了平移不變性。
- 用簡單有效的方法打破了平移不變性的限制,使Siamese網(wǎng)絡可使用ResNet基礎網(wǎng)絡。
- 利用互相關的分層結構,使模型從多個層次學習的相似特征(layer-wise)。
- 用深度結構增強互相關性,產(chǎn)生多個語義相關的相似圖(depth-wise)。
最終實現(xiàn)的模型可達35 fps(幀每秒)的速度,并在五種評測中超越之前最佳模型效果,基于MobileNet的模型可達70fps,
深層孿生網(wǎng)絡
在跟蹤任務中使用比較深層的卷積網(wǎng)絡提取特征時,模型效果反而變差,先來看看該問題的原因。
用于跟蹤的孿生網(wǎng)絡
孿生網(wǎng)絡是一個Y型網(wǎng)絡,它的兩個分枝分別用于獲取目標模板的特征和獲取搜索區(qū)域的特征。目標模板一般是視頻第一幀中的一個區(qū)域用z表示,目標是找到每幀中與其最相似的區(qū)域x:

其中f計算二者相似性,φ用于提取特征,b為偏移參數(shù)。孿生網(wǎng)絡需要滿足以下兩個約束條件:第一區(qū)域需要嚴格的平移不變性,它保證了訓練和預測的有效性。

中括號中表示子窗口的平移操作。第二需要服從對稱性:

無法在孿生網(wǎng)絡中使用更深層網(wǎng)絡的原因與上述兩點有關,深度網(wǎng)絡中的填充padding破壞了嚴格的平移不變性,SiamRPN需要計算分類與回歸又影響了對稱性。
之前SiamFC孿生網(wǎng)絡基于的底層網(wǎng)絡AlexNet不需要填充padding,因此沒有遇到平移不變性的問題,在更深層的網(wǎng)絡中無法避免padding,異致了空間偏見。論文中用模擬實驗驗證了這一點,將目標設置為分別與圖像中心偏移(0,16,32)分別實驗,測試集中產(chǎn)生如下熱點:

顏色表示正例的概率,左圖中偏移為0,它展示了嚴重的中心偏見,邊緣的概率快速衰減為0,右邊當偏移變大時,更近似于測試集中實際分布??臻g感知采樣(spatial aware sampling)可以有效地解決了這一問題。
簡單地說,如果把目標放在圖像的正中心,模型就很難檢測到位置不太正的備選區(qū)域,若在訓練時將目標相對于圖片中心位置隨機偏移一些(空間感知采樣),就可以解決該問題。下圖展示了使用ResNet-50提取特征時,偏移帶來的模型效果提升:

基于ResNet的孿生跟蹤網(wǎng)絡
普通的ResNet的步長是32,也就是說輸入是224x224像素的圖片經(jīng)過多層網(wǎng)絡處理后,最后空間被壓縮到7x7,這樣的分辨率用于孿生網(wǎng)絡比較圖片相似度太低了,于是修改了其conv4和conv5層,將它們的空間步長變?yōu)?,這樣原來縮小32和16就變成了8,提升了輸出層卷積的分辨率,在每個模塊后面又加了一層卷積層,將輸出通道大小轉換為256。
然后,結合了互相關網(wǎng)絡和卷積網(wǎng)絡實現(xiàn)了頭部模塊(Head),用于計算分類得分(是否為前景)、精調(diào)邊框、和SiaemeseRPN模型。
另外,在精調(diào)模型時,將ResNet特征提取部分的學習率設為RPN部分的十分之一,以適應跟蹤任務,參數(shù)在端到端的網(wǎng)絡中統(tǒng)一訓練。
分層聚合
使用更深層次的網(wǎng)絡可提取到更多層面的特征,可為跟蹤任務提取從高到低的抽象、各種不同的大小,以及從精細到粗糙的分辨率。ResNet相對于之前的模型,層次更加明確,比如低層能提取到顏色、形狀、位置等信息,高層測包含更抽象的語義信息,它們在模糊、形變的場景中發(fā)揮了更大作用。
在ResNet網(wǎng)絡中使用最后三個殘差模型的輸出作為特征,分別代入三個RPN模塊,如下圖所示:

三個RPN層的輸出具有相同的空間分辨率,可以直接相加:

其中S表示RPN的類別評分,B表示位置框評分,α和B是對不同層的權重。由于分類和回歸的領域不同,因而分別計算。
深度互相關
互相關模塊是網(wǎng)絡的核心,SiamFC算法使用一個互相關層計算單通道互的相關性,并且返回目標位置的映射表(矩陣);SiamRPN將互相關擴展成更高層次信息(像Anchors一樣),它加入了龐大的卷積層用于升通道(維度),名為UP-XCorr,升通道模型造成了參數(shù)不平衡,如ResNet網(wǎng)絡中升通道有20M參數(shù),而特征提取只有4M參數(shù),加大了模型訓練的難度。
文中提取了一個輕量級的互相關模塊,名為Depthwise Cross Correlation (DW- XCorr),它的參數(shù)是UP-Xcorr的十分之一,并實現(xiàn)了與之相似的效果。
與SiamFC框架不同的是,在使用了SiamRPN之后,最后的分類模塊和回歸模型使用網(wǎng)絡不再具有對稱性,為了處理差異,目標分枝和搜索分枝使用了不同的卷積模塊(不共享參數(shù)),兩個特征具有同樣的通道數(shù),并計算每一通道的相關性,另一個卷積模塊用于融合不同通道的輸出,最后將卷積后的結果送入了分類和回歸層。這樣就節(jié)約了大量的算力和空間,使得模型參數(shù)達到平衡,訓練過程更加穩(wěn)定。

另外,一個有趣的現(xiàn)象是同種類的目標在相同的通道中得到更高的響應,而其它通道的響應被抑制,如下圖所示,這可以被解釋成depth-wise方法產(chǎn)生的通道特征近似正交,每個通道都表示了一定的語義信息,相對來說Up-Channel方法得到的結果可解釋性就比較差。

實驗
訓練基于ImageNet預測訓練的卷積網(wǎng)絡,目標分辨率為127像素,搜索區(qū)域255像素。評測時使用了OTB2015, VOT2018和UAV123,其中VOT2018-LT評測了長時跟蹤:目標有時在視頻之外,有時被完全遮擋,難度大于短時跟蹤。
消融實驗
下圖對比了使用不同基礎網(wǎng)絡的模型效果:

下表中展示了更加詳細的消融實驗結果:

下表中展示了文中模型與當前流行的其它模型的效果對比:
