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

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

2019-04-02 12:44:36git

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

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

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

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. 這種正交的屬性可能有助於改善跟蹤的效果。spa

 

2. Analysis on Siamese Networks for Trackingrest

各類實驗說明了 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:

 

 

==

相關文章
相關標籤/搜索