楊 戈,溫詩偉,黃 靜
(1.北京師范大學(xué) 珠海分校 信息技術(shù)學(xué)院,廣東 珠海 519087;2.北京大學(xué) 深圳研究生院 深圳物聯(lián)網(wǎng)智能感知技術(shù)工程實(shí)驗(yàn)室,廣東 深圳518055)
視覺跟蹤是通過對圖像序列中的運(yùn)動目標(biāo)進(jìn)行檢測、識別、跟蹤,獲得運(yùn)動目標(biāo)的運(yùn)動參數(shù),通過進(jìn)一步處理與分析,實(shí)現(xiàn)對運(yùn)動目標(biāo)的行為認(rèn)識,以完成對運(yùn)動目標(biāo)的跟蹤[1-2]等更高級的任務(wù)。處理理背景復(fù)雜多變的目標(biāo)運(yùn)動的跟蹤問題,要運(yùn)用到現(xiàn)階段各相關(guān)領(lǐng)域相結(jié)合的識別跟蹤算法,如均值漂移算法(Mean Shift)[3],卡爾曼濾波算法(Kalman)、粒子群跟蹤算法(Pso)[4],以及粒子濾波跟蹤算法PF(Particle Filter)[5]。粒子濾波算法適合處理非線性系統(tǒng)的目標(biāo)跟蹤問題,它擺脫了解決非線性濾波問題時(shí),隨機(jī)量必須滿足高斯分布的制約[6]。因此,粒子濾波能夠比較精確地表達(dá)基于觀測量和控制量的后驗(yàn)概率分布,可用于解決即時(shí)定位與地圖構(gòu)建SLAM(Simultaneous Localization and Mapping)問題。
粒子濾波的思想[7],即基于蒙特卡洛方法(Monte Carlo Methods),它是利用粒子集來表示概率,可以用在任何形式的狀態(tài)空間模型上。基于粒子濾波的視覺跟蹤的核心思想是利用一組加權(quán)的隨機(jī)樣本 (也稱為粒子){Xk(i),近似表示視覺目標(biāo)后驗(yàn)概率p(Xk|Z1:k)。簡單來說,粒子濾波法是指通過尋找一組在狀態(tài)空間傳播的隨機(jī)樣本對概率密度函數(shù)p(xk|zk)進(jìn)行近似,以樣本均值代替積分運(yùn)算,從而獲得狀態(tài)最小方差分布的過程。其中k為離散時(shí)間;Xk為狀態(tài)向量,表示其在二維圖像域上的位置;Zk為系統(tǒng)觀測值,表示顏色分布向量。這里的樣本即指粒子,當(dāng)樣本數(shù)量N→∝時(shí)可以逼近任何形式的概率密度分布。采用數(shù)學(xué)語言描述如下:對于平穩(wěn)的隨機(jī)過程,假定k-1時(shí)刻系統(tǒng)的后驗(yàn)概率密度為p(xk-1|zk-1),依據(jù)一定原則選擇n個(gè)隨機(jī)樣本點(diǎn),k時(shí)刻獲取測量信息后,經(jīng)過狀態(tài)和時(shí)間更新過程,n個(gè)粒子的后驗(yàn)概率密度可近似為p(xk|zk)。隨著粒子數(shù)目的增加,粒子的概率密度函數(shù)逐漸逼近狀態(tài)的概率密度函數(shù)q(x0:k|z1:k)[8]。
算法的一般描述:
(1)初始化:取 k=0,按后驗(yàn)概率密度函數(shù) p(xk|zk)抽取 N 個(gè)樣本點(diǎn),i=1,…,N。
其中,輔助變量i表示k-1時(shí)刻采樣粒子的索引。若采用一步轉(zhuǎn)移后驗(yàn)狀態(tài)分布,該式可簡化為
(4)歸一化權(quán)值:
其中,d為 Bhattacharyya距離。
(7)k=k+1,重復(fù)步驟(2)~步驟(6)。
本文對視覺跟蹤器的跟蹤目標(biāo)特征模型是加權(quán)顏色直方圖。將目標(biāo)區(qū)域化成m個(gè)子區(qū)域,統(tǒng)計(jì)圖像序列中每個(gè)像素點(diǎn)落在相應(yīng)子區(qū)域中的頻數(shù),得到顏色直方圖。目標(biāo)模型與觀測模型相似度的計(jì)算是通過引入Bhattacharyya公式[9],和Bhattacharyya系數(shù)ρ觀測模型的參考顏色密度q,同樣將粒子的加權(quán)顏色直方圖表示為q={q(u)}u=1…m,它與目標(biāo)預(yù)測狀態(tài)的顏色密度p={p(u)}u=1…m的匹配度用Bhattacharyya系數(shù)ρ或Bhattacharyya距離d表示,其中 ρ∈[0,1]。
其中ρ的值越大或d的值越小,表明目標(biāo)模型與觀測模型的顏色密度的相似度越高。最后,用權(quán)值最大粒子的位置作為目標(biāo)的位置。
(1)初始化:令k=0,人工手動選取目標(biāo)參考模型 Xc,并計(jì)算其顏色分布{q(u)}u=1,…,B;同時(shí),根據(jù)先驗(yàn)分布 p(X0)建立初始狀態(tài)樣本集
(4)視覺目標(biāo)狀態(tài)估計(jì)輸出:根據(jù)式(3)、式(4)計(jì)算 k時(shí)刻視覺目標(biāo)狀態(tài)的MMSE(Minimum Mean Square Error)最小均方誤差估計(jì)
②產(chǎn)生[0,1]上均勻分布的隨機(jī)數(shù)u;
(6)令 k=k+1,返回步驟(2)。
根據(jù)粒子濾波算法的描述,本文對視覺跟蹤器的框架設(shè)計(jì)如圖1所示。
圖1 視覺跟蹤器的跟蹤目標(biāo)流程圖
實(shí)驗(yàn)的硬件環(huán)境:CPU型號:Intel酷睿 i5 3210 M,CPU主頻為 2.5 GHz,內(nèi)存為4 GB,顯存為2 GB。
實(shí)驗(yàn)的軟件環(huán)境:操作系統(tǒng)為Windows 7,編程環(huán)境為Microsoft Visual C++6.0,所用函數(shù)庫為OpenCV,MFC。
采用基于加權(quán)顏色直方圖粒子濾波的視覺跟蹤器對目標(biāo)進(jìn)行跟蹤的。
本文將基于加權(quán)顏色直方圖的粒子濾波算法用于目標(biāo)人物的實(shí)時(shí)跟蹤。實(shí)驗(yàn)是在VC++6.0和OpenCV的環(huán)境下進(jìn)行,矩形為人為設(shè)定,每幀圖像的大小為640×480像素,粒子數(shù)N=150。圖2所示為對小件物體的運(yùn)動目標(biāo)的視覺跟蹤,并把粒子樣本顯示出來,如圖方框中的粒子,粒子分布符合高斯分布。圖3所示為對女生的運(yùn)動目標(biāo)的視覺跟蹤,圖中矩形內(nèi)部是待跟蹤的目標(biāo)人物,矩形為人為設(shè)定,用基于加權(quán)顏色直方圖的粒子濾波方法對具有特定顏色的目標(biāo)進(jìn)行跟蹤,計(jì)算每幀圖像每個(gè)像素點(diǎn)的顏色概率分布直方圖,對每個(gè)像素進(jìn)行加權(quán)處理,只需保留樣本中權(quán)值大的粒子,拋棄權(quán)值小的粒子,這樣就大大減少了計(jì)算。實(shí)驗(yàn)結(jié)果表明,粒子濾波跟蹤算法對系統(tǒng)資源要求不高,計(jì)算時(shí)間少,一幀平均處理時(shí)間為170 ms。而在有遮擋的運(yùn)動目標(biāo)的圖像序列當(dāng)中,每幀圖像的大小為640×480像素,粒子數(shù) N=150,對有遮擋的運(yùn)動目標(biāo)能夠有很好的魯棒性,平均每幀跟蹤時(shí)間為350 ms。圖4所示為對男生的運(yùn)動目標(biāo)的視覺跟蹤,對有遮擋的目標(biāo),跟蹤的準(zhǔn)確率有所下降;而有遮擋的運(yùn)動目標(biāo)則有很好的魯棒性,平均每幀跟蹤時(shí)間為350 ms。表1為圖像序列在這兩種情況下,跟蹤算法的成功率的比較,當(dāng)跟蹤窗口沒有跟蹤目標(biāo)視為失敗。
圖2 對小物體(書)的視覺跟蹤(粒子樣本顯示)
圖3 對女生的運(yùn)動目標(biāo)的視覺跟蹤
圖4 對男生的運(yùn)動目標(biāo)的視覺跟蹤(有遮擋)
表1 跟蹤算法跟蹤成功率的比較
本文闡述了通過基于特征跟蹤策略,應(yīng)用OpenCV函數(shù)庫進(jìn)行對圖像序列的運(yùn)動目標(biāo)進(jìn)行跟蹤和監(jiān)測,實(shí)現(xiàn)了基于加權(quán)顏色直方圖粒子濾波的視覺跟蹤器。通過實(shí)驗(yàn)表明,基于加權(quán)顏色直方圖的粒子濾波方法計(jì)算效率高,魯棒性好,實(shí)現(xiàn)了對彩色物體的實(shí)時(shí)跟蹤。
[1]侯志強(qiáng),韓崇昭.視覺跟蹤技術(shù)綜述[J].自動化學(xué)報(bào),2006,32(4):604-612.
[2]楊戈,劉宏.視覺跟蹤算法綜述[J].智能系統(tǒng)學(xué)報(bào),2010,5(2):96-102.
[3]周芳芳,樊曉平,葉榛.均值漂移算法的研究與應(yīng)用[J].控制與決策,2007(8):841-847.
[4]竇永梅.基于粒子群算法和卡爾曼濾波的運(yùn)動目標(biāo)跟蹤算法[D].太原:太原理工大學(xué),2011.
[5]王法勝,郭權(quán).視覺跟蹤中的粒子濾波算法研究進(jìn)展[J].山西大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,34(4):528-533.
[6]胡昭華,樊鑫,梁德群,等.基于雙線非線性學(xué)習(xí)的軌跡跟蹤和識別[J].計(jì)算機(jī)學(xué)報(bào),2007,30(8):1390-1397.
[7]吳長江,趙不賄,鄭博,等.基于 FPGA的動態(tài)目標(biāo)跟蹤系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2010,36(3):45-50.
[8]李由,張恒,李立春.基于多測量融合的粒子濾波跟蹤算法[J].國防科技大學(xué)學(xué)報(bào),2007,29(5):27-30.
[9]楊柳,張寶亮,趙建,等.基于改進(jìn)粒子濾波算法的人體運(yùn)動跟蹤[J].電子技術(shù)應(yīng)用,2007,33(11):74-79.