SiameseBAN
- 論文來源
- 論文背景
- 主要貢獻
- 論文分析
- 網絡框架
- 創新點一:Box Adaptive Head
- 創新點二:Ground-truth
- 創新點三:Anchor Free
- 論文流程
- 訓練部分:
- 跟蹤部分
- 論文翻譯
- Abstract
- 1. Introduction
- 2. Related Works
- 2.1. Siamese Network Based Visual Trackers
- 2.2. Anchor-free Object Detectors
- 3. SiamBAN Framework
- 3.1. Siamese Network Backbone
- 3.2. Box Adaptive Head
- 3.3. Multi-level Prediction
- 3.4. Ground-truth and Loss
- 3.5. Training and Inference
- 4. Experiments
- 4.1. Implementation Details
- 4.2. Comparison with State-of-the-art Trackers
- 4.3. Ablation Study
- 5. Conclusions
論文來源
論文來源:http://xxx.itp.ac.cn/pdf/2003.06761v2.pdf
開源項目:https://github.com/hqucv/siamban
參考文獻:
SiamBAN詳細分析,一看就懂!
[閱讀筆記][CVPR2020][SiamBAN] Siamese Box Adaptive Network for Visua
論文背景
SiamBAN是今年CVPR中效果最好的跟蹤器之一,研究它的原理更加能夠很好的幫助我們掌握目前跟蹤器發展的趨勢。
SIamBAN,按照意思分析是孿生自適應框。“孿生”,說明該跟蹤使用了Siamese網絡架構;而“自適應框”,則是該跟蹤器采用了anchor-free的策略,不預先設定anchor框的尺寸,使得框擁有更大強大的自由度。
通過分析論文和代碼,我認為SiamBAN就是一個優化版的SiamRPN++,最大的創新點在于anchor-free的引用,去掉了預定義的anchor,從而使得模型整體的參數下降,使得速度得到進一步的提升。
對于SiamBAN的原理分析,我準備采用三個方面:網絡框架、訓練、跟蹤。
主要貢獻
- 新的框架:SiamBAN,實現使用深度卷積神經網絡的end-to-end的離線訓練
- anchor-free的架構,no-prior box的設計避免了與候選框相關的超參數,使跟蹤器更加靈活和通用。
- 不僅達到了最先進的效果,并且在多個數據集達到40FPS(VOT2018,VOT2019,OTB100,NFS,UAV123,和 LaSOT)。
論文分析
網絡框架
與SIamRPN++相似,或者說網絡框架基本相同。不過不同點在于SiamBAN中引入了空洞卷積的原理,經過實驗證明,空洞卷積能夠增大感受野,提升跟蹤性能。
SIamBAN的網絡框架如下圖所示:
創新點一:Box Adaptive Head
對于每一個分類圖P cls w×h×2或回歸圖P reg w×h×4上的每個位置,我們可以將其映射到輸入搜索patch。例如,與搜索片上的位置相對應的位置(i,j)為[?wim2?+(i-?w 2?)×s,他2?+(j?h 2?)× s](表示為(pi,pj)。wim和他代表輸入搜索補丁的寬度和高度,s代表網絡的總跨度),它是位置(i,j )。對于回歸,基于錨的跟蹤器[21、52、20]將位置(pi,pj)作為錨框的中心,然后回歸位置(pi,pj),寬度aw和高度ah。也就是說,對于位置(i,j),回歸可以調整其所有偏移值,但是分類仍然在原始位置執行,這可能導致分類和回歸中的不一致性。因此,我們不調整位置(pi,pj),僅計算其到邊界框的偏移值。另外,由于我們的回歸目標是正實數,因此我們在回歸模塊的最后一級應用exp(x)將任何實數映射到(0,+∞)。
大概的理解是anchor-base的方法中對于特征圖上的每一個位置(i,j),將其映射到搜索patch上為(pi,pj),回歸分支中將這個位置作為anchor的中心去預測偏移量,這時候回歸出來的結果已經改變了其中心位置,而分類分支依然在原始的中心位置進行,可能會導致分類和回歸的不一致。
創新點二:Ground-truth
如果位置(pi,pj)落在橢圓E2內,則用正號標記,如果它落在橢圓E1以外,則為其分配負號,并且落在橢圓之間。 E2和E1,請忽略它。
創新點三:Anchor Free
論文流程
訓練部分:
- 將搜索補丁和模板補丁輸入對應的網絡分支,在第4、5個卷積模塊中添加空洞卷積,膨脹因子分別設置為2和4。
- 分別取出搜索分支和模板分支中第3、4、5卷積模塊的卷積結果。為了減少計算量,作者只選取了模板分支卷積結果的7 × 7 區域。因為當輸入補丁的尺寸為127 × 127,輸出的特征圖的尺寸為15 × 15,這時候選取[4:11]的區域,完全可以代表模板中選定的物體。
- 將相對應的卷積結果進行互相關操作。比如,搜索分支第3卷積模塊的卷積結果應該與模板分支第3卷積模塊的卷積結果進行互相關,其中模板分支的卷積結果作為卷積核。那么,最后獲得了三份互相關的特征圖。
- 將這三份互相關特征圖合并為一張。SiamBAN在代碼中使用的方法是取平均,即一個位置的三個值相加除以三。最后得到了一份互相關特征圖。
- 實際上,當運行到第4步的時候,就可以發現其實網絡運行就可以結束了。但是作者為了能夠減少計算量, 將互相關圖的維度減少到256.(neck)
跟蹤部分
- 輸入跟蹤視頻
- 劃定需要跟蹤的目標
- 跟蹤器初始化(第一幀的處理)
- 截取模板補丁(方法與SiamRPN相同)
- 將模板補丁輸入網絡,得到第3、4、5層的卷積結果,并且對卷積結果進行處理(降維和模板特征圖截取7x7區域)
- 進行跟蹤
- 截取搜索補丁(方法與SiamRPN相同)
- 將搜索補丁輸入網絡,得到第3、4、5層的卷積結果
- 與模板補丁的三個卷積結果進行相關卷積,并且將得到的三個互相關特征圖進行加權平均,得到分類特征圖和偏差坐標圖。
- 利用上述公式(回歸訓練中),將得到的偏差坐標圖轉換成多個預測框
- 施加平移懲罰和尺度懲罰,從多個預測框中獲得最佳跟蹤框,從而實現跟蹤。