0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

計(jì)算機(jī)視覺中有哪些經(jīng)典的目標(biāo)跟蹤算法?

8g3K_AI_Thinker ? 來源:未知 ? 作者:李倩 ? 2018-05-07 16:58 ? 次閱讀

相信很多來這里的人和我第一次到這里一樣,都是想找一種比較好的目標(biāo)跟蹤算法,或者想對(duì)目標(biāo)跟蹤這個(gè)領(lǐng)域有比較深入的了解,雖然這個(gè)問題是經(jīng)典目標(biāo)跟蹤算法,但事實(shí)上,可能我們并不需要那些曾經(jīng)輝煌但已被拍在沙灘上的tracker(目標(biāo)跟蹤算法),而是那些即將成為經(jīng)典的,或者就目前來說最好用、速度和性能都看的過去tracker。我比較關(guān)注目標(biāo)跟蹤中的相關(guān)濾波方向,接下來我?guī)湍榻B下我所認(rèn)識(shí)的目標(biāo)跟蹤,尤其是相關(guān)濾波類方法,分享一些我認(rèn)為比較好的算法,順便談?wù)勎业目捶ā?/p>

▌第一部分:目標(biāo)跟蹤速覽

先跟幾個(gè)SOTA的tracker混個(gè)臉熟,大概了解一下目標(biāo)跟蹤這個(gè)方向都有些什么。一切要從2013年的那個(gè)數(shù)據(jù)庫說起。。如果你問別人近幾年有什么比較niubility的跟蹤算法,大部分人都會(huì)扔給你吳毅老師的論文,OTB50和OTB100(OTB50這里指OTB-2013,OTB100這里指OTB-2015,50和100分別代表視頻數(shù)量,方便記憶):

Wu Y, Lim J, Yang M H.Online object tracking: A benchmark[C]// CVPR, 2013.

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

頂會(huì)轉(zhuǎn)頂刊的頂級(jí)待遇,在加上引用量1480+320多,影響力不言而喻,已經(jīng)是做tracking必須跑的數(shù)據(jù)庫了,測(cè)試代碼和序列都可以下載:Visual Tracker Benchmark(http://cvlab.hanyang.ac.kr/tracker_benchmark/),OTB50包括50個(gè)序列,都經(jīng)過人工標(biāo)注:

兩篇論文在數(shù)據(jù)庫上對(duì)比了包括2012年及之前的29個(gè)頂尖的tracker,有大家比較熟悉的OAB, IVT, MIL, CT, TLD, Struck等,大都是頂會(huì)轉(zhuǎn)頂刊的神作,由于之前沒有比較公認(rèn)的數(shù)據(jù)庫,論文都是自賣自夸,大家也不知道到底哪個(gè)好用,所以這個(gè)database的意義非常重大,直接促進(jìn)了跟蹤算法的發(fā)展,后來又?jǐn)U展為OTB100發(fā)到TPAMI,有100個(gè)序列,難度更大更加權(quán)威,我們這里參考OTB100的結(jié)果,首先是29個(gè)tracker的速度和發(fā)表時(shí)間(標(biāo)出了一些性能速度都比較好的算法):

接下來再看結(jié)果(更加詳細(xì)的情況建議您去看論文比較清晰):

直接上結(jié)論:平均來看Struck, SCM, ASLA的性能比較高,排在前三不多提,著重強(qiáng)調(diào)CSK,第一次向世人展示了相關(guān)濾波的潛力,排第四還362FPS簡(jiǎn)直逆天了。速度排第二的是經(jīng)典算法CT(64fps)(與SCM, ASLA等都是那個(gè)年代最熱的稀疏表示)。如果對(duì)更早期的算法感興趣,推薦另一篇經(jīng)典的survey(反正我是沒興趣也沒看過):

Yilmaz A, Javed O, Shah M.Object tracking: A survey[J]. CSUR, 2006.

2012年以前的算法基本就是這樣,自從2012年AlexNet問世以后,CV各個(gè)領(lǐng)域都有了巨大變化,所以我猜你肯定還想知道2013到2017年發(fā)生了什么,抱歉我也不知道(容我賣個(gè)關(guān)子),不過我們可以肯定的是,2013年以后的論文一定都會(huì)引用OTB50這篇論文,借助谷歌學(xué)術(shù)中的被引用次數(shù)功能,得到如下結(jié)果:

這里僅列舉幾個(gè)引用量靠前的,依次是Struck轉(zhuǎn)TPAMI, 三大相關(guān)濾波方法KCF, CN, DSST, 和VOT競(jìng)賽,這里僅作示范,有興趣可以親自去試試。(這么做的理論依據(jù)是:一篇論文,在它之前的工作可以看它的引用文獻(xiàn),之后的工作可以看誰引用了它;雖然引用量并不能說明什么,但好的方法大家基本都會(huì)引用的(表示尊重和認(rèn)可);之后還可以通過限定時(shí)間來查看某段時(shí)間的相關(guān)論文,如2016-2017就能找到最新的論文了,至于論文質(zhì)量需要仔細(xì)甄別;其他方向的重要論文也可以這么用,順藤摸瓜,然后你就知道大牛是哪幾位,接著關(guān)注跟蹤一下他們的工作)這樣我們就大致知道目標(biāo)跟蹤領(lǐng)域的最新進(jìn)展應(yīng)該就是相關(guān)濾波無疑了,再往后還能看到相關(guān)濾波類算法有SAMF, LCT, HCF, SRDCF等等。

當(dāng)然,引用量也與時(shí)間有關(guān),建議分每年來看。此外,最新版本OPENCV3.2除了TLD,也包括了幾個(gè)很新的跟蹤算法OpenCV: Tracking API(https://www.docs.opencv.org/3.2.0/d9/df8/group__tracking.html):

TrackerKCF接口實(shí)現(xiàn)了KCF和CN,影響力可見一斑,還有個(gè)GOTURN是基于深度學(xué)習(xí)的方法,速度雖快但精度略差,值得去看看。tracking方向的最新論文,可以跟進(jìn)三大會(huì)議(CVPR/ICCV/ECCV) 和arXiv。

▌第二部分:背景介紹

接下來總體介紹下目標(biāo)跟蹤。這里說的目標(biāo)跟蹤,是通用單目標(biāo)跟蹤,第一幀給個(gè)矩形框,這個(gè)框在數(shù)據(jù)庫里面是人工標(biāo)注的,在實(shí)際情況下大多是檢測(cè)算法的結(jié)果,然后需要跟蹤算法在后續(xù)幀緊跟住這個(gè)框,以下是VOT對(duì)跟蹤算法的要求:

通常目標(biāo)跟蹤面臨幾大難點(diǎn)(吳毅在VALSE的slides):外觀變形,光照變化,快速運(yùn)動(dòng)和運(yùn)動(dòng)模糊,背景相似干擾:

平面外旋轉(zhuǎn),平面內(nèi)旋轉(zhuǎn),尺度變化,遮擋和出視野等情況:

正因?yàn)檫@些情況才讓tracking變得很難,目前比較常用的數(shù)據(jù)庫除了OTB,還有前面找到的VOT競(jìng)賽數(shù)據(jù)庫(類比ImageNet),已經(jīng)舉辦了四年,VOT2015和VOT2016都包括60個(gè)序列,所有序列也是免費(fèi)下載VOT Challenge | Challenges:

VOT Challenge | Challenges:

http://votchallenge.net/challenges.html

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區(qū)別:OTB包括25%的灰度序列,但VOT都是彩色序列,這也是造成很多顏色特征算法性能差異的原因;兩個(gè)庫的評(píng)價(jià)指標(biāo)不一樣,具體請(qǐng)參考論文;VOT庫的序列分辨率普遍較高,這一點(diǎn)后面分析會(huì)提到。對(duì)于一個(gè)tracker,如果論文在兩個(gè)庫(最好是OTB100和VOT2016)上都結(jié)果上佳,那肯定是非常優(yōu)秀的(兩個(gè)庫調(diào)參你能調(diào)好,我服,認(rèn)了~~),如果只跑了一個(gè),個(gè)人更偏向于VOT2016,因?yàn)樾蛄卸际蔷?xì)標(biāo)注,且評(píng)價(jià)指標(biāo)更好(人家畢竟是競(jìng)賽,評(píng)價(jià)指標(biāo)發(fā)過TPAMI的),差別最大的地方,OTB有隨機(jī)幀開始,或矩形框加隨機(jī)干擾初始化去跑,作者說這樣更加符合檢測(cè)算法給的框框;而VOT是第一幀初始化去跑,每次跟蹤失敗(預(yù)測(cè)框和標(biāo)注框不重疊)時(shí),5幀之后重新初始化,VOT以short-term為主,且認(rèn)為跟蹤檢測(cè)應(yīng)該在一起不分離,detecter會(huì)多次初始化tracker。

