??? 摘 要: 在復(fù)雜環(huán)境中對(duì)人體進(jìn)行有效性和魯棒性的跟蹤是計(jì)算機(jī)視覺" title="計(jì)算機(jī)視覺">計(jì)算機(jī)視覺領(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ī)視覺領(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)畫,、視頻監(jiān)控,、人機(jī)交互等領(lǐng)域。早期人體運(yùn)動(dòng)跟蹤多采用Kalma濾波[1]這一傳統(tǒng)技術(shù),。但是Kalma濾波要求目標(biāo)狀態(tài)必須滿足高斯分布" title="高斯分布">高斯分布,,對(duì)于復(fù)雜背景或有遮擋等造成的非高斯分布和非線性問(wèn)題,往往會(huì)導(dǎo)致組合爆炸,,且計(jì)算復(fù)雜度驚人,,極易發(fā)生跟蹤失敗,。而粒子濾波[2-3]方法對(duì)目標(biāo)狀態(tài)的分布沒有任何要求,能很好地處理非線性和非高斯問(wèn)題,。自Bruno將粒子濾波引入到圖像序列的目標(biāo)跟蹤中以來(lái)[4],,粒子濾波已成為視覺跟蹤、機(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ò)程的觀察或采樣試驗(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)和觀測(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)稱作重要性密度。根據(jù)貝葉斯理論有:
???
這樣,,就能很容易對(duì)系統(tǒng)狀態(tài)進(jìn)行估計(jì),,權(quán)值的遞推方程可以寫成:
???
??? 在k時(shí)刻的后驗(yàn)概率密度可以近似地寫成:
???
1.2 粒子濾波算法改進(jìn)策略
??? 傳統(tǒng)的粒子濾波算法需要使用狀態(tài)轉(zhuǎn)移后的所有粒子進(jìn)行系統(tǒng)觀測(cè)和重采樣。這使得計(jì)算量很大,,而且增加了錯(cuò)誤信息,,甚至?xí)?dǎo)致跟蹤目標(biāo)漂移,。鑒于此,筆者對(duì)傳統(tǒng)的粒子濾波進(jìn)行了一系列的改進(jìn),。在對(duì)系統(tǒng)觀測(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)觀測(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)觀測(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í)刻的觀測(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)觀測(cè)進(jìn)行驗(yàn)證,。
2.4 系統(tǒng)觀測(cè)
??? 系統(tǒng)觀測(cè)過(guò)程就是將當(dāng)前預(yù)測(cè)模型中的每一個(gè)狀態(tài)向量所對(duì)應(yīng)的外觀模型與由其確定的當(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)移和觀測(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è)和觀測(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所示,。
?
??? 圖中三條曲線是對(duì)三組視頻序列每隔20幀取樣、描點(diǎ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ī)視覺領(lǐng)域一個(gè)重要研究方向,。本文結(jié)合局部最優(yōu)化原理對(duì)粒子濾波算法的系統(tǒng)觀測(cè)環(huán)節(jié)和重采樣環(huán)節(jié)加以改進(jìn)。將改進(jìn)算法引入人體運(yùn)動(dòng)跟蹤獲得了令人滿意的效果。視頻人體運(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.