單玉剛,郝 峰
(湖北文理學院教育學院,湖北襄陽 441053)
視覺目標跟蹤一直是計算機視覺方向研究的一個熱點,它被廣泛地應用在視頻監控、無人駕駛、醫學診斷以及人機交互等領域[1-2]。盡管研究人員已經提出了許多跟蹤算法[3-4],有些已在工程中應用。但是如何有效解決跟蹤過程中的目標尺度和方向變化問題仍是一個難點。在VOT2015[5]時提出使用旋轉矩形框來標識目標,可見尺度和方向自適應目標跟蹤已成為今后目標跟蹤研究趨勢。
針對目標旋轉變化問題,國內外學者提出了大量算法。董蓉[6]和趙欽君[7]等人通過配對SIFT角點進行仿射變換來計算被跟蹤目標的尺度和旋轉角度,Comaniciu[8]和馬偉[9]利用多次Meanshift 迭代方法實現尺度方向自適應跟蹤。Soamst[10]和Camshift[11]算法通過計算二階中心矩并構成協方差矩陣來估計目標的尺度和方向。文獻[12]應用貝葉斯理論實現基于粒子濾波的尺度和方向自適應運動目標跟蹤。
基于相關濾波和深度學習的目標跟蹤是當前視覺目標跟蹤研究的兩個熱點[13]。深度學習跟蹤更注重跟蹤精度,通常無法滿足實時性[14];而相關濾波跟蹤算法在跟蹤精度和跟蹤速度方面都表現良好[15]。自從2010年,Bolme[16]等提出相關濾波基本框架以后,相繼出現了CSK、CN、KCF(kernelized correlation filter)、DSST (Discriminative Scale Space Tracking)、SRDCF、SAMF、LADCF等優秀相關濾波跟蹤算法[17-20]。但這些算法都沒有考慮目標方向變化,在目標旋轉場景跟蹤效果不佳。KCF算法使用核函數和循環移位等方法構造多通道的相關濾波器,具有劃時代意義。盡管KCF算法有較好的跟蹤性能,但沒有考慮目標尺度和方向變化問題。DSST算法使用尺度池方法估計目標尺度,并沒有解決在目標旋轉時目標的表觀特征變化導致跟蹤失敗問題。
為解決跟蹤過程中目標方向變化問題,本文提出一種改進DSST算法,使跟蹤器適應目標尺度和方向變化。算法首先用多特征描述目標,使用目標HOG特征[21]結合HSV顏色特征來構造二維定位濾波器以提高目標定位的準確性。然后,采用方向池提取多方向一維特征向量構造一維核相關濾波器,實現對目標方向的自適應跟蹤。之后,改進尺度濾波器尺度池以減少尺度搜索時間。最后通過峰值旁瓣比(Peak to Sidelobe Ratio,PSR)值變化情況更新相關濾波模型。為驗證本文算法的有效性,挑選出典型意義的8組視頻測試本文算法的整體性能,并與KCF、CSK、CN、DSST等4種相關濾波算法進行對比。
設f表示從輸入圖像提取出的特征,g表示響應輸出,需要找到一個相關濾波器模板h,使其在目標圖像上響應最大,則有
g=f?h
(1)
其中,?表示卷積卷積運算,卷積運算會消耗大量時間。采用快速傅立葉變換FFT將(1)式變為點乘操作可極大地減少計算量
F(g)=F(f?h)=F(f)·F(h)*
(2)
可寫成G=F·H*,因此跟蹤任務就是尋找相關濾波器

(3)
正負訓練樣本可以通過將f沿垂直和水平方向上循環移位獲得,m,n是f中每個元素的索引,根據誤差最小平方和ε

(4)
可以求出濾波器

(5)

相關濾波算法的優越性表現在使用定制的置信圖g進行訓練,極大地減少了目標丟失的可能性。


(6)
這里特征f∈RM×N×D采用色度信息(HSV 顏色空間的H分量)與HOG組合特征,信息量比僅使用HOG特征更大,在跟蹤過程中可減小光照影響,有效提高定位精度。在第t+1幀中從目標候選區域提取多維特征圖z與訓練好的二維定位濾波器進行相乘運算,可以得到候選區域二維相關響應值:

(7)
E的最大值即可為當前跟蹤目標的中心位置:

(8)