補(bǔ)充:OTB在2013年公開了,對(duì)于2013以后的算法是透明的,論文都會(huì)去調(diào)參,尤其是那些只跑OTB的論文,如果關(guān)鍵參數(shù)直接給出還精確到小數(shù)點(diǎn)后兩位,建議您先實(shí)測(cè)(人心不古啊~被坑的多了)。VOT競(jìng)賽的數(shù)據(jù)庫是每年更新,還動(dòng)不動(dòng)就重新標(biāo)注,動(dòng)不動(dòng)就改變?cè)u(píng)價(jià)指標(biāo),對(duì)當(dāng)年算法是難度比較大,所以結(jié)果相對(duì)更可靠。(相信很多人和我一樣,看每篇論文都會(huì)覺得這個(gè)工作太好太重要了,如果沒有這篇論文,必定地球爆炸,宇宙重啟~~所以就像大家都通過歷年ILSVRC競(jìng)賽結(jié)果為主線了解深度學(xué)習(xí)的發(fā)展一樣,第三方的結(jié)果更具說服力,所以我也以競(jìng)賽排名+是否公開源碼+實(shí)測(cè)性能為標(biāo)準(zhǔn),優(yōu)選幾個(gè)算法分析)

目標(biāo)視覺跟蹤(Visual Object Tracking),大家比較公認(rèn)分為兩大類:生成(generative)模型方法和判別(discriminative)模型方法,目前比較流行的是判別類方法,也叫檢測(cè)跟蹤tracking-by-detection,為保持回答的完整性,以下簡(jiǎn)單介紹。

生成類方法,在當(dāng)前幀對(duì)目標(biāo)區(qū)域建模,下一幀尋找與模型最相似的區(qū)域就是預(yù)測(cè)位置,比較著名的有卡爾曼濾波,粒子濾波,mean-shift等。舉個(gè)例子,從當(dāng)前幀知道了目標(biāo)區(qū)域80%是紅色,20%是綠色,然后在下一幀,搜索算法就像無頭蒼蠅,到處去找最符合這個(gè)顏色比例的區(qū)域,推薦算法ASMSvojirt/asms(https://github.com/vojirt/asms):

Vojir T, Noskova J, Matas J.Robust scale-adaptive mean-shift for tracking[J]. Pattern Recognition Letters, 2014.

ASMS與DAT并稱“顏色雙雄”(版權(quán)所有翻版必究),都是僅顏色特征的算法而且速度很快,依次是VOT2015的第20名和14名,在VOT2016分別是32名和31名(中等水平)。ASMS是VOT2015官方推薦的實(shí)時(shí)算法,平均幀率125FPS,在經(jīng)典mean-shift框架下加入了尺度估計(jì),經(jīng)典顏色直方圖特征,加入了兩個(gè)先驗(yàn)(尺度不劇變+可能偏最大)作為正則項(xiàng),和反向尺度一致性檢查。作者給了C++代碼,在相關(guān)濾波和深度學(xué)習(xí)盛行的年代,還能看到mean-shift打榜還有如此高的性價(jià)比實(shí)在不容易(已淚目~~),實(shí)測(cè)性能還不錯(cuò),如果您對(duì)生成類方法情有獨(dú)鐘,這個(gè)非常推薦您去試試。(某些算法,如果連這個(gè)你都比不過。。天臺(tái)在24樓,不謝)

判別類方法,OTB50里面的大部分方法都是這一類,CV中的經(jīng)典套路圖像特征+機(jī)器學(xué)習(xí), 當(dāng)前幀以目標(biāo)區(qū)域?yàn)檎龢颖?,背景區(qū)域?yàn)樨?fù)樣本,機(jī)器學(xué)習(xí)方法訓(xùn)練分類器,下一幀用訓(xùn)練好的分類器找最優(yōu)區(qū)域:

與生成類方法最大的區(qū)別是,分類器采用機(jī)器學(xué)習(xí),訓(xùn)練中用到了背景信息,這樣分類器就能專注區(qū)分前景和背景,所以判別類方法普遍都比生成類好。舉個(gè)例子,在訓(xùn)練時(shí)告訴tracker目標(biāo)80%是紅色,20%是綠色,還告訴它背景中有橘紅色,要格外注意別搞錯(cuò)了,這樣的分類器知道更多信息,效果也相對(duì)更好。tracking-by-detection和檢測(cè)算法非常相似,如經(jīng)典行人檢測(cè)用HOG+SVM,Struck用到了haar+structured output SVM,跟蹤中為了尺度自適應(yīng)也需要多尺度遍歷搜索,區(qū)別僅在于跟蹤算法對(duì)特征和在線機(jī)器學(xué)習(xí)的速度要求更高,檢測(cè)范圍和尺度更小而已。

這點(diǎn)其實(shí)并不意外,大多數(shù)情況檢測(cè)識(shí)別算法復(fù)雜度比較高不可能每幀都做,這時(shí)候用復(fù)雜度更低的跟蹤算法就很合適了,只需要在跟蹤失敗(drift)或一定間隔以后再次檢測(cè)去初始化tracker就可以了。其實(shí)我就想說,F(xiàn)PS才TMD是最重要的指標(biāo),慢的要死的算法可以去死了(同學(xué)別這么偏激,速度是可以優(yōu)化的)。經(jīng)典判別類方法推薦Struck和TLD,都能實(shí)時(shí)性能還行,Struck是2012年之前最好的方法,TLD是經(jīng)典long-term的代表,思想非常值得借鑒:

Hare S, Golodetz S, Saffari A, et al.Struck: Structured output tracking with kernels[J]. IEEE TPAMI, 2016.

Kalal Z, Mikolajczyk K, Matas J.Tracking-learning-detection[J]. IEEE TPAMI, 2012.

長(zhǎng)江后浪推前浪,前面的已被排在沙灘上,這個(gè)后浪就是相關(guān)濾波和深度學(xué)習(xí)。相關(guān)濾波類方法correlation filter簡(jiǎn)稱CF,也叫做discriminative correlation filter簡(jiǎn)稱DCF,注意和后面的DCF算法區(qū)別,包括前面提到的那幾個(gè),也是后面要著重介紹的。

深度學(xué)習(xí)(Deep ConvNet based)類方法,因?yàn)樯疃葘W(xué)習(xí)類目前不適合落地就不瞎推薦了,可以參考Winsty的幾篇Naiyan Wang - Home(鏈接1),還有VOT2015的冠軍MDNetLearning Multi-Domain Convolutional Neural Networks for Visual Tracking(鏈接2),以及以及VOT2016的冠軍TCNNhttp://wwwvotchallenge.net/vot201(鏈接3)(),速度方面比較突出的如80FPS的SiamFCSiameseFC tracker(鏈接4)和100FPS的GOTURNdavheld/GOTURN(鏈接5),注意都是在GPU上。基于ResNet的SiamFC-R(ResNet)在VOT2016表現(xiàn)不錯(cuò),很看好后續(xù)發(fā)展,有興趣也可以去VALSE聽作者自己講解VALSE-20160930-LucaBertinetto-Oxford-JackValmadre-Oxford-pu(鏈接6),至于GOTURN,效果比較差,但優(yōu)勢(shì)是跑的很快100FPS,如果以后效果也能上來就好了。做科研的同學(xué)深度學(xué)習(xí)類是關(guān)鍵,能兼顧速度就更好了。

Nam H, Han B.Learning multi-domain convolutional neural networks for visual tracking[C]// CVPR, 2016.

Nam H, Baek M, Han B.Modeling and propagating cnns in a tree structure for visual tracking. arXiv preprint arXiv:1608.07242, 2016.

Bertinetto L, Valmadre J, Henriques J F, et al.Fully-convolutional siamese networks for object tracking[C]// ECCV, 2016.

Held D, Thrun S, Savarese S.Learning to track at 100 fps with deep regression networks[C]// ECCV, 2016.

最后,深度學(xué)習(xí)END2END的強(qiáng)大威力在目標(biāo)跟蹤方向還遠(yuǎn)沒有發(fā)揮出來,還沒有和相關(guān)濾波類方法拉開多大差距(速度慢是天生的我不怪你,但效果總該很好吧,不然你存在的意義是什么呢。。革命尚未成功,同志仍須努力)。另一個(gè)需要注意的問題是目標(biāo)跟蹤的數(shù)據(jù)庫都沒有嚴(yán)格的訓(xùn)練集和測(cè)試集,需要離線訓(xùn)練的深度學(xué)習(xí)方法就要非常注意它的訓(xùn)練集有沒有相似序列,而且一直到VOT2017官方才指明要限制訓(xùn)練集,不能用相似序列訓(xùn)練模型。

