曲巨寶
(武夷學院 數(shù)學與計算機系,福建 武夷山 354300)
基于改進Camshift算法的多目標自適應跟蹤
曲巨寶
(武夷學院 數(shù)學與計算機系,福建 武夷山 354300)
針對多目標跟蹤中常因目標間遮擋、融合、分離等導致跟蹤失敗,提出了用動態(tài)背景建模技術(shù)和RGB三通道色差法獲取目標群組,然后利用Kalman濾波器預測運動目標初始參量,再用改進的Camshift算法逐步迭代逼近各個目標精確位置,實現(xiàn)了對多目標的自適應跟蹤。經(jīng)大量實驗證明,本算法目標識別能力強,抗噪聲性能好,跟蹤速度快。
Camshift;多目標跟蹤;自適應;kalman
運動目標的檢測、跟蹤是計算機視覺研究的重要內(nèi)容,被廣泛用于智能視覺監(jiān)控、視頻檢索等領(lǐng)域。由于運動視頻受光線、目標動態(tài)變化影響使目標檢測和跟蹤變得非常困難,尤其對多個運動目標進行同時跟蹤,目標間發(fā)生遮擋、融合、分離導致跟蹤變得異常艱難。文獻 [1]提出了基于MeanShift的多目標粒子濾波跟蹤算法設(shè)計,但MeanShift算法不但對抗遮擋能力比較差,而且不具有搜索窗自適應功能;文獻[2] 提出用水平集法對多運動目標進行分割;文獻[3] 提出用多個攝像機構(gòu)建系統(tǒng)來處理多個運動目標相互遮擋的問題,但這種系統(tǒng)造價較高且算法復雜,實時性差;本文在研究了多運動目標的顏色特征、運動規(guī)律后,使用背景差分法建立動態(tài)背景模型,將當前幀同背景幀做差分獲得運動目標,通過Kalman濾波方法對各目標在下一幀的初始位置進行預測后,再調(diào)用Camshift逐次逼近各個目標的精確位置,經(jīng)實際應用取得了較好的效果。
利用背景差分法建立動態(tài)背景模型,以幀間差分法為基礎(chǔ),通過當前幀幀差分的二值圖像找到運動區(qū)域,對運動區(qū)域內(nèi)的背景保持不變,而非運動區(qū)域的背景則用當前幀進行更新,經(jīng)過一定次數(shù)的迭代便可提取出背景。其步驟如下:
(1)將序列圖像的第一幀圖像I0作為初始背景圖像。
(2)計算當前幀k的幀間差分二值圖像BWk:
其中,Ik, Ik-1分別為當前幀和上一幀圖像,kτ是判斷第k幀是否有變化的閥值(實驗中取25)
(3)利用二值圖像BWk更新背景Bk:
其中α為更新系數(shù),取0.2
(4)k=k+1返回到步驟(3),進行迭代,經(jīng)過一定次數(shù)的迭代后停止迭代,并將此時的Bk作為背景圖像B0
將當前幀Ik與背景幀Bk做差分,就得到目標圖像Pk,利用反向回溯法獲取二值圖像對應原圖像中彩色RGB目標的坐標點位。用I.Rk、I.Gk、I.Bk, B.Rk、B.Gk、 B.Bk分別表示目標圖像Ik和背景模型Bk的R,G和B三個通道的值。
其中 δR=|I .Rk-B.Rk|、δG=|I.Gk-B.Gk|、δB=|I.Bk-B.Bk|分別代表當前幀與背景幀間R、G、B三通道色差,τR,τG,τB為R、G、B閥值(實驗中取τR= τG=τB=20)。
經(jīng)過二值化的目標圖像會有許多孤立點、孔洞和間隙,應進行數(shù)學形態(tài)學中的膨脹、腐蝕等濾波技術(shù)將噪聲去除,再用4 -δ連通區(qū)域分割法[4],對分散的區(qū)域進行連通或分割,并用外接矩形和數(shù)字編號表明該目標塊的順序、位置、高度和寬度信息;而對于面積小于某個閥值(實驗中設(shè)Ta=30)的孤立區(qū)域要刪掉。最后前景區(qū)域中余下了的就是最終獲得的運動目標群{pk(i)}i=1…n.其中n為目標個數(shù)。圖2是對運動車輛視頻進行背景建模和目標提取截圖。圖2(b)是將原圖2(a)與背景幀做差后經(jīng)數(shù)學形態(tài)學等處理后得到的3個車輛目標。
圖2 多目標視頻跟蹤實驗結(jié)果
運動目標群是一個不斷變化的群體,如何確定不同的目標在下一幀中的位置,在分析了許多學者不同的研究后,本文提出了先利用卡爾曼濾波器進行多目標位置預測,然后再用改進的CamShift算法進一步逼近目標精確位置,從而實現(xiàn)多目標的快速定位和跟蹤。Kalman濾波器是一個對動態(tài)系統(tǒng)的狀態(tài)序列進行線性最小方差誤差估計的算法,它通過狀態(tài)方程和觀測方程來表示系統(tǒng)。根據(jù)擴展Kalman濾波器[5]預測目標i在下一幀可能出現(xiàn)的區(qū)域為:
式中: pk(i)是第i個目標的質(zhì)心位置, p?k+1(i)是目標i質(zhì)心在下一幀中的預測位置, Δpk+1(i)是預測目標可能存在的區(qū)域, vk(i)=[pk(i)-pk-1(i)]/Δt是目標質(zhì)心的速度, ak(i)=[vk(i)-vk-1(i)]/Δt是目標質(zhì)心的加速度,△t為兩幀時間間隔。
為充分利用目標的顏色信息實現(xiàn)目標精確定位,還需要利用CamShift算法做進一步跟蹤。首先將RGB顏色空間轉(zhuǎn)化成HSV顏色空間,以適應CamShift算法,然后利用每個目標i建立色度直方圖,通過直方圖歸一化將直方圖與每一色度級別對應的取值范圍歸一化到[0,255]區(qū)間中,得到每個目標的序列灰度值,在灰度投影圖中越亮的像素表明該像素為目標像素的可能性越大[6]。
用Kalman濾波后得到的預測目標位置 p?k+1(i)為起點,以 s0(i)=Δpk+1(i)/255為搜索窗的初始大小,從i=0,開始進行自適應CamShift跟蹤:
(1)設(shè)I(x,y)i為目標i在當前幀搜索窗口中的像素位置, I(x,y)i是投影圖中(x,y)i處的像素值。式中,I(x,y)是坐標為(x,y)的像素值,x和y的變化范圍為搜索窗的范圍。則目標i搜索窗口的零階矩M00、M10分別如下:
于是目標i的搜索窗口內(nèi)的質(zhì)心位置為:
(3)重復(1)和(2)過程,將搜索窗口的中心逐漸移向質(zhì)心位置。如果移動距離大于預設(shè)的固定閾值,則重新計算調(diào)整后的窗口質(zhì)心,進行新一輪的窗口位置和尺寸調(diào)整。直到窗口中心與質(zhì)心間的移動距離小于預設(shè)的固定閾值,或者循環(huán)運算的次數(shù)達到某一最大值,認為收斂條件滿足,此時的( xc,yc)i就是該目標i的質(zhì)心坐標。
(4) i=i+1;返回(1),繼續(xù)搜索本幀中其他目標的質(zhì)心,直到將本幀中所有目標都搜索完成后,再進行新幀圖像搜索工作。
由于背景圖像的復雜性,目標在圖像中可能隨時都會發(fā)生進入、退出、遮擋、融合、分離等情況。為此本文采取的搜索策略如下:將第k幀的每個目標同第k+1幀中的每個目標經(jīng)kalman濾波后再進行Camshift跟蹤匹配,如果剛好匹配成功,說明目標沒有發(fā)生變異;如果第k幀或k+1幀中還有剩余目標時,表明目標發(fā)生變異,這時對剩余目標采取排列組合方式進行再次相似性比對跟蹤;如果經(jīng)過多次比對計算后,第k幀依然有多余目標,則表明有目標離開或被完全遮擋,此時保留第k幀中這些目標的信息,留待再次出現(xiàn)時使用;如果第k+1幀有多余目標時,表示有新目標進入,這時就增加新編號給新目標;并對現(xiàn)有模板進行更新。
為了驗證本文所提出的檢測跟蹤算法,利用Windows2003環(huán)境,以Visual C++6.0和OpenCV為平臺開發(fā)了實驗程序,機器的配置為P4/3.0GHz/512M,視頻幀率為25 f/s。圖2是利用本文算法對公園中多目標視頻進行跟蹤的部分截圖。在圖2(1)中有兩組目標群出現(xiàn),到2(4)圖后融合成一個目標群,在2(5)圖又分離成3個目標群,盡管如此,本算法依然可以很好的跟蹤到目標,并且自動分組編號。
圖2 多目標視頻跟蹤實驗結(jié)果
針對多目標跟蹤中目標容易因遮擋、融合、分離等原因而導致跟蹤失敗,本文提出利用動態(tài)背景建模技術(shù)結(jié)合Kalman濾波器對目標先預測,然后再使用CamShift算法進行精確定位的算法。并通過多目標搜索策略及模板更新實現(xiàn)了目標的動態(tài)跟蹤。大量的實驗結(jié)果表明,本算法運算速度快,跟蹤能力強,魯棒性好。
[1]楊偉,柴奇,楊華,黃超超.基于mean-shift的多目標粒子濾波跟蹤算法設(shè)計[J].紅外技術(shù),2009,31(5):275-278.
[2]Mansouri A R, Konrad J. Multiple motion segmentation with level sets[J]. IEEE Transactions on Image Processing, 2003,12(2):201-220.
[3]S L Dockstader, A M Tekalp. Multiple Camera Fusion for Multi-object Tracking[C]. Proc of IEEE Workshop on Multi-Object Tracking, 2001:95-102.
[4]陳柏生.一種二值圖像連通區(qū)域標記的新方法[J].計算機工程與應用,2006,25(2):46-47.
[5]Comaniciu D, Ramesh V, Meer P. Real-time tracking of non-rigid objects using Mean Shift [A ]. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition[C], Hilton Head Island, South Carolina, USA, 2000:142-149.
[6]Comaniciu. Kernel-based object tracking[J]. IEEE Transactions onPattern Analysis and Machine Intelligence, 2003,25(2):564-577.
(責任編校:何俊華)
TP393
A
1673-2219(2010)12-0070-03
2010-09-20
福建省教育廳科技項目(JA09240)、武夷學院智能計算網(wǎng)格科研團隊(2009)
曲巨寶(1963-),男,吉林乾安人,副教授,碩士,研究方向為計算機視覺、圖形圖像、人工智能。