《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 基于Mean Shift和粒子濾波的運(yùn)動(dòng)目標(biāo)跟蹤
基于Mean Shift和粒子濾波的運(yùn)動(dòng)目標(biāo)跟蹤
來源:微型機(jī)與應(yīng)用2012年第23期
馬曉路,劉 倩,牟海軍
(中南民族大學(xué) 電子信息工程學(xué)院,湖北 武漢 430074)
摘要: 針對(duì)Mean Shift算法跟蹤效果不佳以及粒子濾波算法計(jì)算量大且實(shí)時(shí)性不強(qiáng)等問題,提出了一種結(jié)合Mean Shift和粒子濾波的運(yùn)動(dòng)目標(biāo)跟蹤融合算法。首先用Mean Shift算法進(jìn)行跟蹤,在跟蹤結(jié)果不佳的情況下用粒子濾波算法進(jìn)行修正。實(shí)驗(yàn)結(jié)果表明,融合算法很好地結(jié)合了兩種算法的優(yōu)點(diǎn),既保留了Mean Shift算法的實(shí)時(shí)性,又很好地體現(xiàn)了粒子濾波算法的魯棒性,實(shí)用性很強(qiáng)。
Abstract:
Key words :

摘  要: 針對(duì)Mean Shift算法跟蹤效果不佳以及粒子濾波算法計(jì)算量大且實(shí)時(shí)性不強(qiáng)等問題,提出了一種結(jié)合Mean Shift和粒子濾波的運(yùn)動(dòng)目標(biāo)跟蹤融合算法。首先用Mean Shift算法進(jìn)行跟蹤,在跟蹤結(jié)果不佳的情況下用粒子濾波算法進(jìn)行修正。實(shí)驗(yàn)結(jié)果表明,融合算法很好地結(jié)合了兩種算法的優(yōu)點(diǎn),既保留了Mean Shift算法的實(shí)時(shí)性,又很好地體現(xiàn)了粒子濾波算法的魯棒性,實(shí)用性很強(qiáng)。
關(guān)鍵詞: 算法融合均值漂移;粒子濾波;運(yùn)動(dòng)目標(biāo)跟蹤

 運(yùn)動(dòng)目標(biāo)跟蹤廣泛地應(yīng)用在生活中的各個(gè)領(lǐng)域,比如在交通監(jiān)控中,目標(biāo)跟蹤對(duì)有效地預(yù)防交通事故起到至關(guān)重要的作用[1-2]。為了提高跟蹤效果,目標(biāo)跟蹤領(lǐng)域產(chǎn)生了大量的新方法。由于單一算法所具有的局限性,近年來,人們嘗試使用算法融合來提高目標(biāo)跟蹤的性能。多數(shù)情況下,算法融合提高了目標(biāo)跟蹤性能。
Mean Shift(均值漂移)是一種有效的跟蹤算法,具有很高的精度和速度[3]。但是,當(dāng)光照強(qiáng)度不佳或者運(yùn)動(dòng)目標(biāo)速度很快的時(shí)候,Mean Shift算法的跟蹤效果就會(huì)變得很差。而Particle Filter算法處理這種情況的效果要好于Mean Shift算法,但是運(yùn)算速度遠(yuǎn)低于Mean Shift算法。本文融合兩種算法的優(yōu)點(diǎn)來提高跟蹤效果。首先建立一個(gè)反饋系統(tǒng),先用Mean Shift算法對(duì)目標(biāo)跟蹤,當(dāng)跟蹤效果不理想時(shí),再用Particle Filter算法進(jìn)行跟蹤。仿真結(jié)果表明,在絕大多數(shù)情況下該方法比用單一算法的跟蹤效果好。
1 Mean Shift算法
 Mean Shift算法最早由Fukunaga等人于1975年在一篇關(guān)于概率密度梯度函數(shù)的文章中提出來的,其最初含義恰如其名,就是指偏移的均值向量,在這里,Mean Shift是一個(gè)名詞,指代一個(gè)向量。1995年,Cheng Yizong等發(fā)表了一篇關(guān)于Mean Shift的重要文獻(xiàn)[5],在這篇文獻(xiàn)中,Cheng Yizong對(duì)基本的Mean Shift做出改進(jìn),首先定義了一族核函數(shù),然后設(shè)定了一個(gè)權(quán)重系數(shù)。這兩方面的改進(jìn)大大拓展了Mean Shift的應(yīng)用范圍。
 本文所用的Mean Shift算法步驟如下[4]:首先使用一種非參數(shù)概率密度來建立一個(gè)色彩分布模型描述跟蹤目標(biāo),用Bhattacharyya系數(shù)(巴氏系數(shù))確定目標(biāo)物體與背景的相似點(diǎn),然后取概率平均值來確定運(yùn)動(dòng)目標(biāo)最有可能移動(dòng)的區(qū)域。算法過程如下:
 假設(shè)目標(biāo)物體中心位于x0,設(shè){xi}i=1…n為目標(biāo)物體的標(biāo)準(zhǔn)像素點(diǎn),b(xi)表示xi點(diǎn)的RGB值,則目標(biāo)物體的特征值u=1...m的概率定義如下:

