楊紅霞,杭亦文,劉 旭
(1.武漢理工大學(xué)自動化學(xué)院,湖北 武漢 430070;2.武漢大學(xué)電氣工程學(xué)院,湖北 武漢 430072)
對運動目標(biāo)進(jìn)行跟蹤不僅可以提供目標(biāo)的運動狀態(tài)和軌跡,也為運動分析、場景理解等提供可靠的數(shù)據(jù)來源,在智能監(jiān)控、突發(fā)事件檢測等方面有著重要的應(yīng)用。而圖像噪聲、天氣突變、光照變化、目標(biāo)運動隨機(jī)性等復(fù)雜的場景,都會給運動目標(biāo)的跟蹤帶來困難。近年來,所提出的跟蹤方法通常有基于模型的跟蹤、基于區(qū)域的跟蹤、基于活動輪廓的跟蹤和基于特征的跟蹤等[1]?;谀P偷母櫡椒ㄍㄟ^對運動目標(biāo)進(jìn)行建模,利用視頻圖像序列確定模型的參數(shù),從而精確分析出目標(biāo)的運動軌跡[2]。該方法在遮擋或干擾下,性能較好,但幾何模型的建立非常困難,計算量大、運行時間長,難以實現(xiàn)實時跟蹤;基于區(qū)域的跟蹤是基于對連續(xù)幀中分割出的目標(biāo)區(qū)域建立聯(lián)系而提出的[3],對多目標(biāo)跟蹤效果較好,但由于只能獲得區(qū)域級的跟蹤,當(dāng)目標(biāo)發(fā)生形變或存在遮擋時,就會導(dǎo)致目標(biāo)跟蹤丟失,且費時,無法做到實時跟蹤;基于活動輪廓的跟蹤則利用目標(biāo)邊界信息來實現(xiàn)跟蹤[4],該方法能有效克服干擾或部分遮擋問題,但其對跟蹤的初始化特別敏感;基于特征的跟蹤是利用目標(biāo)的某個或局部特征進(jìn)行匹配[5],在目標(biāo)部分遮擋時,利用部分特征仍能跟蹤,常用的特征有目標(biāo)質(zhì)心、顏色特征、角點等局部特征。最典型的基于特征的方法是利用顏色特征的Meanshift算法,該方法是一種基于迭代收斂到概率密度的局部極大的非參數(shù)估計算法,具有實時性好,易于與其他算法集成,對目標(biāo)的旋轉(zhuǎn)、變形,以及邊緣遮擋不敏感等優(yōu)點。DORIN[6-7]將其應(yīng)用于圖像濾波、分割和目標(biāo)跟蹤領(lǐng)域,通過對目標(biāo)模型和后續(xù)幀候選區(qū)的顏色直方圖進(jìn)行相似性度量而進(jìn)行跟蹤。通過 BRADSKI改進(jìn)的 CAMSHIFT(continuously apative meanShift)[8]能較好地處理顏色概率分布不斷變化的視頻序列,但是當(dāng)場景中運動速度過快或目標(biāo)間出現(xiàn)遮擋時,物體的特征會因為遮擋無法識別而產(chǎn)生錯誤的跟蹤。這就要求跟蹤器必須具有預(yù)測功能。針對以上問題,筆者提出了基于Kalman濾波器和Meanshift的視頻目標(biāo)跟蹤算法。利用Kalman濾波器的預(yù)測估計能力對Meanshift的跟蹤結(jié)果進(jìn)行處理,解決了目標(biāo)跟蹤丟失的問題。其改進(jìn)的算法框圖如圖1所示。
Meanshift算法利用目標(biāo)的顏色特征概率密度描述運動目標(biāo)區(qū)域中心位于x的目標(biāo)模型,在目標(biāo)中心鄰域搜索窗口內(nèi)以相似性度量最大為原則,尋找最優(yōu)的位于y的目標(biāo)模型,使得兩次移動距離小于某一閾值,以達(dá)到目標(biāo)的真實位置。筆者采用Bhattacharyya系數(shù)度量目標(biāo)模型u和候選模型u(y)的相似程度。模型根據(jù)目標(biāo)區(qū)域顏
圖1 改進(jìn)的算法框圖
色特征的概率密度函數(shù)來描述:
其中:u為目標(biāo)的特征值,取值為[1,m];y為最優(yōu)候選區(qū)域中心。(y)越大,表示兩模型越相似。為定位下一幀目標(biāo),應(yīng)使(y)最大化。
將當(dāng)前幀的候選目標(biāo)的中心初始為前一幀目標(biāo)中心y0,然后在其領(lǐng)域內(nèi)搜索匹配目標(biāo),不斷地從目標(biāo)的當(dāng)前位置y0移動到新目標(biāo)位置y1,若Meanshift向量y1-y0,‖y1-y0‖ < ε 則停止迭代,使得(y)最大,直到候選區(qū)域與目標(biāo)區(qū)域足夠相似,此時目標(biāo)區(qū)域中心位置會由y0移動到新的位置y1。
Meanshift在目標(biāo)中心鄰域內(nèi)搜索匹配目標(biāo),若目標(biāo)運動速度過快,或是目標(biāo)間存在遮擋,會導(dǎo)致跟蹤效果不好。筆者引入Kalman濾波器根據(jù)以往幀的觀測向量預(yù)測當(dāng)前幀的狀態(tài)向量,由此知道目標(biāo)可能的位置。Kalman濾波器是一種對動態(tài)系統(tǒng)的狀態(tài)序列進(jìn)行最小均方誤差估計的最優(yōu)濾波器[9],它能夠預(yù)測下一幀區(qū)域的中心,并且更正當(dāng)前幀的目標(biāo)區(qū)域。令狀態(tài)向量X=(xc,yc)T為目標(biāo)在x軸和y軸的位置,測量矢量Z=[xc,yc]T為觀測目標(biāo)的位置。首先初始化狀態(tài)Xi,再以該目標(biāo)位置作為Kalman濾波器的觀測值來進(jìn)行下一幀的運算。
Kalman濾波器的狀態(tài)方程和測量方程為:
其中,A為狀態(tài)轉(zhuǎn)移矩陣;H為測量矩陣;Wi,Vi分別為狀態(tài)和測量的噪聲向量,它們是互不相關(guān)的正態(tài)白噪聲,其方差分別為Q、R。
狀態(tài)向量預(yù)測方程為:
狀態(tài)向量協(xié)方差矩陣預(yù)測為:
狀態(tài)向量更新方程為:
狀態(tài)向量協(xié)方差更新方程為:
Kalman加權(quán)矩陣或增益矩陣為:
由于Meanshift跟蹤關(guān)注的是目標(biāo)模型和候選模型顏色分布的相似性,當(dāng)目標(biāo)重疊過多或背景與目標(biāo)顏色相近時,Meanshift將不能保證跟蹤準(zhǔn)確無誤。若目標(biāo)運動速度過快,目標(biāo)在相鄰幀間沒有重疊,運動目標(biāo)可能會收斂于背景中與目標(biāo)顏色相近的物體,而不是運動目標(biāo);或是目標(biāo)間存在遮擋,利用顏色直方圖對運動目標(biāo)特征進(jìn)行描述也會導(dǎo)致跟蹤效果欠佳。導(dǎo)致跟蹤效果不好的原因還可能在于在某些幀中目標(biāo)的起始位置不理想,若能通過目標(biāo)以前的運動信息預(yù)測到當(dāng)前幀目標(biāo)可能位置,然后將這一目標(biāo)點作為目標(biāo)的起始位置,就可以在這一鄰域內(nèi)尋找到目標(biāo)的真實位置。筆者將Kalman濾波器融合進(jìn)Meanshift跟蹤的方法是:當(dāng)Kalman濾波器作為輔助跟蹤時,Meanshift的跟蹤結(jié)果作為它的測量值,對Meanshift跟蹤器產(chǎn)生的跟蹤結(jié)果具有平滑作用;當(dāng)Kalman濾波器作為預(yù)測器時,當(dāng)前幀的預(yù)測狀態(tài)中的xc,yc作為測量值,其結(jié)果就是保持運動目標(biāo)的當(dāng)前運動狀態(tài)。在當(dāng)前幀中,通過分析Meanshift跟蹤器的跟蹤輸出得分Score,用以判斷是否啟動Kalman預(yù)測。Score的計算公式如下:
其中,I(x,y)為目標(biāo)點(x,y)的像素值;R1、R2為前后兩幀跟蹤目標(biāo)對應(yīng)區(qū)域;A(R1)、A(R2)分別為R1和R2的面積。設(shè)一個門限值T,若Score>T,表示當(dāng)前目標(biāo)和背景分布情況改變不大,Meanshift跟蹤效果較好,其結(jié)果可輸出到Kalman濾波器中,Kalman濾波器在狀態(tài)更新和測量更新后,輸出結(jié)果重新回到Meanshift跟蹤器中。若Score≤T,Meanshift算法失效,則啟動Kalman濾波器的預(yù)測功能,不再利用Meanshift跟蹤器結(jié)果。若T取值過大,Meanshift產(chǎn)生的結(jié)果不可信,Kalman濾波器的預(yù)測功能容易失效,達(dá)不到預(yù)測跟蹤的目的;若T取值過小,發(fā)揮不了Meanshift跟蹤器圖像匹配跟蹤功能,因此,筆者采取了一種折衷方法,取T=0.5,跟蹤效果基本滿足要求。
實驗硬件平臺為Intel P 3.0 G,512 M內(nèi)存計算機(jī),軟件采用Matlab編程環(huán)境。選用交通路口場景,大小為160×120,共300幀,幀率為15幀/s。圖2是Meanshift算法的跟蹤結(jié)果[10]。在第62幀以前,Meanshift可以較好地跟蹤車和人等運動目標(biāo),在62幀以后由于新進(jìn)來的人車連在一起相互遮擋,存在較多的顏色特征相似的目標(biāo),Meanshift無法準(zhǔn)確跟蹤。圖3是利用筆者所提出的算法處理同一段視頻序列,加入Kalman作為輔助跟蹤器,在第62幀以后,當(dāng)人車連在一起時,依據(jù)對各個Meanshift跟蹤器的跟蹤輸出得分來開啟Kalman預(yù)測,完成了對各個目標(biāo)的跟蹤。所示的方框為每一幀目標(biāo)的跟蹤結(jié)果。實驗結(jié)果表明,融合Meanshift與Kalman濾波器預(yù)測的方法能對目標(biāo)進(jìn)行準(zhǔn)確跟蹤。
針對復(fù)雜背景下,可能出現(xiàn)的跟蹤效果差的問題,提出了一種融合Meanshift跟蹤與Kalman濾波器預(yù)測的方法用于運動目標(biāo)跟蹤,判斷Meanshift的跟蹤效果,當(dāng)跟蹤效果良好時,Kalman濾波起到平滑作用;當(dāng)跟蹤效果差時,啟動Kalman的預(yù)測功能。實驗結(jié)果表明,所提出的算法能對目標(biāo)進(jìn)行準(zhǔn)確跟蹤,具有良好的抗干擾能力。
圖2 Meanshift算法的跟蹤結(jié)果
圖3 改進(jìn)后算法的跟蹤結(jié)果
[1] HU W M,TAN T N,WANG L,et al.A survey on visual surveillance of object motion and behaviors[J].IEEE Transactions on Systems,Man and Cybernetics,Part C:Applications and Reviews,2004,34(3):334 -352.
[2] HAAG M,NAGEL H H.Combination of edge element and optical flow estimates for 3D -model-based vehicle tracking in traffic image sequences[J].Inter J Comp Vision,1999,35(3):295 -319.
[3] JORGE B,JOSE M S,F(xiàn)ILIBERTO P.Motion based seg-mentation and region tracking in image sequences[J].Pattern Recognition,2001,34(3):661 -670.
[4] BOO H L,II C,GI J J.Motion - based moving object tracking using an active contour[C]//IEEE International Conference on Acoustics,Speech and Signal Processing.[S.l.]:[s.n.],2006:649 -652.
[5] SAUNIER N,SAYED T.A feature - based tracking algorithm for vehicles in intersections[C]//The 3rd Canadian Conference on Computer and Robot Vision.[S.l.]:[s.n.],2006:59 -69.
[6] DORIN C,PETER M.Meanshift:a robust approach toward feature space analysis[J].IEEE Transations on Pattern Analysis and Machine Intelligence,2002,24(5):603-618.
[7] DORIN C,VISVANATHAN R,PETER M.Kernel-based object tracking[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2003,25(5):264 -577.
[8] BRADSKI G R.Compute vision face tracking for use as a component of a perceptual user interface[J].Worshop on Application of Computer Vision,1998(2):214 -219.
[9] WELCH G,BISHOP G.An introduction to the Kalman filter[EB/OL].[2011 - 09 - 08].http://www.cs.unc.edu/~welch/kalman/2001.
[10] MOTWANI M,TIRPANKAR N.Towards benchmarking of video motion tracking algorithms[J].Signal Acquisition and Processing,2010(2):215 -219.