??? 摘 要: 在復(fù)雜環(huán)境中對(duì)人體進(jìn)行有效性和魯棒性的跟蹤是計(jì)算機(jī)視覺(jué)" title="計(jì)算機(jī)視覺(jué)">計(jì)算機(jī)視覺(jué)領(lǐng)域一個(gè)非常富有挑戰(zhàn)性的課題,提出了一種基于改進(jìn)粒子濾波算法" title="濾波算法">濾波算法實(shí)現(xiàn)的人體運(yùn)動(dòng)跟蹤。利用改進(jìn)的粒子濾波算法跟蹤視頻序列" title="視頻序列">視頻序列中的人體運(yùn)動(dòng),不但解決了傳統(tǒng)粒子濾波算法計(jì)算量大、誤碼多的缺點(diǎn),而且能較好地處理遮擋和自遮擋問(wèn)題。實(shí)驗(yàn)結(jié)果表明,該改進(jìn)算法能更準(zhǔn)確、更有效地跟蹤運(yùn)動(dòng)人體。
??? 關(guān)鍵詞: 粒子濾波? 人體運(yùn)動(dòng)跟蹤? 重采樣
?
??? 視頻人體運(yùn)動(dòng)跟蹤是計(jì)算機(jī)視覺(jué)領(lǐng)域中一項(xiàng)非常有挑戰(zhàn)性的任務(wù),近年來(lái)倍受關(guān)注。視頻人體運(yùn)動(dòng)跟蹤技術(shù)可廣泛應(yīng)用于體育運(yùn)動(dòng)分析、虛擬現(xiàn)實(shí)、計(jì)算機(jī)動(dòng)畫(huà)、視頻監(jiān)控、人機(jī)交互等領(lǐng)域。早期人體運(yùn)動(dòng)跟蹤多采用Kalma濾波[1]這一傳統(tǒng)技術(shù)。但是Kalma濾波要求目標(biāo)狀態(tài)必須滿(mǎn)足高斯分布" title="高斯分布">高斯分布,對(duì)于復(fù)雜背景或有遮擋等造成的非高斯分布和非線(xiàn)性問(wèn)題,往往會(huì)導(dǎo)致組合爆炸,且計(jì)算復(fù)雜度驚人,極易發(fā)生跟蹤失敗。而粒子濾波[2-3]方法對(duì)目標(biāo)狀態(tài)的分布沒(méi)有任何要求,能很好地處理非線(xiàn)性和非高斯問(wèn)題。自Bruno將粒子濾波引入到圖像序列的目標(biāo)跟蹤中以來(lái)[4],粒子濾波已成為視覺(jué)跟蹤、機(jī)器學(xué)習(xí)和機(jī)器人定位等領(lǐng)域研究的熱點(diǎn)。
??? 目前,國(guó)內(nèi)外對(duì)基于粒子濾波的人體運(yùn)動(dòng)跟蹤的研究相對(duì)較少。本文介紹基于改進(jìn)粒子濾波算法跟蹤人體運(yùn)動(dòng),不但解決了傳統(tǒng)粒子濾波算法搜索時(shí)間長(zhǎng)、容易漂移的缺點(diǎn),而且比傳統(tǒng)算法計(jì)算量小、跟蹤精度高、穩(wěn)健性強(qiáng)。
1 粒子濾波改進(jìn)算法
1.1 粒子濾波算法
??? 粒子濾波算法的核心思想是:為了求解數(shù)學(xué)或物理等方面的問(wèn)題,首先建立一個(gè)概率模型或者隨機(jī)過(guò)程,使它的參數(shù)等于問(wèn)題的解;然后通過(guò)對(duì)模型或過(guò)程的觀(guān)察或采樣試驗(yàn)計(jì)算所求參數(shù)的統(tǒng)計(jì)特征;最后給出所求解的近似值。
??? 下面詳細(xì)介紹粒子濾波的基本思想。
??? 粒子濾波就是用完全描述后驗(yàn)概率密度分布
?? 這里,x0:k={xj,j=0,…,k},z0:k={zj,j=0,…,k},分別表示各個(gè)時(shí)刻的系統(tǒng)狀態(tài)和觀(guān)測(cè)狀態(tài),表示j時(shí)刻所對(duì)應(yīng)的粒子的歸一化權(quán)值" title="權(quán)值">權(quán)值,即
??? 直接從后驗(yàn)概率p(x0:k|z1:k)中進(jìn)行取樣是比較困難的。假設(shè)存在π(x),有并且可以很方便地從π(x)中進(jìn)行取樣,這樣的π(x)稱(chēng)作重要性密度。根據(jù)貝葉斯理論有:
???
這樣,就能很容易對(duì)系統(tǒng)狀態(tài)進(jìn)行估計(jì),權(quán)值的遞推方程可以寫(xiě)成:
???
??? 在k時(shí)刻的后驗(yàn)概率密度可以近似地寫(xiě)成:
???
1.2 粒子濾波算法改進(jìn)策略
??? 傳統(tǒng)的粒子濾波算法需要使用狀態(tài)轉(zhuǎn)移后的所有粒子進(jìn)行系統(tǒng)觀(guān)測(cè)和重采樣。這使得計(jì)算量很大,而且增加了錯(cuò)誤信息,甚至?xí)?dǎo)致跟蹤目標(biāo)漂移。鑒于此,筆者對(duì)傳統(tǒng)的粒子濾波進(jìn)行了一系列的改進(jìn)。在對(duì)系統(tǒng)觀(guān)測(cè)過(guò)程進(jìn)行改進(jìn)時(shí),只選取局部最優(yōu)粒子(即權(quán)值較大的粒子)進(jìn)行狀態(tài)轉(zhuǎn)移;在重采樣環(huán)節(jié),也使用了這種局部最優(yōu)原理,只選取部分大權(quán)值粒子。改進(jìn)的粒子濾波算法,能夠在很大程度上解決上述問(wèn)題。
??? 圖1描述的是狀態(tài)轉(zhuǎn)移環(huán)節(jié),當(dāng)前時(shí)刻所有粒子對(duì)應(yīng)的位置服從均勻分布。圖中“○”表示跟蹤目標(biāo)在該時(shí)刻的真實(shí)位置,黑點(diǎn)表示該時(shí)刻的粒子,黑點(diǎn)的大小代表粒子權(quán)值的大小。
?
?
??? 由圖發(fā)現(xiàn),離“○”越近的粒子權(quán)值越大,超出1/2粒子傳播半徑的粒子,權(quán)值可忽略。根據(jù)這種先驗(yàn)知識(shí),基于局部最優(yōu)化原理選取部分粒子。當(dāng)利用粒子進(jìn)行系統(tǒng)觀(guān)測(cè)時(shí),將粒子按權(quán)值大小依次排序,只需選取半數(shù)大權(quán)值粒子,就能很準(zhǔn)確地計(jì)算出最優(yōu)估計(jì)的位置。這種改進(jìn)策略可使該環(huán)節(jié)的計(jì)算量減少40%。由于忽略了遠(yuǎn)處的粒子,剔除了部分錯(cuò)誤信息,因此跟蹤精度也得到了提高。
??? 粒子重采樣環(huán)節(jié)的改進(jìn)是分裂粒子時(shí)只選取上述的半數(shù)大權(quán)值粒子。改進(jìn)的重采樣具體實(shí)現(xiàn)過(guò)程如下:將系統(tǒng)觀(guān)測(cè)過(guò)程中使用的粒子,按大小排序均分為兩組。權(quán)值大的一組,每個(gè)粒子分裂為三個(gè)新的粒子;權(quán)值較小的一組,每個(gè)粒子只生成一個(gè)新粒子。這樣做不但簡(jiǎn)化了計(jì)算,提高了運(yùn)行速度,而且增強(qiáng)了重采樣粒子的有效性。
??? 該改進(jìn)算法的優(yōu)點(diǎn):(1)使得后驗(yàn)分布樣本更加接近真實(shí)分布;(2)大大減少了計(jì)算量。多次實(shí)驗(yàn)表明,改進(jìn)算法在人體運(yùn)動(dòng)跟蹤時(shí)較傳統(tǒng)算法效果更好,魯棒性更高。
2 基于改進(jìn)粒子濾波算法的人體運(yùn)動(dòng)跟蹤
??? 視頻中的特定人體有其獨(dú)特的運(yùn)動(dòng)特征,且其關(guān)節(jié)運(yùn)動(dòng)都是非剛性的。為使運(yùn)動(dòng)模型在運(yùn)動(dòng)預(yù)測(cè)中有更好的適用性和更高的準(zhǔn)確性,依據(jù)統(tǒng)計(jì)分析的成果,采用一階自回歸過(guò)程ARP(Auto-Regressive Process)動(dòng)力學(xué)模型作為運(yùn)動(dòng)模型,并通過(guò)訓(xùn)練序列計(jì)算出該模型的參數(shù)。在模板區(qū)域相似性計(jì)算的基礎(chǔ)上,通過(guò)粒子濾波實(shí)現(xiàn)人體運(yùn)動(dòng)的跟蹤?;谶@一基本思路,本文提出基于粒子濾波的人體運(yùn)動(dòng)跟蹤的流程圖,如圖2所示。
?
2.1 初始化
??? 跟蹤初始化,就是按運(yùn)動(dòng)模型的要求,在初始幀形成表示各自分布模型的粒子集。具體過(guò)程如下:在被跟蹤序列的初始幀中手動(dòng)提取目標(biāo)模板,將它作為起始幀的狀態(tài)向量。提取目標(biāo)的初始運(yùn)動(dòng)參數(shù)在狀態(tài)向量的各分量上加正態(tài)隨機(jī)噪聲,構(gòu)造N個(gè)狀態(tài)向量,即粒子數(shù)為N,每個(gè)粒子代表一個(gè)可能的運(yùn)動(dòng)狀態(tài)。若初始的權(quán)值ωi為1,則具有N個(gè)運(yùn)動(dòng)狀態(tài)參數(shù)這里Pi選擇Pinit附近的點(diǎn)。
2.2 采樣
??? 采樣就是從表示先驗(yàn)?zāi)P偷臓顟B(tài)向量集中按概率選取其中的若干向量。一次采樣選取一個(gè)狀態(tài)向量,進(jìn)行N次這樣的采樣,得到N個(gè)新的狀態(tài)向量。顯然,權(quán)值太小的狀態(tài)向量(即粒子)在采樣過(guò)程中被選中的概率就小,而且在逐步迭代中可能被丟掉;權(quán)值大的粒子被選中的概率就比較大,也可能被多次選中。這樣,采樣得到的新的粒子集能更好地估計(jì)概率分布。
2.3 狀態(tài)轉(zhuǎn)移
??? 系統(tǒng)狀態(tài)轉(zhuǎn)移,即粒子的傳播過(guò)程。從采樣得到的新的粒子集出發(fā),經(jīng)運(yùn)動(dòng)模型計(jì)算得到預(yù)測(cè)模型。粒子傳播是一種隨機(jī)運(yùn)動(dòng)過(guò)程,服從一階ARP方程。
???
式中,xt為目標(biāo)在t時(shí)刻的狀態(tài),wt-1是歸一化噪聲量,A和B是常數(shù)。這里,t時(shí)刻系統(tǒng)的狀態(tài)轉(zhuǎn)移過(guò)程與當(dāng)前時(shí)刻的觀(guān)測(cè)量無(wú)關(guān)。
??? 粒子Ni的運(yùn)動(dòng)狀態(tài)參量為:
???
???
式中,A1、A2、B1、B2為常數(shù),一般A取1,B為粒子傳播半徑(系統(tǒng)狀態(tài)轉(zhuǎn)移過(guò)程中,粒子所能夠傳播的范圍),W是[-1,1]內(nèi)的隨機(jī)數(shù)。系統(tǒng)狀態(tài)轉(zhuǎn)移的實(shí)質(zhì)就是在坐標(biāo)上迭加一個(gè)擾動(dòng)量。
??? 這一步是先驗(yàn)概率的傳播過(guò)程,即“假設(shè)”目標(biāo)狀態(tài)將以何種方式傳播。粒子傳播是否合理需要通過(guò)下一階段即系統(tǒng)觀(guān)測(cè)進(jìn)行驗(yàn)證。
2.4 系統(tǒng)觀(guān)測(cè)
??? 系統(tǒng)觀(guān)測(cè)過(guò)程就是將當(dāng)前預(yù)測(cè)模型中的每一個(gè)狀態(tài)向量所對(duì)應(yīng)的外觀(guān)模型與由其確定的當(dāng)前幀圖像中的對(duì)應(yīng)區(qū)域進(jìn)行相似性計(jì)算,并給每一個(gè)狀態(tài)向量賦一個(gè)權(quán)值。
??? 每個(gè)粒子狀態(tài)轉(zhuǎn)移后,用對(duì)應(yīng)新坐標(biāo)計(jì)算一個(gè)MADi。
??? 定義概率密度函數(shù)為:
它作為當(dāng)前幀的跟蹤結(jié)果輸出。
2.5 重采樣
??? 按上述采樣、轉(zhuǎn)移和觀(guān)測(cè)過(guò)程完成當(dāng)前幀的跟蹤計(jì)算后,對(duì)當(dāng)前幀的后驗(yàn)?zāi)P瓦M(jìn)行同樣的采樣,得到下一幀的先驗(yàn)?zāi)P?。進(jìn)而可以對(duì)下一幀進(jìn)行新的預(yù)測(cè)和觀(guān)測(cè),繼續(xù)后續(xù)序列的跟蹤計(jì)算,直至最后一幀,完成跟蹤過(guò)程。
3 實(shí)驗(yàn)仿真和分析
3.1 仿真結(jié)果
??? 按照上述步驟,使用C語(yǔ)言在VC環(huán)境下編譯,實(shí)現(xiàn)本文算法框架。為了驗(yàn)證該改進(jìn)算法的有效性,對(duì)一組在走廊內(nèi)拍攝到的行人視頻序列進(jìn)行跟蹤(右邊行人為跟蹤目標(biāo))。序列長(zhǎng)度為1376幀,每幀圖像的大小為384×288,選取207~407共200幀進(jìn)行仿真。207幀作為初始模版,跟蹤人體的目標(biāo)大小為30×70,如圖3所示。每幅圖像對(duì)應(yīng)的幀分別為:207,242,265,287,310,331,356,361,407。
?
??? 實(shí)驗(yàn)跟蹤結(jié)果表明,本文提出的基于改進(jìn)粒子濾波算法的人體運(yùn)動(dòng)跟蹤在強(qiáng)雜波背景下,對(duì)人體產(chǎn)生遮擋和自遮擋時(shí)的跟蹤是有效的和穩(wěn)健的,有很好的實(shí)際應(yīng)用價(jià)值和推廣價(jià)值。
3.2 結(jié)果分析
??? 為了進(jìn)一步說(shuō)明該改進(jìn)算法的優(yōu)越性,將原始視頻序列、改進(jìn)算法跟蹤序列、傳統(tǒng)算法跟蹤序列進(jìn)行比較,如圖4所示。
?
??? 圖中三條曲線(xiàn)是對(duì)三組視頻序列每隔20幀取樣、描點(diǎn)、連線(xiàn)所得,分別反映了目標(biāo)真實(shí)的運(yùn)動(dòng)軌跡和兩組跟蹤軌跡。如圖所示,改進(jìn)算法始終準(zhǔn)確地跟蹤到目標(biāo),而傳統(tǒng)算法跟蹤精度相對(duì)不高,且隨著時(shí)間的推移產(chǎn)生了漂移現(xiàn)象。
??? 視頻人體運(yùn)動(dòng)跟蹤是計(jì)算機(jī)視覺(jué)領(lǐng)域一個(gè)重要研究方向。本文結(jié)合局部最優(yōu)化原理對(duì)粒子濾波算法的系統(tǒng)觀(guān)測(cè)環(huán)節(jié)和重采樣環(huán)節(jié)加以改進(jìn)。將改進(jìn)算法引入人體運(yùn)動(dòng)跟蹤獲得了令人滿(mǎn)意的效果。視頻人體運(yùn)動(dòng)跟蹤在眾多領(lǐng)域都有著廣泛的應(yīng)用,所以該新算法的提出有廣泛的應(yīng)用前景和推廣價(jià)值。但該問(wèn)題的研究尚未成熟,需進(jìn)一步完善。
參考文獻(xiàn)
[1] CHAM T J,REHG J M.A multiple hypothesis approach to figure tracking//Proceedings of the IEEE Conference on?Computer Vision and Pattern Recognition,F(xiàn)ort Collins,Colorado,1999,239-245.
[2] ARULAMPALAM M,MASKELL S,GORDON N,et al.A?Tutorial on Particle Filters for Online Non-linear/NonGaussian Bayesian Tracking[J].IEEE Trans on Signal?Processing,2002,50(2):174-188.
[3] 胡士強(qiáng),敬忠良.粒子濾波算法綜述[J].控制與決策,2005,20(4):361-365.
[4] BRUNO MG S.Bayesian methods for multi aspect target?tracking in image sequences[J].IEEE Trans on Signal?Processing,2004,52(7):1848-1861.
[5] LI P H,ZHANG T W.Visual contour tracking based on?sequential importance sampling/resampling algorithm[C]//Proc of the 16th Int.Conf.on Pattern Recognition.Canada:IEEE Computer Society,2002,2:564-5681.
[6] 李華.基于概率模型的三維人體運(yùn)動(dòng)研究[D].中國(guó)科學(xué)院研究生院智能信息處理重點(diǎn)實(shí)驗(yàn)室,2005.
[7] FISHER R.CAVIAR test case scenarios.2003.http://homepages.inf.ed.ac.uk/rbf/CAVIAR.