摘 要:提出了一種利用邊緣紋理進行背景建模,結合三幀差分算法,獲取目標輪廓的運動目標檢測方法,進一步通過區域填充得到目標前景。該方法對光線變化不敏感,對陰影去除有比較好的效果,改進了邊緣紋理差分和幀間差分的缺陷,取得了比較完整準確的運動目標前景。
關鍵詞:三幀差分;邊緣檢測;背景差分;運動目標檢測
?
近些年來,隨著智能監控系統在安防、交通等領域的逐步推廣和應用,基于計算機視覺的智能監控系統技術也得到了不斷的發展。運動目標檢測是智能監控的首要步驟,對運動目標的正確檢測,是對視頻序列進一步分析識別,對運動目標活動判斷理解的基礎。獲得比較真實、完整的前景,才能做到準確、可靠、有效地跟蹤。
運動目標檢測方法主要有幀間差分法、背景差分法、光流法等。目前最為常用的方法是背景差分法,它通常利用數學方法對監控場景進行背景圖像建模,通過將背景圖像與當前幀圖像做差分得到前景。在這種思想基礎上提出了很多算法,如混合高斯模型GMM(Gauss Mixed Model)[1],LBP(Local Binary Pattern)[2],貝葉斯模型等。這些方法具有獲取目標前景比較完整、濾除樹枝晃動、水面波動等干擾的能力強的特點,但是通常運算速度很慢,對于光線變化比較敏感,對目標陰影的去除效果也較差。
本文在對現有運動檢測算法以及圖像處理技術研究的基礎上提出了一種利用邊緣紋理進行背景建模、結合幀間差分獲取運動目標完整輪廓的方法,并通過進一步處理得到了比較完整準確的運動目標前景圖像。該運動目標檢測方法受光線變化影響小,運動速度快,對前景目標陰影的去除也獲得了比較好的效果。
1 相鄰幀間差分和三幀差分
相鄰幀間差分法是一種常用的運動目標檢測方法[3],利用相鄰兩幀的差值,得到運動區域輪廓。設在時刻t和t+1采集到的兩幅圖像分別為fk(x,y)和fk-1(x,y),兩幀之間的差分為:
利用公式(1)得到差分圖像Dk,然后選擇閾值T對差分圖像二值化,以差值大于T為前景,得到運動目標輪廓。該方法對運動檢測比較靈敏,不受噪聲干擾影響,但也存在一定的缺陷,獲得的目標輪廓在目標運動方向進行了拉伸,運動速度不同,造成的拉伸程度也不同。對此一些學者提出了采用三幀差分的方法[4-5],利用2次幀間差分結果,進行“與”操作,從而得到比較精確的目標輪廓位置。其方法為:
采用這種方法得到的目標邊緣比較真實,定位準確,對剛體目標的跟蹤有比較好的效果,但對于人體運動,由于各部分運動不同、姿態不一致,造成獲取的輪廓一般不連續,難以進一步閉合填充。
2 基于邊緣紋理的背景差分
常用的邊緣檢測算法有很多種,比如Roberts算法、Canny算法、Sobel算法、高斯拉普拉斯(LOG)算法等[6][7]。其中利用Sobel算子進行邊緣檢測,獲取圖像邊緣紋理信息的方法,由于復雜度低、實時性以及檢測效果較好,所以被本文采用。Sobel檢測算子為:?
??? ??
??? 分別求取當前幀的橫向梯度Gradx和Grady縱向梯度,兩者相加得到整幅紋理的圖像Grad。得到邊緣紋理圖像后,利用該圖像作為當前圖像進行背景建模。本文采用平均背景法生成背景。平均背景法是一種運算量小、復雜度低的背景方法,它將當前幀像素點的值按一定權重累加入背景,獲取背景。設某一像素點在t-1時刻的背景像素值為Pt,當前幀的像素值為BKt-1,背景更新權重為α,則更新方法為:
??
經過一段時間的學習得到邊緣背景后(圖1b,圖為反色顯示),利用當前邊緣圖像(圖1a)與背景邊緣圖像差分,對差分結果取閾值做二值化,得到運動目標前景(圖1c)。由于Sobel算子紋理檢測的良好特性,可以得到比較完整的目標輪廓,但在前景與背景的邊緣交叉處,輪廓容易發生斷裂與缺失,這在視頻場景復雜的情況下尤為突出。另外,由于Sobel邊緣檢測對噪聲比較敏感,檢測的輪廓邊緣也會有一些細小波動,背景差分結果存在一些噪聲。
?
3 兩種方法的融合
如前所述,以上兩種方法能夠準確定位運動目標的邊緣,但是都不能保證其連續完整,存在一定的問題。根據現有的研究經驗[8],考慮到兩種方法缺陷的互補性,將兩者檢測的結果累加,從而得出完整輪廓。設幀間差分檢測結果為Ddiff,邊緣背景差分結果為Dedge,則最終運動目標檢測結果為:
??
整個運動目標檢測算法的流程如圖2所示。
本文對此方法進行了實現驗證,實驗結果表明,兩種方法相結合,使邊緣背景差分和幀間差分在如下幾個方面得到了改進:
(1)人在行走過程中,由于著地腳和支撐腿運動相對靜止,導致在三幀差分圖中消失,輪廓不能閉合(如圖3a,反色顯示),但是背景差分可以很好地得到腿部輪廓(圖3b),兩者結合可以得到圖3c的完整輪廓。
(2)當目標的紋理和背景紋理相近,或者檢測邊緣得到邊緣不連續時,邊緣背景建模無法很好地形成閉合,如圖4所示,a,d為前景,b,e為當前幀,分別會造成目標邊緣的斷裂(c)和消失(f)。在視頻序列的復雜場景中,會造成人體輪廓的部分缺失(如圖5a反色顯示,在運動人體腰部位置,由于受到背景邊緣影響,造成上身與下身的割裂),小段的邊緣缺失可以通過形態學處理或者邊緣連接得到閉合,大的斷裂則難以補充完整,另外如果多次采用形態學膨脹腐蝕,也會放大噪聲點干擾,造成對目標形狀的破壞。幀間差分的結果對于這類邊緣的缺失進行了有效補充(圖5c)。(3)背景學習的過程需要指定更新權重值α,權重值大,背景的學習速度過快,導致慢速運動目標融入背景,出現運動目標殘余、拖影等。學習速度太慢,會使背景初始生成時間過長。在這里,本文設定兩個更新參數,利用幀間差分結果,幀間差分區域內的值采用權重值小的α=0.01更新,減緩目標融入背景速度。幀間差分區域以外的像素采用大權重值更新,使目標離開當前位置后,在原位置區域迅速更新背景,本文設定α=0.1,加快了初始背景學習,實驗中采用35幀左右可以學到比較干凈的邊緣紋理背景。
4 輪廓填充與前景檢測結果
獲得運動目標輪廓圖像之后,需要對輪廓進行形態學閉合處理,完善輪廓,然后進行填充,最后通過腐蝕或平滑處理,濾除噪聲,獲得前景目標。需要注意的是,當運動目標出現在圖像邊緣時,檢測到輪廓并不是一個閉合的曲線,在圖像邊緣處不存在前景邊緣,無法進一步填充,可以在圖像邊緣的x或y方向添加一條與輪廓區域長度相同的輔助線,幫助閉合輪廓。最后經過標識后的前景檢測結果如圖6所示,a為經過標注的視頻幀,b為幀間差分結果,c為背景差分結果,d為結果后的結果,e為最終填充結果(二值圖均為反色顯示)。
?
??? 本文提出了一種新的背景差分方法,利用圖像的Sobel邊緣紋理學習背景,差分得到目標輪廓,針對邊緣差分結果造成的輪廓線不連續以及背景學習率的問題,又結合幀間差分方法,進行了改進與完善。本方法檢測得到的目標前景比較完整準確,可在此基礎上進一步進行目標的跟蹤識別。在算法實現過程中,只利用灰度圖像進行處理,運算復雜度低,對陰影以及光照變化不敏感,運算速度比較理想,對于320×240分辨率的視頻圖像,在配置CPU1.7 GB,內存1 GB的試驗機上,能夠達到20 f/s以上。
本文檢測方法還不夠完善,目前存在的問題有:在強光下的陰影去除不是很理想;幀間差分以及背景差分的閾值需手動指定,如果進一步結合分塊等自動閾值確定的算法,則能夠更好地適應各種環境及光線變化;另外,邊緣和紋理信息的檢測算法還需進一步改進和完善。
參考文獻
[1]? OLIVER N, ROSARIO B, PENTLAND A. A bayesian computer vision system for modeling human interactions, IEEE Trans.Pattern Analysis and Machine Intelligence, 2000.
[2] STARFFER C, GRIMSON W E L.Adaptive background mixture models for real-time tracking, InProc.IEEE Conference on Computer Vision and Pattern Recognition,1999.
[3] 王栓,艾海舟,何克忠.基于差分圖象的多運動目標的檢測與跟蹤[J].中國圖象圖形學報, 1999,4(6):470-475.
[4] DAI GuoJun, ZHANG Yun. A novel auto-camshift algorithm used in object tracking. Proceedings of the 27th Chinese Control Conference .? 2008,7:16-18.
[5] 呂國亮,趙曙光,趙俊.基于三幀差分和連通區域檢驗的圖像運動目標檢測新方法[J]. 液晶與顯示,2007,2(22):87-92.
[6] 張冬芳,王向周.一種基于邊緣信息的改進車輛檢測方法.2006,8(1): 186-187.
[7] SONKA M, HLAVAC V, BOYLE R.圖象處理分析與機器視覺[M].第二版.? 艾海舟, 譯. 北京:人民郵電出版社, 2003.
[8] 朱明旱,羅大庸,曹倩霞. 幀間差分與背景差分相融合的運動目標檢測算法[J].計算機測量與控制,2005,13(3) :215-217.