陳均瑞 盛守照 李郴榮
(南京航空航天大學 南京 210016)
目標跟蹤技術是計算機視覺領域中一個重要的研究課題,在視頻監(jiān)視,無人駕駛,視覺制導等多個領域廣泛應用[1]。近年,視覺跟蹤算法發(fā)展迅猛,涌現(xiàn)了很多高性能跟蹤算法[2]。視覺跟蹤算法可分為生成式與判別式兩種類型[3]。生成式算法如孫巧等[4]的提出基于粒子濾波的目標跟蹤,判別式算法相對較多,2012 年 Zdenek Kalal[5]提出了Tracking-learning-detection算法,該算法通過引入檢測器以及學習器較好地解決了目標變化以及目標丟失重跟蹤的問題。Bolme等[6]提出的MOSSE算法首次將相關性濾波應用到視覺目標跟蹤領域。2014年,Henriques等[7]提出了KCF和DCF算法,具有較優(yōu)的跟蹤性能。Martin Danelljan等提出了DSST算法[8],較好地解決了跟蹤尺度估計問題。C-COT[9]算法利用神經(jīng)網(wǎng)絡實現(xiàn)特征的提取,跟蹤準確度有較大提升,但是速度較慢。成悅等[10]提出了基于多特征得到核相關性濾波方法,解決特征單一的問題。工程應用上普遍需要對目標長時間跟蹤,基于相關性濾波算法在目標快速運動,尺度變化,遮擋以及目標離開跟蹤視頻等情況下,容易出現(xiàn)跟蹤失敗或者無法重新跟蹤,這是當前亟待解決的一個問題。本文在核相關性濾波的基礎上引入多尺度檢測,同時引入TLD算法框架。并在多組實驗中驗證本算法的有效性。
基于核相關性濾波算法可基本滿足短時間的目標跟蹤,因此本文引入TLD長時跟蹤算法的框架,用以糾正核相關性濾波跟蹤器出現(xiàn)的跟蹤失敗。同時本文設計了基于多尺度變化的核相關性濾波算法,用以跟蹤器在目標大尺度變化與高速運動時的跟蹤準確性。
基于核相關性濾波的長時間目標跟蹤算法實現(xiàn)如圖1所示。
圖1 長時間目標跟蹤算法結構圖
基本算法流程:
Step1:首先在視頻流中框定目標所在的區(qū)域,并將此時的視頻幀作為首幀,然后分別初始化檢測器、跟蹤器以及EKF預測器。
Step2:跟蹤器采用尺度多核相關性濾波算法。計算峰值位置作為跟蹤結果,同時跟蹤峰值大小判斷是否跟蹤失敗。
Step3:利用擴展卡爾曼濾波器對目標區(qū)域預測。以預測區(qū)域劃定一個矩形范圍。將該檢測范圍輸入級聯(lián)檢測器檢測。
Step4:綜合模塊判斷跟蹤器和檢測器輸出的結果。如果跟蹤器檢測器均無法在當前幀檢測到目標,則返回Step3;如果成功檢測目標,則顯示目標位置,并且判斷目標是否有效,如果有效進入Step5,否則返回Step2。
Step5:P-N學習算法通過有效幀數(shù)據(jù)更新檢測器。
Step6:判斷是否結束跟蹤,若是則結束跟蹤程序,否則返回Step2。
本節(jié)針對尺度快速變化與目標高速運動的情況,引入了多尺度檢測對核相關性濾波算法改進,提高相關性濾波跟蹤器的魯棒性。
核相關性濾波跟蹤算法是一種判別式跟蹤方法。算法利用訓練后的檢測模板,對檢測區(qū)域進行檢測,計算檢測峰值,將檢測峰值的位置作為跟蹤目標位置。訓練目標檢測器時選取目標區(qū)域為正樣本,通過循環(huán)矩陣,循環(huán)位移得到負樣本,越靠近正樣本可能性越大。通過使用[0,1]范圍的值作為樣本的回歸值,從而得到不同偏移下得到的樣本的不同權重。
核相關性濾波算法中將分類器的訓練過程是一個嶺回歸問題[6]。其目的是找到一個目標函數(shù)f(z)=wTz,在此函數(shù)下所有的樣本xi以及回歸目標yi下最小化均方差即:
式中,λ為正則化參數(shù)。
通過式(1)回歸器預測到的樣本標簽與真實目標標簽差距最小。得到最小化平方誤差閉式解為
式(2)中,矩陣 X為樣本矩陣,向量 y為回歸目標向量,I表示單位矩陣。文獻[7]中采用循環(huán)位移得到樣本,根據(jù)循環(huán)矩陣的性質,可避免矩陣求逆。則樣本矩陣X為
最后得到的核化的嶺回歸的求解為
通過嶺回歸求解,可以訓練得到濾波器,然后在在下一幀數(shù)據(jù)進入后,我們可以對于所有檢測區(qū)域計算回歸函數(shù):
式中 f(z)為一個向量,其包含所有檢測區(qū)的循環(huán)移位以及所有檢測的響應,進而檢測響應圖,計算響應圖的最大值的位置,作為跟蹤目標位置。
根據(jù)3.1節(jié)對核相關性濾波跟蹤器分析,可知該相關性濾波跟蹤器是僅僅檢測上一幀位置周圍2.5倍范圍,因此算法僅僅滿足跟蹤目標位置和尺度變化不大的情況,一旦出現(xiàn)較高速運動或者較大尺度變化時容易導致跟蹤失敗。
針對該問題本文引入多尺度特征檢測的策略。先進行尺度較大得到圖像進行檢測,然后逐步縮小尺度,與上一尺度比較相關性濾波峰值,最后確定當前較優(yōu)的目標尺度,其檢測示意圖如圖3所示。
圖2 多尺度檢測示意圖
為了快速地同時確定下一幀圖像的尺度以及大致位置,設計了多尺度檢測快速調整策略。輸入下一幀圖像后將檢測范圍擴大到圖像輸入的最大尺寸,然后對圖像進行檢測,確定峰值的大致范圍;再將檢測位置調整到上一幀位置(Clx,Cly)大尺度檢測的峰值位置(Cmx,Cmy)的中間位置,調整方法如下:
式中,Cx、Cy分別是調整后的目標位置,Cmx、Cmy為大尺度檢測的位置,Clx、Cly為上一次的檢測位置,λ為調整參數(shù)。
位置調整后進行尺度調整,首先選擇一個在最大尺度與上一幀尺度的中間尺度作為一個起始調整尺度,然后做第一次尺度更新。
式中,roix、roiy分別是調整后的目標尺度,roimx、roimy為大尺度,roilx、roily為上一次的檢測尺度。
調整完成后進一步檢測,根據(jù)檢測結果進行調整尺度。最后峰值最高的輸出為當前幀的檢測尺度。然后尺度調整策略采用二分法的形式搜索最優(yōu)檢測尺度,尺度調整流程圖如圖3。
圖3 多尺度調整流程圖
圖中縮小尺度的方法是:縮小至當前檢測尺度與已檢測尺度中比當前尺度小的最大尺度的一半。擴大尺度的方法與縮小方法類似。通過多尺度檢測算法,可以得到不同尺度的檢測響應圖:以其中一幀檢測的響應圖為例如圖4所示。
圖4中第一個響應圖是最大尺度的檢測響應圖,由于尺度較大其檢測峰值不高,但是可以確定目標的大致位置,逐步收縮檢測尺度檢測峰值越來越高,最后可以得到較優(yōu)檢測尺度下的檢測響應圖。
圖4 多尺度檢測響應圖
鑒于核相關性濾波跟蹤算法始終存在跟蹤失敗后無法模板偏移的問題,因此本文引入TLD算法框架,實現(xiàn)基于核相關性濾波的長時間跟蹤。
TLD算法中的跟蹤器所采用的是金字塔光流法,該算法通過計算像素點運動方向與速度進而實現(xiàn)跟蹤,因此其計算速度與準確性相對基于核相關性濾波的跟蹤算法較低。將多尺度的核相關性濾波跟蹤算法只作為跟蹤器,同時通過檢測判斷峰值大小,如果峰值小于閾值則判斷跟蹤失敗。
基于核相關性濾波改進的TLD算法結構如圖5所示。
圖5 核相關性濾波改進的TLD算法算法結構
由于在跟蹤過程中跟蹤目標的運動狀態(tài)不斷改變,針對跟蹤目標的運動過程,建立目標運動模型,利用EKF濾波器預測檢測模塊掃描窗口,提高檢測效率與準確性[11]。
根據(jù)跟蹤目標的動力學模型,建立系統(tǒng)狀態(tài)方程與系統(tǒng)觀測方程為
式中,f為系統(tǒng)狀態(tài)轉移函數(shù),xk為k時刻的狀態(tài)向量,包括跟蹤目標的二維速度向量[vxvy]T,以及二維位置向量三維速度向量[vxvy]T,h為系統(tǒng)測量方程,ωk-1為k-1時刻過程噪聲和,vk為k時刻的量測噪聲。
假設ωk-1和vk是相互獨立且滿足正態(tài)分布:ωk~N(0 ,Q ) ,vk~N(0 ,R )??舍槍κ剑?)做泰勒級數(shù)展開,僅取一階項,可將系統(tǒng)近似為一個線性系統(tǒng),得到:
式中,F(xiàn)k與 Hk分別為 f(xk)和 Hk的雅各比矩陣。則可得到EKF的預測方程為
式中,P為預測的協(xié)方差,K為增益矩陣。
完成跟蹤位置預測后,則圈定檢測范圍并送入級聯(lián)檢測器中,步驟如下:
1)以當前幀檢測器位置輸出作為量測量,以上一幀中目標位置為系統(tǒng)狀態(tài)量,運用EKF預測方程預測目標中心位置[11]。
2)在預測中心劃定一個矩形區(qū)域,其大小為上一幀檢測框的2.5倍。
3)對檢測框進行掃描,得到的掃描圖像作為級聯(lián)分類器的輸入,進而判斷檢測框內是否存在目標,并計算目標位置。
圖6 EKF位置預測效果對比圖
如圖6所示,引入EKF位置預測后檢測器的檢測精度有所提升,尤其是在移動速度較快時,效果明顯。
本文使用OTB的long-term測試序列對跟蹤算法進行實驗驗證,同時對比了長時跟蹤算法TLD跟蹤算法與Sturck[12]算法。比較結果見圖8,表1由比較結果可以看出,本文算法表現(xiàn)最優(yōu)。本文算法比長時間跟蹤算法TLD速度較快,這是由于本文采用了檢測區(qū)域預測以及改進了跟蹤模塊算法。在跟蹤準確度方面,本文算法表現(xiàn)最優(yōu),由于本文算法同時集成了多尺度核相關性濾波的優(yōu)勢以及TLD算法的優(yōu)勢,因此跟蹤準確率好。
表1 本文算法其他算法定量比較結果
圖7 跟蹤準確率和跟蹤成功率
圖8 算法性能對比圖
跟蹤目標快速運動,尺度快速變化以及遮擋、形變等情況均影響跟蹤算法的性能。圖6為本文對KCF,DSST、CSK[13]、TLD以及本文算法在遮擋、快速運動、尺度變化以及目標丟失的測試結果。由圖7可以看出,本文算法魯棒性最優(yōu),在跟蹤目標快速尺度變化時,只有DSST與本文算法可以準確地跟蹤目標,以及估計目標尺度。在出現(xiàn)部分遮擋,以及形變等情況,KCF,DSST以及本文算法表現(xiàn)良好,而TLD以及CSK均出現(xiàn)跟蹤失敗的情況。綜上,分析本文算法解決了跟蹤目標快速變化以及尺度快速變化的問題。實現(xiàn)了魯棒性更強的長時間目標跟蹤。
本文提出了基于核相關性濾波的長時間跟蹤算法,以多尺度的核相關性濾波算法作為跟蹤器,同時引入TLD算法框架。通過實驗驗證,提出的算法在跟蹤目標快速移動,尺度快速變化以及物體遮擋形變的干擾下,不易跟蹤失敗,同時在出現(xiàn)跟蹤目標丟失或者跟蹤失敗的情況下,可初始化跟蹤器,實現(xiàn)長時間的準確跟蹤。