田應仲,劉伊芳,李 龍
(1.上海大學 機電工程與自動化學院,上海 200444; 2.上海市智能制造及機器人重點實驗室,上海 200444)
目標跟蹤技術在各行各業發揮著越來越重要的作用,具有極大的研究意義。目標跟蹤任務的過程是第一幀標定跟蹤目標的位置和大小,在接下來的每一幀預測出跟蹤目標的位置、大小。整個跟蹤過程首先,初始化目標框,然后,在下一幀中產生眾多候選框,提取候選框的特征,并對候選框打分,最后選出得分最高的候選框即為預測的目標對象,或者對多個預測值進行融合,得到更優的預測目標。
文獻[1]在2014年提出核相關濾波(KCF,kernel correlation filter)跟蹤算法。KCF跟蹤算法引入循環矩陣線性可對角化的性質,并且通過嶺回歸模型計算模板樣本和當前樣本的相關性,來預測目標所在位置。該算法將時域的卷積轉換到頻域的點乘,避免了求逆過程的計算量,可顯著提升跟蹤速度,獲得學者們的廣泛關注。
近些年,深度卷積網絡(CNN)學習技術迅速興起,尤其在視覺檢測和目標識別獲得巨大進展,將深度學習技術應用于目標跟蹤成為熱門研究方向之一。深度卷積網絡在特征提取方面的強大能力,使目標跟蹤在許多復雜場景中的準確率顯著地提升。通過研究卷積網絡發現,其底層特征更注重細節,而其高層特征更能體現語義信息[2]。若將各層卷積特征加權融合,則目標檢測的效果優于僅用單層特征。具體來說,首先,將每一層中提取的特征分別送到核相關濾波器中學習,其次,再根據場景不同,調節各層權重,線性融合各層的特征,最后,由相關濾波器來預測目標為主。綜上,將深度特征應用在核相關濾波算法中,可將深度學習的精度與核相關濾波的速度兩個方面優勢互補,全方面提升跟蹤效果。
如圖1所示,卷積神經網絡是三維空間模型,主要有三部分組成:輸入層、中間層、全連接層。輸入層是圖像信息的輸入,為保證效果,輸入的圖像會進行預處理。中間層由卷積層和池化層交替組成。如果層數越多,則計算量越大,結構也越復雜。卷積層是卷積神經網絡的核心,主要用于圖像處理。池化層能夠通過處理相鄰區域的特征減少參數。全連接層在整個模型中起到“分類器”的作用,且不含有空間信息。卷積神經網絡的最終結果由全連接層輸出。

圖1 卷積神經網絡結構圖
眾所周知,卷積神經網絡在目標跟蹤方法具有強大的優勢。首先,深度卷積網絡因具有極高的目標特征提取與表達能力,在跟蹤精度和魯棒性方面超越了傳統目標跟蹤算法。其次,卷積神經網絡采用端到端的學習方式,用單個模型替代多模型,這樣不僅可以減少數據,降低計算復雜度,也可以降低由多個模型帶來的累積誤差。但是,卷積神經網絡還存在一些問題亟待解決:1)在跟蹤過程中,需要一直在線微調,這會降低跟蹤的速度,并且,多尺度檢測也會降低跟蹤的實時性;2)卷積網絡不同層提取到的特征對目標的定位作用不同,每一層提取的各層特征算子并未得到充分利用。
為了解決以上兩點問題,在眾多卷積神經網絡模型中選用ZFnet[3]算法作為基本框架。ZFnet算法基于Alexnet改進卷積層數少,結構簡單,且不需要在線更新網絡模型,保證算法實時性的同時兼顧精度,曾獲2013 ILSVRC2013的冠軍,具有非常好的性能。ZFnet網絡介紹如下:輸入的圖像為三通道固定大小224×224。網絡的第一層有96 個不同濾波器的卷積,其中每個濾波器的大小均為 7×7,橫縱向的步長均為 2。激活函數是ReLU,用于處理非線性問題。池化層大小為 3×3。池化層后是局部響應歸一化LRN,可以增強模型的泛化能力。以此方法類推,完成卷積層2,3,4,5層的操作。卷積層后是兩個全連接層以 4096 維向量形式輸出結果。
為了進一步提升ZFnet算法的跟蹤精度,提出分層特征提取機制。ZFnet算法由5個向量卷積層組成。當輸入同一張圖片到卷積神經網絡模型中時,不同卷積層的輸出結果不同。原始圖片經過卷積層采樣之后,層數越高,得到的語義信息更豐富,更易區分出來目標物體的類別。但是,也造成了特征圖片不清晰和分辨率下降,在目標外形顏色等細節識別上存在劣勢。之所以出現圖片輪廓不清晰的問題,是因為采樣過程中過濾掉了圖片中的細節特征。綜上,第一層和第二層表示基本特征,具有較高的空間分辨率。比如邊緣、顏色等特征。第三層具有復雜環境的空間不變性,能識別相似的紋理特征。第四層能夠顯示特定類別之間的明顯差異。第五層包含更多抽象語義信息,能表示整個目標的全面變化。于是,當面對背景劇烈變化時,我們會適當加大第四層和第五層的權重。當目標靜態遮擋嚴重時,可調高第一、二和三層權重。
為將淺層特征與深層特征更好地結合,提出一種自適化逐層推理化的模型。具體推導如下,每層卷積網絡的響應圖為:
f=R(z)=F-1(w⊙ψ(z))
(1)
其中:F-1是傅里葉逆變換;w核相關濾波器; (z)是卷積通道的特征。
每層卷積網絡根據響應位置得到的預測結果為:

