田亞蕾, 馬 杰, 楊 楠
(河北工業(yè)大學(xué) 電子信息工程學(xué)院,天津 300401)
運動目標跟蹤,在監(jiān)控、視覺導(dǎo)航以及醫(yī)療圖像、人機交互等諸多領(lǐng)域有著廣泛應(yīng)用,是計算機視覺領(lǐng)域的一個重要分支[1].當前目標跟蹤方法分為兩大類:生成(generative)模型方法[2-4]和判別(discriminative)模型方法[5-7].近年來判別模型方法以其高效性流行起來,同時許多研究者[8-10]注意到相關(guān)濾波類方法可以在頻域進行計算,從而加快運行速度.Blome等[8]提出了一種最小輸出平方誤差和濾波器,將相關(guān)濾波用在了跟蹤領(lǐng)域,采用離散傅里葉變換使能夠在頻域?qū)ο嗨贫冗M行計算,將算法的運行速度顯著提高.在此基礎(chǔ)上,Henriques等[9]提出了基于循環(huán)結(jié)構(gòu)(CSK)的跟蹤算法,利用循環(huán)結(jié)構(gòu)提取樣本并在頻域進行計算,進一步提升了算法運行速度.Danelljan等[10]采用引入顏色空間特征[11]擴展CSK跟蹤器的方法提出了自適應(yīng)顏色跟蹤(CNT)算法,實現(xiàn)了顏色的自適應(yīng)跟蹤.Henriques等[12]又將CSK算法的特征提取改為用方向梯度直方圖(HOG)特征[13]替代原始像素,提出核相關(guān)濾波器(KCF)跟蹤算法,進而提高了跟蹤器的準確性與魯棒性.王春平等[14]在特征提取和尺度自適應(yīng)兩個方面對核相關(guān)濾波跟蹤算法進行了研究,提出了一種自適應(yīng)核相關(guān)跟蹤算法來改善KCF算法的跟蹤性能.
KCF跟蹤方法和以上的改進方法[10,14]都沒考慮位置預(yù)測問題,在使用當前幀的目標位置確定下一幀目標位置的過程中,并不涉及目標的運動狀態(tài)信息,當發(fā)生快速運動等干擾時,就會丟失目標導(dǎo)致跟蹤失敗.而Kalman濾波[15]能夠根據(jù)當前幀中目標質(zhì)心位置來預(yù)測下一幀中目標質(zhì)心可能出現(xiàn)的位置,以最小均方誤差為最佳遞推估計準則,能較準確地預(yù)測出目標的速度和位置.因此,本文在KCF算法中加入Kalman濾波對跟蹤過程進行目標位置預(yù)測.另外,文獻[10,12,14]從特征表達的角度改進相關(guān)濾波算法,分別采用HOG特征、顏色名稱特征(CN)、特征融合等代替原始灰度特征.受文獻[10]啟發(fā),本文用CN特征對圖像進行特征提取.針對傳統(tǒng)KCF算法受快速運動、遮擋和相似物干擾等因素影響時導(dǎo)致跟蹤失敗這一問題,本文采用CN特征進行特征提取,并融合Kalman濾波器進行位置預(yù)測,對KCF的特征提取方式和跟蹤策略進行改進.
KCF跟蹤算法,首先在初始幀選定被跟蹤的目標并構(gòu)建跟蹤區(qū)域,其次利用循環(huán)矩陣理論將跟蹤區(qū)域進行循環(huán)移位,通過核函數(shù)來計算目標位置的可能區(qū)域與跟蹤目標的相似程度,選取輸出響應(yīng)最大的區(qū)域作為新的目標,然后通過傅里葉變換快速訓(xùn)練分類器并完成目標檢測,最終達到快速跟蹤的目的.
KCF算法通過一個非線性映射函數(shù)φ(x),使映射后的樣本能夠進行線性計算,則在新空間中使用嶺回歸即正則化最小二乘法(RLS)對非線性回歸函數(shù)f(x)=ωTφ(x)進行訓(xùn)練,得到一個權(quán)重系數(shù)ω:
(1)
其中xi是數(shù)據(jù)矩陣X每行的一個樣本,yi是對應(yīng)于樣本的期望輸出,λ是一個控制過擬合的正則化參數(shù).由上式求極值可得線性分類器:
ω=(XTX+λI)-1XTy
(2)

