董云云 蘆彩林 鮑海燕



摘要 Camshift是一種使用顏色概率分布跟蹤對象的改進的Meanshift算法,但當被跟蹤物體與背景顏色相似或在雜亂的環境中目標被遮擋時會出現無法自動跟蹤的缺陷。針對上述缺陷,提出一種將kalman濾波器與Camshift算法相結合的改進自動跟蹤目標。首先,通過生成加權顏色直方圖來精確表示目標,其次使用kalman濾波器預測下一幀的位置,最后,使用輪廓信息和直方圖匹配實現精準跟蹤。實驗結果證明了改進的跟蹤算法有很強的魯棒性和可靠性。
【關鍵詞】Camshift 卡爾曼濾波器 目標跟蹤
1 引言
目標檢測和跟蹤是計算機視覺領域重要的研究課題之一,常用于視頻監控,人臉識別,醫學診斷,人機交互和智能感知等領域。目標跟蹤用于檢測、識別和分析視頻中目標從前一幀到下一幀的變化情況,以此推斷出目標在場景中的移動軌跡。目標跟蹤大致可以分為三步;第一步是檢測或選擇視頻中的感興趣區域,即移動目標;第二步是對選出的目標進行跟蹤;第三步分析并識別出移動目標的行為。
目前常見的跟蹤算法主要分兩大類,基于模板匹配的跟蹤方法和基于狀態估計的跟蹤方法。基于模板匹配的跟蹤算法主要有Meanshift和Camshift等;基于狀態估計的跟蹤方法主要有粒子濾波(ParticleFilter,PF)和卡爾曼濾波(Kalman)等。
Camshift連續自適應均值漂移‘11(Bradski,Oct; Allen等人,1998)是一種基于顏色的特征直方圖跟蹤算法,是一種快速的半自動的跟蹤方法。Camshifi的局限性在于:
(1)算法需要手動選擇目標區域,選擇目標的過程會有偏差;
(2)如果目標離開視野或被遮擋,Camshift會失去目標蹤跡或開始跟蹤完全不同的對象;
(3)如果所跟蹤的目標具有與背景相似的顏色,則會導致跟蹤失敗;
(4)目標運動速度過快會導致跟蹤失敗。
已有一些學者對Camshift進行了研究,YoungseopKin[1]通過光流選擇和Camshift跟蹤算法相結合,提出了一種新的目標跟蹤與識別系統,在移動的環境中能夠實現可靠的跟蹤。GalandaruSwalaganata[3]提出將超分辨率成像技術應用到幀序列中進行Camshift算法的改進,實現快速的跟蹤。湖南大學曹曉娟[4]提出將特征與概率相結合的改進的Camshift跟蹤算法,可以提升車輛檢測的準確性;江南大學[5]的劉超提出將背景減法引入Camshift算法中,實現運動目標的自動跟蹤。
同時Kalman濾波主要是對運動目標進行預測,通過建立線性系統狀態方程,實現對系統狀態的估計。卡爾曼濾波的目標:當獲得一個新的數據點時,遞歸地更新狀態變量的信息。
本文結合Camshift算法和Kalman濾波,提出了基于kalman估計的改進的Camshift算法。為了抑制色彩干擾并實現穩健的跟蹤,文中提出將kalman預測器用來預測下一幀目標的位置。實驗結果表明,改進算法能提高跟蹤效率,實現穩定跟蹤。
2 基本方法及原理
2.1 Camshift算法
Camshift是對均值偏移跟蹤方法Meanshift的改進。由于RGB色彩空間對光線變化敏感,Camshift算法將RGB顏色空間轉換到HSV色彩空間以減少光線變化的影響。算法基本理論是首先獲取跟蹤目標,使用目標顏色直方圖模型將圖像變為顏色概率分布圖,接著計算目標的大小和位置,然后定義下一個搜索幀的初始大小和位置。通過重復搜索和計算來進行連續的目標跟蹤。Camshift算法表示如下:
在逐幀執行上述過程,Camshifi算法只需要計算搜索窗中像素的顏色概率分布,就可實現對運動目標的連續跟蹤,程序流程參見圖1。
然而,Camshift在跟蹤目標與背景出現大面積相似顏色時跟蹤效率較差。當發生明顯的相似色彩干擾時,感知目標的大小將會擴大。這導致位置偏移取決于圖像中相似顏色的區域。
2.2 Kalman濾波
Kalman濾波是一個動態系統狀態的最小方差估計算法,可以用來估計目標的參數,例如位置或速度。根據運動物體的前一個位置估計物體最可能的當前位置。它包含如下預測和測量模型:
2.3 基于Kalman濾波的改進的Camshift跟蹤算法
在目標檢測時,發送初始窗口到Camshift,從RGB空間轉換到HSV空間。提取H分量。計算顏色概率分布,反投影圖像。在跟蹤開始之前,使用形態學濾波器來過濾噪聲。經過主濾波后,執行Camshift算法。完成第一次計算后,設置Camshift輸出為Kalman估計器的初始值。算法執行期間,當Camshift輸出和Kalman估計之間的差異大于預定義的丟失跟蹤閾值時,則認為Camshift跟蹤是不準確的,檢測器將重新啟動。
Camshift算法在簡單的背景下會獲得較好的效果,但是當背景復雜,目標與背景過分相似或者目標運動過快時,跟蹤效果較差。Kalman濾波器是一種最佳遞歸算法,通過目標在當前幀的位置以及運動速度決定運動目標的下一幀的速度和位置。若能提前利用Kalman濾波對運動目標下一幀的位置進行預測,之后再調用Camshifi算法,將會取得較好的跟蹤效果。如下所述為本文提出的基于Kalman濾波的改進的Camshift跟蹤算法,算法框圖如圖2所示。
基于Kalman預測器的改進的Camshift跟蹤算法如下:
初始化Kalman預測器
初始化搜索窗口的大小和位置
Camshift目標跟蹤算法
判斷目標是否被遮擋,如果是,轉至step5,如果不是轉至step9
輸出目標位置和大小,作為觀測值Zk
修改Kalman預測器的參數
預測下一幀目標的大小和位置,讀取下一幀
設置搜索窗口的大小和位置,轉至step3計算當前目標的面積
計算當前跟蹤的面積,如果小于最小面積,繼續,否則轉至stepll
重置目標質心位置,轉至step6
得到目標的大小和位置
Kalman預測器得到的目標的大小和位置作為觀測值,轉至step6
3 實驗及結果對比
為了對比改進算法與傳統Camshift算法,設計對照實現進行測試。處理器為InteI(R)Core(TM)i5-8250 CPU@1.60GHz, 內存為8GB,使用opencv庫實現對所提取的對象的檢測和跟蹤。實驗處理真實的視頻監控場景。第一個測試序列選取馬路上正常行駛的汽車視頻數據,第二個測試序列選取商務區門口視頻,第三個測試序列選取出現遮擋的橙子進行跟蹤。
第一個測試序列,是從拍攝視頻中跟蹤“汽車”。圖3 (a)給出了視頻中使用Camshift算法的跟蹤結果。圖3(b)給出了使用本文中算法的跟蹤結果。
比較圖3 (a)與圖3(b)可以看出,本文提出的算法的跟蹤效果更好,發生遮擋的車輛可以分辨開來,而傳統的Camshift算法跟蹤時,紅色車輛和黑色車輛作為一個目標進行跟蹤。
第二個測試序列,是在較暗的光線下跟蹤視頻中的“行人”。圖4 (a)給出了使用傳統Camshift算法的跟蹤結果。圖4(b)給出了使用文中算法的跟蹤結果。
比較圖4 (a)和圖4(b)可以看出,在光線較暗的情況下,當出現運動速度相同的行人時,傳統Camshift算法進行跟蹤時將兩個行人認為是同一個目標。基于kalman濾波的改進的Camshift算法能分辨出斑馬線上是兩個行人,并進行跟蹤。
第三個測試序列,針對被遮擋目標,以及被遮擋后重新出現的目標進行跟蹤。圖5 (a)所示情況為目標完全顯示,目標被部分遮擋,遮擋后重新出現的三種情況使用傳統Camshift算法進行跟蹤,圖5 (b)為使用文中的算法在四種情況下進行跟蹤的結果。
比較圖5 (a)和圖5(b)可以看出,使用傳統的Camshift算法,同樣可以實現目標的跟蹤,但是當目標被遮擋時,只能識別出未被遮擋的部分,跟蹤效果不好。圖5 (b)為與5 (a)對應情況下使用改進的Camshift算法進行跟蹤,因為結合了kalman預測器,可以判斷目標何時被遮擋以及被遮擋的情況,保證跟蹤結果的準確性;當目標被部分遮擋時,除了能夠識別出未被遮擋的部分,還能使用kalman預測估計出被遮擋的部分。
4 結束語
文中提出了將Kalman濾波用于改進Camshift算法,并將其用于真實場景的目標跟蹤。實驗結果表明,文中算法能夠較好的實現實時跟蹤,在光線灰暗的場景中及其出現遮擋的情況下,也表現出較好的跟蹤效果。但是目標運動速度過快或者在遮擋時間過長的情況下跟蹤效果不是太好,作為下一步的研究計劃。
參考文獻
[1] Bradski G R.Computer Vision FaceTracking For Use in a PerceptualUser Interface [C]. IEEE Workshop onApplications of Computer Vision.IEEE.1998: 214-219.
[2] Kim Y,Han W,Lee Y H,et al. ObjectTracking and Recognition Basedon Reliability Assessment ofLearning in Mobile Environments [J].Wireless Personal Communications,2016,94 (02):1-16.
[3] Swalaganata G,Sulistyaningrum DR, Setiyono B.Super-resolutionimaging applied to moving objecttracking [C]. Journal of Physics:Conference Series. IOP Publishing,2017, 893 (01): 012062.
[4]曹曉娟,王文濤,宋曉琳等,基于多信息融合的車輛陰影檢測與車輛跟蹤算法[J].中南大學學報(自然科學版), 2015 (11): 4049-4055.
[5]劉超,惠晶,基于改進CAMShift的運動目標跟蹤算法[J].計算機工程與應用,2 014,5 0 (11): 149-15 3.
[6] Kalman R E.A new approach tolinear filtering and predictionproblems. Journal of FluidsEngineering, 1960, 82 (01): 35-45.
[7]Gu S S,Liu J Y,Zeng Q H,et al.AKalman filter algorithm based onexact modeling for FOG GPS/SINSintegration[J]. Optik - InternationalJournal for Light and ElectronOptics,2 014, 125 (14): 3476-3481.
[8]Dong C,Shao C,Zhou X,et al. Kalmanfilter algorithm for short-term jam traffic predictionbased on traffic parametercorrelation [J]. Journal of SoutheastUniversity,2 014, 44 (02): 413-419.
[9] Karamali M,Khodabandeh M,KalogirouS A. et al.A distributed solarcollector field temperature profilecontrol and estimation using inletoil temperature and radiationestimates based on IterativeExtended Kalman Filter [J]. RenewableEnergy, 2017,101:144-155.
[lO]Dalwadi D C,Soni H B.A novel channelestimation technique of MIMO-OFDMsystem based on Extended Kalmanfilter [C]. Internat ional
Conferenceon Electronics and CommunicationSystems. 2017:158-163.