(2)
其中:l是層數,m、n是響應圖的目標位置,ul是l層對應系數。
若從第三、四、五層卷積層提取特征,每層得到三個不同的響應結果f1、f2和f3。則從最高層(第五層)開始推理,得到最大響應值的位置后,在下一層(第四層)取半徑為r的區域,找到第四層和第五層響應值線性組合最大的響應位置,即為第四層目標位置。以此類推,可以得到每層響應的最大位置。逐層推理的公式如下:
(3)

在得到每層的響應位置后,融合多層輸出特征可以更全面表征圖像。將第三層、第四層和第五層中提取的特征進行加權融合。但是由于卷積模型中的池化作用,每層的特征圖尺寸大小不同。所以,在融合之前需要先用雙線性插值的方法將圖像進行歸一化采樣。采樣后的每層圖像大小相同,使用公式(4)進行加權融合,計算融合后的響應圖位置,則是目標的預測位置。
f=a1f1+a2f2+a3f3
(4)
其中:f1、f2和f3分別是第三、第四和第五層的響應圖。a1、a2和a3分別是第三、第四和第五層的響應圖對應的權值。
(5)
其中:P(xi,yi)是預測目標的位置,也是最終響應圖的最大響應值。
孿生網絡模型可以從圖像中提取更具判別力的卷積特征,而核相關濾波模型具有快速檢測的能力,能加速跟蹤算法。將兩種算法融合,從而實現優勢互補。圖2是孿生網絡與核相關濾波算法融合的算法結構圖。

圖2 孿生網絡與核相關濾波算法融合圖
融合跟蹤算法的主要流程如下:首先,分別輸入樣例圖像和當前搜索圖像到孿生網絡模型;然后,孿生網絡模型根據相似度函數求出當前搜索圖像中與樣例圖像相似性最高的區域,并將結果輸出到濾波器中;最后,濾波器通過對兩張圖的相關操作,生成相似度概率熱圖。概率熱圖中的最大值就是目標所在位置。
核相關濾波算法將初始圖像通過循環移位構建訓練樣本矩陣X,監督標簽Y,核相關濾波系數是W,W是一系列的高斯分布值,則核相關濾波回歸模型可表達為:
(6)
其中:λ1為正則化系數,*是核相關濾波卷積運算。
將每層卷積網絡都加入核相關濾波器后,可以用深度學習框架優化求解濾波器回歸模型,構建卷積神經網絡能量函數,并優化該函數使之能量最小化。
(7)
其中:Lw(X(i))是學習損失項,γ(W)是正則化項,i是當前樣本數,N是訓練樣本總數。
在訓練過程中,為了進一步降低預測值與真實值之間的差異,提出損失函數這一概念:
L(W)=‖F(x)-Y‖2+λ1‖W‖2
(8)

為了進一步感知目標周圍的背景信息,在卷積網絡中融入背景感知模型:
(9)
其中:x0代表目標,xi是目標附近的背景圖像,它們循環移位構造的矩陣樣本分別是f(x0)和f(xi);L+(x0)為正樣本損失函數,L-(xi)為負樣本損失函數,都為2范數損失項;‖w‖是正則化式;λ1和λ2分別為正則化系數和正負樣本控制參數;k是負樣本個數。
將核相關濾波器融入卷積層時,修改能量函數為:
(10)
在跟蹤過程中經常會遇到目標被障礙物部分遮擋或者全部遮擋,其中很多障礙物跟目標具有相似外形,這給跟蹤的過程帶來了極大的挑戰。
目標識別過程選用置信度響應圖函數,置信度越高代表越接近目標。函數如下:
(11)

(12)

(13)

最后通過式(12)濾波操作可求解響應值,響應值最大處即為預測的跟蹤目標位置。
(14)
實驗評估視頻訓練數據集選用CVPR2013發表出的OTB-50(object tracking benchmark)[4]。實驗硬件配置是2.6 GHz Intel CoreI5 CPU,8 GB 內存。軟件是Window10系統上Matlab2018a以及谷歌云GPU服務器。在ImageNet上預訓練網絡模型。
實驗參數如下:正則化參數λ1=10-4,λ2=25。卷積層第五層到第三層的參數依次為1,0.5,0.25。實驗部分從定性和定量兩個方面評估改進后的算法(Ours)。
圖3介紹的是Ours在girl視頻訓練集上的跟蹤效果對比圖。整個視頻出現了很嚴重的遮擋現象,并且目標在視野內旋轉形變。這些挑戰給跟蹤過程帶來了困難。從圖3可以看出Ours算法能夠準確識別目標。這是由于算法采用深度特征處理圖像信息。此外,深度特征還可以應對尺度變化的挑戰,在目標發生尺度變化時,可以自適應調節跟蹤框,保證良好的目標識別效果。因此,將卷積神經網絡模型和核相關濾波算法相結合,可以直觀地看到跟蹤性能的明顯提升。