(3)
且基于核函數(shù)的嶺回歸問題(KRLS)可表示為:
α=(K+λI)-1y
(4)
其中:α為αi所組成的向量,y為yi所組成的向量,I為單位矩陣,K為n×n核矩陣,滿足Kij=k(xi,yi),將尋找最優(yōu)ω的問題轉(zhuǎn)化為尋找最優(yōu)α的問題.
將具有感興趣對象的塊的n×1向量表示為x=[x1,x2,…,xn]T,作為基礎(chǔ)樣本.KCF中所有的訓(xùn)練樣本是由這個基礎(chǔ)樣本循環(huán)移位得到的.
乘積Px=[xn,x1,x2,…,xn-1]T表示將x移位一個元素,則由于循環(huán)屬性,每n個周期得到相同的信號X.這意味著可以通過等式{Pux|u=0,1,…,n-1}獲得全部移位信號:
(5)
循環(huán)矩陣一個非常有用的性質(zhì)是:無論生成向量X如何,所有循環(huán)矩陣都通過離散傅里葉變換(DFT)對角線進行,表示為:

(6)

利用循環(huán)矩陣的性質(zhì)將目標的基礎(chǔ)樣本作為正樣本,對基礎(chǔ)樣本循環(huán)位移得到負樣本,將上一幀的跟蹤結(jié)果作為基礎(chǔ)樣本進行循環(huán)移位,以此得到整個樣本集.因此在跟蹤過程中只需對基樣本進行計算,提高了訓(xùn)練速度.
由文獻[12]可以證明,當C(x)為循環(huán)矩陣時,對于任何置換矩陣M,如果核函數(shù)滿足k(x,x′)=k(Mx,Mx′),則對應(yīng)的核矩陣K是循環(huán)的,核矩陣K為
(7)
由此將循環(huán)矩陣的性質(zhì)應(yīng)用于式(3),可以快速計算訓(xùn)練得到的回歸系數(shù):
(8)
檢測中也應(yīng)用了循環(huán)矩陣來加速檢測過程.將下一幀相同位置的圖像塊z作為檢測基樣本并進行循環(huán)移位,得到樣本集,那么就可以選擇f(zj)=αTφ(X)φ(zj),響應(yīng)最大的樣本作為檢測出的新目標區(qū)域.
定義Kz是測試樣本和訓(xùn)練樣本在核空間的核矩陣,Kz的每個元素由k(Pi-1x,Pj-1z)給出,由于核矩陣滿足K(xi,zj)=K(Pix,Pjz),則Kz是循環(huán)矩陣.得到測試樣本的響應(yīng)為:
(9)
特征提取是通過影像分析和變換從圖像中提取所需特征,達到降維效果.傳統(tǒng)的KCF算法中給出了2種特征描述子:原始像素、方向梯度直方圖(HOG)特征.原始像素特征:將圖像轉(zhuǎn)換成灰度圖,以其像素灰度值作為圖像特征;HOG特征:計算和統(tǒng)計圖像局部區(qū)域的梯度方向直方圖,從而提取圖像特征.但是HOG特征描述子生成過程冗長,導(dǎo)致速度慢,實時性差;再者由于梯度的性質(zhì),HOG特征描述子對噪點相對敏感,且很難處理遮擋問題.相比原始像素特征與HOG特征,顏色直方圖具有較好的穩(wěn)定性,本文算法用CN統(tǒng)計特征對圖像進行特征提取.
CN特征空間[11]是一種基于潛在概率模型的特殊顏色空間,文獻[10]首次將其應(yīng)用在目標跟蹤算法中.這種特征提取方式是通過將圖像信息由RGB空間映射到CN空間(CN空間包含黃、紅、黑、藍、灰、粉、白、棕、綠、橙、紫11個顏色通道),建立RGB空間到CN特征空間的概率映射關(guān)系.其數(shù)學(xué)描述形式為,對于一幅彩色圖像M,M(x)表示位置x處的顏色像素值,將該圖像映射到CN空間,使得M(x)轉(zhuǎn)換為11維概率特征向量f(x).即將RGB值用總概率和為1的11維顏色表示,實現(xiàn)了顏色信息的低維提取,可以有效地避免外界環(huán)境變化對提取顏色信息的影響[16].將其模型表示為:
(10)
其中,Ωc表示以x0為中心,以c為半徑的一個區(qū)域,N(·)為高斯函數(shù),σ為其標準差.
運算時對每一個通道進行快速傅里葉變換和核映射,然后將11個通道的頻域信號線性相加,繼而完成運算.
原始KCF跟蹤器,在尋找跟蹤目標時,需要計算相似度,找出這一幀中圖像的目標位置坐標與上一幀中目標的位置相似度最高的圖像塊,在這個過程中沒有分析目標的運動狀態(tài)信息.而Kalman濾波能夠預(yù)測某一幀圖像中目標質(zhì)心在下一幀中可能出現(xiàn)的位置,減小搜索區(qū)域,當目標發(fā)生快速運動和遮擋時,能比較快速準確地預(yù)測出目標的速度和位置.因此,本文提出一種結(jié)合KCF框架和Kalman預(yù)測器的跟蹤算法.
首先,在跟蹤前初始化Kalman濾波器,得到包含目標中心點的人工標注真實坐標值和坐標軸上的速度分量的初始狀態(tài)向量.Kalman濾波算法的2個重要的方程分別是:
狀態(tài)方程:Xt=At,t-1Xt-1+Wt-1
(11)
觀測方程:Zt=HtXt+Vt
(12)
式中:Xt是t時刻系統(tǒng)的狀態(tài)向量;Zt是t時刻的觀測值向量;At,t-1為狀態(tài)轉(zhuǎn)移矩陣,Ht為觀測矩陣;過程噪聲Wt-1和觀測噪聲Vt都是均值為0的白噪聲序列且互不相關(guān).
然后,為獲得先驗估計值,利用當前的狀態(tài)矩陣和協(xié)方差,根據(jù)遞歸估計原理來預(yù)測下一幀中目標的速度和位置,得到其預(yù)測方程:
Xt,t-1=At,t-1Xt-1
(13)