最后強(qiáng)力推薦兩個(gè)資源。王強(qiáng)@Qiang Wang維護(hù)的benchmark_resultsfoolwood/benchmark_results(https://github.com/foolwood/benchmark_results):大量頂級(jí)方法在OTB庫上的性能對(duì)比,各種論文代碼應(yīng)有盡有,大神自己C++實(shí)現(xiàn)并開源的CSK, KCF和DAT,還有他自己的DCFNet論文加源碼,找不著路的同學(xué)請(qǐng)跟緊。

@H Hakase維護(hù)的相關(guān)濾波類資源

HakaseH/CF_benchmark_results(https://github.com/HakaseH/TBCF),詳細(xì)分類和論文代碼資源,走過路過別錯(cuò)過,相關(guān)濾波類算法非常全面,非常之用心!

(以上兩位,看到了請(qǐng)來我處交一下廣告費(fèi),9折優(yōu)惠~~)

▌第三部分:相關(guān)濾波

介紹最經(jīng)典的高速相關(guān)濾波類跟蹤算法CSK, KCF/DCF, CN。很多人最早了解CF,應(yīng)該和我一樣,都是被下面這張圖吸引了:

這是KCF/DCF算法在OTB50上(2014年4月就掛arVix了,那時(shí)候OTB100還沒有發(fā)表)的實(shí)驗(yàn)結(jié)果,Precision和FPS碾壓了OTB50上最好的Struck,看慣了勉強(qiáng)實(shí)時(shí)的Struck和TLD,飆到高速的KCF/DCF突然有點(diǎn)讓人不敢相信,其實(shí)KCF/DCF就是在OTB上大放異彩的CSK的多通道特征改進(jìn)版本。注意到那個(gè)超高速615FPS的MOSSE(嚴(yán)重超速這是您的罰單),這是目標(biāo)跟蹤領(lǐng)域的第一篇相關(guān)濾波類方法,這其實(shí)是真正第一次顯示了相關(guān)濾波的潛力。和KCF同一時(shí)期的還有個(gè)CN,在2014'CVPR上引起劇烈反響的顏色特征方法,其實(shí)也是CSK的多通道顏色特征改進(jìn)算法。從MOSSE(615)到 CSK(362) 再到 KCF(172FPS), DCF(292FPS), CN(152FPS), CN2(202FPS),速度雖然是越來越慢,但效果越來越好,而且始終保持在高速水平:

Bolme D S, Beveridge J R, Draper B A, et al.Visual object tracking using adaptive correlation filters[C]// CVPR, 2010.

Henriques J F, Caseiro R, Martins P, et al.Exploiting the circulant structure of tracking-by- detection with kernels[C]// ECCV, 2012.

Henriques J F, Rui C, Martins P, et al.High-Speed Tracking with Kernelized Correlation Filters[J]. IEEE TPAMI, 2015.

Danelljan M, Shahbaz Khan F, Felsberg M, et al.Adaptive color attributes for real-time visual tracking[C]// CVPR, 2014.

CSK和KCF都是Henriques J F(牛津大學(xué))Jo?o F. Henriques大神先后兩篇論文,影響后來很多工作,核心部分的嶺回歸,循環(huán)移位的近似密集采樣,還給出了整個(gè)相關(guān)濾波算法的詳細(xì)推導(dǎo)。還有嶺回歸加kernel-trick的封閉解,多通道HOG特征。

Martin Danelljan大牛(林雪平大學(xué))用多通道顏色特征Color Names(CN)去擴(kuò)展CSK得到了不錯(cuò)的效果,算法也簡(jiǎn)稱CNColoring Visual Tracking。

CNColoring Visual Tracking

http://www.cvl.isy.liu.se/research/objrec/visualtracking/colvistrack/index.html

MOSSE是單通道灰度特征的相關(guān)濾波,CSK在MOSSE的基礎(chǔ)上擴(kuò)展了密集采樣(加padding)和kernel-trick,KCF在CSK的基礎(chǔ)上擴(kuò)展了多通道梯度的HOG特征,CN在CSK的基礎(chǔ)上擴(kuò)展了多通道顏色的Color Names。HOG是梯度特征,而CN是顏色特征,兩者可以互補(bǔ),所以HOG+CN在近兩年的跟蹤算法中成為了hand-craft特征標(biāo)配。最后,根據(jù)KCF/DCF的實(shí)驗(yàn)結(jié)果,討論兩個(gè)問題:

1. 為什么只用單通道灰度特征的KCF和用了多通道HOG特征的KCF速度差異很???

第一,作者用了HOG的快速算法fHOG,來自Piotr's Computer Vision Matlab Toolbox,C代碼而且做了SSE優(yōu)化。如對(duì)fHOG有疑問,請(qǐng)參考論文Object Detection with Discriminatively Trained Part Based Models第12頁。

第二,HOG特征常用cell size是4,這就意味著,100*100的圖像,HOG特征圖的維度只有25*25,而Raw pixels是灰度圖歸一化,維度依然是100*100,我們簡(jiǎn)單算一下:27通道HOG特征的復(fù)雜度是27*625*log(625)=47180,單通道灰度特征的復(fù)雜度是10000*log(10000)=40000,理論上也差不多,符合表格。

看代碼會(huì)發(fā)現(xiàn),作者在擴(kuò)展后目標(biāo)區(qū)域面積較大時(shí),會(huì)先對(duì)提取到的圖像塊做因子2的下采樣到50*50,這樣復(fù)雜度就變成了2500*log(2500)=8495,下降了非常多。那你可能會(huì)想,如果下采樣再多一點(diǎn),復(fù)雜度就更低了,但這是以犧牲跟蹤精度為代價(jià)的,再舉個(gè)例子,如果圖像塊面積為200*200,先下采樣到100*100,再提取HOG特征,分辨率降到了25*25,這就意味著響應(yīng)圖的分辨率也是25*25,也就是說,響應(yīng)圖每位移1個(gè)像素,原始圖像中跟蹤框要移動(dòng)8個(gè)像素,這樣就降低了跟蹤精度。在精度要求不高時(shí),完全可以稍微犧牲下精度提高幀率(但看起來真的不能再下采樣了)。

2. HOG特征的KCF和DCF哪個(gè)更好?

大部分人都會(huì)認(rèn)為KCF效果超過DCF,而且各屬性的準(zhǔn)確度都在DCF之上,然而,如果換個(gè)角度來看,以DCF為基準(zhǔn),再來看加了kernel-trick的KCF,mean precision僅提高了0.4%,而FPS下降了41%,這么看是不是挺驚訝的呢?除了圖像塊像素總數(shù),KCF的復(fù)雜度還主要和kernel-trick相關(guān)。所以,下文中的CF方法如果沒有kernel-trick,就簡(jiǎn)稱基于DCF,如果加了kernel-trick,就簡(jiǎn)稱基于KCF(劇透基本各占一半)。當(dāng)然這里的CN也有kernel-trick,但請(qǐng)注意,這是Martin Danelljan大神第一次使用kernel-trick,也是最后一次。。。

這就會(huì)引發(fā)一個(gè)疑問,kernel-trick這么強(qiáng)大的東西,怎么才提高這么點(diǎn)?這里就不得不提到Winsty的另一篇大作:

Wang N, Shi J, Yeung D Y, et al. Understanding and diagnosing visual tracking systems[C]// ICCV, 2015.

一句話總結(jié),別看那些五花八門的機(jī)器學(xué)習(xí)方法,那都是虛的,目標(biāo)跟蹤算法中特征才是最重要的(就是因?yàn)檫@篇文章我粉了WIN叔哈哈),以上就是最經(jīng)典的三個(gè)高速算法,CSK, KCF/DCF和CN,推薦。

▌第四部分:14年的尺度自適應(yīng)

VOT與OTB一樣最早都是2013年出現(xiàn)的,但VOT2013序列太少,第一名的PLT代碼也找不到,沒有參考價(jià)值就直接跳過了。直接到了VOT2014競(jìng)賽VOT2014 Benchmark(http://votchallenge.net/vot2014/index.html)。這一年有25個(gè)精挑細(xì)選的序列,38個(gè)算法,那時(shí)候深度學(xué)習(xí)的戰(zhàn)火還沒有燒到tracking,所以主角也只能是剛剛展露頭角就獨(dú)霸一方的CF,下面是前幾名的詳細(xì)情況:

前三名都是相關(guān)濾波CF類方法,第三名的KCF已經(jīng)很熟悉了,這里稍微有點(diǎn)區(qū)別就是加了多尺度檢測(cè)和子像素峰值估計(jì),再加上VOT序列的分辨率比較高(檢測(cè)更新圖像塊的分辨率比較高),導(dǎo)致競(jìng)賽中的KCF的速度只有24.23(EFO換算66.6FPS)。這里speed是EFO(Equivalent Filter Operations),在VOT2015和VOT2016里面也用這個(gè)參數(shù)衡量算法速度,這里一次性列出來供參考(MATLAB實(shí)現(xiàn)的tracker實(shí)際速度要更高一些):

其實(shí)前三名除了特征略有差異,核心都是KCF為基礎(chǔ)擴(kuò)展了多尺度檢測(cè),概要如下:

尺度變化是跟蹤中比較基礎(chǔ)和常見的問題,前面介紹的KCF/DCF和CN都沒有尺度更新,如果目標(biāo)縮小,濾波器就會(huì)學(xué)習(xí)到大量背景信息,如果目標(biāo)擴(kuò)大,濾波器就跟著目標(biāo)局部紋理走了,這兩種情況都很可能出現(xiàn)非預(yù)期的結(jié)果,導(dǎo)致漂移和失敗。

SAMFihpdep/samf(https://github.com/ihpdep/samf),浙大Yang Li的工作,基于KCF,特征是HOG+CN,多尺度方法是平移濾波器在多尺度縮放的圖像塊上進(jìn)行目標(biāo)檢測(cè),取響應(yīng)最大的那個(gè)平移位置及所在尺度:

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

Martin Danelljan的DSSTAccurate scale estimation for visual tracking(http://www.cvl.isy.liu.se/research/objrec/visualtracking/scalvistrack/index.html),只用了HOG特征,DCF用于平移位置檢測(cè),又專門訓(xùn)練類似MOSSE的相關(guān)濾波器檢測(cè)尺度變化,開創(chuàng)了平移濾波+尺度濾波,之后轉(zhuǎn)TPAMI做了一系列加速的版本fDSST,非常+非常+非常推薦:

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.

簡(jiǎn)單對(duì)比下這兩種尺度自適應(yīng)的方法:

DSST和SAMF所采用的尺度檢測(cè)方法哪個(gè)更好?

首先給大家講個(gè)笑話:Martin Danelljan大神提出DSST之后,他的后續(xù)論文就再?zèng)]有用過(直到最新CVPR的ECO-HC中為了加速用了fDSST)。

雖然SAMF和DSST都可以跟上普通的目標(biāo)尺度變化,但SAMF只有7個(gè)尺度比較粗,而DSST有33個(gè)尺度比較精細(xì)準(zhǔn)確;

DSST先檢測(cè)最佳平移再檢測(cè)最佳尺度,是分步最優(yōu),而SAMF是平移尺度一起檢測(cè),是平移和尺度同時(shí)最優(yōu),而往往局部最優(yōu)和全局最優(yōu)是不一樣的;

DSST將跟蹤劃分為平移跟蹤和尺度跟蹤兩個(gè)問題,可以采用不同的方法和特征,更加靈活,但需要額外訓(xùn)練一個(gè)濾波器,每幀尺度檢測(cè)需要采樣33個(gè)圖像塊,之后分別計(jì)算特征、加窗、FFT等,尺度濾波器比平移濾波器慢很多;SAMF只需要一個(gè)濾波器,不需要額外訓(xùn)練和存儲(chǔ),每個(gè)尺度檢測(cè)就一次提特征和FFT,但在圖像塊較大時(shí)計(jì)算量比DSST高。

所以尺度檢測(cè)DSST并不總是比SAMF好,其實(shí)在VOT2015和VOT2016上SAMF都是超過DSST的,當(dāng)然這主要是因?yàn)樘卣鞲?,但至少說明尺度方法不差??偟膩碚f,DSST做法非常新穎,速度更快,SAMF同樣優(yōu)秀也更加準(zhǔn)確。

DSST一定要33個(gè)尺度嗎?

DSST標(biāo)配33個(gè)尺度非常非常敏感,輕易降低尺度數(shù)量,即使你增加相應(yīng)步長(zhǎng),尺度濾波器也會(huì)完全跟不上尺度變化。關(guān)于這一點(diǎn)可能解釋是,訓(xùn)練尺度濾波器用的是一維樣本,而且沒有循環(huán)移位,這就意味著一次訓(xùn)練更新只有33個(gè)樣本,如果降低樣本數(shù)量,會(huì)造成訓(xùn)練不足,分類器判別力嚴(yán)重下降,不像平移濾波器有非常多的移位樣本(個(gè)人看法歡迎交流)??傊?qǐng)不要輕易嘗試大幅降低尺度數(shù)量,如果非要用尺度濾波器33和1.02就很好。