圖3 girl視頻訓練集定性評估
Ours算法與將之前發表流行目標跟蹤算法進行一次通過評估(OPE,one-pass evaluation)。OPE是指從視頻序列的第一幀開始,按照視頻順序,運行到最后一幀。評價指標包括精確率和成功率。精確率采用中心位置誤差進行評估,具體是指預測目標中心位置與實際目標中心位置之間平均歐式距離。成功率是指跟蹤器預測的目標框與真實框的重疊面積與兩個目標框總面積之比。對比的算法主要分為兩大類。一類是傳統的目標跟蹤算法,包括:staple[5]、KCF[1]、fDSST[6]和CSK[7];另一類是基于深度學習的跟蹤算法,包括:DCFnet[8]、Raf[9]和CNT[10]。
通過本章算法與其他優秀的7種算法比較,可以看出本章算法性能表現優異。由圖4可以看出,Ours在精確率和成功率都排名第一,在OPE評估方式中平均準確性達到了90.0%,相比于核相關濾波算法(KCF)70.2%的精確度,提升28.6%;平均成功率達到了80.2%,相比于KCF 60.6%的精確度,提高了32.3%。實驗證明Ours魯棒性更好,相較于KCF有較大提升。
由圖5可以看出,KCF、CSK和staple傳統跟蹤算法在遇到背景復雜、目標發生形變或被嚴重遮擋的情況下跟蹤精確率較低。這是由于他們使用的手工特征,提取特征較少,沒有充分利用圖像信息。相反,基于深度特征的視覺跟蹤算法,如Ours、DCFnet具有結構性的特點,夠將目標和背景進行更加精準的區分,準確識別目標物體,算法的魯棒性較強。圖5(a)的實驗結果表示,在目標發生外觀變形的挑戰下,Ours算法精確度87.5%,在各類對比算法中排名最高。相較于KCF算法67.1%的精確度,提升30.4%。這是由于Ours算法用卷積神經網絡模型擁有尺度自適應的目標檢測處理機制。目標識別框隨著跟蹤目標的尺度變化而變化,這樣能避免目標圖像信息采集不全或者目標框內冗余信息過多。但是,KCF算法的跟蹤框由第一幀人為標定,后期跟蹤過程中不會隨著目標尺度發生變化。圖5(b)背景模糊評價指標中,Ours跟蹤精度排名第一,精確率86.3%,在各類對比算法中排名最高。相較于KCF算法68.8%的精確度,提升25.4%。在跟蹤過程中,當遇到目標物體與障礙物形狀、顏色相似,背景信息雜亂的情況時,需要充分考慮目標的上下文信息。Ours算法在融入深度特征的同時,加入背景感知模型,充分利用目標周圍具有參考意義的障礙物協助判別目標,從而提升目標識別率。然而,KCF算法沒有利用目標周圍的背景信息,在應對目標非剛性形變時,很難對目標進行精確定位。從圖5(c)可以看出,各類算法在應對遮擋類挑戰時,Ours跟蹤精度排名第一,精確率86.5%。相較于KCF算法74.9%的精確度,提升15.4%。遮擋問題是在跟蹤過程經常遇到的挑戰,Ours算法引入遮擋判別機制,可以有效提升跟蹤的準確率。在目標遇到障礙物遮擋時,Ours算法仍能夠精準識別跟蹤目標。然而,KCF缺乏跟丟重新識別機制。當跟蹤失敗后,KCF并不能繼續對目標進行重新識別。這些劣勢導致KCF算法不能應對遮擋嚴重的場景。基于深度特征的Ours3和DCFnet在以上三類具有代表性的挑戰中分別排在前兩位,也證明出深度特征比手工特征更具有優勢。

圖4 OPE(一次性通過性)定量評估圖

圖5 OPE(一次性通過性)評估指標下不同場景的的精度率跟蹤性能對比曲線
首先介紹了ZFnet結構原理,然后將每層網絡分別進行研究,發現高層特征有更強的語義信息,低層卷積特征具有更多的空間信息。為了實現兩類特征優勢互補,將各層特征進行結合。同時為了利用核相關濾波算法的高效計算能力,將這兩種算法結合,既可以提高跟蹤的精度,也能保證算法的實時性。此外,在應對跟蹤過程中的遮擋問題,設計了基于遮擋判別的更新策略,提升跟蹤精度。最后,在公開視頻序列的OTB-50數據集上對各種跟蹤算法進行評估,分析跟蹤算法的精確率和成功率。改進后的算法在GPU環境下的運行速度可以達到38 FPS,可以滿足實時性需求。