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