(14)

式中:Xt,t-1為狀態(tài)預(yù)測向量;Pt,t-1為其協(xié)方差矩陣;Qt為過程噪聲Wt-1的協(xié)方差矩陣,Δt為時間間隔(通常取1) .
得到預(yù)測坐標后,擴大目標采樣區(qū)域使采樣面積為目標圖像的3.5倍,提取模型的CN特征,利用循環(huán)矩陣構(gòu)建樣本并對其進行傅里葉變換.利用循環(huán)矩陣的性質(zhì)對高斯內(nèi)核進行核化處理并得到濾波器的訓(xùn)練公式(8).
最后,結(jié)合新的實際觀測值與上一步獲得的先驗估計值,利用反饋法獲取后驗估計,將其作為當前圖像中跟蹤目標的速度和位置來更新濾波器:
Pt=(I-KtHt)Pt,t-1
(15)
(16)
Xt=Xt,t-1+Kt[Zt-HtXt,t-1]
(17)

式中:Rt為觀測噪聲向量Vt的協(xié)方差矩陣;Kt為Kalman增益矩陣;zt=[xct,yct] 表示t時刻核相關(guān)濾波檢測的目標的中心點坐標.
本文算法在跟蹤過程中,首先用Kalman濾波器預(yù)測目標圖像的位置坐標,由預(yù)測坐標選取跟蹤窗口,其次將原始圖像映射到CN特征空間并提取CN特征,然后使用KCF檢測目標坐標,最后利用檢測結(jié)果更新Kalman濾波器.圖1給出了采用CN特征提取及融合了Kalman濾波改進的KCF跟蹤算法整體流程圖.

