王戰(zhàn),楊紹清,劉松濤,宋元
(海軍大連艦艇學(xué)院,a.信息系統(tǒng)系;b.導(dǎo)彈與艦炮系;c.教保處,遼寧 大連 116018)
運動目標(biāo)跟蹤是圖像處理的重點和難點,在軍事檢測、醫(yī)學(xué)研究、商業(yè)防盜等領(lǐng)域均有廣泛應(yīng)用。所謂運動目標(biāo)跟蹤就是在每一幀圖像中找到跟蹤目標(biāo)的具體位置,一般可以從魯棒性和實時性上判斷跟蹤算法的優(yōu)劣。在跟蹤目標(biāo)時,不僅要考慮目標(biāo)自身的復(fù)雜運動,還要考慮成像傳感器在移動過程中受到外界干擾對跟蹤產(chǎn)生的負(fù)面影響。為了保證跟蹤的魯棒性,一般在跟蹤過程中加入特征匹配模塊,Lowe等[1]在2000年開創(chuàng)性地提出了SIFT(scale invariant feature transform)局部特征匹配算法,在目標(biāo)發(fā)生尺度變換和旋轉(zhuǎn)縮放時還能保證良好的匹配能力,但計算量大,實時性差。2006年,Herbert Bay等[2]在SIFT算法的啟發(fā)下,提出了改進(jìn)算法SURF(speeded up robust features),該算法極大地提升了SIFT算法的實時性[3]。Mean Shift算法最早由Fukunaga等[4]提出,后由Comaniciu和Meer等[5]將其用于目標(biāo)跟蹤,卡爾曼濾波是一種根據(jù)系統(tǒng)狀態(tài)進(jìn)行最優(yōu)估計的算法。文獻(xiàn)[6]將卡爾曼濾波和Mean Shift算法結(jié)合,保證了對快速移動目標(biāo)和受到遮擋目標(biāo)的跟蹤魯棒性,但在目標(biāo)出現(xiàn)尺度變化或旋轉(zhuǎn)縮放時,跟蹤效果很差;文獻(xiàn)[7]利用SURF算法與Mean Shift算法綜合得到跟蹤結(jié)果,該算法雖具有廣泛適用性,但由于缺少預(yù)測功能,計算量大,時效性較差。文獻(xiàn)[8]綜合了卡爾曼濾波預(yù)測算法的實時性和SURF匹配算法的魯棒性,但由于缺少迭代過程,算法的跟蹤連續(xù)性較差。文獻(xiàn)[9]將SIFT算法、卡爾曼濾波和Mean Shift組合用于跟蹤,雖然在多數(shù)情況下都具有良好的跟蹤性能,但無法跟蹤移動攝像下的運動目標(biāo),而且SIFT算法的實時性也需要進(jìn)一步加強(qiáng)。
深入研究文獻(xiàn)[5-8]后,本文提出一種組合二幀差分法、Mean Shift和卡爾曼濾波的跟蹤算法。該算法將二幀差分作為跟蹤的第一步,消除由于成像傳感器移動產(chǎn)生的負(fù)面影響,然后利用卡爾曼濾波預(yù)測Mean Shift算法的中心,迭代后,反饋回濾波器進(jìn)行誤差糾正。
SURF算法與SIFT算法相同,是一種局部特征點匹配方法,與其他的特征點匹配方法相比,有更好的匹配魯棒性。文獻(xiàn)[10]將其與Mean Shift算法組合用于車輛檢測;文獻(xiàn)[11]提出一種組合SURF,k-means和Mean Shift目標(biāo)描述方法;文獻(xiàn)[12]利用SURF算法實現(xiàn)了視頻補(bǔ)償,提升了視頻的穩(wěn)定性。本文將SURF算法引入到目標(biāo)跟蹤中,進(jìn)而改善跟蹤精度。
1.1.1 建立尺度空間以及特征點檢測
SURF算法為了保證尺度不變性和提升運算速度,采用Hessian矩陣行列式和盒裝濾波器結(jié)合的方法檢測特征點。圖像中某個像素點的Hessian矩陣為
(1)
則Hessian矩陣的判別式可表示為
det(H)=DxxDyy-(0.9Dxy)2,
(2)
式中:Dxy為經(jīng)過Simard等[13]提出的盒裝濾波器后圖像在x,y方向上的二階微分;Dxx與Dyy同理;0.9為權(quán)值,用來平衡濾波器替換所帶來的誤差。當(dāng)det(H)>0時,該點為局部極值點。
1.1.2 生成特征描述子
首先初步定位特征點,將經(jīng)過矩陣處理后的點與三維臨域內(nèi)的26個點的灰度值進(jìn)行比較,尋找最值點作為關(guān)鍵點。然后用適當(dāng)?shù)拈撝担瑥年P(guān)鍵點中篩選出精確的特征點,如圖1a)所示。
初步定位特征點后,將Haar小波響應(yīng)值根據(jù)距離中心點遠(yuǎn)近加權(quán),然后將在角度60°、半徑6δ(特征點尺度值)的扇形范圍內(nèi)的x,y方向的Haar小波響應(yīng)求和并形成矢量,其中Haar小波邊長為4δ。旋轉(zhuǎn)36°,重復(fù)上述步驟直至遍歷整個圓形區(qū)域,即可得到特征點的主方向,如圖1b)所示。
如圖2所示,以特征點為中心,特征點的主方向為方向,邊長為20δ,構(gòu)成正方形框。然后分為16個子區(qū)域,每個子區(qū)域中又有25個像素點,統(tǒng)計就主方向而言的x,y方向的Haar小波響應(yīng)值。那么,每個子區(qū)域就有4個值,分別為25個像素點的水平方向總和,水平方向絕對值總和,垂直方向總和,垂直方向絕對值總和,因此SURF的特征描述子具有16×4=64維向量。
本文設(shè)計基于SURF特征匹配的方法,進(jìn)行二幀差分。首先提取SURF特征點,然后利用FLANN(fast library for approximate nearest neighbors)算法進(jìn)行初步匹配,之后利用RANSAC(random sample consensus)[14]算法得到投影映射矩陣。根據(jù)得到的矩陣進(jìn)行背景運動補(bǔ)償并進(jìn)行差分,最后得到在移動攝像下物體的真實運動,具體流程如圖3所示。
由于卡爾曼濾波和Mean Shift算法比較經(jīng)典,讀者可自行查閱相關(guān)文獻(xiàn),本文主要介紹移動攝像下的目標(biāo)跟蹤算法設(shè)計。
傳統(tǒng)的Mean Shift算法在目標(biāo)出現(xiàn)機(jī)動過快、受到遮擋、旋轉(zhuǎn)縮放時,很難精準(zhǔn)跟蹤目標(biāo)。本文首先整合了基于SURF特征點匹配算法的二幀差分法以解決移動攝像下的相對運動和旋轉(zhuǎn)縮放等問題,然后引入卡爾曼濾波,借助濾波器的預(yù)測能力,解決目標(biāo)機(jī)動過快的問題,最后利用Bhattacharyya相似性系數(shù)更新卡爾曼濾波的誤差協(xié)方差矩陣有效地解決目標(biāo)遮擋問題。算法流程圖見圖4,具體步驟如下:
(1) 讀取視頻,提取相鄰幀的SURF匹配特征點,并利用第2節(jié)的方法進(jìn)行二幀差分,得到前景運動目標(biāo)。
(3) 利用Bhattacharyya相似性系數(shù)進(jìn)行相似性度量,并利用偏移向量不斷迭代最終得到目標(biāo)準(zhǔn)確位置。
(4) 利用Bhattacharyya相似性系數(shù)更新卡爾曼濾波的誤差協(xié)方差Pt。
(5) 重復(fù)以上步驟,直到視頻結(jié)束。
本文算法可實現(xiàn)手動框選目標(biāo)的交互跟蹤和預(yù)先輸入目標(biāo)面積的自動跟蹤,實驗平臺為2.8 GHz Intel Core i7-770HQ處理器、16 GB內(nèi)存、64位操作系統(tǒng)計算機(jī),仿真環(huán)境為Python語言,在VIVID視頻集[15]中的4個視頻序列進(jìn)行性能測試,算法每幀的處理速度在100 ms左右,基本達(dá)到實時性要求,下面列出了本文算法、組合卡爾曼濾波和Mean Shift算法、Mean Shift算法、高斯濾波跟蹤算法的跟蹤結(jié)果。
圖5 EgTest01序列中,由于成像傳感器的快速移動,目標(biāo)在13幀(圖5第1行圖像)左右產(chǎn)生運動模糊,導(dǎo)致其余3種跟蹤算法均有一定程度誤差偏移;當(dāng)傳感器出現(xiàn)抖動時(第34幀,圖5第2行圖像),由于采用本文設(shè)計的二幀差分法,可以繼續(xù)跟蹤目標(biāo),其他算法均跟蹤失敗。
圖6 EgTest04序列中,成像傳感器掉幀,時而無運動,時而跳躍向前。跟蹤開始后(第3幀,圖6第1行圖像),由于掉幀,目標(biāo)無運動。由于采用本文設(shè)計的特征匹配,依然可以很好地跟蹤目標(biāo),其他算法均不同程度向前偏移。在第22幀(圖6第2行圖像)時,目標(biāo)掉幀,跳躍向前,只有本文算法未受干擾繼續(xù)跟蹤。
圖7 EgTest05序列中,當(dāng)跟蹤目標(biāo)被樹木遮擋時(第244幀,圖7第1行圖像),Mean Shift算法由于遮擋干擾,偏離目標(biāo)嚴(yán)重;組合了卡爾曼濾波的Mean Shift算法由于具備了預(yù)測功能,遮擋時依然能夠跟蹤目標(biāo),但只能跟蹤單個目標(biāo);本文算法未受干擾。后續(xù)跟蹤中,目標(biāo)受到完全遮擋后再次出現(xiàn)(第264幀,圖7第2行圖像),這種跟蹤目標(biāo)的突然消失導(dǎo)致了其他3種算法的失敗,本文算法由于采用SURF算法的特征匹配,依然具有良好的跟蹤效果。
圖8 RedTeam序列中,由于攝像機(jī)縮放,目標(biāo)由小變大,再變小,出現(xiàn)了較大的尺度變換,由于高斯濾波在此例中效果無法跟蹤目標(biāo),不予列出;Mean Shift和卡爾曼濾波、Mean Shift沒有自適應(yīng)能力,雖然可以進(jìn)行跟蹤,但在目標(biāo)發(fā)生尺度變換時跟蹤窗口保持不變,性能較差,本文算法保持了良好的自適應(yīng)能力。
綜上所述,本文算法組合了基于SURF的二幀差分法、卡爾曼濾波和Mean Shift算法,各部分優(yōu)勢互補(bǔ),充分解決了移動視頻下跟蹤過程中目標(biāo)的大尺度變化、遮擋和快速移動等問題,極大提升了跟蹤性能。
圖9給出了本文算法和其他3種比較算法在VIVID視頻集中的像素誤差曲線。像素誤差是物體真實位置中心與跟蹤算法預(yù)測中心的歐氏距離,像素誤差的數(shù)值可以直接表現(xiàn)出算法對跟蹤目標(biāo)的魯棒性。本文通過逐幀計算目標(biāo)像素誤差的方式評估算法的跟蹤性能。
很明顯,在對移動視頻序列目標(biāo)的跟蹤中,傳統(tǒng)的高斯濾波跟蹤無效;Mean Shift跟蹤算法在一般情況下跟蹤效果較差,尤其在目標(biāo)出現(xiàn)遮擋、尺度變化等情況時,跟蹤性能急劇下降,很難保證跟蹤的魯棒性和穩(wěn)定性;組合卡爾曼濾波后,組合算法在遇到上述特殊情況時跟蹤效果有了一定改善,但跟蹤性能依舊無法實現(xiàn)大幅度提升;本文算法在組合算法的基礎(chǔ)上,融合了基于SURF的二幀差分法后,保證了整體視頻序列的跟蹤效果。
綜上所述,本文設(shè)計的二幀差分法可以有效解決成像傳感器大尺度縮放、高速相對移動等負(fù)面影響。同時,差分過程中的特征提取也很好地解決了目標(biāo)突然運動、受部分或全部遮擋等跟蹤問題,相較于其他3種算法,具有更好的跟蹤性能。
針對移動攝像下的目標(biāo)跟蹤問題,本文提出了一種新的跟蹤算法。首先利用基于SURF算法的二幀差分法提取前景運動目標(biāo),然后利用卡爾曼濾波和Mean Shift算法進(jìn)行后續(xù)目標(biāo)跟蹤。本文算法充分利用了二幀差分法對移動攝像的適用性,SURF算法的尺度和旋轉(zhuǎn)不變性,卡爾曼濾波的估計最優(yōu)性以及Mean Shift跟蹤算法的迭代穩(wěn)定性。本文的實驗完全模擬了空中武器設(shè)備跟蹤地面運動目標(biāo)時可能出現(xiàn)的問題。實驗結(jié)果及分析表明,在反坦克等軍事領(lǐng)域中,本文算法可以很好地解決成像傳感器的掉幀、突然抖動和高速移動問題,也可以極大提高對受遮擋或大尺度變化目標(biāo)的跟蹤能力。