以上就是兩種推薦的尺度檢測(cè)方法,以后簡(jiǎn)稱為類似DSST的多尺度和類似SAMF的多尺度。如果更看重速度,加速版的fDSST,和僅3個(gè)尺度的SAMF(如VOT2014中的KCF)就是比較好的選擇;如果更看重精確,33個(gè)尺度的DSST,及7個(gè)尺度的SAMF就比較合適。

▌第五部分:邊界效應(yīng)

接下來到了VOT2015競(jìng)賽VOT2015 Challenge | Home,這一年有60個(gè)精挑細(xì)選的序列,62個(gè)tracker,最大看點(diǎn)是深度學(xué)習(xí)開始進(jìn)擊tracking領(lǐng)域,MDNet直接拿下當(dāng)年的冠軍,而結(jié)合深度特征的相關(guān)濾波方法DeepSRDCF是第二名,主要解決邊界效應(yīng)的SRDCF僅HOG特征排在第四:

隨著VOT競(jìng)賽的影響力擴(kuò)大,舉辦方也是用心良苦,經(jīng)典的和頂尖的齊聚一堂,百家爭(zhēng)鳴,多達(dá)62個(gè)tracker皇城PK,華山論劍。除了前面介紹的深度學(xué)習(xí)和相關(guān)濾波,還有結(jié)合object proposals(類物體區(qū)域檢測(cè))的EBT(EBT:Proposal與Tracking不得不說的秘密 - 知乎專欄,https://zhuanlan.zhihu.com/p/26654891)排第三,Mean-Shift類顏色算法ASMS是推薦實(shí)時(shí)算法,還有前面提到的另一個(gè)顏色算法DAT,而在第9的那個(gè)Struck已經(jīng)不是原來的Struck了。除此之外,還能看到經(jīng)典方法如OAB, STC, CMT, CT, NCC等都排在倒數(shù)位置, 經(jīng)典方法已經(jīng)被遠(yuǎn)遠(yuǎn)甩在后面。

在介紹SRDCF之前,先來分析下相關(guān)濾波有什么缺點(diǎn)。總體來說,相關(guān)濾波類方法對(duì)快速變形和快速運(yùn)動(dòng)情況的跟蹤效果不好。

快速變形主要因?yàn)镃F是模板類方法。容易跟丟這個(gè)比較好理解,前面分析了相關(guān)濾波是模板類方法,如果目標(biāo)快速變形,那基于HOG的梯度模板肯定就跟不上了,如果快速變色,那基于CN的顏色模板肯定也就跟不上了。這個(gè)還和模型更新策略與更新速度有關(guān),固定學(xué)習(xí)率的線性加權(quán)更新,如果學(xué)習(xí)率太大,部分或短暫遮擋和任何檢測(cè)不準(zhǔn)確,模型就會(huì)學(xué)習(xí)到背景信息,積累到一定程度模型跟著背景私奔了,一去不復(fù)返。如果學(xué)習(xí)率太小,目標(biāo)已經(jīng)變形了而模板還是那個(gè)模板,就會(huì)變得不認(rèn)識(shí)目標(biāo)。

快速運(yùn)動(dòng)主要是邊界效應(yīng)(Boundary Effets),而且邊界效應(yīng)產(chǎn)生的錯(cuò)誤樣本會(huì)造成分類器判別力不夠強(qiáng),下面分訓(xùn)練階段和檢測(cè)階段分別討論。

訓(xùn)練階段,合成樣本降低了判別能力。如果不加余弦窗,那么移位樣本是長(zhǎng)這樣的:

