1. 程式人生 > >目標跟蹤演算法研究綜述

目標跟蹤演算法研究綜述

    入坑也算有些日子了,一直在看論文並沒有對目標跟蹤的研究進展和演算法有一個系統性的瞭解。是時候好好整理一下了,希望能對後面的研究有所幫助吧!內容中來自經典論文和部落格部分,如有侵權請提醒刪除。(小白一顆,不足之處希望各位大神駐足指正!!!萬分感謝!!!)

1、背景

    目標跟蹤演算法研究難點與挑戰:實際複雜的應用環境 、背景相似干擾、光照條件的變化、遮擋等外界因素以及目標姿態變化,外觀變形,尺度變化、平面外旋轉、平面內旋轉、出視野、快速運動和運動模糊等。而且當目標跟蹤演算法投入實際應用時,不可避免的一個問題——實時性問題也是非常的重要。正是有了這些問題,才使得演算法研究充滿著難點和挑戰。

2、目標跟蹤

    目標跟蹤的一般由4個基本部分構成:特徵提取、運動模型、外觀模型、線上更新機制。

     特徵提取(Feature Extraction):適用於目標跟蹤的特徵一般要求,既能較好地描述跟蹤目標又能快速計算。常見的影象特徵有灰度特徵、顏色特徵、紋理特徵、Haar-like 矩形特徵、興趣點特徵、超畫素特徵等,當然也還有許多其他特徵。

    運動模型( Motion Model):運動模型旨在描述幀與幀目標運動狀態之間的關係,顯式或隱式地在視訊幀中預測目標影象區域,並給出一組可能的候選區域.經典的運動模型有均值漂移(Mean shift)、滑動視窗(Slide window)、卡爾曼濾波( Kalman Filtering)、粒子濾波( Particle Filtering) 等.

    外觀模型(Appearance Model):外觀模型的作用是在當前幀中判決候選影象區域是被跟蹤目標的可能性.提取影象區域的視覺特徵,輸入外觀模型進行匹配或決策,最終確定被跟蹤目標的空間位置.在視覺跟蹤的4 個基本組成中,外觀模型處於核心地位,如何設計一個魯棒的外觀模型是線上視覺跟蹤演算法的關鍵.

    線上更新機制(Online Update Mechanism):為了捕捉目標( 和背景) 在跟蹤過程中的變化,目標跟蹤需要包含一個線上更新機制,在跟蹤過程中不斷更新外觀模型.常見的外觀模型更新方式有模板更新、增量子空間學習演算法及線上分類器等.如何設計一個合理的線上更新機制,既能捕捉目標( 和背景) 的變化又不會導致模型退化,也是目標跟蹤研究的一個關鍵問題。

3、演算法研究進展

    目標跟蹤演算法主要分為兩類:

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

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

以下是按年份記錄的經典的跟蹤演算法:

2009

MIL  

 Boris Babenko,的論文(MIL)Robust Object Tracking with Online Muliple instance Learning多示例目標跟蹤演算法使用分類的方法對目標進行跟蹤,核心思想就是在以前使用的分類器中把單個樣本作為輸入去訓練,在這個演算法當中,把一類的樣本(正樣本)和單個的負樣本作為輸入訓練,保證能夠學習到更多的目標的外觀模型,能夠更好的對目標進行分類。具體的介紹可以去看我的另一篇部落格:

https://blog.csdn.net/zhu_hongji/article/details/79943559

2010

MOSSE

  David S. Bolme, J. Ross Beveridge, Bruce A. Draper, Yui Man Lui. “Visual Object Tracking using Adaptive Correlation Filters.” ICCV (2010). 

