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