除了那個(gè)最原始樣本,其他樣本都是“合成”的,100*100的圖像塊,只有1/10000的樣本是真實(shí)的,這樣的樣本集根本不能拿來訓(xùn)練。如果加了余弦窗,由于圖像邊緣像素值都是0,循環(huán)移位過程中只要目標(biāo)保持完整,就認(rèn)為這個(gè)樣本是合理的,只有當(dāng)目標(biāo)中心接近邊緣時(shí),目標(biāo)跨越了邊界的那些樣本是錯(cuò)誤的,這樣雖不真實(shí)但合理的樣本數(shù)量增加到了大約2/3(一維情況padding= 1)。但我們不能忘了即使這樣仍然有1/3(3000/10000,http://tel:3000/10000)的樣本是不合理的,這些樣本會(huì)降低分類器的判別能力。再者,加余弦窗也不是“免費(fèi)的”,余弦窗將圖像塊的邊緣區(qū)域像素全部變成0,大量過濾掉了分類器本來非常需要學(xué)習(xí)的背景信息,原本訓(xùn)練時(shí)判別器能看到的背景信息就非常有限,我們還加了個(gè)余弦窗擋住了背景,這樣進(jìn)一步降低了分類器的判別力(是不是上帝在我前遮住了簾。。不是上帝,是余弦窗)。

檢測(cè)階段,相關(guān)濾波對(duì)快速運(yùn)動(dòng)的目標(biāo)檢測(cè)比較乏力。相關(guān)濾波訓(xùn)練的圖像塊和檢測(cè)的圖像塊大小必須是一樣的,這就是說你訓(xùn)練了一個(gè)100*100的濾波器,那你也只能檢測(cè)100*100的區(qū)域,如果打算通過加更大的padding來擴(kuò)展檢測(cè)區(qū)域,那樣除了擴(kuò)展了復(fù)雜度,并不會(huì)有什么好處。目標(biāo)運(yùn)動(dòng)可能是目標(biāo)自身移動(dòng),或攝像機(jī)移動(dòng),按照目標(biāo)在檢測(cè)區(qū)域的位置分四種情況來看:

如果目標(biāo)在中心附近,檢測(cè)準(zhǔn)確且成功。

如果目標(biāo)移動(dòng)到了邊界附近但還沒有出邊界,加了余弦窗以后,部分目標(biāo)像素會(huì)被過濾掉,這時(shí)候就沒法保證這里的響應(yīng)是全局最大的,而且,這時(shí)候的檢測(cè)樣本和訓(xùn)練過程中的那些不合理樣本很像,所以很可能會(huì)失敗。

如果目標(biāo)的一部分已經(jīng)移出了這個(gè)區(qū)域,而我們還要加余弦窗,很可能就過濾掉了僅存的目標(biāo)像素,檢測(cè)失敗。

如果整個(gè)目標(biāo)已經(jīng)位移出了這個(gè)區(qū)域,那肯定就檢測(cè)失敗了。

以上就是邊界效應(yīng)(Boundary Effets),推薦兩個(gè)主流的解決邊界效應(yīng)的方法,其中SRDCF速度比較慢,并不適合實(shí)時(shí)場(chǎng)合。

Martin Danelljan的SRDCFLearning Spatially Regularized Correlation Filters for Visual Tracking,主要思路:既然邊界效應(yīng)發(fā)生在邊界附近,那就忽略所有移位樣本的邊界部分像素,或者說限制讓邊界附近濾波器系數(shù)接近0:

Learning Spatially Regularized Correlation Filters for Visual Tracking

http://www.cvl.isy.liu.se/research/objrec/visualtracking/regvistrack/index.html

Danelljan M, Hager G, Shahbaz Khan F, et al.Learning spatially regularized correlation filters for visual tracking[C]// ICCV. 2015.

SRDCF基于DCF,類SAMF多尺度,采用更大的檢測(cè)區(qū)域(padding = 4),同時(shí)加入空域正則化,懲罰邊界區(qū)域的濾波器系數(shù),由于沒有閉合解,采用高斯-塞德爾方法迭代優(yōu)化。檢測(cè)區(qū)域擴(kuò)大(1.5->4),迭代優(yōu)化(破壞了閉合解)導(dǎo)致SRDCF只有5FP,但效果非常好是2015年的baseline。

另一種方法是Hamed Kiani提出的MOSSE改進(jìn)算法,基于灰度特征的CFLMCorrelation Filters with Limited Boundaries和基于HOG特征的BACFLearning Background-Aware Correlation Filters for Visual Tracking,主要思路是采用較大尺寸檢測(cè)圖像塊和較小尺寸濾波器來提高真實(shí)樣本的比例,或者說濾波器填充0以保持和檢測(cè)圖像一樣大,同樣沒有閉合解,采用ADMM迭代優(yōu)化:

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.

CFLB僅單通道灰度特征,雖然速度比較快167FPS,但性能遠(yuǎn)不如KCF,不推薦;最新BACF將特征擴(kuò)展為多通道HOG特征,性能超過了SRDCF,而且速度比較快35FPS,非常推薦。

其實(shí)這兩個(gè)解決方案挺像的,都是用更大的檢測(cè)及更新圖像塊,訓(xùn)練作用域比較小的相關(guān)濾波器,不同點(diǎn)是SRDCF的濾波器系數(shù)從中心到邊緣平滑過渡到0,而CFLM直接用0填充濾波器邊緣。

VOT2015相關(guān)濾波方面還有排在第二名,結(jié)合深度特征的DeepSRDCF,因?yàn)樯疃忍卣鞫挤浅B?a target="_blank">CPU上別說高速,實(shí)時(shí)都到不了,雖然性能非常高,但這里就不推薦,先跳過。

▌第六部分:顏色直方圖與相關(guān)濾波

VOT2016競(jìng)賽VOT2016 Challenge | Home,依然是VOT2015那60個(gè)序列,不過這次做了重新標(biāo)注更加公平合理,今年有70位參賽選手,意料之中深度學(xué)習(xí)已經(jīng)雄霸天下了,8個(gè)純CNN方法和6個(gè)結(jié)合深度特征的CF方法大都名列前茅,還有一片的CF方法,最最最重要的是,良心舉辦方竟然公開了他們能拿到的38個(gè)tracker,部分tracker代碼和主頁,下載地址:VOT2016 Challenge | Trackers(以后媽媽再也不用擔(dān)心我找不到源碼了~),注意部分是下載鏈接,部分是源碼壓縮包,部分源碼是二進(jìn)制文件,好不好用一試便知,方便對(duì)比和研究,需要的趕快去試試。馬上來看競(jìng)賽結(jié)果(這里僅列舉前60個(gè)):

高亮標(biāo)出來了前面介紹過的或比較重要的方法,結(jié)合多層深度特征的相關(guān)濾波C-COT排第一名,而CNN方法TCNN是VOT2016的冠軍,作者也是VOT2015冠軍MDNet,純顏色方法DAT和ASMS都在中等水平(其實(shí)兩種方法實(shí)測(cè)表現(xiàn)非常接近),其他tracker的情況請(qǐng)參考論文。再來看速度,SMACF沒有公開代碼,ASMS依然那么快,排在前10的方法中也有兩個(gè)速度比較快,分別是排第5的Staple,和其改進(jìn)算法排第9的STAPLE+,而且STAPLE+是今年的推薦實(shí)時(shí)算法。首先恭喜Luca Bertinetto的SiamFC和Staple都表現(xiàn)非常不錯(cuò),然后再為大牛默哀三分鐘(VOT2016的paper原文):

This was particularly obvious in case of SiamFC trackers, which runs orders higher than realtime (albeit on GPU), and Staple, which is realtime, but are incorrectly among the non-realtime trackers.

VOT2016竟然發(fā)生了烏龍事件,Staple在論文中CPU上是80FPS,怎么EFO在這里只有11?幸好公開代碼有Staple和STAPLE+,實(shí)測(cè)下來,雖然我電腦不如Luca Bertinetto大牛但Staple我也能跑76FPS,而更可笑的是,STAPLE+比Staple慢了大約7-8倍,竟然EFO高出4倍,到底怎么回事呢?

首先看Staple的代碼,如果您直接下載Staple并設(shè)置params.visualization = 1,Staple默認(rèn)調(diào)用Computer Vision System Toolbox來顯示序列圖像,而恰好如果您沒有這個(gè)工具箱,默認(rèn)每幀都會(huì)用imshow(im)來顯示圖像,所以非常非常慢,而設(shè)置params.visualization = 0就跑的飛快(作者你是孫猴子派來的逗逼嗎),建議您將顯示圖像部分代碼替換成DSST中對(duì)應(yīng)部分代碼就可以正常速度運(yùn)行和顯示了。

再來看STAPLE+的代碼,對(duì)Staple的改進(jìn)包括額外從顏色概率圖中提取HOG特征,特征增加到56通道(Staple是28通道),平移檢測(cè)額外加入了大位移光流運(yùn)動(dòng)估計(jì)的響應(yīng),所以才會(huì)這么慢,而且肯定要慢很多。

所以很大可能是VOT舉辦方把Staple和STAPLE+的EFO弄反了,VOT2016的實(shí)時(shí)推薦算法應(yīng)該是排第5的Staple,相關(guān)濾波結(jié)合顏色方法,沒有深度特征更沒有CNN,跑80FPS還能排在第五,這就是接下來主要介紹的,2016年最NIUBILITY的目標(biāo)跟蹤算法之一Staple (直接讓排在后面的一眾深度學(xué)習(xí)算法懷疑人生)。

顏色特征,在目標(biāo)跟蹤中顏色是個(gè)非常重要的特征,不管多少個(gè)人在一起,只要目標(biāo)穿不用顏色的一幅就非常明顯。前面介紹過2014年CVPR的CN是相關(guān)濾波框架下的模板顏色方法,這里隆重介紹統(tǒng)計(jì)顏色特征方法DATLearning, Recognition, and Surveillance @ ICG,幀率15FPS推薦:

