馮志剛,王海州,劉 俊,朱琳琳
(沈陽航空航天大學(xué) 自動化學(xué)院,沈陽 110136)
目標跟蹤技術(shù)的研究在計算機視覺領(lǐng)域研究中占據(jù)了重要地位,在社會安全、軍事偵察、自動駕駛等方面都有著廣泛的應(yīng)用。近些年來目標跟蹤技術(shù)的研究越來越被重視,涌現(xiàn)出許多表現(xiàn)優(yōu)秀的跟蹤算法。跟蹤算法可以分為兩類:一類是生成式跟蹤算法,另一類是判別式跟蹤算法[1-3]。和生成式算法相比,近些年判別模型法因其跟蹤精準度較高并且跟蹤速度較快等優(yōu)點,得到了更加廣泛的使用[4]?;谙嚓P(guān)濾波的跟蹤算法是判別式跟蹤算法中使用相對廣泛的算法,Bolme等[5]首次將相關(guān)濾波方法引入跟蹤領(lǐng)域,提出一種最小平方誤差輸出和(Mininum Output Sum of Squared Error,MOSSE)濾波器,在跟蹤實時性與準確性上取得了較好的效果。Henriques等提出的核相關(guān)濾波KCF目標跟蹤算法用方向梯度直方圖特征代替圖像像素信息,并將特征樣本經(jīng)過循環(huán)移位形成大量樣本,引入高斯核函數(shù),將低維不可分的特征信息轉(zhuǎn)換為高維可分,從而便于計算特征相關(guān)性,樣本分類器的訓(xùn)練與新樣本檢測過程則利用離散傅里葉變換和循環(huán)矩陣的性質(zhì)可以降低運算維度,提高了算法的運算速度。Bertinetto等將HOG特征和CN特征進行融合,提出了Staple算法,在模糊、光照變化明顯的情況下可以完成有效的跟蹤。張晶等[6]提出了ECO算法,簡化訓(xùn)練樣本,解決魔性的過擬合問題,在運行速率和跟蹤效果上都有很好的表現(xiàn)。Zuo等[7]對支持向量機的相關(guān)濾波算法進行改進,擴大樣本間的差異性,從而優(yōu)化了分類結(jié)果。但在大多數(shù)相關(guān)濾波算法中,并沒有對預(yù)測結(jié)果的可信度作判斷,直接將其作為樣本訓(xùn)練分類器。在將背景誤判為目標的情況下,容易污染訓(xùn)練樣本集,無法對目標重新定位,導(dǎo)致跟蹤失敗。
針對樣本污染、目標重定位等問題,本文對KCF算法進行改進,提出一種將均值漂移算法與KCF算法相結(jié)合對目標位置和尺度進行判斷的估計目標位置的方法,通過目標響應(yīng)極大值與鄰域響應(yīng)平均值的比值判斷目標是否受到遮擋。若判斷為目標被遮擋,使用ORB特征匹配算法完成目標的重定位。
KCF算法是判別式跟蹤方法中效果較好的一種,通過將樣本進行循環(huán)位移得到新的樣本集,在得到的樣本集上對KCF算法的分類器進行訓(xùn)練,從而得到更優(yōu)秀的分類器,之后使用高斯核函數(shù)求出目標樣本與待檢測樣本的相關(guān)性響應(yīng),響應(yīng)值最大的點坐標為目標最新位置,使用新目標的特征對分類器進行更新。上述過程需要通過離散傅里葉變換從時域轉(zhuǎn)換至頻域,可以大幅度減少運算量,提高運算速度[8]。
假設(shè)將n維列向量x作為基礎(chǔ)樣本,通過循環(huán)移位算子P來建模該向量x的轉(zhuǎn)換,循環(huán)移位算子P是置換矩陣。
{xPi|i=0,1,…,n-1}
(1)
(2)
式(1)中:Pi表示將樣本x位移i位,設(shè)Ai為循環(huán)位移后的樣本,Ai=xPi,i=0,1,…,n-1,由Ai可以組成樣本循環(huán)矩陣A.
A=[A0,A1,…,An-1]
(3)
KCF算法是由CSK算法發(fā)展衍生而來,為了得到更多目標樣本的采集種類,以多通道的HOG特征代替灰度特征并提高跟蹤的速度與精度。
HOG特征是將圖像劃分為較小的局塊,稱為cell,在cell里提取梯度信息,繪制梯度方向直方圖,然后為了減少光照影響,將幾個cell的方向直方圖串在一起進行block歸一化,最終將所有的cell直方圖串聯(lián)起來得到圖像的特征。
KCF算法中特征的提取是將sample區(qū)域分成若干區(qū)域,每個區(qū)域提取特征,將梯度方向劃分了9個Pin,每個方向提取了3個特征,2個是對方向bin敏感的,1個是不敏感的,另外4個特征是關(guān)于表觀紋理的特征,還有1個表示階段特征,值為0。提取31個特征(最后1個0不考慮)之后將每個cell的特征組合起來,可以得到圖像的特征矩陣,利用置換矩陣P循環(huán)處理特征矩陣,得到圖像特征樣本X。
(4)
式(4)中:i=0,1,…,m-1,j=0,1,…,n-1,X00為沒有循環(huán)位移的原始特征樣本,Xji表示橫向位移j位,縱向移動i位得到的位移樣本。
KCF算法需要找到一個非線性映射函數(shù)φ(x),使映射后的樣本在新空間中線性可分,那么在新空間中就可以通過脊回歸來尋找一個分類器f(xi)=ωTφ(xi),得到的權(quán)重系數(shù)
(5)
其中,y表示滿足高斯分布的樣本輸出,φ(x)表示將樣本映射到核空間的函數(shù)。ω是φ(X)=[φ(x1),φ(x2),…,φ(xn)]T行向量張成空間中的一個向量,所以令
ω=∑iαiφ(xi)
(6)
式(6)變?yōu)?/p>
α=min‖φ(X)φ(X)Tα-y‖2+λφ‖(X)Tα‖2
(7)
該問題稱為ω的對偶問題,φ(X)φ(X)T類似于核空間變量的協(xié)方差矩陣,矩陣的轉(zhuǎn)置乘以矩陣一定可逆。
核矩陣是循環(huán)矩陣,應(yīng)該滿足兩個條件:第一個樣本和第二個樣本都是由生成樣本循環(huán)位移產(chǎn)生的,可以不是由一個樣本生成。
令關(guān)于列向量α導(dǎo)數(shù)為0,得到
α*=(φ(X)φ(X)T+λI)-1y
(8)
一般不知道非線性映射函數(shù)φ(x)的具體形式,而只是刻畫在核空間的核矩陣,φ(X)φ(X)T令K表示核空間的核矩陣,由核函數(shù)得到,那么K=φ(X)φ(X)T,得到α*=(K+λI)-1y,若K是循環(huán)矩陣
(9)
Xt+1=(1-τ)Xt+τXt+1
(10)
(11)
雖然KCF算法具有追蹤速度快、識別準確率高等優(yōu)點,在視頻跟蹤領(lǐng)域得到了廣泛的應(yīng)用,但KCF算法在追蹤目標受到大面積遮擋或完全遮擋時,目標的特征信息被遮擋物的特征信息干擾,導(dǎo)致算法在追蹤目標時容易出現(xiàn)較大的偏差。
當追蹤目標未被遮擋時,目標樣本響應(yīng)如圖1所示,未遮擋的檢測響應(yīng)分布圖像曲線接近二維正態(tài)分布,其響應(yīng)極大值對應(yīng)檢測響應(yīng)分布圖像的最高點。當追蹤目標受到遮擋后,目標樣本響應(yīng)如圖2所示,相當于在目標未被遮擋時的目標樣本響應(yīng)上疊加一個服從高斯分布的噪聲[12]。
圖1 未被遮擋目標樣本響應(yīng)圖
圖2 被遮擋目標樣本響應(yīng)圖
但是相比未被遮擋目標樣本響應(yīng),受到遮擋的樣本的響應(yīng)極大值較小,并且極大值周圍的響應(yīng)值上升。受到遮擋時目標樣本響應(yīng)的極大值和平均值十分接近,導(dǎo)致算法在檢測時很難分清背景和前景,如果直接進行樣本更新會污染樣本集,本文提出一種檢測目標是否受到遮擋的方法,具體方法如下:令目標樣本響應(yīng)的極大值為Xa,b,將其與鄰域響應(yīng)平均值的比值作為判斷目標是否受到遮擋的判斷標準[13],即
(12)
其中,S=(2n+1)2-1,為鄰域內(nèi)響應(yīng)的個數(shù),當K值大于某一閾值γ時,跟蹤目標有較大概率沒有被遮擋;反之,當小于閾值則代表目標有很大可能被遮擋了,只取概率較高的目標圖像對模板進行更新。
當KCF算法跟蹤精度下降時結(jié)合Mean-shift算法對目標進行進一步跟蹤。Mean-shift算法是一種通過目標模板概率密度直方圖和當前幀概率密度直方圖得到目標位置的算法,使用Mean-shift算法對目標進行跟蹤,首先需要獲取目標模板和當前幀的概率分布直方圖[14]。目標模板和當前幀坐標位置分別用xi=(x1,x2)T,和y=(y1,y2)T表示,目標模板概率分布直方圖可以表示為
(13)
當前幀的概率分布直方圖表示為
(14)
(15)
(16)
得到y(tǒng)和h的值,從而對目標位置進行分析,如式(17)所示。
(17)
當目標樣本響應(yīng)小于某一閾值時,需要在剩余序列中重新定位目標的位置,本文采用ORB特征匹配的方法重新檢測目標位置。
ORB算法通過FAST特征算法獲得關(guān)鍵點。若某一像素點周圍鄰域中有足夠多的像素點,則該像素點可能作為圖像的角點,并且某像素點的灰度值與周圍鄰域大部分像素點灰度值不同,則該像素點可以作為FAST特征點[15]。
將檢測到的FAST特征點使用二進制的BRIEF描述子進行描述,通過漢明距離的異或計算得到的ORB特征描述子的相似度進行特征點的匹配。和其他算法相比,ORB可以更快速地完成特征點的匹配。使用ORB特征點對目標進行重定位,可以滿足算法的跟蹤實時性要求[16]。
當通過目標樣本響應(yīng)判斷目標受到遮擋后需要確定目標位置時,保留當前的目標圖像,在之后的圖像序列中使用ORB特征點進行匹配,獲得目標在當前圖像中的位置,進行重新定位。
首先對視頻中的跟蹤對象進行框選,使用KCF算法作為跟蹤算法的框架,與均值漂移算法結(jié)合,當目標響應(yīng)極大值與鄰域響應(yīng)平均值的比值K大于某一閾值γ時,可以使用當前位置的跟蹤目標對樣本集進行更新,當K小于或等于閾值γ時,表示當前位置的圖像已經(jīng)偏移了跟蹤目標,此時使用ORB特征匹配的方法對目標進行重定位,具體流程如圖3所示。
本文選用OTB-2015數(shù)據(jù)集對算法進行試驗評測,試驗測試平臺采用MATLABR2016a,PC操作系統(tǒng)為Windows8 64bit,CPU為Intel Core i5-4210u,主頻為1.70 GHz,內(nèi)存為16 GB。本文算法初始參數(shù)為:高斯核的標準差σ=0.5,正則化參數(shù)λ=0.000 1,模板更新率τ=0.012,尺度因子δ=0.05,遮擋閾值γ=2.25。
圖3 算法流程圖
本文主要是對算法的成功率和精確度兩方面進行比較,所以選擇受到遮擋嚴重、比較模糊的數(shù)據(jù)集對算法進行測評,對比情況如圖4和圖5所示。
由圖4、5所示,在大部分視頻序列中,KCF、KCF-DSST算法由于缺少遮擋檢測和目標重定位等方面的能力,所以在跟蹤目標受到遮擋導(dǎo)致目標丟失時,無法對跟蹤目標進行重新定位。而本文提出的方法在目標受到嚴重遮擋和背景復(fù)雜的數(shù)據(jù)集中相較于KCF算法和KCF-DSST算法有較好的表現(xiàn),在跟蹤的準確率和成功率上均有提升。直觀跟蹤結(jié)果如圖6所示。
圖4 精確度
圖5 成功率
由圖6可知,第17幀時,目標物體還未受到遮擋,傳統(tǒng)KCF算法和本文方法都可以進行有效跟蹤,第21幀時目標物體受到了部分遮擋,傳統(tǒng)KCF算法仍能完成跟蹤任務(wù),但在第24幀,目標被完全遮擋后,KCF算法完全丟失目標。
通過實驗驗證,本文的方法在目標受到完全遮擋后仍能有效對目標進行跟蹤,算法的準確度和成功率都有所提高。
圖6 跟蹤結(jié)果對比
在實現(xiàn)算法有效性的同時還應(yīng)該保證算法的實時性,本文對比了相關(guān)算法的平均每秒處理的視頻幀數(shù),結(jié)果如表1所示。
表1 相關(guān)算法的跟蹤速率
從表1可以看出,雖然本文算法的每秒處理幀數(shù)略低于KCF算法,但和KCF-DSST算法處理速度大致相同,說明可以滿足視頻跟蹤實時性的要求。
本文采用KCF算法作為框架,結(jié)合Mean-shift算法對目標進行預(yù)測,采用目標遮擋檢測與重定位算法對目標進行判斷。當跟蹤目標受到遮擋時,目標響應(yīng)極大值與鄰域響應(yīng)平均值的比值K小于某一閾值γ,當前圖像不加入訓(xùn)練樣本且不對模型進行更新。使用FAST特征匹配算法判斷FAST特征點,并使用二進制的BRIEF描述子對特征點進行描述,通過漢明距離的異或計算得到ORB特征描述子的相似度,確定當前幀中心點的坐標。本文的算法相比于傳統(tǒng)的KCF算法雖然在處理速度上有所降低,但算法的準確度和成功率有所提高,并且在圖像受到遮擋、背景模糊等情況下有較好表現(xiàn),可以滿足實時性的要求;但在復(fù)雜場景、高速運動等條件下的表現(xiàn)還有待提高,同時如何提高算法的運算速度也是之后的重點研究方向。