[劉亭 楊豐瑞 劉雄風]
?
遮擋情況下的運動目標跟蹤方法研究
[劉亭 楊豐瑞 劉雄風]
摘要
針對現(xiàn)有目標跟蹤算法在目標被不同程度遮擋尤其是長時間完全遮擋時難以準確跟蹤目標,本文提出了一種新的遮擋跟蹤算法。根據(jù)目標與模板的相似度判斷目標的遮擋情況。當目標被大面積遮擋時,采用改進粒子濾波算法預測目標位置;當目標被完全遮擋時,采用改進三幀差法來檢測運動物體,然后將檢測結(jié)果進行模板匹配得到原目標。實驗結(jié)果表明,本文跟蹤算法在目標被部分遮擋、嚴重遮擋以及長時間完全遮擋時都能有效跟蹤目標,具有較好的適用性和準確性。
關(guān)鍵詞:目標遮擋 完全遮 粒子濾波 三幀差法
劉亭
女,重慶郵電大學,碩士研究生,主要研究方向:視頻圖像處理。
楊豐瑞
男,重慶重郵信科(集團)股份有限公司,重慶郵電大學,教授,博士,主要研究方向:通信新技術(shù)應(yīng)用、視頻圖像處理通信。
劉雄風
男,重慶郵電大學,碩士研究生,主要研究方向:通信新技術(shù)應(yīng)用。
視頻圖像中的運動目標跟蹤問題是計算機視覺領(lǐng)域的核心問題之一[1]。而遮擋問題作為目標跟蹤過程中最常見的問題,一直是目標跟蹤領(lǐng)域研究人員關(guān)注的難點和重點問題。能否有效地判斷和處理遮擋,特別是嚴重遮擋和完全遮擋,是評判一個目標跟蹤算法魯棒性的重要依據(jù)[2]。
目前最常用的目標跟蹤方法[4]有CamShift算法、Kalman濾波算法和粒子濾波算法。CamShift算法實時性好且具有抗部分遮擋的能力,但是當目標被完全遮擋時該算法就不能準確跟蹤目標。Kalman濾波算法雖然能夠預測遮擋情況下的目標位置,但是該算法要求系統(tǒng)滿足線性高斯性。粒子濾波算法[4]能夠處理非線性非高斯動態(tài)系統(tǒng),且粒子濾波使用的顏色直方圖特征對目標的旋轉(zhuǎn)、形變以及局部遮擋具有較好的魯棒性。但是當光照發(fā)生變化或者背景中存在相似色等干擾時,僅使用顏色這一種特征跟蹤目標就容易出現(xiàn)跟蹤失敗的問題。
現(xiàn)有的遮擋目標跟蹤算法大多是針對部分遮擋和短時間完全遮擋,當目標被長時間完全遮擋后重新出現(xiàn)時,就難以再次捕獲目標。為保證目標在不同遮擋程度下都能被準確跟蹤,本文通過計算目標和模板之間的相似程度來判斷目標的遮擋情況,然后根據(jù)遮擋程度采用不同的方法跟蹤目標。當目標未被遮擋或小面積遮擋時,采用CamShift算法跟蹤目標。當目標被大面積遮擋時,采用顏色特征和LBP紋理特征相融合的粒子濾波算法,提高粒子濾波算法在光照變化及相似色干擾情況下的魯棒性,并且利用積分直方圖來計算顏色和紋理特征的直方圖,減少計算時間;當目標被嚴重遮擋甚至完全消失時,采用改進三幀差法檢測運動物體,然后根據(jù)模板匹配結(jié)果重新得到目標。
1.1粒子濾波算法
粒子濾波算法是在蒙特卡羅模型和遞推貝葉斯[5]估計的基礎(chǔ)上提出的。它的基本思想[5]是用一組加權(quán)的隨機樣本(即粒子)來表示系統(tǒng)的后驗概率密度函數(shù),用樣本均值來代替非線性非高斯系統(tǒng)中難以實現(xiàn)的積分運算,進而得到系統(tǒng)狀態(tài)的最小方差估計。系統(tǒng)的動態(tài)模型為[6]:
式中,x_k和z_k分別表示k時刻目標的狀態(tài)值和觀測值,v_(k-1)和w_k分別表示過程噪聲和觀測噪聲。假設(shè)初始狀態(tài)的先驗分布為p(x_0),則系統(tǒng)的狀態(tài)預測方程和更新方程分別表示為[7]:
1.2三幀差法
傳統(tǒng)的幀差法是通過前后兩幀圖像在同一位置像素點的灰度值之差來判斷該點是否為運動物體,如果差值大于預設(shè)閾值,則該像素點即為目標物體的一部分。為了得到更加準確的運動目標,在此基礎(chǔ)上提出了三幀差法[8]:將當前幀與前后兩幀圖像進行差分,即
然后對差分結(jié)果進行二值化,即:
最后將二值化處理后的圖像做“與”操作,結(jié)果即為運動目標區(qū)域。
1.3積分直方圖
積分直方圖[9]中任意點P(x,y)處的值等于從圖像的原點(0,0)處到該點所形成的矩形區(qū)域內(nèi)所有點直方圖的累加,記為I(x,y)。
在實際計算過程中,點P(x,y)的值為:
式中,I表示該點的積分直方圖,G表示該點的直方圖。
根據(jù)積分直方圖就可以快速計算指定范圍內(nèi)任意小區(qū)域的直方圖。如圖1,區(qū)域W的積分直方圖可表示為
圖1 積分直方圖
本文提出的遮擋情況下的目標跟蹤算法是為了實現(xiàn)在不同遮擋情況下對目標的準確跟蹤。通過遮擋判斷確定目標是否被遮擋以及被遮擋的程度,然后根據(jù)遮擋情況采用不同的方法來跟蹤目標。由于CamShift算法簡單高效且具有抗部分遮擋的能力,所以當目標未被遮擋或小面積被遮擋時,采用CamShift算法跟蹤目標;當目標被大面積遮擋時,采用改進粒子濾波跟蹤目標;當目標被完全遮擋時,啟用改進三幀差法檢測運動物體,然后對檢測得到的運動物體進行模板匹配得到原目標。該算法的大致流程如圖2。
圖2 算法流程
2.1遮擋判斷
在沒有遮擋的情況下本文采用基于直方圖特征的CamShift算法跟蹤目標,而當目標被大面積遮擋時,CamShift算法無法準確跟蹤目標。因此,本文采用Bhattacharyya距離[10]來計算當前幀目標和模板的之間的匹配程度,進而判斷目標是否被遮擋。即:
2.2改進粒子濾波
當目標被大面積遮擋時,本文采用改進粒子濾波算法預測目標位置。由于紋理特征對光照變化和背景相似色干擾不敏感,所以本文采用融合顏色特征和紋理特征的方法來解決單一顏色特征無法保證在光照變化和復雜環(huán)境下準確跟蹤目標的問題。粒子濾波跟蹤算法需要計算所有粒子區(qū)域的直方圖,但是通常不同粒子所在的區(qū)域有很多重疊的部分,這些被多次計算的重疊部分大大降低了算法的實時性。針對該問題,本文采用積分直方圖的方法來減少計算粒子直方圖的時間,提高算法的實時性。
2.2.1特征融合
顏色特征是目標跟蹤算法中最常用的視覺特征之一,它對目標旋轉(zhuǎn)、尺度變化及姿態(tài)變化都有較好的魯棒性。假設(shè)目標區(qū)域內(nèi)有N個像素點,中心為,半徑為h,則目標區(qū)域的顏色直方圖為,
其中:
在得到顏色分布后,通過計算Bhattacharyya距離來判斷候選目標與目標模板之間的相似程度。
為了適應(yīng)跟蹤過程中出現(xiàn)的光照變化,結(jié)合LBP紋理特征對目標進行描述,LBP算子可表示為:
式中,T為預先設(shè)置的閾值。
由于加權(quán)融合對噪聲不敏感,不能提高融合跟蹤的可信度,而乘性融合采用特征權(quán)值乘積的形式給出多個特征的聯(lián)合分布情況,可以有效地提高跟蹤的精度,所以本文采用乘性融合來得到目標顏色和紋理的融合特征權(quán)值。
2.2.2算法流程
改進的粒子濾波算法的大致流程如下:
(2)讀取下一幀,根據(jù)狀態(tài)轉(zhuǎn)移模型更新粒子參數(shù),得到新的候選樣本,i=1,…,N;(3)預測一個區(qū)域R使其包含所有的粒子對應(yīng)的區(qū)域;(4)采用公式(13)計算區(qū)域R的顏色和紋理特征積分直方圖,分別為和;
(6)采用Bhattacharyya系數(shù)分別計算當前粒子所在區(qū)域與模板之間的相似程度,記顏色相似度為,紋理相似度為;
(7)對顏色特征和紋理特征進行乘性融合,得到粒子的權(quán)值,即;
(8)對粒子權(quán)值進行歸一化,然后對粒子集做加權(quán)平均即可得到預測的目標位置。
2.3改進三幀差法
當目標完全被遮擋時,采用改進三幀差法來檢測運動物體。針對傳統(tǒng)幀差法檢測得到的目標容易出現(xiàn)較大空洞和邊緣信息不完整的問題,本文采用邊緣差分和圖像差分相結(jié)合的辦法,提取當前幀和上一幀圖像的邊緣信息得到邊緣差分圖像,然后將前后兩幀邊緣差分結(jié)果和圖像差分結(jié)果進行或運算,再做形態(tài)學處理,最終得到運動目標。
2.3.1邊緣檢測算子
常用的邊緣檢測算子包括:Canny算子、Roberts算子、Laplacian算子等。但是Roberts算子提取的邊緣信息比較略粗略,不能準確描述物體的邊緣信息;Laplacian算子對噪聲比較敏感,容易導致邊緣信息不連續(xù)。而Canny算子抗噪性能較好,能夠檢測出真正的弱邊緣信息,所以本文采用Canny算子檢測目標邊緣信息。
2.3.2去噪處理
通常情況下,分割出來的運動目標圖像中包含許多離散的噪聲,這將導致目標邊緣出現(xiàn)斷點現(xiàn)象,所以本文采用形態(tài)學處理來去除噪聲影響,即首先利用腐蝕運算去除孤立的噪聲前景點,然后利用膨脹運算填補目標邊緣的缺失部分。
2.3.3目標匹配
檢測得到的運動物體可能不是原跟蹤丟失的物體,所以在檢測得到運動物體之后,需要判斷該物體是否為原跟蹤目標,本文采用公式(14)Bhattacharyya距離來衡量運動物體與目標模板之間的相似程度。若相似度大于預設(shè)閾值,則說明檢測結(jié)果和目標模板很相似,該檢測結(jié)果即為原跟蹤目標;若相似度小于預設(shè)閾值,則檢測結(jié)果與目標模板之間差異較大,檢測結(jié)果不是原跟蹤目標,讀取下一幀重新捕獲運動目標。
2.3.4算法流程
本文改進的三幀差法捕獲目標的大致流程如下:
(5)將或運算的結(jié)果進行二值化處理和形態(tài)學處理得到運動物體。
(6)將檢測得到的運動物體和目標模板進行匹配,進而重新捕獲原目標。
本實驗在Visual Studio 2013和OpenCV2.4.8環(huán)境下進行,主要在部分遮擋、完全遮擋以及有無光照影響的場景下進行測試。實驗參數(shù):通過鼠標選定目標的初始位置,粒子數(shù)量設(shè)定為100,遮擋判斷的閾值為0.6,為0.25。將本文算法與CamShift算法、粒子濾波算法的跟蹤結(jié)果進行比較。實驗結(jié)果如圖3、4、5。
部分遮擋:由圖3(a),4(a),5(a)可以看出,CamShift算法、粒子濾波算法和本文算法都具有抗部分遮擋的能力。
光照影響下的遮擋:根據(jù)3(b),4(b),5(b)可以得出,在光照影響下,CamShift算法、粒子濾波算法容易出現(xiàn)跟蹤失敗,而本文算法在光照影響下仍能準確跟蹤被遮擋的目標。
長時間完全遮擋:由圖3(c)、(d),圖4(c)、(d),圖5(c)、(d)可知,CamShift算法、粒子濾波算法在目標被長時間完全遮擋時,無法準確預測目標位置,而本文算法卻能在目標重新出現(xiàn)時準確捕獲目標,實現(xiàn)目標的準確跟蹤。
圖3 CamShift算法跟蹤結(jié)果
圖4 粒子濾波算法跟蹤結(jié)果
圖5 本文算法跟蹤結(jié)果
本文提出的遮擋情況下的運動目標跟蹤算法能夠準確判斷目標的遮擋情況,然后根據(jù)遮擋情況采用不同的響應(yīng)機制。無論目標是被部分遮擋還是長時間完全遮擋,本文算法都能有效跟蹤目標。
參考文獻
1許慧芳,許亞軍.智能視頻監(jiān)控系統(tǒng)中運動目標跟蹤的研究[J].電視技術(shù),2014,38(19):228-231
2田園.目標跟蹤中抗遮擋跟蹤算法研究[D].哈爾濱工業(yè)大學,2010
3薛陳,朱明,劉春香.遮擋情況下目標跟蹤算法綜述[J].中國光學與應(yīng)用光學,2009,2(5):387-392
4韓磊,郭曉金,齊威等.改進的粒子濾波算法[J]. 電視技術(shù),2012,36(7):16-23
5Doucet A,Godsill S,Andrieu C.On sequential Monte Carlo sampling methods for Bayesian filtering[J].Statistics and Computing,2000,10(3):197-208
6胡士強,敬忠良.粒子濾波原理及其應(yīng)用[M].北京:科學出版社,2010:21-23
7楊欣,劉加,周鵬宇,周大可.基于多特征融合的粒子濾波自適應(yīng)目標跟蹤算法[J].吉林大學學報(工學版),2015,02:533-539
8劉紅,周曉美,張震.一種改進的三幀差分運動目標檢測[J].安徽大學學報(自然科學版),2014,38(06):55-59
9Porikli F.Integral histogram:A fast way to extract histograms in cartesian spaces[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.San Diego,CA,USA:[s.n.],2005:829-836
10Swain M J,Ballard D H.Color indexing [J].International Journal of Computer Vision(S0920-5691),1991,7(l):11–32
收稿日期:(2015-12-10)
DOI:10.3969/j.issn.1006-6403.2016.03.005