Possegger H, Mauthner T, Bischof H.In defense of color-based model-free tracking[C]// CVPR, 2015.

DAT統(tǒng)計(jì)前景目標(biāo)和背景區(qū)域的顏色直方圖并歸一化,這就是前景和背景的顏色概率模型,檢測(cè)階段,貝葉斯方法判別每個(gè)像素屬于前景的概率,得到像素級(jí)顏色概率圖,再加上邊緣相似顏色物體抑制就能得到目標(biāo)的區(qū)域了。

如果要用一句話介紹Luca Bertinetto(牛津大學(xué))的StapleStaple tracker,那就是把模板特征方法DSST(基于DCF)和統(tǒng)計(jì)特征方法DAT結(jié)合:

Bertinetto L, Valmadre J, Golodetz S, et al.Staple: Complementary Learners for Real-Time Tracking[C]// CVPR, 2016.

前面分析了相關(guān)濾波模板類特征(HOG)對(duì)快速變形和快速運(yùn)動(dòng)效果不好,但對(duì)運(yùn)動(dòng)模糊光照變化等情況比較好;而顏色統(tǒng)計(jì)特征(顏色直方圖)對(duì)變形不敏感,而且不屬于相關(guān)濾波框架沒有邊界效應(yīng),快速運(yùn)動(dòng)當(dāng)然也是沒問題的,但對(duì)光照變化和背景相似顏色不好。綜上,這兩類方法可以互補(bǔ),也就是說DSST和DAT可以互補(bǔ)結(jié)合:

兩個(gè)框架的算法高效無縫結(jié)合,25FPS的DSST和15FPS的DAT,而結(jié)合后速度竟然達(dá)到了80FPS。DSST框架把跟蹤劃分為兩個(gè)問題,即平移檢測(cè)和尺度檢測(cè),DAT就加在平移檢測(cè)部分,相關(guān)濾波有一個(gè)響應(yīng)圖,像素級(jí)前景概率也有一個(gè)響應(yīng)圖,兩個(gè)響應(yīng)圖線性加權(quán)得到最終響應(yīng)圖,其他部分與DSST類似,平移濾波器、尺度濾波器和顏色概率模型都以固定學(xué)習(xí)率線性加權(quán)更新。

另一種相關(guān)濾波結(jié)合顏色概率的方法是17CVPR的CSR-DCF,提出了空域可靠性和通道可靠性,沒有深度特征性能直逼C-COT,速度可觀13FPS:

Luke?i? A, Vojí? T, ?ehovin L, et al.Discriminative Correlation Filter with Channel and Spatial Reliability[C]// CVPR, 2017.

CSR-DCF中的空域可靠性得到的二值掩膜就類似于CFLM中的掩膜矩陣P,在這里自適應(yīng)選擇更容易跟蹤的目標(biāo)區(qū)域且減小邊界效應(yīng);以往多通道特征都是直接求和,而CSR-DCF中通道采用加權(quán)求和,而通道可靠性就是那個(gè)自適應(yīng)加權(quán)系數(shù)。采用ADMM迭代優(yōu)化,可以看出CSR-DCF是DAT和CFLB的結(jié)合算法。

VOT2015相關(guān)濾波還有排第一名的C-COT(別問我第一名為什么不是冠軍,我也不知道),和DeepSRDCF一樣先跳過。

▌第七部分:long-term和跟蹤置信度

以前提到的很多CF算法,也包括VOT競(jìng)賽,都是針對(duì)short-term的跟蹤問題,即短期(shor-term)跟蹤,我們只關(guān)注短期內(nèi)(如100~500幀)跟蹤是否準(zhǔn)確。但在實(shí)際應(yīng)用場(chǎng)合,我們希望正確跟蹤時(shí)間長(zhǎng)一點(diǎn),如幾分鐘或十幾分鐘,這就是長(zhǎng)期(long-term)跟蹤問題。

Long-term就是希望tracker能長(zhǎng)期正確跟蹤,我們分析了前面介紹的方法不適合這種應(yīng)用場(chǎng)合,必須是short-term tracker + detecter配合才能實(shí)現(xiàn)正確的長(zhǎng)期跟蹤。

用一句話介紹Long-term,就是給普通tracker配一個(gè)detecter,在發(fā)現(xiàn)跟蹤出錯(cuò)的時(shí)候調(diào)用自帶detecter重新檢測(cè)并矯正tracker。

介紹CF方向一篇比較有代表性的long-term方法,Chao Ma的LCTchaoma99/lct-tracker:

Ma C, Yang X, Zhang C, et al.Long-term correlation tracking[C]// CVPR, 2015.

LCT在DSST一個(gè)平移相關(guān)濾波Rc和一個(gè)尺度相關(guān)濾波的基礎(chǔ)上,又加入第三個(gè)負(fù)責(zé)檢測(cè)目標(biāo)置信度的相關(guān)濾波Rt,檢測(cè)模塊Online Detector是TLD中所用的隨機(jī)蔟分類器(random fern),在代碼中改為SVM。第三個(gè)置信度濾波類似MOSSE不加padding,而且特征也不加cosine窗,放在平移檢測(cè)之后。

如果最大響應(yīng)小于第一個(gè)閾值(叫運(yùn)動(dòng)閾值),說明平移檢測(cè)不可靠,調(diào)用檢測(cè)模塊重新檢測(cè)。注意,重新檢測(cè)的結(jié)果并不是都采納的,只有第二次檢測(cè)的最大響應(yīng)值比第一次檢測(cè)大1.5倍時(shí)才接納,否則,依然采用平移檢測(cè)的結(jié)果。

如果最大響應(yīng)大于第二個(gè)閾值(叫外觀閾值),說明平移檢測(cè)足夠可信,這時(shí)候才以固定學(xué)習(xí)率在線更新第三個(gè)相關(guān)濾波器和隨機(jī)蔟分類器。注意,前兩個(gè)相關(guān)濾波的更新與DSST一樣,固定學(xué)習(xí)率在線每幀更新。

LCT加入檢測(cè)機(jī)制,對(duì)遮擋和出視野等情況理論上較好,速度27fps,實(shí)驗(yàn)只跑了OTB-2013,跟蹤精度非常高,根據(jù)其他論文LCT在OTB-2015和 VOT上效果略差一點(diǎn)可能是兩個(gè)核心閾值沒有自適應(yīng), 關(guān)于long-term,TLD和LCT都可以參考 。

接下來介紹跟蹤置信度。 跟蹤算法需要能反映每一次跟蹤結(jié)果的可靠程度,這一點(diǎn)非常重要,不然就可能造成跟丟了還不知道的情況。生成類(generative)方法有相似性度量函數(shù),判別類(discriminative)方法有機(jī)器學(xué)習(xí)方法的分類概率。有兩種指標(biāo)可以反映相關(guān)濾波類方法的跟蹤置信度:前面見過的最大響應(yīng)值,和沒見過的響應(yīng)模式,或者綜合反映這兩點(diǎn)的指標(biāo)。

LMCF(MM Wang的目標(biāo)跟蹤專欄:目標(biāo)跟蹤算法 - 知乎專欄)提出了多峰檢測(cè)和高置信度更新:

Wang M, Liu Y, Huang Z.Large Margin Object Tracking with Circulant Feature Maps[C]// CVPR, 2017.

高置信度更新,只有在跟蹤置信度比較高的時(shí)候才更新跟蹤模型,避免目標(biāo)模型被污染,同時(shí)提升速度。 第一個(gè)置信度指標(biāo)是最大響應(yīng)分?jǐn)?shù)Fmax,就是最大響應(yīng)值(Staple和LCT中都有提到)。 第二個(gè)置信度指標(biāo)是平均峰值相關(guān)能量(average peak-to correlation energy,APCE),反應(yīng)響應(yīng)圖的波動(dòng)程度和檢測(cè)目標(biāo)的置信水平,這個(gè)(可能)是目前最好的指標(biāo),推薦:

跟蹤置信度指標(biāo)還有,MOSSE中的峰值旁瓣比(Peak to Sidelobe Ratio,PSR), 由相關(guān)濾波峰值,與11*11峰值窗口以外旁瓣的均值與標(biāo)準(zhǔn)差計(jì)算得到,推薦:

還有CSR-DCF的空域可靠性,也用了兩個(gè)類似指標(biāo)反映通道可靠性, 第一個(gè)指標(biāo)也是每個(gè)通道的最大響應(yīng)峰值,就是Fmax,第二個(gè)指標(biāo)是響應(yīng)圖中第二和第一主模式之間的比率,反映每個(gè)通道響應(yīng)中主模式的表現(xiàn)力,但需要先做極大值檢測(cè):

