論文筆記:SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks


SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks

2019-04-02 12:44:36

Paperhttps://arxiv.org/pdf/1812.11703.pdf 

Projecthttps://lb1100.github.io/SiamRPN++ 

Official Codehttps://github.com/STVIR/pysot  

Unofficial Pytorch Implementationhttps://github.com/PengBoXiangShang/SiamRPN_plus_plus_PyTorch (Support Multi-GPU and LMDB data preprocessing) 

 

1. Background and Motivation

與 CVPR 2019 的另一篇文章 Deeper and Wider Siamese Networks for Real-Time Visual Tracking 類似,這篇文章也是為了解決 Siamese Tracker 無法利用 Deep Backbone Network 的問題。作者的實驗發現,較深的網絡,如 ResNet, 無法帶來跟蹤精度提升的原因在於:the distroy of the strict translation invariance。因為目標可能出現在搜索區域的任何位置,所以學習的target template 的特征表達應該保持 spatial invariant,而作者發現,在眾多網絡中,僅僅 AlexNet 滿足這種約束。本文中,作者提出一種 layer-wise feature aggravation structure 來進行 cross-correlation operation,幫助跟蹤器從多個層次來預測相似形圖。

 

此外,作者通過分析 Siamese Network 發現:the two network branches are highly imbalanced in terms of parameter number; 作者進一步提出 depth-wise separable correlation structure,這種結構不但可以大幅度的降低 target template branch 的參數個數,還可以穩定整個模型的訓練。此外,另一個有趣的現象是:objects in the same categories have high response on the same channels while responses of the rest channels are supressed. 這種正交的屬性可能有助於改善跟蹤的效果。

 

2. Analysis on Siamese Networks for Tracking

各種實驗說明了 stride,padding 對深度網絡的影響。

 

3. ResNet-driven Siamese Tracking 

為了降低上述影響因子對跟蹤結果的影響,作者對原始的 ResNet 進行了修改。因為原始的殘差網絡 stride 為 32,這個參數對跟蹤的影響非常之大。所以作者對最后兩個 block 的有效 stride,從 32 和 16 改為 8,並且通過 dilated convolution 來增加 receptive field。利用 1*1 的卷積,將維度降為 256。但是這篇文章,並沒有將 padding 的參數進行更改,所以 template feature map 的空間分辨率增加到 15,這就在進行 correlation 操作的時候,計算量較大,影響跟蹤速度。所以,作者從中 crop 一塊 7*7 regions 作為 template feature,每一個 feature cell 仍然可以捕獲整個目標區域。作者發現仔細的調整 ResNet,是可以進一步提升效果的。通過將 ResNet extractor 的學習率設置為 RPN 網絡的 1/10,得到的 feature 可以更加適合 tracking 任務。

 

 

 

4. Layer-wise Aggregation 

本文是想利用多層特征的聚合來提升特征表達,提升跟蹤結果。作者從最后三個殘差模塊,得到對應的輸出:F3(z), F4(z) 以及 F5(z)。由於多個 RPN 模塊的輸出,有相同的分辨率。所以,直接對這幾個結果進行加權求和,可以表達為:

 

 

5. Depthwise Cross Correlation 

 

Cross correlation module 是映射兩個分支信息的核心操作。SiamFC 利用 Cross-Correlation layer 來得到單個通道響應圖進行位置定位。在 SiamRPN 中,Cross-Correlation 被拓展到更加高層的信息,例如 anchors,通過增加一個 huge convolutional layer 來 scale the channels (UP-Xcorr)。這個 heavy up-channel module 使得參數非常不平衡(RPN 模塊包含 20M 參數,而特征提取部分僅包含 4M 參數),這就使得 SiamRPN 變的非常困難。於是作者提出一個輕量級的 cross correlation layer,稱為:Depthwise Cross Correlation (DW-XCorr),以得到更加有效的信息貫通。DW-XCorr layer 包含少於 10 倍的參數(相比於 UP-XCorr used in RPN),而性能卻可以保持不降。

 

為了達到這個目標,作者采用一個 conv-bn block 來調整特征,來適應跟蹤任務。Bounding box prediction 和 基於 anchor 的分類都是非對稱的 (asymmetrical)。為了編碼這種不同,the template branch 和 search branch 傳輸兩個 non-shared convolutional layers。然后,這兩個 feature maps 是有相同個數的 channels,然后一個 channel 一個 channel 的進行 correlation operation。另一個 conv-bn-relu block,用於融合不同 channel 的輸出。最終,最后一個卷積層,用於輸出 classification 和 regression 的結果。

 

通過用 Depthwise correlation 替換掉 cross-correlation,我們可以很大程度上降低計算代價和內存使用。通過這種方式,template 和 search branch 的參數數量就會趨於平衡,導致訓練過程更加穩定。

 

另一個有意思的現象是:the objects in the same category have high response on same channels, while response of the rest channels are supressed。也就是說,同一類的物體在同一個 channel 上,都有較高的響應,而其他的 channels 上則被抑制。如下圖所示:

 

 

6. Experimental Results:

 

 

==


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM