高飛



摘要:在互動投影系統中,針對Kinect自帶的機器學習的目標跟蹤算法精確度不高,而Camshift算法在背景顏色與目標物顏色相近時,容易出現誤差而無法預測運動方向,提出將Kinect的深度信息與Camshift算法顏色直方圖相融合;為克服Camshift算法在目標物體速度發生突變而引起目標跟蹤丟失的現象,加入了目標運動軌跡預測機制,提出了一種動態目標自適應跟蹤算法。實驗結果表明,該算法在背景顏色與目標物顏色相近,且運動速度發生突變的條件下,相比傳統的Camshift算法更具魯棒性,跟蹤準確率提高5.0%。
關鍵詞:Camshift算法;目標自適應跟蹤算法;Kinect
中圖分類號:TP311? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)11-0193-03
傳統的目標跟蹤算法包括:尺度不變特征 (Scale invariant feature transform,SIFT)跟蹤算法[1],該算法依據關鍵點周圍的梯度信息來定位運動目標的位置;基于梯度直方圖特征(Histogram of oriented gradient, HOG)的算法[2],該算法有效解決了靜態圖像中監測行人位置的問題;連續自適應均值漂移(Continuous adaptive Mean shift,簡稱Camshift)算法[3] ,該算法的原理是以目標物體的顏色概率分布圖為基準,可有效降低目標跟蹤過程中由于姿態發生改變以及光照發生變化時對目標對象跟蹤的影響。他的缺點是,當目標物顏色與背景顏色相似時,極易發生跟蹤錯誤的現象。當目標運動的速度過快時,Camshift算法依據上一幀圖像計算出來的結果得到的搜索區域,不能與運動目標正確連接,導致目標跟蹤丟失。
針對Camshift的不足之處,研究者提出了許多改進方法,例如文獻[4]針對目標運動速度過快的情況提出了改進的Camshift算法,對預測的速度、加速度及誤差采用IIR濾波器進行修理和改正,但是當加速度突然增大時卻不能準確進行目標跟蹤。Li等[5]提出將Surf算法與Camshift算法相結合實現目標跟蹤。還有研究者[6]將其與粒子濾波、Kalman濾波、邊緣信息和紋理信息等進行融合,
在一定程度上算法的魯棒性得到了進一步提高。文獻[7]將Kalman濾波方法、粒子濾波算法與Camshift算法相結合,實現了當目標被長時間遮擋情況下,仍可對目標物體高效跟蹤。但是該算法在目標物體加速度突變時,跟蹤效果不理想。
本文在以上算法的基礎上,利用Kinect采集人物信息,將Kinect采集到的深度圖像顏色信息與Camshift的顏色直方圖信息進行融合,可有效的解決目標物體與背景顏色相近時目標物體丟失、跟蹤偏移等問題。同時,加入目標運動軌跡預測機制,設計了一種動態目標自適應跟蹤算法,該方法可有效避免因目標物體速度發生突變而引起目標跟蹤丟失的現象。
1 傳統Camshift算法
Camshift算法的參考對象是跟蹤目標的顏色信息,根據參考對象的幾何大小,可自動生成用于定位跟蹤目標的搜索窗口,此窗口的大小依據目標對象的大小進行自適應調整,進而實現當前圖像中目標物體的定位,避免了因目標物體形狀發生變化而造成目標跟蹤錯誤的情況。
1.1 色彩投影
為避免RGB顏色空間的低抗敏感度,用HSV顏色空間代替RGB,將紅(red, R)、綠(green, G)及藍(blue, B)顏色空間變換為色調(hue,H)、飽和度( saturation,S)及明度(value,V)顏色空間,通過將被跟蹤物體圖像中的H值進行統計,進而得到目標物體顏色的目標直方圖,通過將其映射到[0,255]像素值范圍內,進而得到顏色概率分布圖。
1.2 Mean-Shift算法
根據某一幀圖像的樣本點反復迭代尋找目標圖像空間中的最優概率分布來確定目標的位置,通過不斷計算搜索窗的重心,并將搜索窗的中心設在重心處,再通過不斷迭代將搜索框的重心移動到質心處,直至搜索框質心移動的距離不大于設定的移動閾值,進而確定搜索框的大小。
1.3 自適應迭代過程
將上述Meanshift算法擴展到所有的幀序列中,則為Camshift算法。將上一幀的迭代結果作為下一幀的初始值,通過反復迭代來實現目標圖像的準確跟蹤。
2 Kinect深度信息與顏色信息融合算法
融合深度信息的顏色直方圖,即將原彩色圖像進行反向投影,在反向投影圖的基礎上,將深度值作為權重,進而達到濾波的目的。詳細融合過程為:通過連續采集兩幀圖像f1、f2,兩幀圖像上目標的深度數據分別設定為d1、d2,在兩幀圖像之間跟蹤目標的移動距離設為:m= |d1- d2|,若當前幀圖像f0內攝像機與跟蹤目標的質心之間的距離為d。則把當前幀圖像f0的深度圖在(d-m,d+m) 數值區間的像素點一一映射到對應的反向投影圖上,并將權重系數值設置為0.8。即若原來的值為t1,則映射后的值為t1*0.8;將在(d-2m,d-m)U(m+d,m+2d)數值區間的像素點一一映射到對應反向投影圖中,并將權重系數值設置為0.6,即若原來的值為t2,則處映射后的值為t2*0.6,將在其他區間像素點的數值全部設為0。依據此原理,通過深度值偏移的大小設置對應的權重系數,當然,權重系數可根據具體實際情況進行修改。最后在融合了深度信息的顏色反向投影概率分布直方圖上通過利用Camshift算法進行目標跟蹤。
3 動態目標自適應跟蹤算法
傳統的Camshift算法沒有對目標特征進行更新的機制,也沒有目標物體運動預測模塊,當跟蹤目標發生速度突變時,得出的目標區域會增大,搜索窗口的大小亦會增加。所以,在對目標物體進行定位跟蹤時,通過采用動態目標自適應跟蹤算法對后一幀的目標位置進行估計并將目標搜索范圍進行縮小就非常重要。常用的目標物體運動預測算法有Kalman濾波[8]、擴展Kalman濾波[9]等。
通過運動目標在前幾幀中的加速度、速度及位置坐標的數據來預測當前幀內運動目標的位置。對運動目標下一幀位置進行預測,即首先根據運動目標形成該目標的運動模型,再依據目標在前三幀圖像中的運動軌跡來預測目標在當前幀中的出現的位置。然后,將此估測的位置設置為目標搜索窗口的起始位置,利用Camshift跟蹤算法搜索目標在當前幀中的位置。當目標運動速度突變時,在5幀圖像的時間內將跟蹤目標假設為分別在x軸、y軸上分別做勻加速直線運動,然后,通過跟蹤目標運動的加速度位移公式來預測并估算下一幀目標的大概位置區域。運用得到的估算位置對目標區域搜索窗口進行平移,增大運動目標與搜索窗口的關聯性,以此來提高Camshift算法運動目標跟蹤的魯棒性。具體的計算方法如下式:
以x軸的運動分量為例:
[ x'k=xk-1+vxk-1t+1/2ax(k-1)t2]? ? ?(1)
其中:x'(k)表示第k幀圖像的中心在x軸的預測值,vx(k-1)表示在第k-1幀時在x軸方向上的速度值,ax(k- 1)表示在第k-1幀時x方向上的加速度值,t為每兩幀的時間間隔。公式(1)以x(k-1)、vx(k-1)、ax(k- 1)和t四個數值來計算被跟蹤目標的圖形中心在第k幀時x軸的預測值。式中:
[ vxk-1=xk-1-xk-2-x(k-3)t]? ? ? ? ? ? ? ? (2)
[axk-1=vxk-1-vxk-2-vxk-3t]? ? ? ? ? ? (3)
將(2)(3)式代人(1)式得:
[x'k=52xk-1-2xk-2-32xk-3+xk-4+12x(k-5)]? ? ? ? ? ? ? ? ? ? ? (4)
利用同樣的方法得y軸的中心坐標預測值為:
[y'k=52yk-1-2yk-2-32yk-3+yk-4+12y(k-5)]? ? ? ? ? ? ? (5)
目標跟蹤示意圖如圖1所示:
如圖1所示,跟蹤目標在當前幀中的預測位置是根據它在前五幀中的位置計算得來的。由圖知,通過傳統的Camshift算法來搜索當前幀中目標位置的搜索路徑為R2,而通過在Camshift算法內加入目標運動軌跡預測機制,利用動態目標自適應跟蹤算法的搜索路徑為R1。很明顯,R1短于R2,改進后的Camshift算法可有效減小搜索路徑,可以提高跟蹤速度和精度。
4 實驗結果
為了驗證改進Camshift 算法在目標顏色與背景顏色相似條件下的魯棒性,將改進的Camshift 算法與傳統的Camshift 算法進行跟蹤實驗;為了驗證Camshift 算法在目標物體運動速度突變情況下的準確率,將改進的Camshift 算法與傳統的Camshift 算法進行跟蹤實驗。測試本文算法的有效性。
4.1 目標與背景顏色相近跟蹤實驗
本實驗主要驗證改進Camshift 算法在目標顏色與背景顏色相似條件下相對于傳統的Camshift 算法具有較強的魯棒性。本實驗采用一段視頻幀數為450的視頻影像作為實驗輸入,對視頻中人物衣服顏色相似的跟蹤結果對比,實驗效果圖如圖2和圖3所示。
從圖2可以看出,傳統的Camshift 算法對目標顏色與背景顏色相似的情況下,出現了錯誤跟蹤的現象。由圖3可以看出,當目標人物的旁邊出現與其衣服顏色相似的人物時,傳統的Camshift 算法跟蹤到了錯誤目標。由圖3可以看出,改進的Camshift 算法在同條件下進行目標跟蹤時,可以準確地跟蹤到目標。由表1可以看出,改進的Camshift 算法相比于傳統的Camshift 算法的跟蹤準確率提高了5.0%。
4.2 運動目標的運動速度突變跟蹤實驗
本實驗主要驗證動態目標自適應跟蹤算法與傳統的Camshift算法在運動目標的運動速度發生突變情況下的目標跟蹤對比情況,本實驗采用一段排球球運動的視頻畫面進行跟蹤,對比效果圖如圖4和圖5所示。
從圖4可以看出,傳統的Camshift算法在排球運動速度突變加快時,出現了跟蹤丟失的現象。由圖5可以看出,利用動態目標自適應跟蹤算法對速度發生突變的排球進行位置跟蹤時,跟蹤準確率明顯提升,跟蹤性能更優。
5 結束語
本文針對傳統Camshift算法在目標顏色與背景顏色相似情況下,容易出現目標跟蹤錯誤的現象,提出了一種將Kinect深度信息與Camshift顏色直方圖相融合的算法,通過實驗證明,該算法提高了跟蹤的魯棒性。針對傳統Camshift算法在目標物體速度發生突變而出現跟蹤丟失的問題,本文提出了一種動態目標自適應跟蹤算法,在傳統的Camshift算法中加入目標運動軌跡預測機制,通過實驗表明,該算法可有效提高互動投影系統中移動目標跟蹤的準確性和魯棒性。但運算量也會增大。
參考文獻:
[1] Lindeberg T.Scale invariant feature transform[J].Scholarpedia,2012,7(5):10491.
[2] Dalal N,Triggs B.Histograms of oriented gradients for human detection[C]//2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05).June 20-25,2005,San Diego,CA,USA.IEEE,2005:886-893.
[3] Xiao J J,Stolkin R,Oussalah M,et al.Continuously adaptive data fusion and model relearning for particle filter tracking with multiple features[J].IEEE Sensors Journal,2016,16(8):2639-2649.
[4] 吳慧敏,鄭曉勢.改進的高效Camshift跟蹤算法[J].計算機工程與應用,2009,45(27):178-180.
[5] Li J H,Zhang J,Zhou Z H,et al.Object tracking using improved Camshift with SURF method[C]//2011 IEEE International Workshop on Open-source Software for Scientific Computation.October 12-14,2011,Beijing,China.IEEE,2011:136-141.
[6] Yan J H, Chen S H, Shu-Fang A I, et al. Target trac king with improved C amshift based on K alman predictor[J]. Journal of Chinese Inertial Technology,2014,22(4):536-542.
[7] 王偉程.Camshift目標跟蹤算法改進研究[J].石油化工自動化,2019,55(1):35-38,65.
[8] 鐘必能.復雜動態場景中運動目標檢測與跟蹤算法研究[D].哈爾濱:哈爾濱工業大學,2010.
[9] Sepasi S,Ghorbani R,Liaw B Y.Improved extended Kalman filter for state of charge estimation of battery pack[J].Journal of Power Sources,2014,255:368-376.
【通聯編輯:李雅琪】