▌第八部分:卷積特征

最后這部分是Martin Danelljan的專場(chǎng),主要介紹他的一些列工作,尤其是結(jié)合深度特征的相關(guān)濾波方法,代碼都在他主頁Visual Tracking,就不一一貼出了。

Danelljan M, Shahbaz Khan F, Felsberg M, et al.Adaptive color attributes for real-time visual tracking[C]// CVPR, 2014.

在CN中提出了非常重要的多通道顏色特征Color Names,用于CSK框架取得非常好得效果,還提出了加速算法CN2,通過類PCA的自適應(yīng)降維方法,對(duì)特征通道數(shù)量降維(10 -> 2),平滑項(xiàng)增加跨越不同特征子空間時(shí)的代價(jià),也就是PCA中的協(xié)方差矩陣線性更新防止降維矩陣變化太大。

Danelljan M, Hager G, Khan F S, et al.Discriminative Scale Space Tracking[J]. IEEE TPAMI, 2017.

DSST是VOT2014的第一名,開創(chuàng)了平移濾波+尺度濾波的方式。在fDSST中對(duì)DSST進(jìn)行加速,PCA方法將平移濾波HOG特征的通道降維(31 -> 18),QR方法將尺度濾波器~1000*17的特征降維到17*17,最后用三角插值(頻域插值)將尺度數(shù)量從17插值到33以獲得更精確的尺度定位。

SRDCF是VOT2015的第四名,為了減輕邊界效應(yīng)擴(kuò)大檢測(cè)區(qū)域,優(yōu)化目標(biāo)增加了空間約束項(xiàng),用高斯-塞德爾方法迭代優(yōu)化,并用牛頓法迭代優(yōu)化平移檢測(cè)的子網(wǎng)格精確目標(biāo)定位。

Danelljan M, Hager G, Shahbaz Khan F, et al.Adaptive decontamination of the training set: A unified formulation for discriminative visual tracking[C]// CVPR, 2016.

SRDCFdecon在SRDCF的基礎(chǔ)上,改進(jìn)了樣本和學(xué)習(xí)率問題。以前的相關(guān)濾波都是固定學(xué)習(xí)率線性加權(quán)更新模型,雖然這樣比較簡(jiǎn)單不用保存以前樣本,但在定位不準(zhǔn)確、遮擋、背景擾動(dòng)等情況會(huì)污染模型導(dǎo)致漂移。SRDCFdecon選擇保存以往樣本(圖像塊包括正,負(fù)樣本),在優(yōu)化目標(biāo)函數(shù)中添加樣本權(quán)重參數(shù)和正則項(xiàng),采用交替凸搜索,首先固定樣本權(quán)重,高斯-塞德爾方法迭代優(yōu)化模型參數(shù),然后固定模型參數(shù),凸二次規(guī)劃方法優(yōu)化樣本權(quán)重。

Danelljan M, Hager G, Shahbaz Khan F, et al.Convolutional features for correlation filter based visual tracking[C]// ICCVW, 2015.

DeepSRDCF是VOT2015的第二名,將SRDCF中的HOG特征替換為CNN中單層卷積層的深度特征(也就是卷積網(wǎng)絡(luò)的激活值),效果有了極大提升。這里用imagenet-vgg-2048 network,VGG網(wǎng)絡(luò)的遷移能力比較強(qiáng),而且MatConvNet就是VGG組的,MATLAB調(diào)用非常方便。論文還測(cè)試了不同卷積層在目標(biāo)跟蹤任務(wù)中的表現(xiàn):

第1層表現(xiàn)最好,第2和第5次之。由于卷積層數(shù)越高語義信息越多,但紋理細(xì)節(jié)越少,從1到4層越來越差的原因之一就是特征圖的分辨率越來越低,但第5層反而很高,是因?yàn)榘ㄍ暾恼Z義信息,判別力比較強(qiáng)(本來就是用來做識(shí)別的)。

注意區(qū)分這里的深度特征和基于深度學(xué)習(xí)的方法,深度特征來自ImageNet上預(yù)訓(xùn)練的圖像分類網(wǎng)絡(luò),沒有fine-turn這一過程,不存在過擬合的問題。而基于深度學(xué)習(xí)的方法大多需要在跟蹤序列上end-to-end訓(xùn)練或fine-turn,如果樣本數(shù)量和多樣性有限就很可能過擬合。

Ma C, Huang J B, Yang X, et al.Hierarchical convolutional features for visual tracking[C]// ICCV, 2015.

值得一提的還有Chao Ma的HCF,結(jié)合多層卷積特征提升效果,用了VGG19的Conv5-4, Conv4-4和Conv3-4的激活值作為特征,所有特征都縮放到圖像塊分辨率,雖然按照論文應(yīng)該是由粗到細(xì)確定目標(biāo),但代碼中比較直接,三種卷積層的響應(yīng)以固定權(quán)值1, 0.5, 0.02線性加權(quán)作為最終響應(yīng)。雖然用了多層卷積特征,但沒有關(guān)注邊界效應(yīng)而且線性加權(quán)的方式過于簡(jiǎn)單,HCF在VOT2016僅排在28名(單層卷積深度特征的DeepSRDCF是第13名)。

Danelljan M, Robinson A, Khan F S, et al.Beyond correlation filters: Learning continuous convolution operators for visual tracking[C]// ECCV, 2016.

C-COT是VOT2016的第一名,綜合了SRDCF的空域正則化和SRDCFdecon的自適應(yīng)樣本權(quán)重,還將DeepSRDCF的單層卷積的深度特征擴(kuò)展為多成卷積的深度特征(VGG第1和5層),為了應(yīng)對(duì)不同卷積層分辨率不同的問題,提出了連續(xù)空間域插值轉(zhuǎn)換操作,在訓(xùn)練之前通過頻域隱式插值將特征圖插值到連續(xù)空域,方便集成多分辨率特征圖,并且保持定位的高精度。目標(biāo)函數(shù)通過共軛梯度下降方法迭代優(yōu)化,比高斯-塞德爾方法要快,自適應(yīng)樣本權(quán)值直接采用先驗(yàn)權(quán)值,沒有交替凸優(yōu)化過程,檢測(cè)中用牛頓法迭代優(yōu)化目標(biāo)位置。

注意以上SRDCF, SRDCFdecon,DeepSRDCF,C-COT都無法實(shí)時(shí),這一系列工作雖然效果越來越好,但也越來越復(fù)雜,在相關(guān)濾波越來越慢失去速度優(yōu)勢(shì)的時(shí)候,Martin Danelljan在2017CVPR的ECO來了一腳急剎車,大神來告訴我們什么叫又好又快,不忘初心:

Danelljan M, Bhat G, Khan F S, et al.ECO: Efficient Convolution Operators for Tracking[C]// CVPR, 2017.

ECO是C-COT的加速版,從模型大小、樣本集大小和更新策略三個(gè)方便加速,速度比C-COT提升了20倍,加量還減價(jià),EAO提升了13.3%,最最最厲害的是, hand-crafted features的ECO-HC有60FPS。。吹完了,來看看具體做法。

第一減少模型參數(shù),定義了factorized convolution operator(分解卷積操作),效果類似PCA,用PCA初始化,然后僅在第一幀優(yōu)化這個(gè)降維矩陣,以后幀都直接用,簡(jiǎn)單來說就是有監(jiān)督降維,深度特征時(shí)模型參數(shù)減少了80%。

第二減少樣本數(shù)量,compact generative model(緊湊的樣本集生成模型),采用Gaussian Mixture Model (GMM)合并相似樣本,建立更具代表性和多樣性的樣本集,需要保存和優(yōu)化的樣本集數(shù)量降到C-COT的1/8。

第三改變更新策略,sparser updating scheme(稀疏更新策略),每隔5幀做一次優(yōu)化更新模型參數(shù),不但提高了算法速度,而且提高了對(duì)突變,遮擋等情況的穩(wěn)定性。但樣本集是每幀都更新的,稀疏更新并不會(huì)錯(cuò)過間隔期的樣本變化信息。

ECO的成功當(dāng)然還有很多細(xì)節(jié),而且有些我也看的不是很懂,總之很厲害就是了。。ECO實(shí)驗(yàn)跑了四個(gè)庫(VOT2016, UAV123, OTB-2015, and TempleColor)都是第一,而且沒有過擬合的問題,僅性能來說ECO是目前最好的相關(guān)濾波算法,也有可能是最好的目標(biāo)跟蹤算法。hand-crafted features版本的ECO-HC,降維部分原來HOG+CN的42維特征降到13維,其他部分類似,實(shí)驗(yàn)結(jié)果ECO-HC超過了大部分深度學(xué)習(xí)方法,而且論文給出速度是CPU上60FPS。

