基于孪生网络的单目标跟踪持续汇总
基于Siamese Network的單目標跟蹤持續匯總(Visual Object Tracking)
從SiamFC開始,涌現了一大批基于孿生神經網絡(Siamese Network)的跟蹤算法,其中包括多目標跟蹤和單目標跟蹤。本文將以SiamFC為開山之作,介紹后續的部分基于Siamese Network的單目標跟蹤算法。
開山之作
SiamFC——Fully-Convolutional Siamese Networks for Object Tracking
方法:
以孿生神經網絡為基礎,是孿生神經網絡進行單目標跟蹤的開山之作。將目標的跟蹤方式從在線執行隨機梯度下降以適應網絡的權重進行跟蹤轉變為前后幀目標對的形式進行匹配。通過同一網絡AlexNet作為backbone,輸出模板圖像和待查詢圖像的特征圖,并進行互卷積(相關濾波)操作,得到目標響應結果,反向映射到原圖,計算當前幀目標位置。
細節可參考另一篇博客:SiamFC論文解讀及代碼實現
跟蹤階段:
創新點:
以現在的視角看不足:
針對這些問題,到目前為止,都有很多論文提出方法,進行解決,有的融合了當時時新的trick,有的對網絡結構和存在的問題進行了深入探討并改進。這些工作都很棒,接下來將會分板塊進行介紹。
一、網絡改進
1. SiamFC-tri——Triplet Loss in Siamese Network for Object Tracking ECCV 2018
方法:
本文提出了一種新的訓練策略,通過訓練時在Siamese Network中加入triplet loss提取出目標跟蹤的深度表達特征。圖中φ\varphiφ表示特征提取網絡,當φ=φ′\varphi=\varphi^{'}φ=φ′時,遵循SiamFC范式,當φ≠φ′\varphi\neq\varphi^{'}φ?=φ′時,遵循CFNet范式。
創新點:
基于SiamFC框架,在訓練過程中修改loss,從SiamFC中的Logistical loss增加到Logistical loss和Triplet loss的和。模型沒有大改動,僅在訓練時多加了一個triplet loss。
2. Siam-BM——Towards a Better Match in Siamese Network Based Visual Object Tracker ECCV 2018 workshop
圖1 Siam-BM跟蹤網絡結構圖 圖2 SiamFC跟蹤網絡結構圖方法:
跟蹤階段由于目標會不斷變化,網絡直接在跟蹤階段自設置不同變換的待跟蹤圖像。SiamFC在跟蹤階段使用圖像金字塔,但僅僅是crop不同大小的圖像區域。Siam-BM則在跟蹤階段,不僅是圖像金字塔,同時對每層圖片加入了旋轉操作。讓網絡在跟蹤時更魯棒。
創新點:
3. CFNet——End-to-end representation learning for Correlation Filter based tracking CVPR2017
方法:
最初的SiamFC只是將每一幀與對象的初始外觀進行比較。相比之下,我們在每一幀中計算一個新的模板,然后與之前幀的模板進行融合。
每一幀計算時,SiamFC公式如下:
f(z,x)=γφ(z)?φ(x)+b1{f(z,x)=\gamma\varphi(z)*{\varphi(x)}+b\mathbb{1}}f(z,x)=γφ(z)?φ(x)+b1
那么CFNet公式如下:
f(z,x)=γw(φ(z))?φ(x)+b1{f(z,x)=\gamma{w(\varphi(z))*{\varphi(x)}+b\mathbb{1}}}f(z,x)=γw(φ(z))?φ(x)+b1
CFNet的模板圖像輸入也是255?255?3255*255*3255?255?3,這樣的話,φ(z)\varphi(z)φ(z)和φ(x)\varphi(x)φ(x)的輸出特征圖都是一樣大小,為49?49?3249*49*3249?49?32。之后利用相關濾波模塊(Correlation Filter)CF Block w=w(x)w=w(x)w=w(x)提取在每一幀中的模板。輸出17?17?3217*17*3217?17?32的模板特征。與待查詢圖像互卷積。
CFNet和SiamFC一樣,有必要引入標量參數γ\gammaγ和bbb,使分數范圍適合邏輯回歸。
創新點:
注:相關濾波看不太懂,還得再學習
4. RASNet——Learning Attentions: Residual Attentional Siamese Network for High Performance Online Visual Tracking CVPR 2018
方法:
以SiamFC為基礎,在backbone提取模板圖像和待跟蹤圖像的特征后,模板特征后加入了殘差注意力(Residual Attention)、通道注意力(Channel Attention)和通用注意力(General Attention),同時將互卷積更改為加權互相關層(WXCorr)。
當一張模板和一張待搜索圖像流入網絡時,通過backbone生成特征圖。基于模板特征,使用三種注意力機制提取了模板信息。模板、待搜索特征、作為權重的attention輸出,被輸入到WXCorr,并最終轉換為響應圖。
WXCorr公式:
f(z,x)=(γ⊙?(z))??(x)+b1f(z,x)=(\gamma\odot\phi(z))*\phi(x)+b\mathbb{1}f(z,x)=(γ⊙?(z))??(x)+b1
相比于SiamFC中的XCorr公式:
f(z,x)=?(z)??(x)+b1f(z,x)=\phi(z)*\phi(x)+b\mathbb{1}f(z,x)=?(z)??(x)+b1
只增加了γ⊙\gamma\odotγ⊙,γ\gammaγ表示注意力機制得到的權重。⊙\odot⊙表示對模板特征做了權重的點乘,對應模板特征上每一個點都有一個權重,再進行互卷積操作。
創新點:
5. SASiam——A Twofold Siamese Network for Real-Time Object Tracking CVPR2018
方法:
觀察到在圖像分類任務中學習到的語義特征和在相似性匹配任務中學習到的外觀特征相輔相成,我們構建了一個雙分支網絡。SASiam由Semantic branch語義分支和Appearance branch外觀分支兩部分構成,語義分支中還加入了通道注意力機制SEBlock。分別訓練這兩個網絡,將特征圖加權輸出。
外觀特征網絡:加入了SEBlock的SiamFC
語義特征網絡:Alexnet在ImageNet上訓練的權重,并不再跟蹤數據集上fine-tune,直接拿過來用。
外觀特征更像對于同一個目標外觀的相似程度,而語義特征更像是對于同一類目標的相似程度,兩者相輔相成。
創新點:
6. MBST——Multi-Branch Siamese Networks with Online Selection for Object Tracking ISVC 2018
圖1 MBST網絡結構圖方法:
SASiam的堆料版本。。這里放一張SASiam的網絡結構圖做對比。
圖2 SASiam網絡結構圖MBST中有兩個分支,其中一條是AlexNet分支,另外一條有很多結構一模一樣的Context Dependent分支,通過一個分支選擇結構,選擇輸出結果更好的一個Context Dependent。
AlexNet Branch對應了A-Net(appearance net)
單個Context Dependent對應了S-Net(Semantic net),但沒有注意力機制,只是普通的SiamFC。
同SASiam一樣,AlexNet Branch從ImageNet上訓練后直接在網絡中使用。
創新點:
7. DenseSiam——DensSiam: End-to-End Densely-Siamese Network with Self-Attention Model for Object Tracking ISVC 2018
方法:
基于SiamFC,不再采用AlexNet作為Backbone,而是設計的新的網絡結構,網絡中有Dense Block,Block結構如下。并在網絡提取到target image,加入自注意力機制,強化模板特征。
Dense Block結構圖創新點:
8. StructSiam——Structured Siamese Network for Real-Time Visual Tracking ECCV 2018
方法:
基于SiamFC范式,修改網絡backbone的后幾層,對其進行一定的處理。文中提到,處理的方法就是,局部模式檢測和上下文建模兩種方式。
局部模式檢測:
對每個特征圖切片后,對每個特征圖單獨操作,即對每個局部(特征圖切片)檢測(11?1111*1111?11卷積->BN層->ReLU層->3?33*33?3最大池化->5?55*55?5卷積->BN層->ReLU層->3?33*33?3最大池化)其模式(Sigmoid輸出結果)。原文中這里的特征圖切片有256個,對每一片特征圖都有單獨的一個檢測。。。。。
上下文建模:
我們將條件隨機場(CRF)近似引入到我們的網絡中。使用一個圖Graph來描述目標的局部模式檢測問題,并通過CRF對前一階段生成的局部模式之間的聯合概率關系進行建模
創新點:
9. EAST——Learning Policies for Adaptive Tracking with Deep Feature Cascades ICCV 2017
方法:
本文致力于在不減小精度的情況下,提高網絡速度
EAST全名:early stop。從名字中可以看出,網絡在淺層的時候若發現比較容易跟蹤,則直接輸出結果,而不再前向傳播。即使用廉價的特征(DCF、HOG)處理簡單的幀,使用昂貴的深層特征(SiamNet)處理具有挑戰性的幀。在網絡淺層加入HOG和DCF方法,在網絡每一層都利用Q learning加入8個actions,利用強化學習學習并輸出bbox的8種不同結果,如圖所示。
創新點:
二、模板更新
1. DSiam——Learning Dynamic Siamese Network for Visual Object Tracking ICCV 2017
方法:
如何1)有效地學習目標外觀的時間變化,2)在保持實時響應的同時排除雜波背景的干擾,是視覺目標跟蹤的一個基本問題。本文圍繞這個問題提出了目標外觀變換層和背景抑制層,名字為動態孿生神經網絡(Dynamic Siamese Network, DSiam),即對template image使用目標外觀變換層,讓其更趨進于當前幀的目標外觀,對current image使用背景抑制層,抑制背景帶來的跟蹤干擾。
目標外觀變換層和背景抑制層都是使用的相關濾波方法。
創新點:
加入了相關濾波方法的目標外觀變換層和背景抑制層
模板更新,不再一直使用第一幀模板的特征,有相關濾波的更新過程
網絡自適應地集成了多層深層特征融合
2. UpdateNet——Learning the Model Update for Siamese Trackers ICCV 2019
方法:
Siamese方法通過從當前幀中提取一個外觀模板來解決視覺跟蹤問題,該模板用于在下一幀中定位目標。通常,此模板與前一幀中累積的模板線性組合(最初的SiamFC有且僅使用第一幀目標外觀作為模板),導致信息隨時間呈指數衰減。雖然這種更新方法已經帶來了更好的結果,但它的簡單性限制了通過學習更新可能獲得的潛在收益。因此,我們建議用一種學習更新的方法來取代線性加權。我們使用卷積神經網絡,稱為UpdateNet,它給出初始模板、累積預測模板和當前幀的模板,目的是估計下一幀的最佳模板。
不更新模板:
Ti~=T0GT\widetilde{T_i}=T^{GT}_0Ti??=T0GT?
線性加權更新模板:
Ti~=(1?γ)T~i?1+γTi\widetilde{T_i}=(1-\gamma)\widetilde{T}_{i-1}+\gamma{T_i}Ti??=(1?γ)Ti?1?+γTi?
UpdateNet更新模板:
Ti~=?(T0GT,T~i?1,Ti)\widetilde{T_i}=\phi{(T^{GT}_0,\widetilde{T}_{i-1},T_i)}Ti??=?(T0GT?,Ti?1?,Ti?)
(左)對象模板的在線更新由UpdateNet執行,UpdateNet接收groundtruth、上次累積模板和當前預測模板作為輸入,并輸出更新后的累積模板。(右)在下一幀中使用groundtruth模板訓練UpdateNet。
創新點:
三、引入回歸
1. GOTURN——Learning to Track at 100 FPS with Deep Regression Networks ECCV 2016
方法:
方法都在圖里!仍然是SiamFC范式,在響應圖后加入全連接層,直接預測目標位置。FC層的作用是將目標對象中的特征與當前幀中的特征進行比較,以找到目標對象移動的位置。
公式如下:
cx′=cx′+△xc^{'}_x=c_x'+\triangle{x}cx′?=cx′?+△x
cy′=cy′+△yc^{'}_y=c_y'+\triangle{y}cy′?=cy′?+△y
w′=γw×ww^{'}=\gamma_w\times{w}w′=γw?×w
h′=γh×hh^{'}=\gamma_h\times{h}h′=γh?×h
網絡預測[△x,△y,γw,γh][\triangle{x},\triangle{y},\gamma_w,\gamma_h][△x,△y,γw?,γh?],在SiamFC手動預測[△x,△y][\triangle{x},\triangle{y}][△x,△y]的基礎上,GOTURN網絡直接輸出偏移量和變換比例,簡潔又舒服!!
創新點:
2. SiamRPN——High Performance Visual Tracking with Siamese Region Proposal Network CVPR 2018
方法:
圖中為SiamRPN的框架:左側是孿生網絡(Siamese Network)提取特征。中間是RPN網絡(Region Proposal Network),RPN網絡有兩個分支,一個分支用于回歸,另一個分支用于分類。兩個分支輸出兩個互相關的響應圖,再通過卷積層分別輸出[17,17,2k][17,17,2k][17,17,2k]的類別分數,[17,17,4k][17,17,4k][17,17,4k]的anchor偏移量。
kkk表示anchor的數量
2k2k2k表示每個anchor在分類上有2個輸出,即是目標(positive)和非目標(negtive)的分數
4k4k4k表示每個anchor在偏移量上有4個輸出,即每個anchor對應真實目標位置d的[dx,dy,dw,dh][dx,dy,dw,dh][dx,dy,dw,dh]
[17,17][17,17][17,17]表示特征圖的大小,也即有17?1717*1717?17個anchor,特征圖上每一個點都對應一個anchor
創新點:
3. C-RPN——Siamese Cascaded Region Proposal Networks for Real-Time Visual Tracking CVPR 2019
方法:
圖 Feature Transfer BlockSiamRPN在存在類似干擾物和大的變化(形變、光照等原因)時,效果不佳,為了應對此問題,文章提出了Siamese Cascaded RPN(C-RPN),即在SiamRPN基礎上,多層特征圖上都進行了RPN操作,并一級接一級連在一塊,稱為級聯。
創新點:
4. SiamRPN++——SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks CVPR 2019
方法:
文章提到,當網絡過深時,反而會影響跟蹤性能。發現潛在的原因主要是由于孿生網絡跟蹤的內在限制,因此,在引入所提出的孿生跟蹤網絡模型之前,我們首先對孿生跟蹤網絡進行了更深入的分析。原因如下:
深層網絡中的padding操作會破壞嚴格的平移不變性,RPN需要不對稱的特征來進行分類和回歸——提出了空間感知采樣策略,即不再以圖像中心為groundtruth進行訓練,而是在中心周圍進行均勻分布的偏移。文中取便宜量[0,16,32][0, 16, 32][0,16,32]來進行驗證,證明此方法有效地緩解了padding方法對嚴格平移不變性的破壞
普通的互卷積例如SiamFC中search image的[128,22,22][128,22,22][128,22,22]與exemplar image的[128,6,6][128,6,6][128,6,6]的互卷積操作,每個[1,6,6][1,6,6][1,6,6]卷積核都要和128個特征切片進行卷積,這樣的卷積操作會進行128*128次。因此文中提出采用Depth-wise的卷積方法,即逐通道卷積,這樣的話就只需要進行128次卷積,即一個exempalr特征切片對應一個search特征切片。復雜度大大降低。
創新點:
5. SiamMask——Fast Online Object Tracking and Segmentation: A Unifying Approach CVPR 2019
方法:
創新點:
額。。。。分割的論文沒咋看,還不了解分割的具體過程
6. SiamFC++——SiamFC++: Towards Robust and Accurate Visual Tracking with Target Estimation Guidelines AAAI 2020
方法:
創新點:
四、網絡分析
1. DaSiamRPN——Distractor-aware Siamese Networks for Visual Object Tracking ECCV 2018
方法:
作者提出,高質量的訓練數據對于視覺跟蹤中端到端表征學習的成功至關重要,主要解決了正負樣本不均衡和樣本豐富性的問題。有以下三點:
創新點:
深度學習包含數據和模型兩部分,該論文從數據出發,發現數據中的缺漏,并查漏補缺。
2. Siam-DW——Deeper and Wider Siamese Networks for Real-Time Visual Tracking CVPR 2019
方法:
和SiamRPN++有共同之處,即思考了網絡無法加深的具體原因,得出結論:
和SiamRPN++的數據增強方式不同,網絡提出了一種網絡中的塊結構,修改了ResNet中的Residual塊和GoogleNet中的Inception塊。具體方法是怎么填充的怎么刪,網絡中填充了1padding,那么在塊結構輸出中,將特征圖的大小crop出1padding操作的大小。
The cropping operation removes features whose calculation is affected by the zero-padding signals
裁剪操作將刪除其計算受零填充信號影響的特征
創新點:
總結
以上是生活随笔為你收集整理的基于孪生网络的单目标跟踪持续汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: my eclipse 类似dreamwe
- 下一篇: STM32——GPIO(2)