甘志英
(唐山學院 智能與信息工程學院,河北 唐山 063000)
運動目標跟蹤是機器視覺領域研究的熱點與難點。對運動目標進行跟蹤不僅可以提供目標的運動狀態(tài)和軌跡,也為運動分析、場景理解等提供可靠的數(shù)據(jù)來源,因此運動目標跟蹤系統(tǒng)在智能監(jiān)控、突發(fā)事件檢測等方面有著重要的應用。運動目標跟蹤系統(tǒng)一般包括兩部分,一是運動目標檢測,二是運動目標跟蹤[1]。傳統(tǒng)的運動目標檢測算法有三種:光流法、背景差分法、幀間差分法[2-4],其中背景差分法是目前運動目標檢測技術中應用最廣泛的一種方法。常用的運動目標跟蹤算法主要有基于目標輪廓的跟蹤和基于目標特征的跟蹤,前者利用目標的邊界信息來實現(xiàn)跟蹤,可有效克服干擾及遮擋問題,但易受跟蹤的初始化影響[5];而后者利用目標的特征進行匹配,在目標部分遮擋時,利用部分特征仍能進行跟蹤,常用的特征有目標質心、顏色特征、角點等[6]。
針對傳統(tǒng)跟蹤算法魯棒性和實時性不足的問題,本文基于kalman濾波算法構建一種運動目標跟蹤系統(tǒng),此系統(tǒng)使用背景差分法檢測運動目標,通過Kalman濾波預測目標下一狀態(tài)的位置,并根據(jù)當前檢測結果,更新Kalman濾波狀態(tài)。
背景差分法是利用視頻序列中不含前景目標的幀圖像作為背景,將各幀圖像的像素值與背景的像素值相減,得到差值圖像,再進行二值化運算即得到目標。由于該方法實現(xiàn)簡單、速度較快,且便于硬件實現(xiàn),因此被廣泛應用。
最簡單的背景獲取方法是統(tǒng)計平均法,即將視頻序列幀的灰度平均值作為背景圖像。在視頻序列中背景相對于目標出現(xiàn)的次數(shù)多很多,視頻序列平均值和背景值接近。背景Bn(x,y)的獲取用式(1)表示:
(1)
用視頻序列各幀Dn(x,y)與背景圖像作差分。取差值超過閾值Th的像素為目標,低于Th的為背景,得到目標二值圖像Gn(x,y):
(2)
該方法計算簡單,易于實現(xiàn),經(jīng)簡單處理就能快速檢測出運動目標位置,但不適用于攝像機運動或者背景變化的情況。
Kalman濾波算法是一種求線性最小方差誤差估計的算法,在時域內設計濾波器,采用狀態(tài)方程描述隨機變量的變化,并且算法是遞推的,適用于平穩(wěn)和非平穩(wěn)過程。其基本思想是:建立隨機變量隨時間變化的狀態(tài)方程,在對隨機變量進行實時觀測下,利用Kalman濾波方程組獲取其在全局條件下的最優(yōu)估計。Kalman濾波算法用如下兩個模型描述隨機變量[7]:
X(k+1)=AX(k)+BW(k),
(3)
Y(k)=HX(k)+V(k),
(4)
稱式(3)為狀態(tài)方程,式(4)為觀測方程。其中,X(k)為隨機變量k時刻的n×1維狀態(tài);Y(k)為對應狀態(tài)的m×1維觀測信號;A為狀態(tài)轉移矩陣;B為噪聲驅動矩陣;H為m×n維觀測矩陣;W(k)為輸入白噪聲,方差為Q;V(k)為觀測噪聲,方差為R。
根據(jù)上述模型,Kalman濾波方程組包含預測部分和更新部分,具體流程如下:
狀態(tài)預測:
我汪文斌,1974年生于浙江杭州。中國美術學院碩士研究生畢業(yè)。現(xiàn)為杭州畫院創(chuàng)作展覽部副主任、杭州油畫院秘書長、國家二級美術師、中國美術家協(xié)會會員、浙江省美術家協(xié)會理事、浙江省油畫家協(xié)會理事。

(5)
協(xié)方差預測:
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)境下進行仿真實驗,分析運動目標的觀測位置和估計位置的差異。實驗對象為一段小球運動的視頻圖像序列。首先獲取一幀只有背景的圖像(由多個視頻幀圖像取均值獲得),用背景差分法檢測到運動目標,提取運動目標的中心及大小,并用綠色星型點構成的圓圈進行標記。
設計狀態(tài)方程及觀測方程,并設置初始狀態(tài)。
其中狀態(tài)方程為:
(11)
其中,(x,y):小球位置;(vx,vy):小球速度;dt:采樣時間間隔;g:重力加速度。
觀測方程取:

(12)
初始狀態(tài)取:

(13)

其中,w為圖像寬度。
觀測位置:y(1)取第一幀背景差分檢測位置。
用Kalman濾波算法進行預測跟蹤,跟蹤結果用紅色點型圓圈標記,如圖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 運動目標跟蹤結果
圖1中圖像(a)到(e)為小球下落過程,其中在使用背景差分法檢測時,(c)(d)中小球含有虛影,被認為目標變大;在(e)中小球開始著地,豎直速度發(fā)生突變。(f)到(n)為小球反彈上升過程,之后的圖像為小球下落與上升的重復,直至停止。
圖2描述了運動目標在跟蹤過程中豎直方向上觀測位置與Kalman濾波估計位置的差值,綠色星點線表示觀測位置,紅色圓點線表示估計位置。從圖2中可發(fā)現(xiàn),小球在下落過程中(1到10幀),跟蹤效果較好;在反彈上升過程中(11到28幀),由于小球速度突變,觀測位置與估計位置的差值較大,后隨著Kalman濾波的調整,差值逐漸減小。

圖2 豎直方向觀測位置與估計位置的差值
實驗說明在小球穩(wěn)定的運動中,Kalman濾波跟蹤效果很好;但在小球運動狀態(tài)發(fā)生突變后,該方法需要一定時間的調整才能改善跟蹤效果。
本文對基于Kalman濾波算法的運動目標跟蹤系統(tǒng)進行了建模分析,使用背景差分法檢測目標觀測位置,采用Kalman濾波預測目標位置,通過設計狀態(tài)方程及觀測方程,設置合理的初始狀態(tài),在Matlab環(huán)境下進行仿真實驗,仿真結果證實了該算法的有效性,能滿足實時有效地對運動目標進行定位跟蹤,算法精度較高,具有一定的魯棒性和準確性。