圖1 特征提取過程圖
選用方向池方法對目標方向進行估計,設視頻序列第t幀當前目標方向為θ,目標圖像為G。設定方向池為O={o1,o2,…,on},通過仿射變換獲取目標各方向圖像特征。G上點x,y繞中心點逆時針旋轉β=θ+on角度得到點x′,y′,即圖像G(θ)旋轉后的圖像為G(β)。矩陣表示為

(9)


(10)

在第t+1幀中目標的多方向HOG特征Fo(t)與訓練好的一維尺度濾波器相乘,可以得到其一維相關響應值

(11)
通過尋找Eo中的最大響應值,即可得到當前跟蹤目標的最優方向估計為

(12)
方向變化采用等差變化的方法,可減少方向搜索范圍,設定方向池為O={10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10},共21個方向。



(13)

在第t+1幀中候選區的多尺度HOG特征Fs(t)與訓練好的一維尺度濾波器相乘,可以得到其一維相關響應值

(14)
通過獲取Es中的最大響應值,就可得到跟蹤目標的最優尺度估計

(15)
模型更新是目標跟蹤關鍵一環,可確保長時間跟蹤穩定性。本文使用自適應更新方法以確定跟蹤器的模型更新率。目標在不同因素影響下PSR值會有較大區別[22],因此,PSR值大小可以反映目標受上面干擾影響的程度。響應圖R的峰值強度可表示為

(16)


圖2 MountainBike數據集的PSR值分布及分析
圖2顯示了MountainBike數據集的PSR分布情況,PSR值越高目標位置的置信度越高。MountainBike序列從第到190幀到第199幀目標形變較小,相應的PSR值上升到峰點,如圖2中A點。隨著目標形變變大,PSR值逐漸減小,當目標在第211幀時,相應的PSR值下降到谷點,如圖2(a)中B點所示。目標模型更新權重wt根據每一幀的PSR值來確定。當PSR值很大,認為目標明顯出現在檢測范圍;當PSR值減小時,認為目標受到干擾,模型更新減緩;當PSR值小于閾值時,認為目標受到遮擋或者丟失,停止模型更新,這樣可避免模型發生漂移。三個濾波器模型更新機制為
其中,Rmin表示所有幀中PSR的最小值,Rmax表示所有幀中PSR的最大值,η表示學習率,閾值Rth=μ(R)-σ(R)。
在第一幀目標初始位置訓練三種相關濾波器,然后在下一幀執行三個濾波器,順序是:定位濾波器,方向濾波器和尺度濾波器。由方向濾波器獲取目標方向后,把當前幀繞目標中心點逆時針旋轉目標的方向角度,這樣做可確保接下來的尺度濾波在目標方向為0度角進行,使得尺度估計不會出現偏差。旋轉后,目標在當前圖位置也會相應變化,要及時更新目標位置。本文算法的流程如圖3所示,算法主要跟蹤步驟如表1所示。

圖3 跟蹤算法流程圖

表1 跟蹤步驟
硬件環境為Intel Celeron E3300 CPU,主頻2.5GHz,內存2GB,采用MATLAB 2017a進行編程實現。算法參數設置如下:目標ROI區域大小為目標的2倍,即padding=1;正則化參數λp=10-4,λo=10-2,λs=10-2;高斯核寬σp=1/16,σo=0.25,σs=0.25;學習率ηp=0.01,ηo=0.025,ηs=0.025。本文在OTB2013[23]數據集中選取了7組視頻,并選取了1組交通場景[24]進行實驗,與其它4種相關跟蹤算法進行比較。此外,為了表明算法在方向和尺度處理上的優越性,選取尺度和方向變化明顯的6組視頻進行中心誤差精度、成功率和單幀處理時間方面的比較。選取的對比算法有KCF、DSST、CN和CSK等。
尺度變換、目標旋轉、光照變化、部分遮擋、目標形變和快速運動等因素嚴重影響跟蹤性能,甚至導致跟蹤丟失目標。本文選取具有8個視頻圖像序列,從下面6個方面對算法進行定性分析。圖4給出了實驗中5種算法的部分跟蹤效果。其中,不同跟蹤算法用不同的顏色表示,紅色為本文算法,淺藍色為KCF算法、深藍色為DSST、綠色為CN算法和黃色為CSK算法,圖片中左上角數字為當前圖像序列的幀號。
1)尺度變化。在Vase、Boy、Dog1視頻中的目標均出現較明顯的尺度變化, 5種算法都能始終跟蹤目標,但只有本文算法和DSST算法能夠很好地適應目標的尺度變化。特別是在有1300多幀視頻的Dog1中,目標尺度大小交替變化,本文算法能長時間適應目標尺度的變化。