2 Particle Filter算法
 粒子濾波PF(Particle Filter)的思想基于蒙特卡洛方法(Monte Carlo Methods),它是利用粒子集來表示概率,可以用在任何形式的狀態(tài)空間模型上[6]。其核心思想是通過從后驗(yàn)概率中抽取的隨機(jī)狀態(tài)粒子來表達(dá)其分布,是一種順序重要性采樣法(Sequential Importance Sampling)。簡(jiǎn)單來說,粒子濾波法是指通過尋找一組在狀態(tài)空間傳播的隨機(jī)樣本對(duì)概率密度函數(shù)進(jìn)行近似,以樣本均值代替積分運(yùn)算,從而獲得狀態(tài)最小方差分布的過程。這里的樣本即指粒子,當(dāng)樣本數(shù)量n→∞時(shí),可以逼近任何形式的概率密度分布[7]。
在大多數(shù)情況下,粒子濾波可以得到比Mean Shift更好地跟蹤效果,但是,粒子濾波算法需要大量的運(yùn)算,這將大大降低跟蹤速度。
 粒子濾波算法的跟蹤過程大致如下[8]:
?。?)初始化:在運(yùn)動(dòng)目標(biāo)可能出現(xiàn)的區(qū)域隨機(jī)生成n個(gè)粒子,每個(gè)粒子的概率相同;
 (2)觀測(cè)更新:計(jì)算n個(gè)粒子的置信度,歸一化權(quán)值,確保所有粒子的權(quán)值和為1;
?。?)估計(jì)目標(biāo)狀態(tài):根據(jù)粒子的權(quán)值和所對(duì)應(yīng)的位置,計(jì)算出目標(biāo)最有可能移動(dòng)的位置;
?。?)重采樣:去掉置信度低的粒子,加入新的置信度高的粒子,確保粒子總數(shù)為n,這些粒子即為下一時(shí)刻的初始化樣本粒子;
 (5)如需繼續(xù)跟蹤,則返回步驟(2),否則退出。
3 Mean Shift和Particle Filter的融合算法
 Mean Shift算法可以快速有效地跟蹤到運(yùn)動(dòng)目標(biāo),但在非線性、運(yùn)動(dòng)目標(biāo)部分遮擋的情況下,跟蹤效果會(huì)變得很差,而Particle Filter算法在這種情況下的跟蹤效果依然令人滿意[9-10]。但是,Particle Filter存在粒子選取的問題。針對(duì)這兩種算法的優(yōu)缺點(diǎn),本文將這兩種算法進(jìn)行了有效地融合,很好地彌補(bǔ)了單一算法存在的不足。算法的主要步驟如下:
?。?)初始化目標(biāo)模型A;
 (2)從視頻中讀取一幀圖像,用Mean Shift算法進(jìn)行跟蹤;
?。?)計(jì)算出跟蹤結(jié)果,把這個(gè)結(jié)果標(biāo)記為候選區(qū)域B;
?。?)計(jì)算巴氏系數(shù)Ba(A,B);
?。?)當(dāng)巴氏系數(shù)大于閾值F,表明跟蹤效果良好,則更新模型,繼續(xù)用Mean Shift算法跟蹤;
?。?)如跟蹤效果不好,則擴(kuò)大候選區(qū)域B的范圍,使用粒子濾波算法進(jìn)行跟蹤,直到跟蹤效果令人滿意;
?。?)更新模型,繼續(xù)從第(2)步開始進(jìn)行跟蹤;
 (8)如停止跟蹤,則算法終止。
 融合算法流程如圖1所示:


