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