目標跟蹤

本篇是基於單目標跟蹤的論述 

目標跟蹤概述

          1.1 定義:

                1,單目標,即在給定的視頻中只跟蹤一個目標

                2,在第一幀中會通過矩形的bounding box將目標給出。給定後,使用tracker找出每一幀的目標。

                3,短期

          1.2 目標跟蹤面臨的挑戰有:

                1,運動模糊(Motion Blur)

                      

                      在獲取視頻時由於環境因素,相機抖動或物體運動等多種因素的影響,導致獲取的視頻幀像素退化,這種退化會導致角點,邊緣等顯著特徵受損甚至消失。一般存在兩種情況,當點擴散函數處於未知狀態時,叫做盲去模糊,當點擴散函數已知時叫做非盲去模糊。

                2,遮擋(Occlusion)

                     

                     遮擋是目標跟蹤中比較常見的挑戰因素。遮擋又分爲部分遮擋(Partial Occlusion)和完全遮擋(Full Occlusion)。解決部分遮擋目前較爲常用的大致有兩種思路:(1)利用檢測機制判斷目標是否被遮擋,從而決定是否更新模板,保證模板對遮擋的魯棒性。(2)把目標分成多個塊,利用沒有被遮擋的塊進行有效的跟蹤。而對於完全遮擋目前並沒有特別好的辦法完全解決這個問題。

                3,形變(Deformation)(與第一幀差異過大)

                      

                      通常而言跟蹤的目標並非一層不變的。而跟蹤目標的形變,如果過大則會導致跟蹤發生漂移(Drift)。而解決這個挑戰的主要解決點就在解決漂移問題。常用的方法是更新目標的表觀模型,使其適應表觀的變化。因此面對這個問題時,至關重要的是模型更新方法。能否及時,準時更新,能否確定好更新的頻率變成面對這個挑戰時要關注的問題。

                4,尺度變化(Changing In Scale)(鏡頭的拉近或拉遠)

                      

                      尺度變換是指目標在運動過程中距離拍攝的鏡頭距離的變化而產生的尺度大小的變化現象。由於尺度變換如果不能快速準確的預測出跟蹤目標變化的係數就會影響跟蹤的準確率。現在通常的做法有:(1)在運動模型產生候選樣本的時候,生成大量的尺度大小不等的候選框,選擇最優作爲目標。(2)在多個不同尺度的目標上進行目標跟蹤,產生多個預測結果,選擇其中最優作爲最後的預測目標。

                5,快速移動(Fast Motion)

                      

                      快速移動指的是要跟蹤的目標在接下來的幀中,快速的變換位置。這樣很可能會導致目標丟失,因此也是目標跟蹤的一個比較重要的點。

                還有背景雜斑(Background Clutter),光照變化(illumination variation)等其他挑戰。總而言之對於視覺跟蹤而言,由於運動目標的運動場景大多較爲複雜,並且經常發生變化,或者要跟蹤的目標本身也會發生變化。這樣就導致要考慮的問題變成了,如何在複雜變換的場景中識別並跟蹤不斷變化的目標。

                經過上述的方法總結就個人而言感覺視覺跟蹤大致有兩個比較困難的點:

                1.上述的各個挑戰,由於要考慮的視頻中跟蹤的目標的具體情況不同,所以對應的挑戰也不相同,想要一勞永逸的解決是不現實的。可能一個算法在面對一個挑戰時表現的很好,但面對另一個挑戰時表現的又很差。

                 2.缺乏訓練樣本,假如我們使用深度學習的方法來進行目標跟蹤。那麼我們需要對應的數據集來訓練網絡,但因爲目標跟蹤任務的特殊性,只有初始幀的圖片數據可以利用,因此缺乏數據供神經網絡學習。

          1.3 目標跟蹤方法:

                就目前爲止,追蹤器大致分爲兩大類生成性追蹤器和鑑別性追蹤器。

                 (1)生成性追蹤器(Generative Method):通過在線學習的方式建立目標模型,然後使用模型搜索重建誤差最小的圖像區域,完成目標定位。這一類方法沒有考慮目標的背景信息,圖像信息沒有得到較好的應用。通俗點講就是在當前幀對目標區域建模,下一幀尋找與模型最相似的區域就是預測位置,比較著名的有卡爾曼濾波,粒子濾波,mean-shift等。

                 (2)鑑別性追蹤器(Discriminative Method):將目標跟蹤看作是一個二元分類問題,同時提取目標和背景信息用來訓練分類器,將目標從圖像序列背景中分離出來,從而得到當前幀的目標位置。CV中的經典套路圖像特徵+機器學習, 當前幀以目標區域爲正樣本,背景區域爲負樣本,機器學習方法訓練分類器,下一幀用訓練好的分類器找最優區域:與生成類方法最大的區別是,分類器採用機器學習,訓練中用到了背景信息,這樣分類器就能專注區分前景和背景,所以判別類方法普遍都比生成類好。

          1.4 跟蹤方法:

                稀疏表示(Sparse Representation):對於生成性追蹤器來說,較爲典型的就是稀疏矩陣了。給定一組過完備字典,將輸入信號用這組過完備字典線性表示,對線性表示的係數做一個稀疏性的約束(即使得係數向量的分量儘可能多的爲0),那麼這一過程就稱爲稀疏表示。基於稀疏表示的目標跟蹤方法則將跟蹤問題轉化爲稀疏逼近問題來求解。但實際上近些年來生成性追蹤器使用的較少。因此係數表示也用的也比較少。基本上相關濾波和深度學習佔據了目標跟蹤的大半。

                相關濾波(Correlation Filter):相關濾波本身源於信號領域。其基本思想爲衡量兩個信號是否相關,兩個信號越相似,那麼相關的操作越強。對於目標跟蹤而言,對應的上一幀得到的目標與下一幀中的區域越相似,響應越高。通常使用卷積表示相關的操作。當其應用到目標跟蹤上時,其基本思想就是,尋找一個濾波模板,讓下一幀的圖像與得到的濾波模板做卷積操作,響應最大的區域就是預測的目標。

                深度學習(CNN-Based):對於神經網絡來說由於CNN引入了卷積層和池化層的概念。而卷積層在輸入的時候不僅考慮到了輸入的值,還可以保持輸入的形狀不變。當輸入數據是圖像時,卷積層會以三維數據的形式接收輸入數據,並且同樣以三維數據的形式輸出至下一層,因此,CNN可以正確理解圖像等具有形狀的數據。所以對於計算機視覺領域有着獨特的優勢。對於檢測,人臉識別等早CNN早以發出自己的聲音。但對於目標跟蹤領域而言,開始並不順暢。正如上文所述由於目標跟蹤的特殊,只有初始幀的圖片數據可以用,所以缺乏大量的數據供神經網絡學習。直到後來將在分類圖象數據集上訓練的卷積神經網絡應用到目標跟蹤上後,基於深度學習的目標跟蹤方法纔得到充分的發展。

          1.5 數據集:

                OTB:OTB分爲OTB50和OTB100,其中OTB100包含OTB50,該數據集的特點是人工標註的groundtruth,同時包含有25%的灰度數據集。

                VOT:本身是競賽數據集更具有代表性。同時VOT每年更新。

                VOT與OTB的區別:這兩個數據集都是目標跟蹤常用的數據集,但還有一定的差別。

                 (1)OTB包括有25%的灰度序列,但VOT都是彩色序列,這也導致了很多顏色特徵算法性能的差異。

                 (2)兩個庫的評價標準也不一樣。

                 (3)OTB有隨機幀開始,或者矩形框加隨機干擾初始化去跑,但VOT是第一幀初始化跑,每次跟蹤失敗時,5幀之後重新初始化,VOT以短時跟蹤爲主,並且認爲跟蹤監測應該在一起不分離,detecter會多次初始化tracker。

 