圖1 算法整體流程圖Fig.1 Algorithm overall flow chart
為評估改進算法的有效性,本文首先在OTB-2013數(shù)據(jù)集[17]上進行綜合測評,并與目前比較先進的,如Struck、CSK、KCF等跟蹤算法進行對比;然后從數(shù)據(jù)集的屬性出發(fā),分析算法在面對各種挑戰(zhàn)時的魯棒性.
Benchmark的測試平臺為Matlab2014a,所有實驗均在AMD A8-4500M APU with Radeon(tm) HD Graphics,主頻1.90GHz,4GB內(nèi)存配置的Windows10 64bit PC系統(tǒng)上完成.本文算法是在KCF算法的特征提取方式和位置預(yù)測上進行改進,所以對所有測試的視頻數(shù)據(jù)集,本文算法的基本參數(shù)仍采用原KCF參數(shù),且在所有視頻序列上均保持一致,高斯核的標準差σ為0.5,正則化系數(shù)λ為0.0001,學(xué)習(xí)因子η為0.02.
OTB-2013測評集由跟蹤的精度和重疊率兩方面提出了兩個測評準則:精確度圖(Precision plot)和成功率圖(Success plot).本文采用這兩個準則進行測評.
精確度圖的橫軸為中心位置誤差(CLE).在某一幀圖像中,CLE(Center Location Error)為跟蹤到的目標中心位置坐標與人工標注真實坐標之間的平均歐氏距離.通過設(shè)定某一閾值(本實驗為20像素),當CLE小于這個閾值時正確跟蹤,其值越小跟蹤越精確;精度圖的縱軸為跟蹤精度大于設(shè)定閾值的幀數(shù)占全部圖像幀數(shù)的百分比.本實驗給出了閾值從0到50時,視頻序列中能夠正確跟蹤的圖像幀數(shù)的百分比變化.
成功率圖的橫軸為邊界框的重疊率閾值(overlap threshold),重疊率S數(shù)學(xué)表達方式為:S=|Rt∩Ra|/|Rt∪Ra|,表示運行算法得到的跟蹤框Rt與人工標注的真實目標框Ra的重疊面積與兩個邊界框的總面積之比,|·|表示區(qū)域內(nèi)的像素點的數(shù)量;成功率圖的縱軸為成功的幀數(shù)所占的全部圖像幀數(shù)的比例.本實驗給出了閾值從0到1變化時,重疊率大于給定閾值的幀數(shù)占全部圖像幀數(shù)的百分比.將成功率圖曲線下的面積(AUC)作為算法性能評價準則,其值越大跟蹤性能越好.
魯棒性評估(Robustness evaluation):評估跟蹤器的方法是在一個測試序列中,將人工標注的第1幀目標位置進行初始化,并在待測試視頻序列中運行算法,測量其精確度和成功率,稱之為一次通過評估(one-pass evaluation,OPE).
4.3.1 定量分析
本實驗采用精確度圖和成功率圖對改進的跟蹤算法進行魯棒性評估.在OTB-2013數(shù)據(jù)集上對本文算法(CNK-KCF)以及融合了Kalman濾波的KCF算法(K-KCF)的總體性能進行了對比測評,對比算法包括幾種采用不同特征的相關(guān)濾波算法:CSK(灰度特征)、KCF(HOG特征)、CNT(CN特征),以及兩種先進算法:Struck、TLD,得到如圖2所示的精確度圖和成功率圖.

圖2 本文比較的7種算法OPE的精確度圖和成功率圖Fig.2 Comparison of seven algorithms OPE accuracy and success rate plots
由圖2可得到表1顯示的7種算法在測評集上的精確度和成功率.

表1 7種算法在測評集上的精確度和成功率Table 1 Accuracy and success rate of 7 algorithms on measurement datasets
由圖2和表1可知,與其他算法相比,CNK-KCF算法的精確度和成功率均為最優(yōu).從精確度來看,CNK-KCF算法為0.796,只采用Kalman濾波進行預(yù)測的K-KCF算法為0.782,比KCF算法分別提高了5.6%和4.2%,比CSK算法分別提高了25.1%和23.7%.從成功率來看,CNK-KCF算法為0.607,K-KCF算法為0.574,比KCF算法分別提高了9.3%和6%,比CSK分別提高了20.9%和17.6%.由此可見,本文算法(CNK-KCF)的綜合性能較傳統(tǒng)算法具有明顯提高.
4.3.2 定性分析
下面以6個典型視頻序列中的幾幅圖像來對算法面臨各種因素干擾的挑戰(zhàn)時的跟蹤能力進行分析.如圖3所示.

