王超+蘇湛
摘要:
傳統(tǒng)的Camshift運動目標跟蹤算法在目標遮擋或背景顏色干擾下,容易陷入局部最大值,造成目標跟蹤丟失。針對這一問題,提出了一種結合Kalman濾波及Surf特征提取的改進算法。該算法需在視頻序列中手動框選跟蹤目標作為目標模板。將傳統(tǒng)Camshift算法得到的目標候選區(qū)域與目標模板進行直方圖對比,得到的巴氏系數若大于設定的閾值則說明目標跟蹤丟失。采用Surf算法,在該幀圖像中匹配出新的目標候選區(qū)域,最終得到候選區(qū)域的位置信息更新Kalman濾波。仿真實驗表明,改進后的算法在復雜背景下仍然具有良好的跟蹤效果。
關鍵詞:
Camshift算法;Kalman預測器;Surf算法;顏色干擾;目標遮擋
DOIDOI:10.11907/rjdk.172315
中圖分類號:TP312
文獻標識碼:A文章編號文章編號:16727800(2018)001007704
Abstract:The traditional Camshift moving target tracking algorithm is easy to fall into the local maximum value and lost tracking target under the target occlusion or background color interference. An improved algorithm combining Kalman filter and Surf feature extraction is proposed. Firstly, it is necessary to manually select the target as a template region in the sequence of video frames while using this algorithm. Then calculate the Bhattacharyya coefficient of the candidate region obtained by the traditional Camshift algorithm and the template region by histogram matching. If the coefficient is greater than the threshold, this situation represents lost tracking traget. The Surf algorithm is used to match the new target candidate region in the frame image. The Kalman filter is updated according to the position information of the finally obtained candidate region. The simulation results show that the improved algorithm still has a good tracking effect in the complex background.
Key Words:Camshift algorithm; Kalman predictor; Surf algorithm; color interference; target occlusion
0引言
目標跟蹤結合機器視覺、圖像處理、模式識別等多個學科知識,廣泛應用在交通、軍事、工業(yè)等領域[1]。Camshift是一種基于顏色直方圖的跟蹤算法,利用顏色的相關信息跟蹤運動目標。該算法在黑白背景下具有良好的跟蹤效果,但當跟蹤目標的顏色與背景顏色相似,或目標被遮擋時,使用該算法很容易造成目標跟蹤丟失,并且很難恢復[23]。
傳統(tǒng)的Camshift改進算法很多。文獻[4]加入了幀間差分法,當出現顏色干擾時,采用幀間差分法仍然可以檢測出運動物體,但是該方法僅適用于視頻畫面中存在單個運動物體,當畫面中同時有多個運動物體時,則無法自動選出特定運動目標。文獻[5]中加入了Kalman濾波解決目標被遮擋問題,但跟蹤效果易受光照及背景顏色等外界因素干擾。
針對上述問題,本文提出了一種結合Kalman預測器與Surf特征匹配的改進方案。當跟蹤失敗時,利用Surf算法,對目標模板模型及對應幀圖像進行特征匹配,重新定位候選目標區(qū)域。利用 kalman濾波,預測下一幀圖像中搜索框的信息,依此實現持續(xù)準確的跟蹤。
2.2Surf特征提取匹配
Surf (Speeded Up Robust Features),即加速的具有魯棒性特征。Surf算法是尺度不變特征算法(Sift)的加速版。理論上,Surf的速度是Sift的3倍,并且穩(wěn)定性更好。利用Surf算法可以在兩幅圖像中找出相同的物體,并且建立映射關系[13]。
Surf算法步驟:通過Hessian矩陣構造高斯金字塔尺度空間,通過非最大信號確定特征點,再采用三維線性插值法得到亞像素級特征點,選取特征點的主方向,最后生成特征向量[14]。
在跟蹤過程中,若發(fā)生目標跟蹤丟失,則需要采用該算法重新定位目標區(qū)域?;舅悸窞椋焊櫱笆謩舆x取跟蹤目標并保存,作為模板模型。當檢測到丟失跟蹤目標時,將保存的目標模型和對應的視頻幀圖像進行Surf特征點提取與匹配,再通過透視變換,即可得到目標區(qū)域的具體位置信息,從而找回丟失的運動目標。
如圖1所示,首先使用Surf算法,對目標書籍及書籍所在的場景圖進行特征提取,再使用Flann匹配對應的特征點,最后通過透視變換,便可在場景圖中找出目標書籍,即圖1右側區(qū)域所框選出來的四邊形區(qū)域。通過上述操作就可以得到目標在相應場景中的位置信息,進而實現對跟蹤目標的重新定位。在運動目標跟蹤過程中,若發(fā)生丟失跟蹤目標的情形,則需要采用該方法重新找到跟蹤的物體,實現對目標的重新定位。endprint
2.3改進的Camshift算法
傳統(tǒng)的Camshift算法在實際跟蹤過程中存在相應缺陷,本文介紹一種基于Kalman預測器與Surf特征匹配的改進方案。在跟蹤過程中,通過對Camshift跟蹤的候選區(qū)域與最初框選的目標模板區(qū)域進行直方圖對比,可以得到一個巴氏系數d(H1,H2):
式中:H1,H2為需要進行對比的直方圖參數,d(H1,H2)∈[0,1],巴氏系數越接近0,說明兩幅圖內容越接近。設置一個閾值,當得到的巴氏系數大于這個閾值時,說明此時跟蹤得到的候選區(qū)域與模板模型內容相似度較低,即丟失跟蹤目標[15]。通過該方法可方便地判斷此幀圖像中運動目標是否跟蹤成功。改進后的算法步驟如下:
(1)讀入視頻幀序列,并用鼠標手動選取所要跟蹤的目標,框選出的區(qū)域即為目標模板模型,將該區(qū)域作為初始搜索窗口。
(2)初始化Kalman濾波。
(3)根據搜索窗口信息,利用Camshift算法進行目標跟蹤,得到目標候選區(qū)域。
(4)將跟蹤得到的目標候選區(qū)域與目標模板模型進行直方圖對比,判斷得到的巴氏系數是否大于設定的閾值(本文設置的閾值為0.4)。如果大于閾值,則表明丟失跟蹤目標,跟蹤失敗。利用Surf算法對目標模板模型與對應的視頻幀圖像進行特征提取,使用Flann算法進行特征點匹配。最后通過透視變化,重新找回視頻畫面中所要跟蹤的運動目標,得到新的目標候選區(qū)域。
(5)將目標候選區(qū)域的位置和大小作為觀測值,更新Kalman預測器參數。
(6)讀入下一幀圖像,利用參數更新后的Kalman濾波,預測出運動目標的位置信息。
(7)根據預測出的運動模板位置信息,更新搜索窗口,返回步驟(3)繼續(xù)執(zhí)行,直至視頻播放結束。
對應的流程如圖2所示。
3實驗仿真分析
仿真實驗處理器型號為Inteli53210M,主頻2.50GHz,內存8GB,操作系統(tǒng)Windows 7,使用Visual Studio2015以及OpenCV 3.2.0版本。
圖3和圖4是一組汽車行駛視頻序列,選取汽車為跟蹤目標,跟蹤結果顯示在紅色矩形框內。畫面中天空的顏色與汽車的顏色相似,從而對跟蹤造成干擾。將該視頻序列的第21幀框選為跟蹤目標。圖3采用的是傳統(tǒng)的Camshift跟蹤算法,圖4采用的是基于本文改進后的跟蹤算法。由于天空顏色的干擾,兩種方法都不能完全框選出整個汽車。圖3中,從第121幀開始,紅色矩形框逐漸偏離汽車,第325幀則完全丟失跟蹤目標。圖4中,雖然紅色矩形框也存在偏離目標的情況,但是和圖3相比偏離程度明顯降低,并且在第325幀圖像中,仍然很好地對汽車進行了跟蹤,未出現丟失跟蹤目標的情況。
圖5和圖6是一組道路行人視頻序列,選取其中的一個行人作為跟蹤目標。在該視頻序列的第212幀選取跟蹤目標,即身穿淺綠色上衣的行人。第263幀中,路燈上的指示牌及周圍的行人對跟蹤目標造成遮擋,第274幀畫面中,遮擋消失。此次跟蹤,兩種方法均未出現丟失跟蹤目標的情況。但是采用傳統(tǒng)Camshift跟蹤算法得到的紅色矩形框的面積,明顯要大于采用改進的跟蹤算法得到的紅色矩形框面積。對比后發(fā)現,改進后的算法能對行人實現更為準確的定位跟蹤,效果得到顯著提高。
仿真實驗表明,改進后的Camshift具有更好的跟蹤效果,跟蹤準確度得到明顯提高。但是由于加入了Surf特征匹配算法,程序運行時間要略微延長。由于Camshift算法是基于顏色直方圖進行跟蹤的,所以背景顏色干擾對跟蹤過程影響較大[16],在此情形下,改進后的算法雖然能明顯改善跟蹤效果,但仍然存在結果矩形框偏離運動目標的情形。綜上,改進后的算法達到了預期效果。在背景顏色干擾與目標遮擋情形下,仍然能進行有效跟蹤。
4結語
本文在傳統(tǒng)Camshift跟蹤算法的基礎上,加入了Kalman預測器及Surf特征匹配,因而在復雜背景條件下仍然體現出良好的跟蹤效果。但在特定場景下出現背景顏色干擾時,跟蹤效果并不是特別理想。當今深度學習技術發(fā)展迅速,利用深度學習法實現運動目標跟蹤是研究趨勢,如何利用此方法提高跟蹤效果將作進一步研究。
參考文獻:
[1]徐光柱,雷幫軍.實用性目標檢測與跟蹤算法原理及應用[M].北京:高等教育出版社,2015:45.
[2]CHUNBO XIU, FUSHAN BA. Target tracking based on improved Camshift method[C]. Chinese Control and Decision Conference, 2016.
[3]SHENGLUAN HUANG, JINGXIN HONG. Moving object tracking system based on Camshift and Kalman filter[C]. International Conference on Consumer Electronics, Communications and Networks, 2011.
[4]ZHENG HAN, RUI ZHANG, LINRU WEN, et al. Moving object Tracking method based on improved Camshift algorithm[C]. International Conference on Industrial InformaticsComputing Technology, Intelligent Technology, Industrial Information Integration, 2016.
[5]XIANGYU WANG, XIUJUAN LI. The study of moving target tracking based on KalmanCamShift in the video[C]. The 2nd International Conference on Information Science and Engineering,2010.endprint
[6]湯泉.基于AdaBoost和Camshift的人臉檢測與跟蹤[J].電子科技,2016,29(12):166169.
[7]儲珺,杜立輝,汪凌峰,等.基于局部背景感知的目標跟蹤[J].自動化學報,2012,38(6):19851995.
[8]CHIH HSIEN,HSIAYUN JUNG,LIOUJEN SHIUN CHIANG. Directional prediction CamShift algorithm based on adaptive search pattern for moving object tracking[J]. Journal of RealTime Image Processing, 2016,12(1):183195.
[9]牛春峰,劉世平,王中原.制導炮彈飛行姿態(tài)的卡爾曼濾波估計方法[J].中國慣性技術學報,2012,20(5):510514.
[10]閆鈞華.基于Kalman預測器的改進的CamShift目標跟蹤[J].中國慣性技術學報,2014,22(4):536542.
[11]KIN HONG WONG, YING KIN YU, HO YIN FUNG. Robust and efficient pose tracking using perspectivefourpoint algorithm and Kalman filter[C]. St.Petersburg, Russia: International Conference on Mechanical, System and Control Engineering, 2017.
[12]孫凱,劉士榮.多目標跟蹤的改進Camshift卡爾曼濾波組合算法[J].信息與控制,2009,38(1):914.
[13]謝紅,原博,解武.基于Orb特征點匹配的改進Camshift運動目標跟蹤算法[J].應用科技,2016,45(5):713.
[14]任克強,胡夢云.基于改進 SURF 算子的彩色圖像配準算法[J].電子測量與儀器學報,2016,30(5):748756.
[15]張磊,彭力.結合Surf與Kalman濾波的Camshift跟蹤算法[J].電子測量與儀器學報,2017,31(3):389394.
[16]唐文平,胡慶龍.基于多目標Camshift手勢識別[J].電子科技,2012,25(2):7181.
(責任編輯:杜能鋼)endprint