4 實(shí)驗(yàn)結(jié)果分析
 分別采用Mean Shift算法和本文所提出的融合算法對(duì)同一目標(biāo)進(jìn)行跟蹤,以驗(yàn)證算法的有效性,用Particle Filter算法進(jìn)行跟蹤誤差分析。開發(fā)環(huán)境為MATLAB R2008b,首先以人為目標(biāo)觀察光照條件不佳的情況下的跟蹤效果,然后以高速運(yùn)動(dòng)的物體為目標(biāo)觀察高速運(yùn)動(dòng)情況下的跟蹤效果,目標(biāo)的初始狀態(tài)均用鼠標(biāo)手動(dòng)標(biāo)定。實(shí)驗(yàn)結(jié)果如圖2~圖5所示。

 

 

 從4組實(shí)驗(yàn)結(jié)果來看,與Mean Shift算法相比,在光照條件不佳或運(yùn)動(dòng)目標(biāo)速度很快的情況下,融合算法在保證跟蹤實(shí)時(shí)性的同時(shí),還能夠保持足夠的準(zhǔn)確性。同時(shí),本文算法的一個(gè)關(guān)鍵是閾值F的選取。由第三部分介紹可知,選取一個(gè)合適的閾值,可以提高跟蹤的性能,由于缺少測(cè)試視頻,所以只能采用排除法來選取閾值F,經(jīng)過多次試驗(yàn)所得到的結(jié)果,閾值F大概在Ba×0.85~Ba×0.9之間最適合進(jìn)行跟蹤實(shí)驗(yàn)。
 而對(duì)于粒子濾波,雖然隨著跟蹤時(shí)間的增加跟蹤誤差變?。ㄈ鐖D6所示),但是算法運(yùn)行時(shí)間過長(zhǎng),跟蹤的實(shí)時(shí)性得不到保證。本文提出的融合算法則在保證準(zhǔn)確性的同時(shí),兼顧了實(shí)時(shí)性。

 本文根據(jù)Mean Shift算法和粒子濾波算法的優(yōu)缺點(diǎn),提出了一種融合兩種算法的方法。該算法保留了Mean Shift算法跟蹤快速的優(yōu)點(diǎn),同時(shí)又兼具了粒子濾波魯棒性強(qiáng)的特點(diǎn)。最后,對(duì)本文提出的算法進(jìn)行了具體的實(shí)現(xiàn),實(shí)驗(yàn)結(jié)果令人滿意。
 由于本文是對(duì)手工標(biāo)定的區(qū)域進(jìn)行跟蹤,因此,實(shí)現(xiàn)跟蹤窗口的自動(dòng)跟蹤和自適應(yīng)窗口將是下一步的研究工作。   
參考文獻(xiàn)
[1] COMANICIU D, RAMESH V, MEER P. Kernel-based object tracking[J]. IEEE Transactions Pattern Analysis and Machine Intelligence, 2003,25(5):550-585.    
[2] YILMAZ A, JAVED O, SHAH M. Object tracking: a survey[J]. ACM Computer Surveys,    2006,38(4):23-67.
[3] COMANICIU D, RAMESH V, MEER P, Real-time tracking of non-rigid objects using Mean Shift[C]. Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern     Recognition,2000,2: 140-149.    
[4] 孫劍,周鳳岐,周軍.基于mean-shift的快速跟蹤算法設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2006(8):24-43.
[5] Cheng Yizong. Mean-shift, mode seeking and clustering[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1995, 17(8): 780-799.           
[6] 姚劍敏.粒子濾波跟蹤方法研究[D].長(zhǎng)春:長(zhǎng)春光學(xué)精密機(jī)械與物理研究所,2004:50-81.
[7] NUMMIARO K, KOLLER M E, VAN G L. A color-based particle filter.  Proceedings of the 1st Workshop on Generative- Model-Based Vision, 2002:43-65.
[8] ARULAMPALAM M S, MASKELL S, GORDON N, et al. A tutorial on particle filters for online nonlinear/non-gaussian bayesian tracking[J]. IEEE Transactions on Signal     Processing,2002,50(2):154-188.
[9] COMANICIU D, MEER P. Mean shift: a robust approach toward feature space analysis[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002(24):603-619.
[10] 馬麗,常發(fā)亮,喬誼正.基于均值漂移算法和粒子濾波算法的目標(biāo)跟蹤[J].模式識(shí)別與人工智能,2006,19(6):767-793.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。