日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于孪生网络的单目标跟踪持续汇总

發布時間:2023/12/20 编程问答 75 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于孪生网络的单目标跟踪持续汇总 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于Siamese Network的單目標跟蹤持續匯總(Visual Object Tracking)

從SiamFC開始,涌現了一大批基于孿生神經網絡(Siamese Network)的跟蹤算法,其中包括多目標跟蹤和單目標跟蹤。本文將以SiamFC為開山之作,介紹后續的部分基于Siamese Network的單目標跟蹤算法。

開山之作

SiamFC——Fully-Convolutional Siamese Networks for Object Tracking

方法:

以孿生神經網絡為基礎,是孿生神經網絡進行單目標跟蹤的開山之作。將目標的跟蹤方式從在線執行隨機梯度下降以適應網絡的權重進行跟蹤轉變為前后幀目標對的形式進行匹配。通過同一網絡AlexNet作為backbone,輸出模板圖像和待查詢圖像的特征圖,并進行互卷積(相關濾波)操作,得到目標響應結果,反向映射到原圖,計算當前幀目標位置。

細節可參考另一篇博客:SiamFC論文解讀及代碼實現

跟蹤階段:

創新點:

  • 采用了孿生神經網絡用于圖像中目標的查詢,若圖像中的目標相似,則響應結果大,否則小
  • 全卷積網絡,無全連接層,利用響應圖的響應結果,反映射回原圖,得到目標bbox
  • 端到端訓練,參數量少,跟蹤速度快
  • 跟蹤時crop不同大小的待查詢區域,再resize到255?255?3255*255*3255?255?3的大小。(從現在看就是圖像金字塔,即匹配多個尺度的圖像)
  • 以現在的視角看不足:

  • 能不能在響應圖后面直接輸出目標bbox,而不是映射回原圖?
  • 每一次查詢區域都是上一幀的目標中心,能不能多幾個查詢區域?
  • 圖像金字塔時間慢,能不能采用特征金字塔的形式?
  • 模板只用第一幀的圖像而不進行更新,隨著時間的推進,目標外觀發生變化或遮擋,只用第一幀圖像合理嗎?
  • Backbone使用更深層的網絡,如ResNet,GoogleNet等?
  • 針對這些問題,到目前為止,都有很多論文提出方法,進行解決,有的融合了當時時新的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,使分數范圍適合邏輯回歸。

    創新點:

  • 將SiamFC中加入CF Block,并且融入到網絡中,能進行前向傳播和反向傳播
  • 網絡不再對稱(即對模板圖像的提取和對待搜索圖像的提取不再采用一模一樣的方式,在模板圖像提取中加入了CF Block)
  • 改變了輸入圖像大小
  • 模板更新,不再一直使用第一幀模板的特征
  • 注:相關濾波看不太懂,還得再學習

    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表示對模板特征做了權重的點乘,對應模板特征上每一個點都有一個權重,再進行互卷積操作。

    創新點:

  • 在SiamFC中加入了時新的注意力機制,各種注意力機制。作用于模板圖像,企圖提點。。。。。。
  • 5. SASiam——A Twofold Siamese Network for Real-Time Object Tracking CVPR2018

    方法:

    觀察到在圖像分類任務中學習到的語義特征和在相似性匹配任務中學習到的外觀特征相輔相成,我們構建了一個雙分支網絡。SASiam由Semantic branch語義分支和Appearance branch外觀分支兩部分構成,語義分支中還加入了通道注意力機制SEBlock。分別訓練這兩個網絡,將特征圖加權輸出。

    外觀特征網絡:加入了SEBlock的SiamFC

    語義特征網絡:Alexnet在ImageNet上訓練的權重,并不再跟蹤數據集上fine-tune,直接拿過來用。

    外觀特征更像對于同一個目標外觀的相似程度,而語義特征更像是對于同一類目標的相似程度,兩者相輔相成。

    創新點:

  • 加入了衡量語義特征和外觀特征的兩種網絡分支,但兩個網絡只能各自單獨訓練。
  • 加入了時新的通道注意力機制SEBlock
  • 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結構圖

    創新點:

  • 從提取特征出發,修改網絡結構,提取更優質的特征
  • 加入時新的self-attention機制
  • 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種不同結果,如圖所示。

    創新點:

  • 在Bockbone網絡結構前,加入了DCF(Pixel layer)和HOG(HOG layer)。淺層若能判定結果,則直接淺層輸出減少計算時間(在現在看來,深度的神經網絡基本能適應端到端而不用人工提取特征的方法)
  • 網絡每一層都利用Q learning輸出action,判定是否繼續前向傳播(感覺推理時會更慢)
  • 加入了時新的強化學習方法自適應輸出bbox結果(在現在看來,有點殺雞焉用牛刀的感覺,后續有非強化學習方法直接輸出bbox的方法)

  • 二、模板更新

    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網絡直接輸出偏移量和變換比例,簡潔又舒服!!

    創新點:

  • 結構創新!!!直接輸出目標的bbox。GOTURN網絡直接輸出偏移量和變換比例,簡潔又舒服!!(要注意這還是2016的文章)
  • 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

    創新點:

  • 加入了anchor機制,類似fastercnn的RPN和yolov3系列,網絡直接輸出特征圖上多個不同尺度的anchor的置信度分數和邊框回歸結果
  • 一次訓練,端到端,優美之優美,簡潔之簡潔
  • 3. C-RPN——Siamese Cascaded Region Proposal Networks for Real-Time Visual Tracking CVPR 2019

    方法:

    圖 Feature Transfer Block

    SiamRPN在存在類似干擾物和大的變化(形變、光照等原因)時,效果不佳,為了應對此問題,文章提出了Siamese Cascaded RPN(C-RPN),即在SiamRPN基礎上,多層特征圖上都進行了RPN操作,并一級接一級連在一塊,稱為級聯。

  • 每個RPN都使用前一階段的RPN輸出進行訓練,這樣的過程會促進難例負樣本的采樣(hard negative sampling),從而平衡訓練樣本。因此,RPN在區分困難背景(即類似的干擾因素)方面具有更高的辨別力。
  • 提出feature transfer block,可以利用多級特征,提高網絡可分辨性,同時使用高層和低層信息。
  • 通過多次回歸,邊框定位更準確。
  • 創新點:

  • 使用多層特征進行跟蹤,有點類似特征金字塔的感覺,即高層特征和低層特征關注的內容不同,使用多尺度特征能提取出更多信息
  • 這種RPN結果的級聯有點faster rcnn二階段的感覺,即RPN提取后再回歸和識別一次,多次回歸和識別,定位更精準。
  • 由于有多層RPN網絡,需要先訓練第一層,再訓練下一層,以此類推。。如果說faster rcnn是兩階段算法,那SiamRPN就是N階段算法。
  • 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特征切片。復雜度大大降低。

  • 創新點:

  • 和C-RPN很像,都采用了RPN的級聯操作
  • 提出了Depth-wise Cross Correlation Layer,能有效減少卷積時的復雜度,應該比C-RPN中的Feature Transfer Block復雜度要低
  • 探討了網絡深度不能加深的問題,只面問題,提出了空間感知采樣策略
  • 5. SiamMask——Fast Online Object Tracking and Segmentation: A Unifying Approach CVPR 2019

    方法:

  • 互卷積操作采用SiamRPN++中的Depth-wise Cross Correlation Layer
  • 以SiamRPN為基礎,加入mask head,由于只有一層RPN,可以一次端到端訓練
  • mask head不僅能用于分割,也能幫助跟蹤
  • 創新點:

  • 能分割!之前那么多的論文都沒有能分割的!這個能!
  • 額。。。。分割的論文沒咋看,還不了解分割的具體過程

    6. SiamFC++——SiamFC++: Towards Robust and Accurate Visual Tracking with Target Estimation Guidelines AAAI 2020

    方法:

  • 整體結構和SiamRPN類似,都是先提取特征,再互卷積,再添加卷積層輸出回歸和類別結果,但增加了quality assessment分支,強化回歸效果(目標檢測中的anchor free算法的FCOS中也有類似結構)
  • 創新點:

  • 很像FCOS,很像。。。很像。。。將FCOS的trick用于跟蹤
  • 加入了FCOS中的中心度公式,增加網絡辨別能力

  • 四、網絡分析

    1. DaSiamRPN——Distractor-aware Siamese Networks for Visual Object Tracking ECCV 2018

    方法:

    作者提出,高質量的訓練數據對于視覺跟蹤中端到端表征學習的成功至關重要,主要解決了正負樣本不均衡和樣本豐富性的問題。有以下三點:

  • 不同類別的positive pairs可以提高泛化能力——從目標檢測數據集中生成圖像對用于訓練
  • 語義的negative pairs可以提高判別能力——加入更具有訓練意義的semantic negative pairs。構建的negative pairs由相同類別和不同類別的目標組成。來自不同類別的negative pairs可以幫助跟蹤器避免在視野之外、完全遮擋情況下漂移到任意對象,而來自相同類別的negative pairs使跟蹤器專注于細粒度表示。
  • 為視覺跟蹤定制有效的數據增強——為了充分發揮孿生網絡的潛力,我們為訓練定制了幾種數據增強策略。除了常見的平移、尺度變化和光照變化外,我們觀察到網絡中的淺層可以很容易地模擬運動模式。我們在數據增強中引入了運動模糊。
  • 創新點:

    深度學習包含數據和模型兩部分,該論文從數據出發,發現數據中的缺漏,并查漏補缺。

    2. Siam-DW——Deeper and Wider Siamese Networks for Real-Time Visual Tracking CVPR 2019

    方法:

    和SiamRPN++有共同之處,即思考了網絡無法加深的具體原因,得出結論:

  • 神經元感受野的大幅度增加導致特征辨別能力和定位精度降低
  • 卷積的padding操作會導致學習中的位置出現偏差。
  • 和SiamRPN++的數據增強方式不同,網絡提出了一種網絡中的塊結構,修改了ResNet中的Residual塊和GoogleNet中的Inception塊。具體方法是怎么填充的怎么刪,網絡中填充了1padding,那么在塊結構輸出中,將特征圖的大小crop出1padding操作的大小。

    The cropping operation removes features whose calculation is affected by the zero-padding signals

    裁剪操作將刪除其計算受零填充信號影響的特征

    創新點:

  • 思考了網絡無法加深的原因,并給出了具體的解答
  • 總結

    以上是生活随笔為你收集整理的基于孪生网络的单目标跟踪持续汇总的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。