最后是來自Luca Bertinetto的CFNetEnd-to-end representation learning for Correlation Filter based tracking,除了上面介紹的相關(guān)濾波結(jié)合深度特征,相關(guān)濾波也可以end-to-end方式在CNN中訓(xùn)練了:

Valmadre J, Bertinetto L, Henriques J F, et al.End-to-end representation learning for Correlation Filter based tracking[C]// CVPR, 2017.

在SiamFC的基礎(chǔ)上,將相關(guān)濾波也作為CNN中的一層,最重要的是cf層的前向傳播和反向傳播公式推導(dǎo),兩層卷積層的CFNet在GPU上是75FPS,綜合表現(xiàn)并沒有很多驚艷,可能是難以處理CF層的邊界效應(yīng)吧,持觀望態(tài)度。

▌第九部分:2017年CVPR和ICCV結(jié)果

下面是CVPR 2017的目標(biāo)跟蹤算法結(jié)果:可能MD大神想說,一個(gè)能打的都沒有!

仿照上面的表格,整理了ICCV 2017的相關(guān)論文結(jié)果對(duì)比ECO:哎,還是一個(gè)能打的都沒有!

▌第十部分:大牛推薦

湊個(gè)數(shù),目前相關(guān)濾波方向貢獻(xiàn)最多的是以下兩個(gè)組(有創(chuàng)新有代碼):

牛津大學(xué):Joao F. Henriques和Luca Bertinetto,代表:CSK, KCF/DCF, Staple, CFNet (其他SiamFC, Learnet).

林雪平大學(xué):Martin Danelljan,代表:CN, DSST, SRDCF, DeepSRDCF, SRDCFdecon, C-COT, ECO.

國內(nèi)也有很多高校的優(yōu)秀工作就不一一列舉了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4624

    瀏覽量

    93110
  • 跟蹤算法
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

    13025
  • 計(jì)算機(jī)視覺
    +關(guān)注

    關(guān)注

    8

    文章

    1699

    瀏覽量

    46051
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5510

    瀏覽量

    121338

原文標(biāo)題:計(jì)算機(jī)視覺中,目前有哪些經(jīng)典的目標(biāo)跟蹤算法?

文章出處:【微信號(hào):AI_Thinker,微信公眾號(hào):人工智能頭條】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么是計(jì)算機(jī)視覺?計(jì)算機(jī)視覺的三種方法

    計(jì)算機(jī)視覺是指通過為計(jì)算機(jī)賦予人類視覺這一技術(shù)目標(biāo),從而賦能裝配線檢查到駕駛輔助和機(jī)器人等應(yīng)用。計(jì)算機(jī)
    的頭像 發(fā)表于 11-16 16:38 ?4677次閱讀
    什么是<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺</b>?<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺</b>的三種方法

    基于OPENCV的運(yùn)動(dòng)目標(biāo)跟蹤實(shí)現(xiàn)

    和大小,得到當(dāng)前幀中目標(biāo)的尺寸和質(zhì)心位置。在介紹Intel公司的開源OpenCV計(jì)算機(jī)視覺庫的基礎(chǔ)上,采用CAMSHIFT跟蹤算法,實(shí)現(xiàn)運(yùn)動(dòng)
    發(fā)表于 12-23 14:21

    基于QT+OpenCv的目標(biāo)跟蹤算法實(shí)現(xiàn)

    快速發(fā)展的一個(gè)重要分支,其目標(biāo)重要是通過機(jī)器來代替人眼來進(jìn)行檢測(cè)和判斷,如下圖1所示,是一個(gè)典型的機(jī)器視覺系統(tǒng)的構(gòu)造圖,包括鏡頭、攝像機(jī)、圖像采集卡、計(jì)算機(jī)系統(tǒng)、輸入輸出設(shè)備、控制機(jī)構(gòu)等模塊,待測(cè)
    發(fā)表于 09-21 10:42

    計(jì)算機(jī)視覺目標(biāo)檢測(cè)的主要步驟

    計(jì)算機(jī)視覺目標(biāo)檢測(cè)方法匯總
    發(fā)表于 06-14 14:49

    目標(biāo)跟蹤視覺注意計(jì)算模型

    目標(biāo)跟蹤視覺注意計(jì)算模型:借鑒心理學(xué)中有關(guān)視覺注意的研究成果,提出一種應(yīng)用于視頻圖像序列的注意
    發(fā)表于 01-04 12:20 ?14次下載

    目前有哪些經(jīng)典目標(biāo)跟蹤算法?

    這篇文章將非常詳細(xì)地介紹計(jì)算機(jī)視覺領(lǐng)域中的目標(biāo)跟蹤,尤其是相關(guān)濾波類方法,分享一些作者認(rèn)為比較好的算法。
    的頭像 發(fā)表于 07-05 10:15 ?5907次閱讀

    計(jì)算機(jī)視覺常用算法_計(jì)算機(jī)視覺有哪些分類

    本文主要介紹了計(jì)算機(jī)視覺常用算法計(jì)算機(jī)視覺的分類。
    的頭像 發(fā)表于 07-30 17:34 ?1.4w次閱讀

    計(jì)算機(jī)視覺帶來的突破

    當(dāng)今的計(jì)算機(jī)視覺的子領(lǐng)域大概可以包括:場(chǎng)景重建、目標(biāo)檢測(cè)、事件檢測(cè)、視頻跟蹤、目標(biāo)識(shí)別、3D姿態(tài)估計(jì)、運(yùn)動(dòng)估計(jì)、
    的頭像 發(fā)表于 07-07 10:14 ?1016次閱讀

    最常見的目標(biāo)跟蹤算法

    對(duì)象跟蹤問題一直是計(jì)算機(jī)視覺的熱點(diǎn)任務(wù)之一,簡(jiǎn)單的可以分為單目標(biāo)跟蹤與多目標(biāo)
    的頭像 發(fā)表于 09-14 16:20 ?2778次閱讀

    目標(biāo)跟蹤計(jì)算機(jī)視覺中的重要性

    目標(biāo)跟蹤計(jì)算機(jī)視覺中非常重要的任務(wù)之一。它剛好在目標(biāo)檢測(cè)之后出現(xiàn)。為了完成目標(biāo)
    的頭像 發(fā)表于 10-12 09:40 ?1660次閱讀

    如何區(qū)分計(jì)算機(jī)視覺與其相關(guān)領(lǐng)域 計(jì)算機(jī)視覺運(yùn)行原理

    計(jì)算機(jī)視覺算法并非魔法。它們需要數(shù)據(jù)才能運(yùn)作,輸入數(shù)據(jù)的質(zhì)量決定其性能。有多種不同方法和來源可供收集合適數(shù)據(jù),這取決于你的目標(biāo)。無論如何,擁有的輸入數(shù)據(jù)越多,
    發(fā)表于 11-08 10:12 ?582次閱讀

    最適合AI應(yīng)用的計(jì)算機(jī)視覺類型是什么?

    計(jì)算機(jī)視覺是指為計(jì)算機(jī)賦予人類視覺這一技術(shù)目標(biāo),從而賦能裝配線檢查到駕駛輔助和機(jī)器人等應(yīng)用。計(jì)算機(jī)
    的頭像 發(fā)表于 11-15 16:38 ?470次閱讀
    最適合AI應(yīng)用的<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺</b>類型是什么?

    計(jì)算機(jī)視覺的十大算法

    隨著科技的不斷發(fā)展,計(jì)算機(jī)視覺領(lǐng)域也取得了長(zhǎng)足的進(jìn)步。本文將介紹計(jì)算機(jī)視覺領(lǐng)域的十大算法,包括它們的基本原理、應(yīng)用場(chǎng)景和優(yōu)缺點(diǎn)。這些
    的頭像 發(fā)表于 02-19 13:26 ?1287次閱讀
    <b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺</b>的十大<b class='flag-5'>算法</b>

    計(jì)算機(jī)視覺的五大技術(shù)

    計(jì)算機(jī)視覺作為深度學(xué)習(xí)領(lǐng)域最熱門的研究方向之一,其技術(shù)涵蓋了多個(gè)方面,為人工智能的發(fā)展開拓了廣闊的道路。以下是對(duì)計(jì)算機(jī)視覺五大技術(shù)的詳細(xì)解析,包括圖像分類、對(duì)象檢測(cè)、
    的頭像 發(fā)表于 07-10 18:26 ?1463次閱讀

    計(jì)算機(jī)視覺技術(shù)的AI算法模型

    計(jì)算機(jī)視覺技術(shù)作為人工智能領(lǐng)域的一個(gè)重要分支,旨在使計(jì)算機(jī)能夠像人類一樣理解和解釋圖像及視頻中的信息。為了實(shí)現(xiàn)這一目標(biāo),計(jì)算機(jī)
    的頭像 發(fā)表于 07-24 12:46 ?1004次閱讀