圖4 5種算法跟蹤結果對比
2)旋轉變化。在Vase、Skate2,Dog1、Motorolling、Boy、Traffic等6組視頻中都存在目標方向變化。在Vase、Skate2,Dog1視頻中,其它算法跟蹤偏差較大,而本文算法都能夠較好地跟蹤目標。視頻序列Traffic是交通監控錄像,一輛大巴正左轉彎通過某十字路口,期間方向逐漸發生變化。由圖4(d) 可見,由于跟蹤目標逐漸旋轉,其它算法的跟蹤漸漸偏離真實目標。在Motorolling視頻中摩托車手旋轉同時兼有尺度變化,無論是旋轉角度還是尺度,本文算法都能準確適應,其它算法丟失了目標。
3)光照變化、目標形變。在Motorolling視頻中,背景光照隨時間進行發生劇烈變化,同時目標外觀也發生了形變,CSK、KCF、CN、DSST 算法發生跟蹤漂移直至丟失目標,而本文算法使用了HOG特征和HSV顏色信息作為目標特征,對光照和形變具有良好的穩健性。
4)快速運動。在Boy視頻中,男孩的頭部快速移動導致KCF、CSK等算法失效,而本文算法和DSST算法始終保持對目標跟蹤,對于運動模糊的快速運動目標具有較好的魯棒性。
5)部分遮擋。在視頻Suv中目標發生了多次部分遮擋。到第678幀時,當目標再次被部分遮擋時,KCF、CSK和CN等算法丟失了目標。DSST算法和本文算法因為具有尺度處理和特征描述上的優勢,能夠適應部分遮擋,始終準確地跟蹤目標。


圖5 中心位置誤差圖

表2 成功率(閾值0.5)對比
表2 給出了算法在測試視頻中的成功率對比,覆蓋率閾值設為0.5。由表可見本文算法較其它算法在各類視頻中獲得了較優性能,目標旋轉角度變化越大性能越佳,平均跟蹤成功率比DSST算法提高了20.1%。算法實時性也是目標跟蹤的一項重要的評估指標,用每秒處理幀數來表示。表3列出了5種算法在不同視頻序列上的單幀處理時間,并在最后一行給出了算法的平均跟蹤速度。由于增加了一個方向濾波器,本文算法單幀耗時略高于DSST算法,這是因為算法采用多維特征構建定位濾波器模型,和構建方向空間進行了方向估計,并且模型更新引入了PSR判斷,但在這個軟硬件配置下10.9 frame/s的平均跟蹤速度基本上滿足實時性的要求。

表3 各算法單幀耗時和平均跟蹤速度
圖5給出了不同算法在Traffic、Dog1、MotorRolling、Skater2、Vase、MountainBike等6段視頻中的中心位置誤差對比,本文算法跟蹤誤差基本保持在15pixels以內。可見本文算法的定位準確度高于KCF、CSK、DSST、CN等算法。

圖6 目標方向隨時間變化圖

圖7 目標尺度隨時間變化圖
圖6給出了本文算法在6段視頻中的方位角隨時間變化圖,可以看出,跟蹤過程中跟蹤框的方位角隨時間變化而發生較平滑變化,平緩變化符合目標運動規律,表明本文算法在全過程跟蹤的準確性,同時表明本文算法對跟蹤目標的方向變化處理的有效性。圖7給出本文算法的尺度隨時間變化圖,可以看出,跟蹤過程中尺度因子隨時間變化而較平滑變化,說明了全過程跟蹤的準確性,同時表明本文算法對跟蹤目標的尺度變化處理的有效性。
本文提出一種改進的DSST算法。算法通過選擇HOG與HSV顏色相結合特征構建二維定位濾波器來提高定位精度。接下來,使用方向池構建一維方向濾波器,并改進尺度濾波器尺度池實現目標的精確方向和尺度估計。最后,通過計算PSR值指導更新相關濾波器模型。實驗結果驗證了本文算法對跟蹤目標的尺度和方向變化具有魯棒性和有效性。
為了提高目標在長時間遮擋時的跟蹤性能,遮擋處理方法將是下一步研究方向。另外,嘗試著將相關濾波與深度學習方法結合起來以進一步提高算法跟蹤精度。