王 戰 劉松濤 楊紹清 宋 元郭 策
(1.海軍大連艦艇學院 大連 116018)(2.91937部隊 舟山 316000)
在計算機視覺、圖像處理領域中,視頻目標跟蹤是一個重要的部分,也是研究的重點和難點,一直以來都吸引著眾多學者的關注和研究。雖然在近幾年,視頻目標跟蹤算法有著很大的進步,但對于一些在特定場合下的特定目標(圖像信噪比低,跟蹤中目標出現大幅度尺度、光照變化,運動速度過快等),總是需要不斷的改進算法,來解決實際存在的各種問題。在目標跟蹤中,基于匹配的跟蹤方法可以很好地消除目標背景噪聲所帶來的不良影響,其可以分為兩種主流算法:基于灰度匹配的方法和基于特征匹配的方法[1]。基于灰度匹配的方法是利用灰度值的不同區分不同對象,包括絕對誤差和算法(SAD)[2]、誤差平方和算法(SSD)[3]、歸一化積相關算法(NCC)[4]等,但是由于其運算量較大,并且對噪聲十分敏感,導致效果較差;基于特征的匹配方法一般先進行特征提取再進行特征匹配,具有實時性好、魯棒性突出等優點,包括SUSAN[5]角點檢測,Harris角點檢測[6]等方法。雖然可以解決旋轉、平移等問題,但在目標高速運動時,無論是設備與目標之間的距離不定,還是目標本身的模板變化,都會使得上述方法失效。為了解決此類問題,Lowe等提出了 SIFT(Scale Invariant Feature Transform)[7]局部特征匹配算法,其在尺度變換、放射變換上都有良好的匹配性能。隨后,Herbert Bay等在SIFT算法的基礎上進行改進,提出SURF(speeded Up Robust Features)[8]進行局部特征匹配,極大提升了SIFT算法的實時性。
為了達到更好的跟蹤效果,國內外許多學者對SURF算法在不同方面都做了改進。本文首先對SURF算法原理進行介紹,然后對SURF算法近幾年在目標跟蹤領域的各種改進算法進行梳理,主要包括:基于Mean Shift的SURF目標跟蹤改進算法;組合Kalman的SURF目標跟蹤改進算法;組合訓練學習模塊的SURF目標跟蹤改進算法等,最后總結各算法的優缺點,并從不同角度分析SURF算法未來的發展方向。
SURF算法不僅具有SIFT算法對尺度變化和光照變化的優良匹配性能,還具有更高的運算速度和魯棒性,其運算效率是SIFT算法的三倍。
SURF算法采用Hessian矩陣行列式檢測特征點(極值處為特征點區域)。高斯拉普拉斯方法是最好的能夠保證尺度不變性的方法,SURF算法就是將Hessian和高斯拉普拉斯方法結合,產生了Hessian-Laplace方法。這樣結合把本來對尺度不變性不敏感的Hessian方法實現了特征尺度不變性。圖像中某個像素點的Hessian矩陣:
SURF算法利用盒狀濾波器近似代替高斯濾波器,這樣就是將濾波問題轉化成對不同區域的灰度和問題,大大地精簡了計算的時間,如圖1。
其中,N代表盒狀濾波器圖像中,突出部分(黑色與白色部分)的個數。Sn代表凸出部分像素數量。φn是第n個突出部分的權值。
那么矩陣行列式的判別式可表示為
可已通過判別式來確定極值點,其中0.9為經驗值,用來平衡替換所帶來的誤差。與SIFT算法不同,SURF算法構造高斯金字塔時,圖像大小不變,不同組間盒式濾波器逐漸增大,而相同組間的濾波器之間的模糊系數也是逐漸增大的。
1)定位特征點
(1)初步定位關鍵點,將所有經過Hessian矩陣處理后的像素點與三維臨域的26個任意點進行比較,若為最值,則保留。
(2)設置合適閾值,適當增加極值,使檢測的特征點數量減少,采用三維線性插值法,得到亞像素級別的特征點,最后篩選出穩定的特征點。
2)確定特征點主方向
在SURF算法中,統計特征點圓形臨域內的Harr小波特征,來保證旋轉不變性并確定主方向:
(1)計算半徑為6S(Scale,特征點的尺度值)臨域內,60度扇形中所有點,在水平和垂直方向的Harr小波響應總和,其中Harr小波邊長為4S。
(2)給響應值附加權重,即靠近特征點的響應值權重大,遠離的則小。將扇形內的響應值相加,形成矢量。
(3)以0.2弧度大小的間隔旋轉,再進行(1)、(2)步驟,將整個圓形區域計算完畢,選擇最長適量方向作為特征點的主方向。
如圖2,在特征點周圍取一個邊長為20S的正方形框,方向是特征點的主方向,然后將其分為16個子框,每個子框中就有需要統計的25個就主方向而言的水平和垂直方向的Harr小波特征的像素點。那么,每個子框就有4個總和。則每個特征點就有64維向量。較SIFT少了一半,所以速度會大幅度增加。
那么盒狀濾波器Dxx、Dxy、Dyy的灰度值總和可由積分圖像的概念求得:
Mean Shift算法在計算機視覺中的圖像跟蹤領域一直是學者們研究的熱點,因為算法是相對迭代的連續過程,計算量小,時效性好。而且,由于Mean Shift算法適合與其他算法結合,這為該算法提供了不斷創新的條件。
文獻[9]利用SURF特征點構造直方圖,作為Mean Shift算法的第一步,當算法由于跟蹤目標進行以外的旋轉造成姿勢改變失效時,利用光流法,重新初始化跟蹤器和模板。具體流程圖見圖3。此算法基于機器人平臺開發,雖然SURF算法對幾何突變和光照變化有很強的匹配性能,但在長時間跟蹤時會受到幀間噪聲影響。所以利用光流法,解決了模板生成問題,使得跟蹤算法能夠長時間工作。
文獻[10]以基于后驗概率的Mean Shift算法作為全局跟蹤器,SURF算法作為局部跟蹤器,并將其分為長期特征點集合和短期特征點集合,增加了算法的效率,流程圖見圖4。流程中的綜合判斷器是用閾值來區分兩個跟蹤器的優劣等級,根據等級采用不同的結合方法。算法應用雙跟蹤器跟蹤,避免了單一跟蹤器在特定場景下的不足,使跟蹤更加可靠。但最后的結合判斷使得算法更為復雜,難度較大。
文獻[11]的創新之處在于其在組合SURF和Mean Shift算法的基礎上,又引入了自適應分塊,利用SURF算法加強了對目標模板的描述能力,也由于分塊權值的作用,使得其對目標部分遮擋問題有了更好的跟蹤能力。
從本節可以看出,文獻[9]方法非常重要的優勢在于可以利用光流法更新SURF特征描述子模板,保證了算法長時間服務的可能。
卡爾曼濾波是一種普及度很高的濾波方法,由于其易于操作的特性,適合與其他算法組合,在目標跟蹤領域應用廣泛。
文獻[12]與文獻[9]應用平臺相同,不同的是其利用Kalman濾波與SURF組合進行跟蹤,并利用動態對象模型在處理短時變化的同時,保證了長時變化的穩定性。另外還提出了一種檢測目標姿態變化的方法,保證了跟蹤的魯棒性。跟蹤框架見圖5。
文獻[13]是基于旋翼無人機平臺的跟蹤算法,利用兩級PID算法完成位置和姿態控制,保證了目標出現的位置,進而保證了有效的跟蹤。利用SURF算法改進KLT算法進行無人機跟蹤,由于傳統KLT跟蹤算法不能有效選擇關鍵點,導致緩慢漂移帶來的隨機誤差,加入SURF算法可使得無效關鍵點可以從KLT算法中移除,保證算法穩定性。另外,還利用基于NCC模板匹配的檢測器和基于卡爾曼濾波器的位置預估器,可以很好解決跟蹤中的嚴重形變和快速運動及遮擋等問題,但對運動復雜的目標,跟蹤效果不理想。
從本節可以看出,SURF與Kalman濾波的組合可以更好地應用在快速目標跟蹤上,但只應用兩個算法,并不能完全符合復雜的跟蹤要求,因此學者們又以本身研究領域為出發點,組合了其它算法進行優化。
文獻[14]分為線下學習和線上跟蹤。利用SURF算法與神經網絡組合,通過線下學習可以獲得更高等級的特征匹配。線上跟蹤利用組合神經網絡深度學習的粒子濾波和Mean Shift算法進行糾正,實現整個跟蹤系統。從實驗結果看出,算法擁有很好的跟蹤效果和發展前景,流程圖見圖6。
通過本文可分析得出,SURF與Mean Shift的組合算法發展前景不大,但可以嘗試與Camshift組合[15~16],進而改善算法的實時性和計算復雜度。Kalman的預測功能可以大幅度提升SURF算法的計算速度,這種組合可以作為目標跟蹤系統的一個模塊,在許多情境下都可以進行組合使用,擁有廣闊的應用前景。基于深度學習模塊的SURF目標跟蹤算法可以通過解決模板更新問題,進行長時間跟蹤,這種組合方法主要應用在目標識別和檢測領域,因此如何將其應用在目標跟蹤領域是該類算法發展的重點。另外,還有的文獻還將TLD跟蹤算法與SURF算法組合[17~18],也有不錯的跟蹤效果。
經過以上分析,作者擬提出一種集成三類算法優點的目標跟蹤方法,首先利用SURF和神經網絡算法組成特征點匹配模塊,然后由CamShift與Kalman算法跟蹤模塊,最后利用SURF對跟蹤模塊進行修正。本算法不僅可以實現難度較大的目標跟蹤,還可以長時間運行,并不會出現累加誤差。另外,近幾年基于OpenCV平臺開發的目標跟蹤算法層出不窮。OpenCV運行效率高,具有大量優化的代碼庫、強大的開源性和兼容性。因此,在下一步的探索研究中,如何在OpeanCV平臺上進行新算法的開發是今后工作的重點。