<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          單目標跟蹤方法-Siam系列

          共 4234字,需瀏覽 9分鐘

           ·

          2021-11-10 00:38

          ? ?作者:? 晟? 沚?? ? ? ? ??



          前 ?言


          跟蹤的定義:在第一幀中給定目標框,在后續(xù)幀中不斷對目標定位,實際上是一個one-shot learning過程。


          • 一般流程:

          1)Trackingby online-learning用第一幀給定的label訓練一個分類器,后續(xù)幀使用此分類器判別是否是目標,后續(xù)不斷更新訓練分類器

          2)Similaritylearning 和第一幀判斷,得到精確的目標估計需要很多例子,每采集的例子需要特征計算,耗時

          3)Fully-convolutional Siamese 使用全卷積方式簡化計算相關性,達到80fps,有數(shù)據(jù)驅(qū)動

          ?

          • VOT算法分類

          VOT相關算法通常分為生成式(generative model)和判別式(discriminative model)。

          • 生成式:采用特征模型描述目標的外觀特征,再最小化跟蹤目標與候選目標之間的重構(gòu)誤差來確認目標。此方法著重于目標本身的特征提取,忽略目標的背景信息,因而在目標外觀發(fā)生劇烈變化或者遮擋時,容易出現(xiàn)目標漂移或目標丟失。

          • 判別式:將目標跟蹤看做一個二元分類問題,通過訓練關于目標和背景的分類器來從候選場景中確定目標,可以顯著區(qū)分背景和目標,性能魯棒,漸漸成為目標跟蹤領域主流方法,目前大多數(shù)基于深度學習的目標跟蹤算法都屬于判別式方法。

          傳統(tǒng)的單目標跟蹤算法多為在線跟蹤,在線更新模型(KCF)。這種方法的好處就是速度快,但是跟蹤質(zhì)量并不是很高,而深度學習方法多為離線訓練,在線跟蹤,這樣做的好處就是跟蹤質(zhì)量好,但是速度比不上相關濾波的方法,但是從這篇SiamFC論文開始,基于深度學習的方法在速度上已經(jīng)可以和傳統(tǒng)的相關濾波并駕齊驅(qū),甚至更優(yōu)

          單目標跟蹤的性能其實主要依靠特征對比和邏輯推理。特征對比是多數(shù)工作的主流方向,因為在已知第一幀目標圖像前提下,定位下一幀目標位置的最直觀方法是把下一幀圖像以滑動窗為單位(或者以物體proposal為單位)與目標圖像特征進行比對,特征最相近便認為是目標物體。


          • 難點:

          • 目標出現(xiàn)遮擋,目標消失等長時跟蹤問題

          • 對于比較像的目標是會誤判,比如都是人

          • 目標形狀變化較大時容易發(fā)生漂移

          • 模板更新問題:模板不更新會導致模型魯棒性不佳,出現(xiàn)遮擋模糊等無法識別;模板更新策略不佳又會引入模板污染、過擬合等問題


          下面主要介紹兩個算法:SiamFC和SiamRPN。




          1

          SiamFC


          首先簡單介紹下本算法:

          使用孿生網(wǎng)絡(Siamese Net)結(jié)構(gòu)來進行相似度比較,對比模版圖片(在訓練前應該指定好)和需比較的目標圖片之間的相似度。速度是SiameseFC的最大優(yōu)勢,可以用于追蹤任意物體(不需要預先訓練),在當時某幾個benchmark上達到了最優(yōu)。


          還存在的問題:

          • 由于要與模版圖片對比,因此如果在追蹤過程中,物體突然發(fā)生一些變換(比如正面到側(cè)面等),會導致追蹤失敗。

          • 如果背景物體中,有較多相似性物體,追蹤效果也不好。

          • 預測的邊框好像都是原始邊框的等比例變換(這個不確定,看源碼好像是這樣)。

          • 如果位置發(fā)生突變,效果不好(物體超出搜索區(qū)域范圍)。

          ?

          SiamFC主要思想:

          實際上就是將跟蹤當做匹配問題,本質(zhì)是估計每個滑窗的得分,先將搜索圖像和目標圖像做一個交叉相關,得到一個tensor,其實是相關feature的一個特征,代表了搜索圖像和目標圖像每個patch的相關信息,在通過1*1卷積就可以得到box 和score

          動機是解決神經(jīng)網(wǎng)絡實時跟蹤的問題。由于卷積網(wǎng)絡先進行離線訓練,在線跟蹤時需要利用隨機梯度下降法(SGD)微調(diào)網(wǎng)絡權(quán)重,從而使速度下降,無法實時跟蹤。作者利用全卷積孿生網(wǎng)絡進行相似性學習,使用目標檢測的ILSVRC數(shù)據(jù)集訓練,再把模型從ImageNet Video域推廣到其他視頻跟蹤數(shù)據(jù)集域,線上的跟蹤過程只需推理即可。


          首先簡單介紹下siamfc的網(wǎng)絡框架,圖中z是模板(即待跟蹤的目標),x是當前幀的圖像,是用于提取圖像特征的卷積網(wǎng)絡,因為作用于x(srch_img)的?與作用于z(template)的??全一樣所以稱為孿生網(wǎng)絡(siamese),經(jīng)過卷積網(wǎng)絡提取特征后分別得到x和z的feature map,然后將二者卷積(?*?表示卷積),即將6×6×128的feature map當做卷積核,在22×22×128上進行卷積得到17×17×1的heatmap,heatmap上值最大的點就對應于x圖像中目標的中心。

          下面說一些細節(jié),首先?網(wǎng)絡是5層不帶padding的AlexNet。顯然5層不符合深度學習“深”的理念,但是由于網(wǎng)絡不能加padding所以限制了網(wǎng)絡深度,為什么不能padding呢,事實上target在x上的位置,我們是從heatmap得到,這是基于卷積的平移等變性,即target在x上平移了n,相應的就會在heatmap上平移n/stride,且值不會變。但如果加入了padding,對于圖像邊緣的像素,雖然也會平移,但值會變,因為padding對圖像的邊緣進行了改變。siamRPN++和siamDW解決了這個問題,后面會詳細講。然后是訓練時,x和z的獲取方式:z是以第一幀的bbox的中心為中心裁剪出一塊圖像,再將這塊圖像縮放到127×127,255×255的srchimg也是類似得到的。這里有幾個細節(jié)需要注意,第一,template與srch_img的中心就是目標的中心,且template是裁剪過的,如果不裁剪那么template中背景過多,導致匹配失敗。不過在siamfc中背景信息完全被丟棄,換句話說,siamfc對缺乏對背景的利用,也導致模型的判別性不足,后續(xù)有相關工作對此進行改進。第二,訓練階段的標簽怎么得到呢,如果只是簡單將目標所在位置標為1,其他位置標為0,就會產(chǎn)生嚴重的樣本不均衡問題,于是作者將離目標中心點r半徑內(nèi)的label都設置為1,其他設為0,loss function

          y為預測值,v為標簽值,這里關于label的設置也有一些可以優(yōu)化的點,使用focal loss是否對模型的判別性是否會更高呢。第三,在測試時,siamfc的template是不更新的,即一直為第一幀,這就導致模型的魯棒性不佳,例如隨著時間的變化template出現(xiàn)遮擋、模糊等情況,但是如果更新策略不佳又會引入模板污染、過擬合等問題,在這方面也有相關工作討論。在測試時,首先搜索區(qū)域不是整個srchimg而只是之前的四倍大小的搜索區(qū)域,其次在featuremap上加了余弦窗,最后為了解決尺度問題,對srch_img進行縮放了3種尺度。

          SiamFC預測時,不在線更新模板圖像。這使得其計算速度很快,但同時也要求SiamFC中使用的特征具有足夠魯棒性,以便在后續(xù)幀中能夠應對各種變化。另一方面,不在線更新模板圖像的策略,可以確保跟蹤漂移,在long-term跟蹤算法上具有天然的優(yōu)勢。

          圖片輸入:兩個輸入z與x的大小是確定的,其中第一幀的groundtruth是已知的(x_min,y_min,w,h),那么模板圖像z的大小即為:

          其中A=127^2,s是對圖像進行的一種變換,即進行(w+2p)x(h+2p)的擴展,再resize成127x127的大小。

          而對于搜索區(qū)域x來說,以上一幀預測的bbox的中心為裁剪中心,裁剪出255x255大小的圖片。這里,作者為了提高跟蹤性能,選取了多尺度進行預測,分別是1.025^{-2,-1,0,1,2},其中255x255對應尺度為1。之后作者又嘗試了三種尺度的SiamFC-3s,提升了FPS。

          這里特別指出,當模板和搜索圖像不夠裁剪時,要對不足的像素進行RGB通道的均值填充。



          2

          SiamRPN

          商湯在CVPR2018上提出的,孿生候選區(qū)域生成網(wǎng)絡(Siameseregion proposal network),簡稱Siamese-RPN,包含用于特征提取的孿生子網(wǎng)絡和候選區(qū)域生成網(wǎng)絡,其中候選區(qū)域生成網(wǎng)絡包含分類和回歸兩條支路,借鑒了目標檢測的RPN結(jié)構(gòu)。在跟蹤階段將跟蹤任務構(gòu)造出局部單目標檢測任務,作者預先計算孿生子網(wǎng)絡中的模板支路(第一幀),并且將它構(gòu)造成一個檢測支路中區(qū)域提取網(wǎng)絡里面的一個卷積層,用于在線跟蹤。



          siamRPN的網(wǎng)絡框架見上圖,這里可以從one-shot的思路理解sianRPN,我們把template分支的embedding當作卷積核,srch_img分支當作feature map,在template與srchimg卷積之前,先將卷積核(即template得到的feature map)通過1*1卷積升維到原來的2k(用于cls)和4k(用于位置的reg)倍。然后拉出分類與位置回歸兩個分支。siamfc相當于直接將template與srching直接卷積匹配,而siamRPN在template上引入k個anchor相當于選取了k個尺度與srch_img進行匹配,解決了尺度問題。

          siamRPN無論是在A還是R上都優(yōu)于siamfc(這里補充一下,對于跟蹤而言主要有兩個子指標A(accuracy)與R(robust), A主要是跟蹤的位置要準,R主要是模型的判別性要高,即能夠準確識別哪些是目標,從而判斷出目標的大致位置。關于R與A可參見VOT評價指標),也就是說siamrpn的模型判別性與準確性都比siamfc好。

          準確性的提升主要來自與siamrpn將位置回歸單獨拉出來作為一個分支,這一點在后續(xù)的siamfc++中也可以看到作者相關的論述。在模型判別性方面,筆者認為,提升的關鍵在于siamrpn在進行匹配(即template與srchimg卷積的過程)時,由于引入了k個anchors,相當于從k個尺度對template與srch_img進行更加細粒度的匹配,效果更好也是情理之中。另外很重要的一點就是sianrpn解決了尺度問題。




          end







          機器學習算法工程師


          ? ? ? ? ? ? ? ? ? ? ? ? ? ? 一個用心的公眾號


          長按,識別,加關注

          進群,學習,得幫助

          你的關注,我們的熱度,

          我們一定給你學習最大的幫助






          瀏覽 111
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  性五月丁香 | 菠萝成人视频 | 淫声浪叫 | 日本黄色视频网站片 | 亚洲欧洲日本免费中文字幕 |