1. 程式人生 > >基於Deep Learning的跟蹤演算法總結(一)

基於Deep Learning的跟蹤演算法總結(一)

博主最近主要關注使用深度學習的視訊跟蹤一系列演算法,本文為學習筆記,僅供學習交流,如有侵權,請指出。

No Free Lunch

不同於檢測、識別等視覺領域深度學習一統天下的趨勢,深度學習在目標跟蹤領域的應用並非一帆風順。其主要問題在於訓練資料的缺失。深度模型的魔力之一來自於對大量標註訓練資料的有效學習,而目標跟蹤僅僅提供第一幀的bounding-box作為訓練資料。

接下來,介紹幾種思路來解決上述資料缺少的問題。

一、利用輔助圖片資料預訓練深度模型,線上跟蹤時微調

在目標跟蹤的訓練資料非常有限的情況下,使用輔助的非跟蹤訓練資料進行預訓練,獲取對物體特徵的通用表示(general representation ),在實際跟蹤時,通過利用當前跟蹤目標的有限樣本資訊對預訓練模型微調(fine-tune), 使模型對當前跟蹤目標有更強的分類效能,這種遷移學習的思路極大的減少了對跟蹤目標訓練樣本的需求,也提高了跟蹤演算法的效能。

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等。

SO-DLT(arXiv2015)
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離線預訓練依然使用的是大量無關聯圖片,作者認為使用更貼合跟蹤實質的時序關聯資料是一個更好的選擇。