目標跟蹤基本流程

          2.1 基本流程

                單目標視覺跟蹤的任務就是在給定某一個視頻序列初始幀的目標大小與位置的情況下,預測後續幀中該目標的大小與位置,其基本流程如下圖所示:

                              

                  輸入初始化目標框,在下一幀中產生衆多候選框(Motion Model),提取候選框的特徵(Feature Extractor),然後對這些候選框評分(OBservation Model),最後在這些評分中找到一個最高得分的候選框作爲預測的目標(Prediction A),或者對多個預測值進行融合(Ensemble)提高準確率。

                  基於上述過程將該流程大致分爲以下五個模塊進行研究:

                  1.運動模型(Motion Model):基於對前一幀的估計,運動模型生成一組可能包含當前幀中目標的候選區域或包圍盒。

                      運動模型旨在描述幀與幀目標運動狀態之間的關係,顯式或隱式地在視頻幀中預測目標圖像區域,並給出一組可能的候選區域。常用的有兩種方法:粒子濾波和滑動窗口。其中粒子濾波是一種序貫貝葉斯推斷方法,通過遞歸的方式推斷目標的隱含狀態。滑動窗口是一種窮舉搜索方法,它列出目標附近的所有可能的樣本作爲候選樣本。

                  2.特徵提取(Feature Extractor):徵提取器使用一些特徵表示候選集中的每個候選者。

                      適用於目標跟蹤的特徵一般要求,既能較好地描述跟蹤目標又能快速計算。常用的特徵也被分成兩類:手工設計的特徵和深度特徵。常用的手工設計的特徵有:灰度特徵,顏色特徵,紋理特徵等。而深度特徵則是通過大量的訓練樣本學習出來的特徵,更具有鑑別性。

                 3.觀測模型(Observation Model):觀察模型根據從候選人中提取的特徵判斷候選人是否是目標。

                    觀測模型返回給定目標候選人的置信度,因此通常被認爲是跟蹤器的關鍵部件。與特徵提取器和觀察模型組件相比,運動模型對性能的影響一般很小。然而,在尺度變化和快速運動的情況下,合理地設置參數仍然是獲得良好性能的關鍵。如上文中提到的,追蹤器大致分爲兩大類生成性追蹤器和鑑別性追蹤器一致。觀測模型可分爲兩類即生成式模型和鑑別式模型,生成式模型通常尋找與目標模板最爲相似的候選作爲跟蹤結果,可簡單視爲模板匹配。較爲常用爲上文中提到的稀疏表示。而鑑別式模型則通過訓練一個分類器去區分目標與背景,選擇置信度最高的候選樣本作爲預測結果。判別式方法已經成爲目標跟蹤中的主流方法,如上文中提到的相關濾波,深度學習。

                 4.模型更新(Model Update):模型更新器控制更新觀測模型的策略和頻率。它必須在模型適應和漂移之間取得平衡。

                    爲了捕捉目標( 和背景) 在跟蹤過程中的變化,目標跟蹤需要包含一個在線更新機制,在跟蹤過程中不斷更新外觀模型。在本文中考慮兩種方法。1.每當目標可信度低於閾值時更新模型。這樣做可以確保目標始終具有很高的信心。 2.當目標的置信度與背景樣本的置信度之差低於閾值時,對模型進行更新。這種策略只是在正面和負面的例子之間保持足夠大的差距,而不是強迫目標有很高的信心。

                   5.集成結果處理Ensemble Method):當一個跟蹤系統由多個跟蹤器組成時,集成後處理器獲取組成跟蹤器的輸出,並使用集成學習方法將它們組合成最終結果。

                      單個跟蹤器的結果有時可能非常不穩定,因爲即使在很小的擾動下,性能也會發生很大的變化。參數採用集成方法的目的就是爲了克服這一限制。

         2.2 總結

               由上述的過程可得知模塊之間的關係爲:運動模型負責描述幀與幀目標運動狀態之間的關係,給出一組目標可能會出現的候選區域。特徵提取則能夠很好的跟隨目標同時又保證計算較爲簡潔。而觀測模型作用於當前幀,用來判斷區域內是否是要跟蹤的目標。因爲在較長的跟蹤過程中目標的特徵可能會出現變化,因此需要一個目標更新模塊來不時的對觀測模型進行實時更新以此來確保跟蹤目標的正確性。而單個跟蹤器其結果不確定。並不能一定確保跟蹤的穩定性。所以需要集成結果處理來確保結果的穩定性。

