李亞文 劉 萌
(商洛學(xué)院電子信息工程與電氣工程學(xué)院 商洛 726000)
目標(biāo)檢測(cè)與跟蹤技術(shù)是計(jì)算機(jī)視覺這一領(lǐng)域的熱點(diǎn)話題,它綜合了模式識(shí)別、圖像處理、人工智能及國防偵察等多種不同學(xué)科的理論知識(shí)[1~2]。目標(biāo)檢測(cè)與跟蹤技術(shù)已經(jīng)廣泛應(yīng)用于交通安全檢測(cè)、住宅小區(qū)安防、各種視頻監(jiān)控等領(lǐng)域[3]。運(yùn)動(dòng)目標(biāo)跟蹤是去除背景信息后,提取目標(biāo)的特征信息,如:紋理特征、大小、速度等,使用合適的匹配算法對(duì)目標(biāo)進(jìn)行定位跟蹤[3],常用的目標(biāo)跟蹤方法可分為基于先驗(yàn)知識(shí)和非先驗(yàn)知識(shí)兩大類,包括基于對(duì)比度分析的目標(biāo)跟蹤、基于匹配的目標(biāo)跟蹤和基于運(yùn)動(dòng)檢測(cè)的目標(biāo)跟蹤,隨著數(shù)學(xué)理論的不斷豐富,運(yùn)動(dòng)模型的不斷復(fù)雜,為了解決在非線性、高斯系統(tǒng)中的準(zhǔn)確估計(jì)問題,提出了粒子濾波方法進(jìn)行目標(biāo)跟蹤[2,3~5]。粒子濾波(Particle Filter,PF)[6]是一種基于蒙特卡羅仿真,利用粒子集來表示概率,可以解決一些傳統(tǒng)的難點(diǎn)問題如目標(biāo)檢測(cè)、遮擋、交叉、跟蹤丟失等,在目標(biāo)跟蹤中能得到較好的跟蹤效果。
粒子濾波的基本思路[8~9]:首先是要根據(jù)經(jīng)驗(yàn)條件的概率密度函數(shù)在狀態(tài)空間中生成一個(gè)粒子的集合,然后以這些粒子的權(quán)重來進(jìn)行粒子之間的加權(quán)均值來代替積分運(yùn)算,并且對(duì)粒子進(jìn)行重采樣運(yùn)算,其次要根據(jù)這些相關(guān)的信息來完善前面的經(jīng)驗(yàn)條件概率密度函數(shù),最終獲得目標(biāo)的狀態(tài)。一般來說,粒子濾波算法就是去尋找被追蹤目標(biāo)物體的位置、狀態(tài)等分布函數(shù)或者概率密度函數(shù),從而得到它的最小方差分布。該濾波方法對(duì)系統(tǒng)噪聲沒有任何限制,它是通過預(yù)測(cè)和更新來自于系統(tǒng)概率密度函數(shù)的采樣集來近似非線性系統(tǒng)的貝葉斯估計(jì),因此同樣適用于非線性系統(tǒng)的估計(jì)。
粒子濾波算法一般包含以下7個(gè)步驟:
1)目標(biāo)粒子的初始化,提取先驗(yàn)知識(shí)[10]:
取k=0,按p(x0)抽取N個(gè)樣本點(diǎn),i=1,…,N。
3)系統(tǒng)觀測(cè)更新,計(jì)算粒子的更新權(quán)值:
4)權(quán)值的歸一化[11]:
7)若粒子個(gè)數(shù)采樣未完成返回步驟2),重復(fù)進(jìn)行,直到結(jié)束為止。
當(dāng)粒子數(shù)目足夠大,估計(jì)的后驗(yàn)概率密度函數(shù)和真實(shí)的后驗(yàn)概率就非常的接近。粒子濾波算法的具體實(shí)現(xiàn)流程如圖1所示。
在粒子濾波算法中,預(yù)測(cè)模板和每個(gè)粒子所代表的目標(biāo)模板之間匹配的結(jié)果決定了每個(gè)粒子的權(quán)重。當(dāng)運(yùn)動(dòng)目標(biāo)顏色與背景色相似或被其他物體所遮擋時(shí),目標(biāo)模板中的信息會(huì)丟失,導(dǎo)致目標(biāo)模板失真了,并間接影響每個(gè)粒子的重量,導(dǎo)致了粒子濾波算法無法預(yù)測(cè)到準(zhǔn)確的位置[12]。
圖2 改進(jìn)型的粒子濾波算法實(shí)現(xiàn)流程圖
本文在對(duì)遮擋問題上進(jìn)行綜合分析,并在基于粒子濾波算法和卡爾曼濾波算法的基礎(chǔ)上,將目標(biāo)分成多個(gè)子塊并進(jìn)行子模塊匹配,然后把匹配的子模塊和預(yù)測(cè)的目標(biāo)位置進(jìn)行融合,注入到粒子濾波算法中,從而解決目標(biāo)在跟蹤過程中出現(xiàn)的遮擋問題。改進(jìn)型的粒子濾波算法實(shí)現(xiàn)流程如圖2 所示,其關(guān)鍵就是遮擋位置目標(biāo)的定位,計(jì)算出其顏色分布Bhattacharyya 系 數(shù)[13~14]再使用公式計(jì)算出它們的Bhattacharyya 距離D(p,q),這個(gè)距離值越小表示其相似程度越準(zhǔn)確。在符合方程式D(p,q)<T1時(shí),表明運(yùn)動(dòng)目標(biāo)出現(xiàn)了輕微的遮擋,然后暫停更新中的目標(biāo)模板;進(jìn)行分模塊匹配方法,算出各個(gè)子模塊的相似匹配程度及各個(gè)子模塊對(duì)應(yīng)的顏色直方圖分布Bhattacharyya 系數(shù),然后當(dāng)某子模塊的D(p,q)符合方程式T1<D(p,q)<T2,則這個(gè)子模塊發(fā)生遮擋,將再次完成更新顏色直方圖;在子模塊的D(p,q)滿足D(p,q)≥T2時(shí)表明子塊出現(xiàn)了嚴(yán)重的遮擋,對(duì)這個(gè)模塊進(jìn)行標(biāo)記,且暫停對(duì)該子模塊的更新,然后對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行位置預(yù)測(cè),得到估計(jì)的運(yùn)動(dòng)目標(biāo)可能出現(xiàn)的位置T1和T2。
實(shí) 驗(yàn) 環(huán) 境:PC 機(jī):Intel(R) Core(TM)i5-5200U CPU @ 2.20GHz,Windows 8,編程軟件:Matlab 7.10。
1)非線性系統(tǒng)狀態(tài)估計(jì)
假如非線性系統(tǒng)為
估計(jì)誤差均方值RMSE[15]為
利用上述的非線性系統(tǒng)的狀態(tài)式(5)和式(6),改變粒子數(shù)目,通過仿真分析粒子數(shù)目對(duì)系統(tǒng)粒子濾波狀態(tài)估計(jì)的結(jié)果。仿真實(shí)驗(yàn)中:設(shè)定參數(shù)有初始狀態(tài)x0=1;時(shí)間步長等于50;過程噪聲vk和觀測(cè)噪聲nk都是服從高斯分布的,即它們均值都為0,vk方差為Q,nk方差為R。通過對(duì)粒子濾波的非線性系統(tǒng)狀態(tài)估計(jì),將粒子濾波算法應(yīng)用于目標(biāo)跟蹤中,實(shí)驗(yàn)仿真中先是對(duì)一個(gè)強(qiáng)非線性系統(tǒng)的狀態(tài)估計(jì)問題進(jìn)行仿真模擬,然后把粒子濾波算法應(yīng)用于實(shí)際場(chǎng)景,從而實(shí)現(xiàn)對(duì)運(yùn)動(dòng)目標(biāo)的跟蹤。
粒子濾波的非線性系統(tǒng)狀態(tài)估計(jì)結(jié)果如圖3所示,實(shí)驗(yàn)過程中設(shè)噪聲與觀測(cè)噪聲協(xié)方差均為1,粒子數(shù)分別取值為N=200、100、50、20 時(shí)進(jìn)行仿真實(shí)驗(yàn)分別得到圖(a)、(b)、(c)、(d)系統(tǒng)的不同狀態(tài)估計(jì),圖3(a)、(b)、(c)、(d)四副圖中虛線連接表示系統(tǒng)的真實(shí)狀態(tài),實(shí)線表示用粒子濾波算法所得到的狀態(tài)估計(jì)值。
圖3 粒子濾波狀態(tài)估計(jì)
表1 粒子濾波狀態(tài)估計(jì)均方誤差
當(dāng)粒子數(shù)取值N=200、100、50 和20 時(shí),均方誤差值為0.1196、0.2236、1.6062 和3.8601。從表1 也可以看出,隨著粒子數(shù)的增加,均方誤差值越小,粒子濾波狀態(tài)估計(jì)值與實(shí)際值相差值越小,越能真實(shí)地反映系統(tǒng)真實(shí)狀態(tài),隨機(jī)抽樣的樣本數(shù)越多,估計(jì)誤差越小。
2)運(yùn)動(dòng)目標(biāo)跟蹤的仿真實(shí)現(xiàn)
實(shí)驗(yàn)中錄制一小段校園行人運(yùn)動(dòng)視頻,整個(gè)視頻選取其中連續(xù)的90 幀圖像,每幀圖像的尺寸為320×240。實(shí)驗(yàn)中使用白色矩形框圈定所要跟蹤的目標(biāo),黑色矩形表示目標(biāo)運(yùn)動(dòng)的范圍。圖4 為改進(jìn)的粒子濾波算法的跟蹤結(jié)果,這里分別選取第57、69、79、89。
圖4 改進(jìn)型的粒子濾波算法的仿真實(shí)現(xiàn)
圖4 應(yīng)用改進(jìn)型的粒子濾波算法對(duì)視頻中的運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤,圖(a)、(b)、(c)、(d)4幀圖像的實(shí)驗(yàn)仿真結(jié)果表明,改進(jìn)后的粒子濾波算法可以準(zhǔn)確地跟蹤到白色矩形框的運(yùn)動(dòng)目標(biāo),尤其是圖(c)第79 幀圖像,跟蹤目標(biāo)被遮擋后,改進(jìn)后的算法仍然能較好的跟蹤運(yùn)動(dòng)目標(biāo),不管運(yùn)動(dòng)的人是否被干擾物體遮擋以及被干擾物體遮擋前后,改進(jìn)后的算法仍可以準(zhǔn)確地實(shí)現(xiàn)所選區(qū)域的目標(biāo)跟蹤,也沒有出現(xiàn)目標(biāo)丟失等情況。
本文提出了一種改進(jìn)型的粒子濾波算法,并將其應(yīng)用視頻中的運(yùn)動(dòng)目標(biāo)跟蹤,將粒子濾波算法和卡爾曼濾波算法的相結(jié)合,將目標(biāo)分成多個(gè)子塊并進(jìn)行子模塊匹配,提高算法對(duì)遮擋情況的適應(yīng)能力以及算法跟蹤的精度。實(shí)驗(yàn)結(jié)果表明,改進(jìn)型的粒子濾波算法能較好地解決運(yùn)動(dòng)目標(biāo)遮擋而引起跟蹤丟失的問題,具有較好的魯棒性。