李 敏,吳 莎
(長安大學 信息工程學院,陜西 西安 710000)
目標跟蹤是一個具有挑戰性的計算機視覺問題,特別是存在遮擋、目標變形、光照變化等情況下。粒子濾波器由于能夠有效地確定目標的位置和大小,多年來一直被應用于視覺跟蹤[1-2]。例如,文獻[3]提出了一種基于自頂向下視覺注意力計算模型的粒子濾波視覺跟蹤器。該算法是檢測目標相關的突出區域,然后將顯著區域發送到粒子濾波器,確定目標的位置。文獻[4]提出了一種名為螢火蟲的優化算法,該算法通過動態增加有意義粒子的數量來提高跟蹤性能。文獻[5]提出基于一種新的迭代粒子濾波器(IPF),該濾波器在收縮的搜索范圍內對粒子進行迭代采樣。此外,文獻[6]中將粒子濾波與基于高斯混合的目標外觀模型結合使用。雖然基于粒子濾波器的視覺跟蹤方法,或者基于相關濾波器的視覺跟蹤方法[7]的跟蹤結果都可以接受,但是它們不如基于卷積神經網絡(CNN)產生具有高度識別性的目標特征[8]的跟蹤器有效。
卷積神經網絡在成功應用于對象檢測任務[9]之后,又被應用于視覺跟蹤,到目前為止,已經提出了幾種不同的CNN結構。文獻[10]提出的是基于3個卷積層和若干降采樣層的CNN對當前幀和上一幀進行采樣,獲取目標和背景的空間、時間特征。采用了兩個采樣對,分別輸入兩個CNN網絡,得到4張關鍵點的概率圖,從而提高了跟蹤的精確度。文獻[11]是離線訓練多層的卷積神經網絡,學習得到可以反映圖像一般性特征的卷積核后,通過遷移學習在線特征提取,使用粒子濾波算法進行目標跟蹤。文獻[12]采用較小的網絡來進行特征提取并在全連接層進行綜合,得到輸出向量,最后根據該向量來判別樣本是目標還是背景,從而估計目標位置。雖然近幾年基于深度學習的跟蹤算法大幅提升了跟蹤算法性能,對目標和背景信息進行較詳細的提取,具有很好的判別能力,但其在應對目標表觀發生變化的情況下,缺乏目標全局的高級語義信息,所以跟蹤算法性能還有待提升。
文中將卷積粒子濾波技術與CNN相結合,以提高其在變形、光照變化、快速運動等情況下的性能。該算法使用預先訓練的網絡來幫助PF建模跟蹤目標對象,卷積粒子濾波通過貝葉斯最優估計來選擇候選目標并定位目標,避免了人工干預。深層特征和手工特征融合帶來了更穩定的觀測模型,使得PF在保證魯棒跟蹤的同時,能夠選擇少量的粒子,減輕了計算負擔。這些操作克服了跟蹤過程中存在較大的遮擋或快速運動,目標形變等問題,實現了魯棒跟蹤。
綜上所述,針對單一特征帶來的跟蹤不足問題,將基于目標的顏色特征和基于CNN的特征方法[13]結合對目標進行特征表述,同時集合了兩種算法的優點,利用深度學習和粒子濾波的特點提出了一種新的跟蹤方法,該方法使用預先訓練的網絡來幫助粒子濾波跟蹤來建模目標對象。粒子濾波是指通過貝葉斯最優估計來選擇候選目標并定位目標,避免了人工干預,實現了自動跟蹤。同時,深層特征和手工特征融合帶來了更穩定的觀測模型,使得PF在保證魯棒跟蹤的同時,能夠選擇少量的粒子,減輕了計算負擔。
在卷積神經網絡訓練數據時,空間信息會隨著網絡的加深而稀釋,因此會導致圖像中目標定位不精準的情況[14]。經研究表明,在卷積神經網絡結構中,第三個卷積層的卷積特征保留了目標更多的空間細節信息[15],如目標的位置信息等。由于圖像經過卷積神經網絡的三個卷積層得到的特征保留了目標的空間位置信息,而且考慮到卷積運算的復雜耗時,跟蹤算法必須要滿足實時性,因此文中設計一個包括3個卷積結構的深度網絡,每個卷積結構包含一個卷積層和一個池化層,加上一個完全連接層由此構建了一個9層的卷積神經網絡進行特征提取。整體框架如圖1所示。

圖1 CNN網絡結構
輸入層,向網絡輸入X=58×58的目標圖像。
卷積層,卷積層的卷積核對輸入的圖像進行卷積操作,從而得到輸入圖像的特征圖。過程:Conv1層使用8個7×7的卷積核,得到8個52×52大小的特征圖;Conv2層使用16個7×7的卷積核,得到16個20×20大小的特征圖;Conv3層使用32個7×7的卷積核,得到32個4×4大小的特征圖。卷積槽的激活函數為sigmoid函數:

(x=1,2,3)
(1)
其中,f1,f2和f3分別是三個卷積層的卷積核大小,分別用于生成Conv1、Conv2和Conv3三層特性,?為卷積操作,H0為原始的圖像輸入X,bx是一個偏移值。
池化層,通常情況是在卷積層之后,根據一定的規則對卷積層生成的特征圖進行池化。池化層的功能主要有兩點:(1)對特征圖進行降維;(2)在一定程度上保持特征圖特征的尺度不變性。
(2)
其中,a1,a2,a3,a4為四個相鄰的卷積核的子采樣值,sum由以下公式得出:
sum=a1p(i,j)+a2p(i,j+1)+a3p(i+1,j)+a4p(i+1,j+1)
(3)
其中p(i,j),p(i,j+1),p(i+1,j),p(i+1,j+1)表示卷積特征映射中的四個鄰居值。這些簡單的操作不僅減少了數據數量,而且提取了有用的深層信息。
全連接層,32個2×2的卷積核對第三個池化層輸出的特征圖進行卷積操作,得到1個128維的目標特征矩陣。
輸出層,在完全連接層之后,支持向量機有助于區分正樣本和負樣本,通過支持向量機對目標特征進行分類,將輸出層分為目標和背景。
由于深層學習網絡需要大量的訓練樣本,而這在視覺跟蹤中經常是不可用的,因為從初始幀中提取的可靠正實例數量很少。在文獻[16]中指出對使用大規模數據集訓練卷積神經網絡模型而提取到的特征,對其他的任務也具有普適性。因此這里把這個網絡看成是用于在線跟蹤應用程序的預定義數據集。數據集由視覺跟蹤器基準[3]提供,并且包括大量的正和負樣本。該數據集具有光照變化、旋轉、尺度變化等多種數據增強的挑戰性。在訓練過程中,隨機梯度法(SGD)優化了模型中的參數。
在跟蹤過程中,傳統的粒子濾波以顏色直方圖作為外觀模型,它不能有效地處理突然的變化,因為它把傳播模型看成是一個簡單的零均值高斯過程,其位置的方差是一致的。而將卷積神經網絡的層參數固定,僅對全連接層和輸出層參數進行更新,得到跟蹤目標的深度特征,再在粒子濾波框架下得到跟蹤目標的顏色直方圖特征。而將深層特征與手工制作的特征融合在一起,用于視頻目標跟蹤,提高跟蹤目標的精度,得到持續和魯棒的跟蹤。
在線粒子濾波跟蹤算法包括四個步驟:
c2中每個元素hU的計算公式為:
(4)
其中,K為歸一化常數,N為目標區域像素總個數,u為直方圖箱數索引值,f(xi)為xi所在直方圖段數的函數,δ為Delta函數。
步驟2:粒子傳播采用的是一個動態模型:
(5)


步驟3:通過觀測模型對粒子進行加權,每個粒子的權重為:
(6)
其中,λ為設計參數,D(n)為Bhattacharya距離:
(7)

(8)


(9)
其中,a為權重參數,C0為更新前模型的特征向量。通過這種方式,模型可以保持以前的外觀和當前的功能,閾值和加權平均控制了更新程度。該方法使跟蹤算法能夠處理運動、變形和遮擋等挑戰。
實驗計算機配置為Windows8系統內配置Ubuntu16.04虛擬機,以及CUDA8.0、CUDNN5.1、NVIDIA GTX1070TI。該算法在Matlab2016a上實現,對于離線學習,是在Ubuntu16.04虛擬機下進行,從最近發布的跟蹤基準數據集[3]中收集9 075個正樣本和17 535個負樣本,實驗選用目前主流的跟蹤平臺OTB-100和OTB-50數據集中具有實質性變化的全注釋視頻中的10個視頻序列進行實驗驗證,這些視頻序列在跟蹤問題上都存在不同場景和不同程度的跟蹤困難因素:遮擋、快速運動、形變、光照變化、背景相似等。
λ值設置為僅用于傳統的PF跟蹤的0.2,用不同數量的粒子對幾個視頻進行測試,得到粒子數為40時可以帶來良好的效率。通過整體比較,子采樣a1、a2、a3與a4的核參數設置成0.25。在訓練和跟蹤過程中,它們保持相同的值不變。
從兩個方面(跟蹤精度、跟蹤成功率)來評價該跟蹤算法的跟蹤結果,并比較各個算法性能。為了定量地突出深層特征和手工制作特征的跟蹤效果,將該算法與當前多種主流跟蹤算法進行對比分析,包括CPF、LOT、VTD、DFT、CSK、MIL跟蹤算法。為了比較公平,使用作者提供的代碼在測試序列中從第一幀的基礎真值位置初始化它們進行實驗。
為了評估這些跟蹤器,在測試序列中從第一幀的基礎真值位置初始化它們,并報告單程評估(OPE)值[3]。重疊率定義為JACARD系數:
(10)
其中,rt和rm分別為地面真實邊框和跟蹤邊框。一個視頻序列的重疊率是所有Jaccard系數的平均值。若s>0.5,則認為該幀目標被正確跟蹤[19]。平均跟蹤成功率的結果見表1,其中粗體表示該跟蹤序列中成功率最高的值。由表1中可知,文中算法在這些視頻序列的跟蹤性能總體上優于其他主流跟蹤算法。

