摘要
近年來,深度學習方法在物體跟蹤領域有不少成功應用,並逐漸在性能上超越傳統方法。本文對現有基於深度學習的目標跟蹤算法進行了分類梳理。
經典的目標跟蹤方法
目前跟蹤算法可以被分為產生式(generative model)和判別式(discriminative model)兩大類別。
產生式方法運用生成模型描述目標的表觀特征,之后通過搜索候選目標來最小化重構誤差。比較有代表性的算法有稀疏編碼(sparse coding),在線密度估計(online density estimation)和主成分分析(PCA)等。產生式方法着眼於對目標本身的刻畫,忽略背景信息,在目標自身變化劇烈或者被遮擋時容易產生漂移。
與之相對的,判別式方法通過訓練分類器來區分目標和背景。這種方法也常被稱為tracking-by-detection。近年來,各種機器學習算法被應用在判別式方法上,其中比較有代表性的有多示例學習方法(multiple instance learning), boosting和結構SVM(structured SVM)等。判別式方法因為顯著區分背景和前景的信息,表現更為魯棒,逐漸在目標跟蹤領域占據主流地位。值得一提的是,目前大部分深度學習目標跟蹤方法也歸屬於判別式框架(很明白)。
近年來,基於相關濾波(correlation filter)的跟蹤方法因為速度快,效果好吸引了眾多研究者的目光。相關濾波器通過將輸入特征回歸為目標高斯分布來訓練 filters。並在后續跟蹤中尋找預測分布中的響應峰值來定位目標的位置。相關濾波器在運算中巧妙應用快速傅立葉變換獲得了大幅度速度提升。目前基於相關濾波的拓展方法也有很多,包括核化相關濾波器(kernelized correlation filter, KCF), 加尺度估計的相關濾波器(DSST)等。
基於深度學習的目標跟蹤方法
不同於檢測、識別等視覺領域深度學習一統天下的趨勢,深度學習在目標跟蹤領域的應用並非一帆風順。其主要問題在於訓練數據的缺失:深度模型的魔力之一來自於對大量標注訓練數據的有效學習,而目標跟蹤僅僅提供第一幀的bounding-box作為訓練數據。這種情況下,在跟蹤開始針對當前目標從頭訓練一個深度模型困難重重。目前基於深度學習的目標跟蹤算法采用了幾種思路來解決這個問題,下面將依據思路的不同展開介紹,並在最后介紹目前跟蹤領域出現的運用遞歸神經網絡(recurrent neural network)解決目標跟蹤問題的新思路。
利用輔助圖片數據預訓練深度模型,在線跟蹤時微調
在目標跟蹤的訓練數據非常有限的情況下,使用輔助的非跟蹤訓練數據進行預訓練,獲取對物體特征的通用表示(general representation ),在實際跟蹤時,通過利用當前跟蹤目標的有限樣本信息對預訓練模型微調(fine-tune), 使模型對當前跟蹤目標有更強的分類性能,這種遷移學習的思路極大的減少了對跟蹤目標訓練樣本的需求,也提高了跟蹤算法的性能。
這個方面代表性的作品有DLT和SO-DLT,都出自香港科技大學王乃岩博士。
DLT(NIPS2013)
Learning a Deep Compact Image Representation for Visual Tracking
DLT是第一個把深度模型運用在單目標跟蹤任務上的跟蹤算法。它的主體思路如上圖所示:
(1) 先使用棧式降噪自編碼器(stacked denoising autoencoder,SDAE)在Tiny Images dataset這樣的大規模自然圖像數據集上進行無監督的離線預訓練來獲得通用的物體表征能力。預訓練的網絡結構如上圖(b)所示,一共堆疊了4個降噪自編碼器, 降噪自編碼器對輸入加入噪聲,通過重構出無噪聲的原圖來獲得更魯棒的特征表達能力。SDAE1024-2560-1024-512-256這樣的瓶頸式結構設計也使獲得的特征更加compact。
(2) 之后的在線跟蹤部分結構如上圖(c)所示,取離線SDAE的encoding部分疊加sigmoid分類層組成了分類網絡。此時的網絡並沒有獲取對當前被跟蹤物體的特定表達能力。此時利用第一幀獲取正負樣本,對分類網絡進行fine-tune獲得對當前跟蹤目標和背景更有針對性的分類網絡。在跟蹤過程中,對當前幀采用粒子濾波(particle filter)的方式提取一批候選的patch(相當於detection中的proposal),這些patch輸入分類網絡中,置信度最高的成為最終的預測目標。
(3) 在目標跟蹤非常重要的模型更新策略上,該論文采取限定閾值的方式,即當所有粒子中最高的confidence低於閾值時,認為目標已經發生了比較大的表觀變化,當前的分類網絡已經無法適應,需要進行更新。
小結:DLT作為第一個將深度網絡運用於單目標跟蹤的跟蹤算法,首先提出了“離線預訓練+在線微調”的思路,很大程度的解決了跟蹤中訓練樣本不足的問題,在CVPR2013提出的OTB50數據集上的29個跟蹤器中排名第5。
但是DLT本身也存在一些不足:
(1) 離線預訓練采用的數據集Tiny Images dataset只包含32*32大小的圖片,分辨率明顯低於主要的跟蹤序列,因此SDAE很難學到足夠強的特征表示。
(2) 離線階段的訓練目標為圖片重構,這與在線跟蹤需要區分目標和背景的目標相差甚大。
(3) SDAE全連接的網絡結構使其對目標的特征刻畫能力不夠優秀,雖然使用了4層的深度模型,但效果仍低於一些使用人工特征的傳統跟蹤方法如Struck等。
Transferring Rich Feature Hierarchies for Robust Visual Tracking
SO-DLT延續了DLT利用非跟蹤數據預訓練加在線微調的策略,來解決跟蹤過程中訓練數據不足的問題,同時也對DLT存在的問題做了很大的改進。
(1) 使用CNN作為獲取特征和分類的網絡模型。如上圖所示,SO-DLT使用了的類似AlexNet的網絡結構,但是有幾大特點:
一、針對跟蹤候選區域的大小將輸入縮小為100*100,而不是一般分類或檢測任務中的224*224。
二、網絡的輸出為50*50大小,值在0-1之間的概率圖(probability map),每個輸出像素對應原圖2*2的區域,輸出值越高則該點在目標bounding-box中的概率也越高。這樣的做法利用了圖片本身的結構化信息,方便直接從概率圖確定最終的bounding-box,避免向網絡輸入數以百計的proposal,這也是SO-DLT structured output得名的由來。
三、在卷積層和全連接層中間采用SPP-NET中的空間金字塔采樣(spatial pyramid pooling)來提高最終的定位准確度。
(2) 在離線訓練中使用ImageNet 2014的detection數據集使CNN獲得區分object和非object(背景)的能力。
SO-DLT在線跟蹤的pipeline如上圖所示:
(1) 處理第t幀時,首先以第t-1幀的的預測位置為中心,從小到大以不同尺度crop區域放入CNN當中,當CNN輸出的probability map的總和高於一定閾值時,停止crop, 以當前尺度作為最佳的搜索區域大小。
(2) 選定第t幀的最佳搜索區域后,在該區域輸出的probability map上采取一系列策略確定最終的bounding-box中心位置和大小。
(3) 在模型更新方面,為了解決使用不准確結果fine-tune導致的drift問題,使用了long-term 和short-term兩個CNN,即CNNs和CNNl。CNNs更新頻繁,使其對目標的表觀變化及時響應。CNNl更新較少,使其對錯誤結果更加魯棒。二者結合,取最confident的結果作為輸出。從而在adaptation和drift之間達到一個均衡。
小結:SO-DLT作為large-scale CNN網絡在目標跟蹤領域的一次成功應用,取得了非常優異的表現:在CVPR2013提出的OTB50數據集上OPE准確度繪圖(precision plot)達到了0.819, OPE成功率繪圖(success plot)達到了0.602。遠超當時其它的state of the art。
SO-DLT有幾點值得借鑒:
(1) 針對tracking問題設計了有針對性的網絡結構。
(2) 應用CNNS和CNNL用ensemble的思路解決update 的敏感性,特定參數取多值做平滑,解決參數取值的敏感性。這些措施目前已成為跟蹤算法提高評分的殺手鐧。
但是SO-DLT離線預訓練依然使用的是大量無關聯圖片,作者認為使用更貼合跟蹤實質的時序關聯數據是一個更好的選擇。
利用現有大規模分類數據集預訓練的CNN分類網絡提取特征
2015年以來,在目標跟蹤領域應用深度學習興起了一股新的潮流。即直接使用ImageNet這樣的大規模分類數據庫上訓練出的CNN網絡如VGG-Net獲得目標的特征表示,之后再用觀測模型(observation model)進行分類獲得跟蹤結果。
這種做法既避開了跟蹤時直接訓練large-scale CNN樣本不足的困境,也充分利用了深度特征強大的表征能力。這樣的工作在ICML15,ICCV15,CVPR16均有出現。下面介紹兩篇發表於ICCV15的工作。
FCNT(ICCV15)
Visual Tracking with Fully Convolutional Networks
作為應用CNN特征於物體跟蹤的代表作品,FCNT的亮點之一在於對ImageNet上預訓練得到的CNN特征在目標跟蹤任務上的性能做了深入的分析,並根據分析結果設計了后續的網絡結構。
FCNT主要對VGG-16的Conv4-3和Conv5-3層輸出的特征圖譜(feature map)做了分析,並得出以下結論:
(1) CNN 的feature map可以用來做跟蹤目標的定位。
(2) CNN 的許多feature map存在噪聲或者和物體跟蹤區分目標和背景的任務關聯較小。
(3) CNN不同層的特征特點不一。高層(Conv5-3)特征擅長區分不同類別的物體,對目標的形變和遮擋非常魯棒,但是對類內物體的區分能力非常差。低層(Conv4-3)特征更關注目標的局部細節,可以用來區分背景中相似的distractor,但是對目標的劇烈形變非常不魯棒。
依據以上分析,FCNT最終形成了如上圖所示的框架結構:
(1) 對於Conv4-3和Conv5-3特征分別構建特征選擇網絡sel-CNN(1層dropout加1層卷積),選出和當前跟蹤目標最相關的feature map channel。
(2) 對篩選出的Conv5-3和Conv4-3特征分別構建捕捉類別信息的GNet和區分distractor(背景相似物體)的SNet(都是兩層卷積結構)。
(3) 在第一幀中使用給出的bounding-box生成熱度圖(heat map)回歸訓練sel-CNN, GNet和SNet。
(4) 對於每一幀,以上一幀預測結果為中心crop出一塊區域,之后分別輸入GNet和SNet,得到兩個預測的heatmap,並根據是否有distractor決定使用哪個heatmap 生成最終的跟蹤結果。
小結:FCNT根據對CNN不同層特征的分析,構建特征篩選網絡和兩個互補的heat-map預測網絡。達到有效抑制distractor防止跟蹤器漂移,同時對目標本身的形變更加魯棒的效果,也是ensemble思路的又一成功實現。在CVPR2013提出的OTB50數據集上OPE准確度繪圖(precision plot)達到了0.856,OPE成功率繪圖(success plot)達到了0.599,准確度繪圖有較大提高。實際測試中FCNT的對遮擋的表現不是很魯棒,現有的更新策略還有提高空間。