在很長一段時間以內,相關濾波((Correlation Filters. CF)被用來檢測場景中特定的模式,它具有對於影象中感興趣的特定模式響應很大,而對其他背景模式響應很小的特性。雖然這種特性可以被用來進行目標定位,但是需要大量的樣本來訓練,因此不適合線上目標跟蹤。直到Bolme等提出最小輸出均方誤差(Minimum OutputSum of Squared Error MOSSE)濾波演算法,相關濾波才真正意義上用於線上目標跟蹤。MOSSE濾波基於一種自適應的訓練方式,僅需要一幀影象就能產生穩定的相關濾波。該演算法不僅展現了應對光照變化、尺度變化、姿態變化、非剛性變形等複雜場景的魯棒性,計算效率也非常高,每秒處理速度可以達到幾百幀。由於其魯棒性及計算高效性,基於相關濾波的目標跟蹤得到了研究領域的廣泛關注。MOSSE濾波可以看成是一組線性分類器,因此基於它的跟蹤演算法整體效能可能受到限制,另外只能處理單通道的灰度資訊,效能也有一定限制。

    

       這個處理速度也太快了吧,可以準確率上不去。

TLD

Z. Kalal, J. Matas, and K. Mikolajczyk. P-N Learning: Bootstrapping Binary Classifiers by Structural Constraints. [Paper][Project] 

    Kalal等提出一種新穎的跟蹤一學習一檢測(Tracking-Learning-Detection)的目標跟蹤框架,嘗試實現目標完全被遮擋或者目標離開視場等複雜場景下的長時間目標跟蹤。該框架將長時間目標跟蹤劃分為三個子模組,即跟蹤、學習和檢測,跟蹤模組基於光流實現目標在相鄰影象幀的短期跟蹤,檢測模組通過一個級聯檢測器全域性地定位所有己經觀測到的外觀,學習模組則通過“正、負專家”識別和糾正檢測器誤差,從而降低漂移誤差。

                                        

2011

Struck

Struck: Structured Output Tracking with Kernels. Paper  ,Project 

Sam Hare, Amir Saffari, Philip H. S. Torr等人於2011年發表在Computer Vision (ICCV)上的一篇文章。Struck與傳統跟蹤演算法的不同之處在於:傳統跟蹤演算法(下圖右手邊)將跟蹤問題轉化為一個分類問題,並通過線上學習技術更新目標模型。然而,為了達到更新的目的,通常需要將一些預估計的目標位置作為已知類別的訓練樣本,這些分類樣本並不一定與實際目標一致,因此難以實現最佳的分類效果。而Struck演算法(下圖左手邊)主要提出一種基於結構輸出預測的自適應視覺目標跟蹤的框架,通過明確引入輸出空間滿足跟蹤功能,能夠避免中間分類環節,直接輸出跟蹤結果。同時,為了保證實時性,該演算法還引入了閾值機制,防止跟蹤過程中支援向量的過增長。

                                     

2012

CSK

F. Henriques, R. Caseiro, P. Martins, and J. Batista. Exploiting the Circulant Structure of Tracking-by-Detection with Kernels.

大體上,大部分運動跟蹤都是通過查詢兩個相鄰幀的相互關係,再確定目標物件的運動方向,無限迭代後,能完整地跟蹤物件,CSK也是如此。在確定跟蹤物件後,根據目標位置扣出該幀的目標窗和下一幀的目標窗,再對這兩個窗進行FFT,轉化後在頻域圖直接點乘。這個過程可簡單理解為是求兩個相連幀的頻域共振位置,然後將共振頻域圖利用核函式進行核對映,再進行訓練。 訓練過程引入原始響應Y,Y可以理解為是物件的起始位置,因為起始位置都是第一幀的中心,所以能看到Y的影象是根據跟蹤窗大小的建立的高斯函式。 
訓練的目的則是要找出當前幀對應的α,其訓練公式如下

                      

訓練完畢後,根據下一幀的核對映,可檢測出對應的響應影象yˆyˆ,檢測公式如下:

                     

通過輸入圖片與目標區域,由下面公式得到核矩陣k。

                    

演算法步驟:

                    

2013

很厲害的兩個資料集:

         Wu Y, Lim J, Yang M H. Object tracking benchmark [J]. TPAMI, 2015.【Paper】

這兩個資料庫已經是現在做Tracking必須跑的兩個資料集了,所以就把他們放在一塊了;database的意義非常重大,直接促進了跟蹤演算法的發展,後來又擴充套件為OTB100發到TPAMI,有100個序列,難度更大更加權威。上面給出了資料庫的連結。

下面是29跟蹤演算法提出時間和在上面資料庫測試的效能:

而且這個資料集還把測試序列分成了9類,他們也代表著目標跟蹤需要解決的問題:

2014

 在2014年又出現一個新的標準VOT【VOT】的問世,VOT選取了25個序列集,使用的標準和Benchmark有略微的差別,使用精度,魯棒性,總的誤差率,速度等。

Kristan M, Pflugfelder R, Leonardis A, et al. The visual object tracking vot2013 challenge results [C]// ICCV, 2013.Kristan M, Pflugfelder R, Leonardis A, et al. The Visual Object Tracking VOT2014 Challenge Results [C]// ECCV, 2014.Kristan M, Matas J, Leonardis A, et al. The visual object tracking vot2015 challenge results [C]// ICCV, 2015.Kristan M, Ales L, Jiri M, et al. The Visual Object Tracking VOT2016 Challenge Results [C]// ECCV, 2016.

OTB和VOT區別:OTB包括25%的灰度序列,但VOT都是彩色序列,這也是造成很多顏色特徵演算法效能差異的原因;兩個庫的評價指標不一樣,具體請參考論文;VOT庫的序列解析度普遍較高。對於一個tracker,如果論文在兩個庫(最好是OTB100和VOT2016)上都結果上佳,如果兩個庫都能調好,那肯定是非常優秀的,如果只跑了一個,個人更偏向於VOT2016,因為序列都是精細標註,且評價指標更好(人家畢竟是競賽,評價指標發過TPAMI的),差別最大的地方,OTB有隨機幀開始,或矩形框加隨機干擾初始化去跑,作者說這樣更加符合檢測演算法給的框框;而VOT是第一幀初始化去跑,每次跟蹤失敗(預測框和標註框不重疊)時,5幀之後重新初始化,VOT以short-term為主,且認為跟蹤檢測應該在一起不分離,detecter會多次初始化tracker。

這一年的Tracker主旋律變成了相關濾波(Correlation Filter):

KCF

 High-Speed Tracking with Kernelized Correlation Filters [J]. IEEE TPAMI, 2015.【Paper】【Project】 

    KCF是一種鑑別式追蹤方法,這類方法一般都是在追蹤過程中訓練一個目標檢測器,使用目標檢測器去檢測下一幀預測位置是否是目標,然後再使用新檢測結果去更新訓練集進而更新目標檢測器。而在訓練目標檢測器時一般選取目標區域為正樣本,目標的周圍區域為負樣本,當然越靠近目標的區域為正樣本的可能性越大。

KCF的主要貢獻

  • 使用目標周圍區域的迴圈矩陣採集正負樣本,利用脊迴歸訓練目標檢測器,併成功的利用迴圈矩陣在傅立葉空間可對角化的性質將矩陣的運算轉化為向量的Hadamad積,即元素的點乘,大大降低了運算量,提高了運算速度,使演算法滿足實時性要求。

  • 將線性空間的脊迴歸通過核函式對映到非線性空間,在非線性空間通過求解一個對偶問題和某些常見的約束,同樣的可以使用迴圈矩陣傅立葉空間對角化簡化計算。

  • 給出了一種將多通道資料融入該演算法的途徑

SAMF

Li Y, Zhu J. A scale adaptive kernel correlation filter tracker with feature integration[C]// ECCV, 2014【Paper】【Project】 

演算法步驟:

這篇文章是浙大Yang Li的工作,KCF問世不久之後出現的,基於KCF,第一次把HOG特徵和CN特徵進行結合使用的。同時使用了尺度池技術,多尺度方法是平移濾波器在多尺度縮放的影象塊上進行目標檢測,取響應最大的那個平移位置及所在尺度。

DSST

Martin Danelljan Accurate scale estimation for visual tracking【Paper】【Project】 

Martin Danelljan的DSST ,只用了HOG特徵,DCF用於平移位置檢測,又專門訓練類似MOSSE的相關濾波器檢測尺度變化,開創了平移濾波+尺度濾波,之後轉TPAMI做了一系列加速的版本fDSST。在這篇論文裡面將目標跟蹤看成目標中心平移和目標尺度變化兩個獨立問題,首先用HOG特徵的DCF訓練平移相關濾波,負責檢測目標中心平移,然後用HOG特徵的MOSSE(注意區別,不加padding)訓練另一個尺度相關濾波,負責檢測目標尺度變化,(標配)步長1.02的33個尺度。 效果也是相當的好,是VOT2014的冠軍,但是速度上並沒有那麼近人意,因為使用了33個尺度,速度自然就下了。

Danelljan M, Häger G, Khan F, et al. Accurate scale estimation for robust visual tracking [C]// BMVC, 2014.Danelljan M, Hager G, Khan F S, et al. Discriminative Scale Space Tracking [J]. IEEE TPAMI, 2017.

 VOT2014競賽的前幾名的效能:

2015

VOT2015競賽 VOT2015 Challenge | Home ,這一年有60個精挑細選的序列,62個tracker,最大看點是深度學習開始進擊tracking領域,MDNet直接拿下當年的冠軍,而結合深度特徵的相關濾波方法DeepSRDCF是第二名,主要解決邊界效應的SRDCF僅HOG特徵排在第四:

MDNet

Learning Multi-Domain Convolutional Neural Networks for Visual Tracking【Paper】 

    一張圖說完MDNet,這張圖包含了MDNet 的核心思想,訓練的時候,對每一個domain單獨進行訓練,同時更新共享層的引數,使得共享層的引數能夠適應所有的資料集,之後儲存共享層的引數,domain域也只保留下一個分支供跟蹤使用,跟蹤階段,使用預訓練的CNN網路對目標進行跟蹤,找到目標的位置所在

SRDCF

M. Danelljan, G. Hager, F. S. Khan, and M. Felsberg. Learning spatially regularized correlation filters for visual tracking.

Martin Danelljan的SRDCF 主要思路:既然邊界效應發生在邊界附近,那就忽略所有移位樣本的邊界部分畫素,或者說限制讓邊界附近濾波器係數接近0。SRDCF基於DCF,類SAMF多尺度,採用更大的檢測區域(padding = 4),同時加入空域正則化,懲罰邊界區域的濾波器係數,由於沒有閉合解,採用高斯-塞德爾方法迭代優化。檢測區域擴大(1.5->4),迭代優化(破壞了閉合解)導致SRDCF只有5FP,但效果非常好是2015年的baseline.


  • Kiani Galoogahi H, Sim T, Lucey S. Correlation filters with limited boundaries [C]// CVPR, 2015.
  • Kiani Galoogahi H, Fagg A, Lucey S. Learning Background-Aware Correlation Filters for Visual Tracking [C]// ICCV, 2017.

DeepSRDCF

Martin Danelljan, Gustav Häger, Fahad Khan, Michael Felsberg. “Convolutional Features for Correlation Filter Based Visual Tracking. 

採用的是深度特徵,在CPU上難以實現實時性。

CFLB

Kiani Galoogahi H, Sim T, Lucey S. Correlation filters with limited boundaries .【Paper】【Project】 
首先,使用更大的訓練和檢測影象塊,同時給迴圈移位樣本左乘一個0-1組成的掩膜矩陣P,以使真實訓練樣本的比例增加,優化目標函式:

MEEM

Robust Tracking via Multiple Experts using Entropy Minimization【Paper】【Project】 

RPT

Yang Li, Jianke Zhu and Steven C.H. Hoi. “Reliable Patch Trackers: Robust Visual Tracking by Exploiting Reliable Patches.”

HCF

Chao Ma, Jia-Bin Huang, Xiaokang Yang and Ming-Hsuan Yang. “Hierarchical Convolutional Features for Visual Tracking.” 

其他一些深度學習的演算法:

RATM: Samira Ebrahimi Kahou, Vincent Michalski, Roland Memisevic. “RATM: Recurrent Attentive Tracking Model.【Paper】

RAJSSC: Mengdan Zhang, Junliang Xing, Jin Gao, Xinchu Shi, Qiang Wang, Weiming Hu. “Joint Scale-Spatial Correlation Tracking with Adaptive Rotation Estimation【Paper】

SO-DLT: Naiyan Wang, Siyi Li, Abhinav Gupta, Dit-Yan Yeung. “Transferring Rich Feature Hierarchies for Robust Visual Tracking.” 【Paper】

15年,深度學習開始進軍跟蹤領域,使用深度學習可以更好的提取目標的特徵,對目標進行更好的表達,但是深度學習的缺點就在於網路的訓練和速度,即使如HCF等使用離線的訓練,很難達到實時性的要求;另一個就是相關濾波領域還是一如既往的那麼火,還是有前仆後繼的人對這方面進行改進和提升,演算法的最大的改進就是對邊界效應的處理。

邊界效應:(後補)

2016

    VOT2016競賽【Index】深度學習已經雄霸天下了,8個純CNN方法和6個結合深度特徵的CF方法大都名列前茅,還有一片的CF方法。38個tracker,部分tracker程式碼和主頁【下載地址】,其中 部分是下載連結,部分是原始碼壓縮包,部分原始碼是二進位制檔案。

排名靠前的演算法paper:

C-COT

Beyond Correlation Filters: Learning Continuous Convolution Operators for Visual Tracking【Paper】【Project】 

TCNN:

Hyeonseob Nam, Mooyeol Baek, Bohyung Han. “Modeling and Propagating CNNs in a Tree Structure for Visual Tracking.”【Paper】【Project】

Staple:

Luca Bertinetto, Jack Valmadre, Stuart Golodetz, Ondrej Miksik, Philip H.S. Torr. “Staple: Complementary Learners for Real-Time Tracking.”【Paper】【Project】 

SiameseFC:

Luca Bertinetto, Jack Valmadre, João F. Henriques, Andrea Vedaldi, Philip H.S. Torr. “Fully-Convolutional Siamese Networks for Object Tracking[Paper[Project 

GOTURN:

David Held, Sebastian Thrun, Silvio Savarese. “Learning to Track at 100 FPS with Deep Regression Networks. 

CF+AT:

Adel Bibi, Matthias Mueller, and Bernard Ghanem. “Target Response Adaptation for Correlation Filter Tracking.” 【Paper】 

HDT:

Yuankai Qi, Shengping Zhang, Lei Qin, Hongxun Yao, Qingming Huang, Jongwoo Lim, Ming-Hsuan Yang. “Hedged Deep Tracking[Paper[Project

CNT: Kaihua Zhang, Qingshan Liu, Yi Wu, Minghsuan Yang. “Robust Visual Tracking via Convolutional Networks Without Training.”【Paper】【Project】

2017

總共11篇,相關濾波7篇,其中1篇是oral,3篇用到卷積特徵,相關濾波佔了64%,(非卷積特徵的)CNN相關4篇,可以看出目標跟蹤現在最火的是相關濾波和深度學習。

論文:

一篇oral相關濾波類:

  • CA+CF: Matthias Mueller, Neil Smith, Bernard Ghanem. "Context-Aware Correlation Filter Tracking." CVPR (2017 oral). [paper] [project] [code]

六篇相關濾波:

  • ECO: Martin Danelljan, Goutam Bhat, Fahad Shahbaz Khan, Michael Felsberg. "ECO: Efficient Convolution Operators for Tracking." CVPR (2017). [paper] [project] [github]

    • CSR-DCF:Alan Lukežič, Tomáš Vojíř, Luka Čehovin, Jiří Matas, Matej Kristan. "Discriminative Correlation Filter with Channel and Spatial Reliability." CVPR (2017). [paper]
    • LMCF: Mengmeng Wang, Yong Liu, Zeyi Huang. "Large Margin Object Tracking with Circulant Feature Maps." CVPR (2017). [paper] [zhihu]
    CFNet: Jack Valmadre, Luca Bertinetto, João F. Henriques, Andrea Vedaldi, Philip H. S. Torr. "End-to-end representation learning for Correlation Filter based tracking." CVPR (2017). [paper] [project] [github]

ACFN: Jongwon Choi, Hyung Jin Chang, Sangdoo Yun, Tobias Fischer, Yiannis Demiris, and Jin Young Choi. "Attentional Correlation Filter Network for Adaptive Visual Tracking." CVPR (2017). [paper] [project] [test code] [training code]

其他四篇:

  • RaF: Le Zhang, Jagannadan Varadarajan, Ponnuthurai Nagaratnam Suganthan, Narendra Ahuja and Pierre Moulin. "Robust Visual Tracking Using Oblique Random Forests." CVPR (2017). [paper] [project] [code]

  • ADNet: Sangdoo Yun, Jongwon Choi, Youngjoon Yoo, Kimin Yun, Jin Young Choi. "Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning ." CVPR (2017 Spotlight). [paper] [project]

  • BranchOut: Bohyung Han, Jack Sim, Hartwig Adam. "BranchOut: Regularization for Online Ensemble Tracking with Convolutional Neural Networks." CVPR (2017).

  • Donghun Yeo, Jeany Son, Bohyung Han, Joonhee Han. "Superpixel-based Tracking-by-Segmentation using Markov Chains." CVPR (2017).


  • 參考連結:https://www.zhihu.com/question/26493945/answer/156025576(來源:知乎)