甘志英
(唐山學(xué)院 智能與信息工程學(xué)院,河北 唐山 063000)
運(yùn)動(dòng)目標(biāo)跟蹤是機(jī)器視覺領(lǐng)域研究的熱點(diǎn)與難點(diǎn)。對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤不僅可以提供目標(biāo)的運(yùn)動(dòng)狀態(tài)和軌跡,也為運(yùn)動(dòng)分析、場景理解等提供可靠的數(shù)據(jù)來源,因此運(yùn)動(dòng)目標(biāo)跟蹤系統(tǒng)在智能監(jiān)控、突發(fā)事件檢測等方面有著重要的應(yīng)用。運(yùn)動(dòng)目標(biāo)跟蹤系統(tǒng)一般包括兩部分,一是運(yùn)動(dòng)目標(biāo)檢測,二是運(yùn)動(dòng)目標(biāo)跟蹤[1]。傳統(tǒng)的運(yùn)動(dòng)目標(biāo)檢測算法有三種:光流法、背景差分法、幀間差分法[2-4],其中背景差分法是目前運(yùn)動(dòng)目標(biāo)檢測技術(shù)中應(yīng)用最廣泛的一種方法。常用的運(yùn)動(dòng)目標(biāo)跟蹤算法主要有基于目標(biāo)輪廓的跟蹤和基于目標(biāo)特征的跟蹤,前者利用目標(biāo)的邊界信息來實(shí)現(xiàn)跟蹤,可有效克服干擾及遮擋問題,但易受跟蹤的初始化影響[5];而后者利用目標(biāo)的特征進(jìn)行匹配,在目標(biāo)部分遮擋時(shí),利用部分特征仍能進(jìn)行跟蹤,常用的特征有目標(biāo)質(zhì)心、顏色特征、角點(diǎn)等[6]。
針對(duì)傳統(tǒng)跟蹤算法魯棒性和實(shí)時(shí)性不足的問題,本文基于kalman濾波算法構(gòu)建一種運(yùn)動(dòng)目標(biāo)跟蹤系統(tǒng),此系統(tǒng)使用背景差分法檢測運(yùn)動(dòng)目標(biāo),通過Kalman濾波預(yù)測目標(biāo)下一狀態(tài)的位置,并根據(jù)當(dāng)前檢測結(jié)果,更新Kalman濾波狀態(tài)。
背景差分法是利用視頻序列中不含前景目標(biāo)的幀圖像作為背景,將各幀圖像的像素值與背景的像素值相減,得到差值圖像,再進(jìn)行二值化運(yùn)算即得到目標(biāo)。由于該方法實(shí)現(xiàn)簡單、速度較快,且便于硬件實(shí)現(xiàn),因此被廣泛應(yīng)用。
最簡單的背景獲取方法是統(tǒng)計(jì)平均法,即將視頻序列幀的灰度平均值作為背景圖像。在視頻序列中背景相對(duì)于目標(biāo)出現(xiàn)的次數(shù)多很多,視頻序列平均值和背景值接近。背景Bn(x,y)的獲取用式(1)表示:
(1)
用視頻序列各幀Dn(x,y)與背景圖像作差分。取差值超過閾值Th的像素為目標(biāo),低于Th的為背景,得到目標(biāo)二值圖像Gn(x,y):
(2)
該方法計(jì)算簡單,易于實(shí)現(xiàn),經(jīng)簡單處理就能快速檢測出運(yùn)動(dòng)目標(biāo)位置,但不適用于攝像機(jī)運(yùn)動(dòng)或者背景變化的情況。
Kalman濾波算法是一種求線性最小方差誤差估計(jì)的算法,在時(shí)域內(nèi)設(shè)計(jì)濾波器,采用狀態(tài)方程描述隨機(jī)變量的變化,并且算法是遞推的,適用于平穩(wěn)和非平穩(wěn)過程。其基本思想是:建立隨機(jī)變量隨時(shí)間變化的狀態(tài)方程,在對(duì)隨機(jī)變量進(jìn)行實(shí)時(shí)觀測下,利用Kalman濾波方程組獲取其在全局條件下的最優(yōu)估計(jì)。Kalman濾波算法用如下兩個(gè)模型描述隨機(jī)變量[7]:
X(k+1)=AX(k)+BW(k),
(3)
Y(k)=HX(k)+V(k),
(4)
稱式(3)為狀態(tài)方程,式(4)為觀測方程。其中,X(k)為隨機(jī)變量k時(shí)刻的n×1維狀態(tài);Y(k)為對(duì)應(yīng)狀態(tài)的m×1維觀測信號(hào);A為狀態(tài)轉(zhuǎn)移矩陣;B為噪聲驅(qū)動(dòng)矩陣;H為m×n維觀測矩陣;W(k)為輸入白噪聲,方差為Q;V(k)為觀測噪聲,方差為R。
根據(jù)上述模型,Kalman濾波方程組包含預(yù)測部分和更新部分,具體流程如下:
狀態(tài)預(yù)測:
我汪文斌,1974年生于浙江杭州。中國美術(shù)學(xué)院碩士研究生畢業(yè)?,F(xiàn)為杭州畫院創(chuàng)作展覽部副主任、杭州油畫院秘書長、國家二級(jí)美術(shù)師、中國美術(shù)家協(xié)會(huì)會(huì)員、浙江省美術(shù)家協(xié)會(huì)理事、浙江省油畫家協(xié)會(huì)理事。
(5)
協(xié)方差預(yù)測:
P(k+1|k)=AP(k|k)AT+BQBT。
(6)
濾波增益矩陣:
K(k+1)=P(k+1|k)HT[HP(k+1|k)HT+R]-1。
(7)
狀態(tài)更新:
(8)
(9)
協(xié)方差更新:
P(k+1|k+1)=[In-K(k+1)H]P(k+1|k)。
(10)
在Matlab環(huán)境下進(jìn)行仿真實(shí)驗(yàn),分析運(yùn)動(dòng)目標(biāo)的觀測位置和估計(jì)位置的差異。實(shí)驗(yàn)對(duì)象為一段小球運(yùn)動(dòng)的視頻圖像序列。首先獲取一幀只有背景的圖像(由多個(gè)視頻幀圖像取均值獲得),用背景差分法檢測到運(yùn)動(dòng)目標(biāo),提取運(yùn)動(dòng)目標(biāo)的中心及大小,并用綠色星型點(diǎn)構(gòu)成的圓圈進(jìn)行標(biāo)記。
設(shè)計(jì)狀態(tài)方程及觀測方程,并設(shè)置初始狀態(tài)。
其中狀態(tài)方程為:
(11)
其中,(x,y):小球位置;(vx,vy):小球速度;dt:采樣時(shí)間間隔;g:重力加速度。
觀測方程?。?/p>
(12)
初始狀態(tài)取:
(13)
其中,w為圖像寬度。
觀測位置:y(1)取第一幀背景差分檢測位置。
用Kalman濾波算法進(jìn)行預(yù)測跟蹤,跟蹤結(jié)果用紅色點(diǎn)型圓圈標(biāo)記,如圖1所示。
(a)第1幀 (b)第3幀
(c)第5幀 (d)第7幀
(e)第9幀 (f)第11幀
(g)第13幀 (h)第15幀
(i)第17幀 (j)第19幀
(k)第21幀 (l)第23幀
(m)第25幀 (n)第27幀
(o)第29幀 (p)第31幀
(q)第33幀 (r)第35幀圖1 運(yùn)動(dòng)目標(biāo)跟蹤結(jié)果
圖1中圖像(a)到(e)為小球下落過程,其中在使用背景差分法檢測時(shí),(c)(d)中小球含有虛影,被認(rèn)為目標(biāo)變大;在(e)中小球開始著地,豎直速度發(fā)生突變。(f)到(n)為小球反彈上升過程,之后的圖像為小球下落與上升的重復(fù),直至停止。
圖2描述了運(yùn)動(dòng)目標(biāo)在跟蹤過程中豎直方向上觀測位置與Kalman濾波估計(jì)位置的差值,綠色星點(diǎn)線表示觀測位置,紅色圓點(diǎn)線表示估計(jì)位置。從圖2中可發(fā)現(xiàn),小球在下落過程中(1到10幀),跟蹤效果較好;在反彈上升過程中(11到28幀),由于小球速度突變,觀測位置與估計(jì)位置的差值較大,后隨著Kalman濾波的調(diào)整,差值逐漸減小。
圖2 豎直方向觀測位置與估計(jì)位置的差值
實(shí)驗(yàn)說明在小球穩(wěn)定的運(yùn)動(dòng)中,Kalman濾波跟蹤效果很好;但在小球運(yùn)動(dòng)狀態(tài)發(fā)生突變后,該方法需要一定時(shí)間的調(diào)整才能改善跟蹤效果。
本文對(duì)基于Kalman濾波算法的運(yùn)動(dòng)目標(biāo)跟蹤系統(tǒng)進(jìn)行了建模分析,使用背景差分法檢測目標(biāo)觀測位置,采用Kalman濾波預(yù)測目標(biāo)位置,通過設(shè)計(jì)狀態(tài)方程及觀測方程,設(shè)置合理的初始狀態(tài),在Matlab環(huán)境下進(jìn)行仿真實(shí)驗(yàn),仿真結(jié)果證實(shí)了該算法的有效性,能滿足實(shí)時(shí)有效地對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行定位跟蹤,算法精度較高,具有一定的魯棒性和準(zhǔn)確性。