表1 跟蹤成功率
圖2為7種跟蹤算法對10組測試視頻序列的整體跟蹤精度和跟蹤成功率的OPE曲線,可以看出,文中跟蹤算法的跟蹤成功率和跟蹤精度對于這10組測試視頻中的目標的平均值最高。


圖2 10 個測試序列的跟蹤精度和跟蹤成功率曲線
圖3是7種跟蹤算法10個視頻序列的部分序列跟蹤結果,左上角是該圖像序列的當前幀數。
(1)目標遮擋,Jogging,Lemming,Dudek,Soccer序列中,在運動過程中被跟蹤目標出現被不同物體不同程度的遮擋。Jogging在第79幀時目標被完全遮擋,直到第86幀目標又重新出現,而其他跟蹤算法皆丟失目標,只有文中算法能很好地跟蹤到目標;Lemming在第317幀時,目標被部分遮擋時,除了文中算法和CSK和VTD,其他算法都出現了跟蹤漂移,不難看出文中算法在出現遮擋情況下始終正確跟蹤目標,對目標遮擋有較好的魯棒性。

圖3 7種跟蹤算法10個視頻序列的部分序列圖
(2)光照變化,Singer1,Car4,Skating,Tiger1視頻序列中,在運動過程中被跟蹤目標出現不同程度的光照變化。其中Singer1序列在79-142幀光照出現了不同程度的強弱變化,VTD徹底丟失目標,而除了文中算法,其他算法都出現了跟蹤漂移。在Tiger1視頻序列中,在175幀和291幀的時候光照突然變強,除了文中算法和CPF、DFT,其他算法都發生了跟蹤漂移。不難看出文中算法對出現光照變化時始終正確跟蹤目標,對光照變化有較好的魯棒性。
(3)快速運動,Lemming,Dudek,Soccer,Tiger1視頻序列中,被跟蹤目標在運動過程中都存在快速運動的情況。其中Lemming序列中,在535幀到583幀中存在快速運動的情況,除了文中算法和CSK,其他跟蹤算法都出現了跟蹤漂移的情況。在Tiger1視頻跟蹤序列中,90幀的時候出現快速運動的情況,其中VTD,LOT跟蹤丟失,其他算法出現跟蹤漂移的現象,只有文中算法保持了良好的跟蹤現象。不難看出文中算法對在出現目標快速運動時始終正確跟蹤目標,有較好的魯棒性。
(4)目標形變,Bolt,Dudek,Sketing1,Tiger1視頻序列中,被跟蹤目標在運動過程中都存在形變的情況。在Bolt序列中,整個被跟蹤目標都是處于形變的狀態,而除了文中算法和VTD外,其他算法均跟蹤失敗,而在137幀后,VTD出現了跟蹤漂移的現象。在Tiger1序列中,在166幀和289幀時出現目標形變的現象,在166幀時VTD和LOT跟蹤失敗,在289幀時,除文中跟蹤算法外,其他算法均出現了跟蹤漂移的現象。所以文中算法對目標形變的情況也表現出了較好的魯棒性,基本上能始終正確跟蹤目標。
(5)相似背景,Dudek,Soccer,Skating1視頻序列中,被跟蹤目標在運動整個視頻序列中都出現了相似的背景情況。在Dudek序列中,整個跟蹤過程都處于灰色基調下,在173到200幀時,出現了背景雜斑現象,這時CSK徹底丟失目標,而除了文中算法,其他的跟蹤算法雖然也完成了整個過程的跟蹤,但是中間出現了跟蹤漂移的現象。Soccer序列和Dudek序列相似,整個過程背景與目標是同一個顏色,但是該序列中,從117幀開始,除了文中算法、DFT和LOT,其他算法均跟蹤失敗。而在Skating1序列中,從99幀開始出現了相似的目標,文中算法雖然中間出現過跟蹤漂移,但是最終還是完成了目標跟蹤。所以文中算法對存在相似背景的情況也表現出了較好的魯棒性,基本上能始終正確跟蹤目標。
提出了一種基于簡化CNN的視覺跟蹤算法,該算法將預處理網絡的全連接層的深度特征輸出與HSV顏色空間中顏色直方圖的手工特征相連接,將兩種特征相結合,用于在線粒子濾波的目標跟蹤。深層特征和手工特征的融合更有效地代表了目標,在具有背景雜波、光照變化、變形和遮擋等屬性的視頻中,相比其他跟蹤方法,該方法有較強的魯棒性。