內(nèi)蒙古大學電子信息工程學院 馬世強
一種基于卡爾曼濾波器的多目標跟蹤算法研究
內(nèi)蒙古大學電子信息工程學院 馬世強
針對卡爾曼單目標跟蹤算法對RoboCup格斗機器人跟蹤出現(xiàn)錯誤的問題,本文使用卡爾曼多目標跟蹤算法對RoboCup格斗機器人進行追蹤??柭嗄繕烁櫵惴▽D像中相同灰度值的前景像素進行檢測,通過blob分析將相同的像素點進行連接,從而獲得移動目標,再由卡爾曼濾波器對其進行運動估計。這一算法克服了視頻抖動帶來的干擾,解決了跟蹤過程中格斗機器人移動速度快、極易發(fā)生形變等原因?qū)е赂櫴〉膯栴},實現(xiàn)了對多個格斗機器人的跟蹤。
高斯分布背景建模;卡爾曼跟蹤算法;目標跟蹤;圖像處理
動態(tài)目標跟蹤廣泛應用于智能交通、安全監(jiān)控、人機交互、導彈制導等領域,它是模式識別與人工智能的一個非常重要的分支。動態(tài)目標檢測是通過統(tǒng)計來獲得背景模型,由當前的圖像與背景圖像所對應的像素點來尋找兩幅圖像的差異,當這一差值大于所設定的閾值之后,就將這一像素點認定為動態(tài)目標。動態(tài)目標跟蹤是通過某一種人為規(guī)定的形式將檢測出來的動態(tài)目標進行標定,其中標定形式包括點、矩形框、橢圓形框以及物體輪廓。
RoboCup是The Robot World Cup的縮寫,RoboCup大賽于1997年首次在日本名古屋舉行。RoboCup大賽分為RoboCup類人組、Robo-Cup救援組以及RoboCup標準平臺組等多個項目。RoboCup武術擂臺賽是以兩個格斗機器人互相搏斗而進行的比賽,其中格斗機器人具有移動速度快、會產(chǎn)生形變且發(fā)生多次碰撞等特點,并且比賽視頻由參賽人員手持相機拍攝,導致視頻存在抖動以及背景變化等因素。傳統(tǒng)的卡爾曼跟蹤算法在跟蹤格斗機器人的過程中會出現(xiàn)將整個抖動的視頻畫面當作一個移動目標來跟蹤的問題,從而導致跟蹤失敗。為了解決卡爾曼單目標跟蹤算法將整幅圖像當成移動的目標,本文選擇了卡爾曼多目標跟蹤算法進行實驗,獲得了較為理想的跟蹤結果。
本文所使用的視頻為參賽人員手持相機拍攝,視頻具有以下幾個特點:
RoboCup格斗機器人移動速度極快;
RoboCup格斗機器人的顏色、形狀都不相同;
拍攝視頻時場地內(nèi)各區(qū)域光線不均勻;
視頻存在抖動,且畫面中有參賽人員的活動。
為了對目標進行檢測跟蹤,需要將視頻拆幀,得到連續(xù)的圖像序列,本文所使用的計算機為intel core i5處理器,應用軟件為MATLAB R2013a,將視頻導入MATLAB軟件,通過MATLAB軟件中的VIDEOREADER語句讀取視頻中的每一幀圖像,并將圖像序列保存到MATLAB軟件中,方便后續(xù)處理。
3.1 卡爾曼濾波簡介
卡爾曼濾波通過利用線性系統(tǒng)的狀態(tài)方程以及其觀測數(shù)據(jù),從而對系統(tǒng)的狀態(tài)進行最優(yōu)化估計??柭诶糜^測數(shù)據(jù)估計系統(tǒng)狀態(tài)時,可以濾除觀測時存在的噪聲,因此這一過程也被看作是一個濾波過程??柭僭O動態(tài)系統(tǒng)是均勻線性的,第n時刻的系統(tǒng)狀態(tài)可由第n-1時刻的系統(tǒng)狀態(tài)與某個矩陣的乘積來表示;同時觀測中包含的噪聲類型屬于高斯噪聲。卡爾曼由測量值構造出系統(tǒng)的狀態(tài)向量,消除外界干擾,能夠準確的估計出系統(tǒng)實際狀態(tài)。
系統(tǒng)方程表達式如下:
Y(n)=AY(n-1)+Bu(n-1)+W(n-1)
實測方程表達式如下:
Z(n)=HY(n)+V(n)
其中,A、B、H為系統(tǒng)參數(shù),W(n)為系統(tǒng)噪聲,V(n)為測量噪聲,W(n)和V(n)服從互不相關的正態(tài)分布,有:
W(n)~N(0,Q)
V(n)~N(0,R)
其中,Q為W(n)的協(xié)方差矩陣,R為V(n)的協(xié)方差矩陣。
3.2 卡爾曼單目標跟蹤算法
在對目標進行跟蹤時,目標所在的位置、速度以及加速度的測量常常存在著噪聲的干擾,卡爾曼跟蹤算法的跟蹤過程可以有效濾除噪聲的干擾,獲得更為準確的目標位置。視頻中相鄰幀之間的時間間隔較短,動態(tài)目標的位置、速度以及加速度的改變較小,因此符合卡爾曼所需的均勻動態(tài)系統(tǒng)。
卡爾曼單目標跟蹤算法在對目標進行跟蹤時分成以下四部分:
(1)初始化卡爾曼濾波器,賦予系統(tǒng)位置、速度以及加速度的初值,當無法確定這一初值時,可以將初值設定為零,使用背景差分法對之后幾幀圖像中的目標進行檢測,獲得目標的觀測值。
(2)將上一步獲得的目標的觀測值導入卡爾曼濾波器,計算當前時刻的預測值,并由當前時刻的預測值與實測值計算出系統(tǒng)的偏差值。
(3)通過偏差值與下一時刻的實測值計算出下一時刻的最優(yōu)估計值,這一最優(yōu)估計值即為卡爾曼跟蹤算法對目標位置的預測。
(4)重復上述三個步驟,達到對目標進行實時跟蹤的目的。
3.3 卡爾曼單目標跟蹤結果
使用卡爾曼單目標跟蹤算法對視頻中的動態(tài)目標進行跟蹤的結果如圖1所示。
圖1中綠色點狀圓形框為跟蹤窗口,從跟蹤結果的對比觀察可以看出圖像序列的背景發(fā)生了移動,且圖像中存在其他運動目標,這些因素導致卡爾曼單目標跟蹤算法無法準確定位并跟蹤格斗機器人,從而導致跟蹤失敗。為了克服背景帶來的干擾,本文選擇卡爾曼多目標跟蹤算法對格斗機器人進行跟蹤。
4.1 多目標跟蹤
圖1 卡爾曼單目標跟蹤算法對格斗機器人的跟蹤結果
圖2 動態(tài)目標檢測結果
圖3 卡爾曼多目標跟蹤算法對格斗機器人的跟蹤結果
多目標跟蹤一直是圖像處理領域的重點與難點,多目標跟蹤需要同時對多個移動的目標進行獨立跟蹤,多目標跟蹤的難點在于視頻中的移動目標會出現(xiàn)遮擋現(xiàn)象,某些目標會突然出現(xiàn)或消失,以及一些目標的速度或運動軌跡發(fā)生突變,這三種情況會嚴重影響多目標的跟蹤。
4.2 卡爾曼多目標跟蹤算法
為了解決卡爾曼單目標跟蹤算法無法克服視頻抖動及不能同時跟蹤多個移動目標的問題,本文在其跟蹤算法的基礎上,加入了多個跟蹤軌道,檢測出的每個運動目標將由不同的軌道對其進行獨立跟蹤。
對目標的檢測使用基于高斯混合模型的背景差分法,建立好背景模型后,將含有動態(tài)目標的單幀圖像與背景模型進行做差,減掉背景部分,從而提取出圖像中的前景目標。其中,高斯混合模型產(chǎn)生于數(shù)據(jù)的多個高斯分布,每一個高斯混合模型都由多個高斯分布線性疊加而成。通過背景差分法提取出前景后,前景信息較為復雜,當兩個格斗機器人發(fā)生碰撞時,前景中會含有兩者的粘連部分,為了將這樣的前景部分加以區(qū)分,本文使用形態(tài)學中的腐蝕運算,且腐蝕操作的內(nèi)核需要足夠大,才能成功的將粘連的前景分割成獨立的圖像元素。本文分別使用直徑為3及直徑為10的腐蝕內(nèi)核,得到的檢測結果如圖2所示。
由檢測結果可以看出,腐蝕內(nèi)核的尺寸越大,保留下的前景信息越小,當兩個運動目標存在粘連時,能夠?qū)烧哌M行分割,但尺寸選取過大,會使目標信息丟失嚴重,因此需要選擇合適的內(nèi)核直徑。
通過腐蝕操作,檢測出多個運動目標,將它們分別導入卡爾曼濾波器的不同跟蹤軌道,并對每一個軌道進行編號,方便識別并記錄不同的目標,由以上操作,可以使卡爾曼濾波器滿足同時對視頻中多個目標進行跟蹤的目的。
4.3 卡爾曼多目標跟蹤算法結果
通過上述操作,得到跟蹤的結果如圖3所示。
通過實驗結果可以看出,本文使用的卡爾曼多目標跟蹤算法對場地中光線不均勻的問題具有不敏感性,同時克服了視頻所存在的抖動問題,盡管格斗機器人的移動速度較快,甚至會發(fā)生碰撞以及形變,但卡爾曼多目標跟蹤算法能夠?qū)Ρ荣惱夼_上多個格斗機器人進行準確跟蹤,避免了卡爾曼單目標跟蹤算法在跟蹤時發(fā)生的跟蹤錯誤。
RoboCup武術擂臺賽中的格斗機器人移動速度快,容易發(fā)生形變,對格斗機器人進行跟蹤具有一定的挑戰(zhàn)性,本文通過對參賽者錄制的視頻進行分析,羅列了跟蹤中會遇到的難點,并將視頻拆成多幀圖像序列。使用常規(guī)的卡爾曼單目標跟蹤算法對目標進行跟蹤,通過分析實驗結果找出了卡爾曼單目標跟蹤算法的局限性,在卡爾曼濾波器的基礎上,改良了跟蹤算法,使其能夠克服視頻抖動、機器人發(fā)生形變以及場地光線分布不均等問題,并能夠同時對多個格斗機器人進行檢測并跟蹤,具有較好的跟蹤實時性與準確性。
[1]楊陽,唐慧明.基于視頻的行人車輛檢測與分類[J].計算機工程,2014,40(11):135-138.
[2]陳遠祥.視頻圖像運動目標跟蹤技術的研究[D].江蘇大學,2010.
[3]陳俊超,張俊豪,劉詩佳,陸小鋒.基于背景建模與幀間差分的目標檢測改進算法[J].計算機工程,2011,37(S1):171-173.
[4]馬英輝,高磊,徐效文.基于Kalman預測和點模式匹配的多目標跟蹤[J].現(xiàn)代電子技術,2013,36(14):27-30.
[5]王建東,王亞飛,張晶.基于卡爾曼濾波器的運動目標跟蹤算法[J].數(shù)學通信,2009,36(6):53-57.
[6]金廷文.卡爾曼濾波在變形監(jiān)測中的應用[J].中國港灣建設,2015,1(7):11-13.
[7]黃超群.基于混合高斯模型和Kalman濾波器的運動目標檢測與跟蹤[D].云南大學,2010.
馬世強(1989—),河北廊坊人,碩士,現(xiàn)就職于國家電網(wǎng)公司運行分公司。