圖3 CNK-KCF、K-KCF、KCF、CSK、CNT、Struck、TLD算法在若干典型視頻序列上的跟蹤結(jié)果Fig.3 CNK-KCF, K-KCF, KCF, CSK, CNT, Struck and TLD algorithm in a number of typical video sequence tracking results
1)快速運動和運動模糊性能分析
圖3的(a)、(b)、(c)給出了7種算法在具有快速運動和運動模糊屬性的幾個典型幀上的跟蹤結(jié)果.快速運動是指序列地面真值的變化大于閾值像素,運動模糊是目標區(qū)域由于目標或攝像機的運動而模糊.圖3(a)中,KCF算法在跟蹤過程中出現(xiàn)了短暫跟蹤丟失情況,如第32幀,而CNK-KCF和K-KCF算法采用Kalman預(yù)測能夠正確跟蹤.圖3(b)中,目標一直在跳躍,幾乎整個視頻序列都有快速運動和運動模糊,CNK-KCF、K-KCF和CNT算法都能夠持續(xù)正確跟蹤目標,如第254幀.圖3(c)中,目標快速運動產(chǎn)生運動模糊,如第238幀,CNK-KCF算法實現(xiàn)持續(xù)跟蹤.由以上結(jié)果可知,本文算法通過CN特征提取和融合Kalman預(yù)測能夠正確跟蹤快速運動和運動模糊的目標.
2)抗遮擋性能分析
圖3的(d)、(e)、(f)給出了7種算法在幾個典型幀上經(jīng)歷了遮擋的跟蹤結(jié)果.圖3(d)中,在第463幀目標被相似物遮擋,CNK-KCF和K-KCF算法都能夠繼續(xù)跟蹤到目標.圖3(e)中,目標兩次被燈柱和樹遮擋,其他算法均只在第一次被遮擋時能夠正確跟蹤,只有CNK-KCF和K-KCF算法能夠正確跟蹤目標,如第144幀.圖3(f)中,目標多次經(jīng)歷了長時間遮擋,CNK-KCF、K-KCF和Struck算法均能持續(xù)正確跟蹤目標,如第503幀和第596幀.由以上結(jié)果可知,本文算法加入了Kalman濾波器進行預(yù)測提高了對遮擋的應(yīng)對能力.
3)復(fù)雜背景干擾的性能分析
圖3的(a)、(c)顯示了7種算法在具有復(fù)雜背景的幾個典型幀上的跟蹤結(jié)果.復(fù)雜背景干擾是指目標附近的背景具有與目標相似的顏色或紋理.圖3(a)中,目標頭部與其他頭部出現(xiàn)了相近甚至重疊的情況,KCF算法的跟蹤結(jié)果偏離了目標,而CNK-KCF和CNT算法正確跟蹤到了目標位置.Soccer數(shù)據(jù)集中,在第238幀和367幀出現(xiàn)了多個人臉,KCF算法受相似目標的干擾導(dǎo)致跟蹤失??;而CNK-KCF和CNT算法采用CN特征提取能夠正確跟蹤目標,未受相似目標干擾.
通過對算法進行實驗與分析發(fā)現(xiàn),本文算法能夠應(yīng)對快速運動、運動模糊和遮擋等復(fù)雜場景下的目標跟蹤,對于旋轉(zhuǎn)、尺度變化等其他情況也能取得不錯的跟蹤效果.
傳統(tǒng)KCF算法在快速運動和運動模糊、遮擋及背景相似干擾等情況下存在跟蹤效果不佳的問題,對此,本文提出了一種結(jié)合KCF框架和Kalman預(yù)測器的運動目標跟蹤算法.首先采用CN特征提取,減少了環(huán)境變化和相似干擾對目標跟蹤的影響;然后在模型學(xué)習(xí)過程中擴大目標采樣區(qū)域,并在跟蹤過程中融入Kalman濾波的方法在算法中加入預(yù)測機制,提高了算法應(yīng)對目標快速運動和遮擋的能力;最后在OTB-2013數(shù)據(jù)集上對算法進行基于量化和屬性評估的測試,結(jié)果顯示本文算法的整體精度為0.796,成功率為0.607,提高了算法跟蹤的準確性和成功率.此外,在目標發(fā)生快速運動、運動模糊、遮擋和背景相似干擾等復(fù)雜情況時,與其他6種算法相比,本文算法具有更強的魯棒性.