相關算法

          就目前來說相關濾波與深度學習在視覺目標跟蹤領域佔據主要的地位。如下圖所示。

          

          3.1基於相關濾波的典型算法

               3.1.1相關濾波在視頻跟蹤的應用方法:設計一個對目標高響應,同時對背景低響應的濾波器,由此實現對目標模式的快速檢測。簡單來說就是設計一個濾波模板,利用該模板與目標候選區域做相關運算,最大輸出響應的位置即爲當前幀的目標位置。

               

                  其中y表示響應輸出,x表示輸入圖像,w表示濾波模板。利用相關定理,將相關轉換爲計算量更小的點擊。

                  

                   如上圖所示的分別是y,x,w的傅里葉變換。而相關濾波的任務就是尋找最優的濾波模板w。

               3.1.2具體的算法:

                       (1)MOSSE

                                如同在3.1.1中所提出的相關濾波的應用方法一樣,MOSSE的具體做法就是利用了信號處理中的相關性,通過提取目標特徵來訓練相關濾波器,對下一幀的輸入圖像進行濾波,當兩個信號越相似(後一幀中圖像的某個位置與前一幀用於訓練的特徵越相似),那麼在該位置濾波器所計算得到的相關值越高。如下圖所示爲相關值得計算。

                                

                              其中g表示的是計算的相關值,f爲輸入的圖像,h爲濾波器模板。運算的過程大致如下,卷積中的卷積層和池化層。

                               

                                爲了減少計算量,加快響應,通過快速傅里葉變換(FFT)將卷積操作變成了點乘操作。同時爲了在每一幀後更新相關濾波器,採用將前面的圖像都相加的辦法,求得相加最小。

                                 所以MOSSE的工作流程大致爲:

                                 1.先手動或者條件給定第一幀目標區域,提取特徵。

                                 2.對下一幀輸入圖像裁剪下預測區域,進行特徵提取,做FFT運算,與相關濾波相乘後將結果做IFFT運算,得到輸出的相應點,其中最大響應點爲該幀目標的位置。

                                 3.將該幀的目標區域加入到訓練樣本中,對相關濾波進行更新。

                                 4.重複步驟2,3.  

                       (2)CSK

                                CSK針對MOSSE採用稀疏採樣造成樣本冗餘的問題,擴展了嶺迴歸,基於循環移位的近似密集採樣方法,以及核方法。

                                嶺迴歸:

                                CSK爲求解濾波模板的使用了嶺迴歸。如下圖:

                                 

                                   

                                  其中x是訓練樣本,而X是x構成的樣本矩陣,y是樣本的響應值,w是待求得濾波模板,而λ是正則化係數。使用嶺迴歸爲了防止過擬合。使得求到的濾波器在下一幀的圖像中的泛化能力更強。

                                 循環移位:

                                 CSK的訓練樣本是通過循環移位產生的。密集採樣與循環移位產生的樣本很像,可以用循環移位來近似。循環矩陣原理如圖,第一行是實際採集的目標特徵,其他行週期性地把最後的矢量依次往前移產生的虛擬目標特徵。

                                   

                                 對圖像進行循環移位的效果實例如圖

                                                 

                                

                                循環移位的樣本集是隱性的,並沒有真正產生過,只是在推導過程中用到,所以也不需要真正的內存空間去存儲這些樣本。同時生成的近似樣本集結合FFT極大地減少了計算量,但這種近似引入邊界效應。

                       (3)CN

                                MOSSE與CSK處理的都是單通道灰度圖像。引入多通道特徵擴展只需要對頻域通道響應求和即可。HOG+CN在近年來的跟蹤算法中是常用的特徵搭配,HOG是梯度特徵,而CN是顏色特徵,二者可以互補。

                                CN其實是一種顏色的命名方式,與RGB,HSV同屬於一類。CN在CSK的基礎上擴展了多通道顏色。將RGB的3通道圖像投影到11個顏色通道,,分別對應英語中常用的語言顏色分類,分別是black, blue, brown, grey, green, orange, pink, purple, red, white, yellow,並歸一化得到10通道顏色特徵。也可以利用PCA方法,將CN降維到2維。

                       (4)KCF/DCF

                                KCF可以說是對CSK的完善。論文中對嶺迴歸、循環矩陣、核技巧、快速檢測等做了完整的數學推導。KCF在CSK的基礎上擴展了多通道特徵。KCF採用的HoG特徵,核函數有三種高斯核、線性核和多項式核,高斯核的精確度最高,線性核略低於高斯核,但速度上遠快於高斯核。

                       在前面提到的挑戰中有一種挑戰是尺度變化。對於這一問題上述的KCF/DCF和CN都沒有涉及到。這樣的話如果目標發生尺度變化,那麼濾波器就會學習到大量的背景信息,如果目標擴大,濾波器可能會跟蹤到目標局部紋理。這兩種情況都可能出現非預期的結果,導致跟蹤漂移和失敗。基於此提出SAMF(基於KCF,特徵是HOG+CN。採用多尺度檢測。取響應最大的平移位置及所在的尺度。因此可以同時檢測目標中心變化和尺度變化),DSST(將目標跟蹤分解爲目標中心平移和目標尺度變化兩個獨立問題,這樣對應的模塊只負責一部分,如尺度濾波器僅需要檢測出最佳匹配尺度無須關心平移的情況。)

          3.2基於深度學習的典型算法

                       (1)MDNet

                                MDNet直接使用跟蹤視頻預訓練CNN獲得的general目標表示能力,但實際上訓練序列也存在問題,因爲不同的視頻中我們要跟定的目標是不相同的,可能這個視頻中要跟蹤的目標在下一個視頻中就是背景,因此只使用單獨一個CNN完成所有的訓練序列中前景和背景區分的任務較爲困難。

                              

                              上圖包含了MDNet的基本思想。MD分爲共享層和domain-specific層兩部分。其具體做法是將每個訓練序列當成一個單獨的domain,每個domain都有一個針對它的二分類層(fc6),用於區分當前序列的前景和背景,而網絡之前的所有層都是序列共享的。這樣共享層達到了學習跟蹤序列中目標general的特徵表達的目的,而domain-specific層又解決了不同訓練序列分類目標不一致的問題。在具體的訓練時,MDNet的每一個mini-batch只由一個特定序列的訓練數據構成,只更新共享層和針對當前序列的特定fc6層。這樣使得共享層獲得了所有的序列共有特徵的表達能力,而對應於特定序列的fc6層則只保存有當前序列的特徵。

                              在具體的跟蹤階段,MDNet的主要做法爲:

                              (1)隨機初始化一個新的fc6層

                              (2)使用第一幀的數據來訓練該序列的bounding box迴歸模型。

                              (3)用第一幀提取正樣本和負樣本,更新fc4,fc5和fc6層的權重。

                              (4)之後產生256個候選樣本,並從中選擇置信度最高的,之後做bounding-box regression得到的結果。

                              (5)如果當前幀的最終結果置信度比較高,那麼採樣更新樣本庫,否則根據情況對模型做短期或者長期的更新。

                       (2)TCNN

                                TCNN用了很多個CNN的模型,並構建成一棵樹的結構,如圖1所示,紅色的框越粗說明對應的CNN模型的可靠性(reliability)越高。連接的紅色的線越粗,說明兩個CNN之間的相關性越高(affinity)。黑色的箭頭越粗表示對應的CNN模型對目標估計的權重越高。TCNN還對每一個CNN模型進行了可靠性評估。如下圖所示:

                                  

                                 每個CNN的網絡結構是一樣的,前面的卷積層的參數共享,是來自於事先用imageNet訓練好的VGG-M網絡,再加上後面的全連接層。構成了TCNN。其在第一幀的時候隨機初始化並進行迭代訓練,後面每次更新的時候都只更新全連接層的參數。如下圖所示:

                                  

                                    總的來說TCNN效果較好,但差於ECO。

                                    效果好的原因:

                                    (1)使用了多個CNN模型進行檢測(10個)

                                    (2)使用了樹的結構來組織CNN模型,避免它們只對最近的幀過擬合

                                    (3)CNN會一直有新的模型加進來,且經過fine-tuning。

                                    (4)在確定最終的位置時還做了Bounding Box Regression,進一步提高定位準確性。

                       

          3.3深度學習與相關濾波相結合

                       (1)SRDCF&DeepSRDCF

                                SRDCF在KCF優化目標的基礎上加入了空域正則化,增強了模型的判別能力,優化目標變爲:

                                                  

                                其中的指的是對w施加的空間正則化權重。這表明,某些位置(主要是邊界)的濾波器係數會受到懲罰。

                                

                               DCF(左)與SRDCF(右)的效果對比。

                               傳統方式獲取特徵是HOG+CN,後來發現CNN淺層特徵比HOG手工特徵效果要好後。於是作者將SRDCF的模型更改爲使用CNN,也就形成了一個新的模型,即:DeepSRDCF

                       (2)C-COT

                                使用一種隱式的插值方式將模型的學習投射到一個連續的空間域中,提出了一種在連續空間域上的卷積算子。C-COT將多種分辨率的深度特徵進行了高效的集成,使得模型在各個數據集上的性能都得到了很大的提升。

                                

                              C-COT的特徵圖,卷積核,各層置信圖和融合後連續空間的輸出置信圖。

                       (3)ECO

                                 ECO在C-COT的基礎上進一步提升。主要有兩點。①ECO降低了C-COT的參數量,對特徵提取作了降維簡化,提升效率,防止過擬合。②使用高斯混合模型生成不同樣本組合,簡化訓練集的同時還增加了多樣性;另外,提出了一種高效的模型更新策略,在提升速度的同時還提升了魯棒性。

                                 

                                 C-COT學習後的卷積核與ECO學習後的卷積核。

                       (4)SiamFC

                                SiamFC開創了端到端深度學習相關濾波方法的先河,同時也爲深度學習方法逐漸超越相關濾波方法拉開了序幕。其對應的網絡如下:

                                

                                 圖中φ是CNN編碼器,而上下使用的兩個CNN結構相同,同時參數也共享。而z和x分別是要跟蹤的目標模板圖像和新的一楨中的搜索範圍(255*255).二者經過同樣的編碼器後得到各自的特徵圖,對二者進行互相關運算後則會得到一個如上圖所示的響應圖(17*17),其每一個像素的值對應了x中與z等大的一個對應區域出現跟蹤目標的概率。

                       (5)SiamRPN&DaSiamRPN

                                SiamRPN在x和y經過孿生CNN得到各自的特徵圖後,沒有直接對二者進行互相關運算,而是將這兩個特徵圖各自放入RPN部分的兩個分支中,每個分支中的兩個特徵圖分別經過一個CNN再進行互相關運算。RPN部分的兩個分支分別用於進行目標概率的預測和目標邊框的迴歸,並且同樣借鑑了目標檢測領域的anchor方法,從而降低了目標邊框迴歸的訓練難度。                                 其具體步驟如下圖:

                               

                              在SiamRPN提出之後,又提出其改進型------DaSiamRPN,對訓練數據進行了增強以提升模型對同類別物體干擾的判別能力。同時,DaSiamRPN加入了增量學習的Distractor-aware模塊,在運行時採樣並更新模型的參數。使得模型模型能夠更好的遷移到當前視頻的域中。

  

                    

參考文獻

          [1] 張微, 康寶生. 相關濾波目標跟蹤進展綜述[J]. 中國圖象圖形學報, 2017(8).

          [2] 李娟. 基於目標跟蹤的視頻去運動模糊[D]. 電子科技大學, 2016.

          [3] 吳小俊, 徐天陽, 須文波. 基於相關濾波的視頻目標跟蹤算法綜述[J]. 指揮信息系統與技術,2017(3).

          [4] 王碩. 基於相關濾波的目標跟蹤算法[D].

          [5] Wang N , Shi J , Yeung D Y , et al. Understanding and Diagnosing Visual Tracking Systems[J]. 2015.

          [6] https://www.zhihu.com/question/26493945/answer/156025576

          [7] https://www.cnblogs.com/jjwu/p/8512730.html

          [8] https://blog.csdn.net/qq_34919792/article/details/89893433

          [9] https://blog.csdn.net/zhu_hongji/article/details/80515031

          [10] https://blog.csdn.net/weixin_39467358/article/details/84568474

          [11] https://www.zhihu.com/question/26493945

         

          

                          

                             

 

發佈了23 篇原創文章 · 獲贊 1 · 訪問量 639
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章