宋亞姬,戚曉艷,孫 艷
(空軍航空大學(xué) 航空基礎(chǔ)學(xué)院,吉林 長(zhǎng)春)
近年來(lái)無(wú)論在現(xiàn)代防御還是海上和空中交通管制系統(tǒng)中運(yùn)動(dòng)目標(biāo)跟蹤都是不可缺少的重要技術(shù),隨著現(xiàn)代航空航天事業(yè)及現(xiàn)代信息化戰(zhàn)爭(zhēng)的發(fā)展,運(yùn)動(dòng)目標(biāo)跟蹤技術(shù)得到了高度重視,成為計(jì)算機(jī)視覺領(lǐng)域的研究熱點(diǎn)問(wèn)題。所謂的目標(biāo)跟蹤是指在視頻序列中檢測(cè)目標(biāo),確定運(yùn)動(dòng)目標(biāo)的位置、大小和目標(biāo)運(yùn)動(dòng)軌跡,并實(shí)時(shí)估計(jì)其運(yùn)動(dòng)參數(shù)。由于目標(biāo)跟蹤在實(shí)現(xiàn)上非常復(fù)雜,在許多技術(shù)方面還不是很完善,因此對(duì)目標(biāo)跟蹤方法的研究具有重要的理論價(jià)值和廣闊的發(fā)展前景[1]。
連續(xù)自適應(yīng)均值漂移算法(Camshift)是通過(guò)統(tǒng)計(jì)迭代運(yùn)算來(lái)尋找目標(biāo)位置,算法簡(jiǎn)單容易實(shí)現(xiàn),應(yīng)用非常廣泛。但是當(dāng)目標(biāo)較小或快速移動(dòng)時(shí)容易丟失目標(biāo),有遮擋的情況下不能自我恢復(fù)跟蹤。本文在此基礎(chǔ)上進(jìn)行了改進(jìn)優(yōu)化,用核直方圖來(lái)計(jì)算目標(biāo)的概率分布,應(yīng)用Kalman 濾波來(lái)預(yù)測(cè)目標(biāo)位置,并通過(guò)與Camshift 進(jìn)行反復(fù)的跟蹤迭代,在連續(xù)圖像序列中實(shí)時(shí)搜索目標(biāo)進(jìn)行跟蹤。通過(guò)仿真實(shí)驗(yàn)驗(yàn)證了算法的可行性。
圖像中物體顏色的全局分布即不同顏色在圖像中出現(xiàn)的概率可用顏色直方圖來(lái)描述,應(yīng)用顏色直方圖對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤,不容易受到目標(biāo)快速移動(dòng)、旋轉(zhuǎn)等形狀尺寸發(fā)生變化的影響。將原始圖像通過(guò)顏色直方圖轉(zhuǎn)換為色彩概率分布圖像的過(guò)程被稱為直方圖背投影。應(yīng)用Camshift 算法進(jìn)行目標(biāo)跟蹤首先要通過(guò)顏色直方圖來(lái)提取目標(biāo)圖像的顏色特征[2],實(shí)驗(yàn)中采集的圖像通常為RGB 格式,由于Camshift 算法只能識(shí)別HSV 格式圖像,因此要將圖像轉(zhuǎn)換為HSV格式。將目標(biāo)的概率分布映射到觀測(cè)圖像,將顏色空間下的H 通道的灰度值反向投影,經(jīng)過(guò)處理原圖像轉(zhuǎn)換成了灰度圖像。
其中qu表示直方圖中分量u 的像素值;c(xi)為像素xi的值;δ為Kronecker 函數(shù)。將直方圖的尺度從[0,max(q)]變成[0,255]:
通過(guò)以上處理,將視頻圖像中目標(biāo)的原像素點(diǎn)x的灰度值u 由其所對(duì)應(yīng)的概率值pu代替,先求出圖像的直方圖,得到反向投影矩陣,即為直方圖反向投影的過(guò)程。在此過(guò)程中將原來(lái)圖像的灰度直方圖經(jīng)過(guò)計(jì)算出得出不同色度值的概率分布,就將原始圖像通過(guò)直方圖反向投影成了二維的色彩概率分布圖。
Kalman 濾波是一種高效率的遞歸濾波器,由狀態(tài)方程和觀測(cè)方程來(lái)進(jìn)行描述,通過(guò)系統(tǒng)輸入輸出觀測(cè)數(shù)據(jù),對(duì)系統(tǒng)狀態(tài)進(jìn)行最優(yōu)估計(jì)[3]。Kalman 濾波器由以下差分方程來(lái)描述系統(tǒng)的狀態(tài):
Kalman 濾波對(duì)控制系統(tǒng)的最優(yōu)化估計(jì)包括兩個(gè)關(guān)鍵環(huán)節(jié):預(yù)測(cè)和修正。通過(guò)預(yù)測(cè)環(huán)節(jié)Kalman 濾波通過(guò)對(duì)當(dāng)前系統(tǒng)狀態(tài)建立觀測(cè)模型到下一時(shí)刻系統(tǒng)狀態(tài)的先驗(yàn)估計(jì);在得到先驗(yàn)估計(jì)后,通過(guò)對(duì)先驗(yàn)估計(jì)和觀測(cè)值的分析得到后驗(yàn)估計(jì),此為修正環(huán)節(jié)。通過(guò)反復(fù)進(jìn)行預(yù)測(cè)、修正,就實(shí)現(xiàn)了Kalman 濾波工作過(guò)程。
連續(xù)自適應(yīng)均值漂移(Camshift)算法基于無(wú)參密度估計(jì)理論,在均值漂移算法的基礎(chǔ)上擴(kuò)展而來(lái)。CamShift 是一種自適應(yīng)算法,能夠?qū)δ繕?biāo)的大小和形狀進(jìn)行自適應(yīng)調(diào)整,在目標(biāo)尺寸和形狀變化較大的情況下也能實(shí)現(xiàn)跟蹤。在d 維歐式空間Rd中,核核密度估計(jì)為:
為了提高在旋轉(zhuǎn)、遮擋等復(fù)雜情況下的目標(biāo)跟蹤成功率,改善Camshift 算法圖像分割耗時(shí)長(zhǎng)、計(jì)算量大等問(wèn)題,同時(shí)為了減少尋找目標(biāo)的時(shí)間,克服顏色干擾的問(wèn)題,在跟蹤中引入了Kalman 濾波器。將Kalman濾波對(duì)當(dāng)前幀圖像中目標(biāo)的質(zhì)心位置的預(yù)測(cè)值與CamShift 算法跟蹤結(jié)果進(jìn)行比較分析來(lái)判定[4]。具體實(shí)現(xiàn)過(guò)程如下,其中i 為視頻序列中圖像的幀數(shù):
(1) 計(jì)算直方圖背投影,在初始幀圖像中對(duì)搜索窗的位置和大小初始化,從搜索窗中的目標(biāo)區(qū)域內(nèi)提取目標(biāo)的顏色直方圖,同時(shí)提取目標(biāo)的質(zhì)心坐標(biāo),記為(xi,yi),其中i=1,為初始幀圖像。
(5) 更新模型,獲取下一幀圖像,跳轉(zhuǎn)到第(2)步,重新執(zhí)行搜索過(guò)程。
為驗(yàn)證算法的可行性,用Matlab 軟件進(jìn)行了仿真實(shí)驗(yàn)。圖1 給出了直方圖背投影實(shí)驗(yàn)的部分實(shí)驗(yàn)結(jié)果。通過(guò)實(shí)驗(yàn)結(jié)果可知,如果把整幅圖像設(shè)置為搜索區(qū)域,利用顏色直方圖計(jì)算顏色概率分布時(shí),與跟蹤目標(biāo)具有相似顏色特征的區(qū)域被一并保留,則跟蹤結(jié)果受到一定程度的干擾。而設(shè)置合適的搜索窗后,在比搜索窗稍大一些的區(qū)域進(jìn)行搜索時(shí),可將搜索窗外區(qū)域的顏色概率視為零,從而大大減少算法的計(jì)算量,在較大程度上削弱與目標(biāo)具有相似顏色特征的景物所帶來(lái)的干擾問(wèn)題。
圖1 直方圖背投影圖
當(dāng)算法迭代超過(guò)15 次或相鄰兩次搜索得到的質(zhì)心坐標(biāo)差值在4 個(gè)像素以內(nèi)時(shí)作為質(zhì)心收斂的條件,將算法檢測(cè)中提取的二值圖像中目標(biāo)的質(zhì)心坐標(biāo)與加入Kalman 濾波預(yù)測(cè)后實(shí)驗(yàn)結(jié)果進(jìn)行比較。圖2 給出了圖像序列中第50、51、52 幀圖像的跟蹤實(shí)驗(yàn)結(jié)果。表1 給出了部分圖像中運(yùn)動(dòng)目標(biāo)質(zhì)心位置經(jīng)Kalman 濾波預(yù)測(cè)的結(jié)果,坐標(biāo)以像素為單位。
表1 Kalman 預(yù)測(cè)的目標(biāo)質(zhì)心部分實(shí)驗(yàn)結(jié)果
圖2 跟蹤實(shí)驗(yàn)結(jié)果
由圖2 可知,引入了Kalman 濾波后減少了跟蹤過(guò)程中對(duì)顏色的過(guò)分依賴,當(dāng)目標(biāo)遇到大面積顏色干擾時(shí),可通過(guò)Kalman 濾波對(duì)目標(biāo)質(zhì)心位置的預(yù)測(cè)值來(lái)修正跟蹤結(jié)果,實(shí)現(xiàn)準(zhǔn)確跟蹤。通過(guò)表1 數(shù)值可知,在同一幀圖像中,在應(yīng)用Kalman 預(yù)測(cè)之后跟蹤結(jié)果的誤差基本在4 個(gè)像素以內(nèi),誤差符合預(yù)期目標(biāo),跟蹤效果較為理想。
本文針對(duì)運(yùn)動(dòng)目標(biāo)跟蹤中常見問(wèn)題進(jìn)行了系統(tǒng)分析。應(yīng)用顏色直方圖建立目標(biāo)的顏色概率分布,當(dāng)目標(biāo)存在旋轉(zhuǎn)、變形等復(fù)雜情況下Camshift 算法跟蹤目標(biāo)容易丟失,為減少目標(biāo)尋找與匹配的時(shí)間,提高跟蹤效率,在算法中引入了Kalman 濾波器。在直方圖背投影實(shí)驗(yàn)中,設(shè)置合適的搜索窗,搜索窗外的區(qū)域顏色概率視為零,在較大程度上削弱相似顏色特征帶來(lái)的干擾問(wèn)題。利用目標(biāo)的外接矩形框大小、質(zhì)心等特征對(duì)目標(biāo)進(jìn)行特征匹配,應(yīng)用Kalman 濾波器對(duì)目標(biāo)位置進(jìn)行預(yù)測(cè),為Camshift 算法提供起始點(diǎn),將算法的最終收斂點(diǎn)作為每幀的跟蹤結(jié)果,并將其返回給濾波器進(jìn)行狀態(tài)更新,反復(fù)迭代實(shí)現(xiàn)了對(duì)運(yùn)動(dòng)目標(biāo)的連續(xù)跟蹤。由于Kalman 濾波器具有計(jì)算量小,可實(shí)時(shí)處理等優(yōu)點(diǎn),引入Kalman 濾波后大大減少了算法的迭代次數(shù),提高了算法的運(yùn)算速度。仿真實(shí)驗(yàn)表明,該算法能夠有效地抑制各自算法的不足,減少了算法的計(jì)算量,有效地提高了跟蹤的成功率。