余 朗 王杜娟 樂竹雄
(武漢理工大學(xué)理學(xué)院 武漢 430070) (武漢理工大學(xué)信息工程學(xué)院 武漢 430070)
運(yùn)動(dòng)目標(biāo)跟蹤是計(jì)算機(jī)視覺研究的核心技術(shù),而目標(biāo)跟蹤中存在的困難很大程度上是實(shí)際環(huán)境中目標(biāo)運(yùn)動(dòng)的復(fù)雜性以及視頻數(shù)據(jù)具有的特殊性、復(fù)雜性造成的,比如目標(biāo)旋轉(zhuǎn)、大小變形、運(yùn)動(dòng)速度、目標(biāo)顏色與背景顏色的相似程度、背景混亂及遮擋等.
視頻序列的目標(biāo)跟蹤算法必須滿足實(shí)時(shí)性、魯棒性兩個(gè)要求.目前算法大體分為4類:(1)基于運(yùn)動(dòng)檢測(cè)的跟蹤[1].背景差分算法、幀間差分算法、光流法檢測(cè)等,通過檢測(cè)運(yùn)動(dòng)目標(biāo)對(duì)應(yīng)區(qū)域的變化進(jìn)行跟蹤;(2)基于目標(biāo)特征的匹配跟蹤.特征可以是二值化分割圖像[2]、目標(biāo)顏色直方圖[3]、邊緣特征點(diǎn)、角點(diǎn)等,利用特征對(duì)復(fù)雜場(chǎng)景下的目標(biāo)進(jìn)行跟蹤,實(shí)時(shí)性比較高;(3)基于活動(dòng)輪廓的跟蹤:主動(dòng)輪廓線跟蹤 (snake)、基于 Huasdoff距離的輪廓跟蹤在軍事、視頻監(jiān)視等場(chǎng)合得到廣泛的應(yīng)用;(4)基于模型的跟蹤[4].線圖模型、二維輪廓和三維立體模型,在目標(biāo)形態(tài)變化和部分遮擋情況下也能精確分析目標(biāo)的運(yùn)動(dòng)軌跡.
Mean Shift算法[5]采用核概率密度來描述目標(biāo)的特征,然后利用均值平移搜尋目標(biāo)位置.抗干擾能力強(qiáng),對(duì)目標(biāo)旋轉(zhuǎn)和部分遮擋不敏感,計(jì)算速度快.但跟蹤過程中沒有涉及模板更新、易受光照變化影響、提取目標(biāo)特征單一無法適應(yīng)嚴(yán)重遮擋等.粒子濾波具有很好的魯棒性,跟蹤精度高,抗干擾能力強(qiáng),但運(yùn)算量大,很難應(yīng)用到實(shí)時(shí)跟蹤系統(tǒng)中.文獻(xiàn)[6]引入Kalman濾波解決了初始點(diǎn)的選擇問題.
一個(gè)魯棒的跟蹤算法應(yīng)該能準(zhǔn)確的判定遮擋發(fā)生,并且在遮擋期間利用目標(biāo)剩余的信息繼續(xù)跟蹤目標(biāo),即使在目標(biāo)被完全遮擋情況下也不至于丟失目標(biāo).克服遮擋問題,關(guān)鍵看遮擋結(jié)束后正確的跟蹤是否能得到恢復(fù).
初始幀中選定一個(gè)包含跟蹤目標(biāo)的矩形窗口,窗口內(nèi)共有n個(gè)像素點(diǎn).將窗口內(nèi)像素點(diǎn)的顏色量化成Rm×Gm×Bm級(jí),構(gòu)成一個(gè)顏色特征空間,特征值個(gè)數(shù)為m.對(duì)目標(biāo)區(qū)域內(nèi)所有像素點(diǎn),計(jì)算特征空間中每個(gè)特征值的概率稱為目標(biāo)模型的描述.第u個(gè)特征值的概率為
式中:x0為窗口的中心像素坐標(biāo);xi為第i個(gè)像素的坐標(biāo);k(x)為核函數(shù)K(x)的輪廓函數(shù);h為核窗寬;b和δ為判斷xi處的顏色值是否屬于特征值u;c為歸一化常數(shù);h為等于目標(biāo)區(qū)域外接圓的半徑大小.
候選目標(biāo)中特征值u的概率為pu(y0),y0是當(dāng)前幀中候選目標(biāo)區(qū)域中心,跟蹤的任務(wù)就是要找出y0.
基于Mean Shift算法采用跟蹤目標(biāo)的顏色分布作為特征,用Bhattacharyya系數(shù)來衡量目標(biāo)模型和候選目標(biāo)區(qū)域?qū)?yīng)的直方圖之間的相似性.當(dāng)Bhattacharyya系數(shù)小于一定值時(shí),采用粒子濾波器進(jìn)行預(yù)測(cè),目標(biāo)被完全遮擋時(shí),Bhattacharyya系數(shù)達(dá)到較低值,此時(shí)只進(jìn)行運(yùn)動(dòng)預(yù)測(cè),并繼續(xù)用粒子濾波器尋找目標(biāo),這樣目標(biāo)一出現(xiàn)就可以馬上被捕捉到;當(dāng)目標(biāo)恢復(fù)正常運(yùn)動(dòng)時(shí),Bhattacharyya系數(shù)逐漸增大,大于一定值時(shí),轉(zhuǎn)為Kalman預(yù)測(cè).
設(shè)目標(biāo)中心在x,y軸上均是一個(gè)被隨機(jī)加速擾動(dòng)的直線運(yùn)動(dòng),加速度a(t)~N),
分量表示目標(biāo)中心在x,y軸上的位置和速度;觀測(cè)向量Y(k)=[xc(k) yc(k)]T,表示當(dāng)前幀中觀測(cè)到的目標(biāo)中心在x,y軸上坐標(biāo)量;設(shè)W(k),V(k)為零均值正態(tài)白噪聲序列.
當(dāng)前幀中,預(yù)測(cè)估計(jì)值X(k)的目標(biāo)分量與觀測(cè)值Y(k)之差記為濾波器殘差
經(jīng)過若干幀后,Kalman濾波器穩(wěn)定運(yùn)行,則r(k)較小.由于當(dāng)前幀中目標(biāo)區(qū)域內(nèi)融入很多的非目標(biāo)信息,Mean shift以濾波器提供的起始點(diǎn)開始,尋找最佳目標(biāo),可能得到的位置會(huì)遠(yuǎn)離起始點(diǎn),使得濾波殘差會(huì)遠(yuǎn)大于平時(shí)的r(k),這時(shí)可判斷目標(biāo)可能遇到大的遮擋.設(shè)定閾值Tdist判斷目標(biāo)是否發(fā)生遮擋.
模板更新遵循原則:目標(biāo)緩慢改變時(shí)模型隨之緩慢改變,目標(biāo)劇烈變化時(shí)不更改模型.
若當(dāng)前幀中的Kalman殘差滿足 r(k)<Tdist
模板更新條件 ρ(pu(y),qu)≥Tud
更新方程
式中:Tud為更新閾值;qu為先前目標(biāo)模板;pu(y)為在當(dāng)前幀中跟蹤到的目標(biāo)特征分布;為更新后的目標(biāo)模板.
考慮到目標(biāo)遮擋和跟蹤偏離都會(huì)導(dǎo)致Bhattacharyya系數(shù)減小,當(dāng)跟蹤偏離目標(biāo)時(shí)而導(dǎo)致相似性系數(shù)減小,更新模板則會(huì)導(dǎo)致跟蹤失敗.所以在檢測(cè)到當(dāng)Bhattacharyya系數(shù)小于一定值時(shí),先結(jié)合粒子預(yù)測(cè)進(jìn)行一次跟蹤,若系數(shù)值仍小于給定值,則進(jìn)行目標(biāo)模板更新.
遮擋情況下改進(jìn)的粒子濾波算法.研究發(fā)現(xiàn),在非遮擋情況下,根據(jù)預(yù)測(cè)的準(zhǔn)確程度自適應(yīng)選擇粒子數(shù)量以保證跟蹤的實(shí)時(shí)性,并自適應(yīng)的選擇運(yùn)動(dòng)模型中高斯噪聲的方差以保證粒子的有效性;而在遮擋情況下和不規(guī)則運(yùn)動(dòng)時(shí),運(yùn)動(dòng)模型中的確定性預(yù)測(cè)部分不再可靠[7].所以要改變目標(biāo)的運(yùn)動(dòng)模型,粒子只做布朗運(yùn)動(dòng),并且各粒子經(jīng)過均值平移算法的一步迭代進(jìn)行優(yōu)化,不僅保證實(shí)時(shí)性,防止發(fā)生“過優(yōu)化”,更能使遮擋后的跟蹤更快恢復(fù).
1)系統(tǒng)動(dòng)態(tài)模型的建立 選用二階自回歸過程(ARP)方程
式中:Xt為t時(shí)刻的目標(biāo)狀態(tài);wt-1~N(0,σ2).上式等號(hào)右側(cè)的前兩項(xiàng)為運(yùn)動(dòng)位移量確定性預(yù)測(cè);wt-1項(xiàng)即布朗運(yùn)動(dòng),其方差決定了粒子布朗運(yùn)動(dòng)的范圍.
由于遮擋情況下跟蹤不穩(wěn)定,運(yùn)動(dòng)模型中的確定性預(yù)測(cè)不再可靠,所以只利用高斯噪聲部分,粒子只做布朗運(yùn)動(dòng),選用一階ARP方程 Xt-Xt-1=wt-1.
3)系統(tǒng)觀測(cè)模型的建立 利用當(dāng)前幀目標(biāo)的特征和初始幀目標(biāo)的特征之間的相似度表示觀測(cè)值.通過對(duì)每個(gè)粒子計(jì)算當(dāng)前幀中的候選模型來計(jì)算Bhattacharyya相似度,然后利用加權(quán)后的相似度計(jì)算相似距離di=得觀測(cè)值的概率密度函數(shù)
4)目標(biāo)位置的確定
5)重采樣 通過對(duì)后驗(yàn)概率密度再采樣Ns次,產(chǎn)生新的粒子集:,淘汰權(quán)重小的粒子而保留或復(fù)制權(quán)重大的粒子,用新的粒子集近似p(xk|z1:k)的離散分布,使得原來帶權(quán)重的粒子集映射為等權(quán)重粒子集.這些新粒子進(jìn)入下一幀的計(jì)算中,系統(tǒng)動(dòng)態(tài)模型改變粒子位置,觀測(cè)模型改變粒子的權(quán)值,確定目標(biāo)的位置,重采樣不斷循環(huán)進(jìn)行.
6)基于均值平移的粒子優(yōu)化 重采樣之后,拋棄了權(quán)值小的粒子,保留權(quán)值大的粒子,由權(quán)值大的粒子衍生出新的權(quán)值相同的粒子.然后利用均值平移理論對(duì)每個(gè)新產(chǎn)生的粒子進(jìn)行迭代之后,新粒子會(huì)自動(dòng)集中在目標(biāo)鄰近的局部最大值區(qū)域內(nèi),而同一局部最大值區(qū)域也會(huì)集中較多的粒子,因此用較少的粒子就可以實(shí)現(xiàn)目標(biāo)跟蹤.
步驟4 計(jì)算新的平移位置
步驟6 計(jì)算Bhattacharyya系數(shù)ρt.
步驟7 若ρt<th1,令t=t+1,轉(zhuǎn)步驟1;若ρt<th2,則遮擋情況下判為目標(biāo)完全遮擋,只用粒子濾波器捕捉目標(biāo),不進(jìn)行目標(biāo)模型更新,否則,判為模型平移,重新獲取模型.若連續(xù)n幀ρt<th2,則判為目標(biāo)消失,停止跟蹤.若th2<ρt<th1,則進(jìn)一步判斷.
若ρt-2>ρt-1且ρt-1>ρt(目標(biāo)進(jìn)入遮擋),或者ρt-2<ρt-1且ρt-1<ρt(目標(biāo)離開遮擋),轉(zhuǎn)下一步,否則結(jié)合粒子濾波進(jìn)行一步跟蹤;若仍滿足該條件,則按方程更新目標(biāo)模型,令t=t+1,轉(zhuǎn)步驟1.
步驟8 令t=t+1,運(yùn)用Xt-Xt-1=wt-1采樣N個(gè)粒子集,計(jì)算加權(quán)相似系數(shù)完成目標(biāo)在當(dāng)前幀的狀態(tài)估計(jì),令y*0=(x,y),轉(zhuǎn)步驟2.
本文提出的改進(jìn)算法在MATLAB 6.0環(huán)境下對(duì)兩個(gè)不同視頻序列分別進(jìn)行跟蹤測(cè)試.圖1為靜態(tài)遮擋行人視頻序列共87幀,給出部分跟蹤結(jié)果5幀(從左往右?guī)蛱?hào)依次為37,46,60,67),設(shè)置ε=1,Tud=0.683,th1=0.985,th2=0.973.跟蹤目標(biāo)選為行人的頭部,目標(biāo)從左往右的移動(dòng)過程中,存在著一個(gè)被遮擋的程度由小變大,再由大變小這樣一個(gè)過程,依靠改進(jìn)算法的魯棒性,在目標(biāo)嚴(yán)重遮擋后又很快重新鎖定了目標(biāo).圖2為http://homepages.inf.ed.ac.uk/rbf/CAVIAR 提供的動(dòng)態(tài)目標(biāo)遮擋視頻序列共260幀(從左往右?guī)蛱?hào)依次為191,221,234,257),參數(shù)設(shè)置同上.跟蹤目標(biāo)既存在不規(guī)則運(yùn)動(dòng)又存在嚴(yán)重遮擋和完全遮擋.運(yùn)用本文算法,通過觀測(cè)Bhattacharyya系數(shù)值切換濾波器保證目標(biāo)的有效跟蹤,完全遮擋消失后很快捕捉目標(biāo),目標(biāo)恢復(fù)正常運(yùn)動(dòng)時(shí),又切換到卡爾曼預(yù)測(cè),保證了實(shí)時(shí)性和魯棒性.
圖1 靜態(tài)遮擋行人視頻序列
圖2 動(dòng)態(tài)目標(biāo)遮擋視頻序列
本文提出結(jié)合均值平移和自適應(yīng)預(yù)測(cè)的目標(biāo)跟蹤算法,引入Kalman濾波器為Mean Shift算法估計(jì)初始點(diǎn),在跟蹤穩(wěn)定情況下進(jìn)行模板更新,根據(jù)Kalman殘差大小判定是否發(fā)生遮擋:部分遮擋情況下結(jié)合Kalman濾波實(shí)現(xiàn)對(duì)快速運(yùn)動(dòng)目標(biāo)的實(shí)時(shí)跟蹤;完全遮擋情況下結(jié)合粒子濾波進(jìn)行魯棒跟蹤.實(shí)驗(yàn)證明,改進(jìn)的算法可以有效地提高跟蹤算法的效率,特別是能很好地解決遮擋問題.
[1]MCKENNA S,ROSENELD S J,WESHSLER H.Tracking groups of people[J].Computer Vision and Image Understanding,2000,80(1):42-56.
[2]CHANG Fangling,MA Li,QIAO Yizheng.Target tracking under occlusion by combining interral intensity matching with multi-block-voting[J].Lecture Notesin Computer Science,2005,3644(1):77-86.
[3]QIAO Jorgehong,WAN Anhua,LIU Yu.Persontracking with occlusion using appearance filters[J].IEEE/RJ International Conference On Intelligent Robost and systems Oct.,2006.
[4]朱勝利.快速運(yùn)動(dòng)目標(biāo)的Mean Shift跟蹤算法[J].光電工程2006,33(5):66-70.
[5]DIRIK C,JACOB B.The performance of PC solidstatedisks as a function of band width,concurrency,architecture,organization[C]//Proce-edings of the 36th annual international symposium on Computer architecture.Austin,2009:279-289.
[6]JIA Jingping,WANG Qing.Object tracking by mulit-degrees of freedom mean shift procedusr combined with the Kalman particle filter algorithm[C]//Proceedings of the 15th International Conf.on Machine Learning and Dalian,13-16August 2006.
[7]強(qiáng)世錦,榮 健,滑 玉.基于粒子預(yù)測(cè)的非線性狀態(tài)目標(biāo)跟蹤算法[J].武漢理工大學(xué)學(xué)報(bào):交通科學(xué)與工程版,2008,30(2):113-115.