王孝艷,張艷珠,董慧穎,李 媛,李小娟
(沈陽理工大學(xué)信息科學(xué)與工程學(xué)院,遼寧沈陽110159)
隨著信息技術(shù)的發(fā)展,人類對數(shù)字視頻的應(yīng)用越來越廣泛[1]。運動目標(biāo)檢測與跟蹤是一個很重要的應(yīng)用方向[2]。運動目標(biāo)檢測技術(shù)是從數(shù)字視頻中將運動目標(biāo)和背景區(qū)分開,并從中提取出運動的目標(biāo),從而應(yīng)用到銀行、高速公路、小區(qū)等智能監(jiān)控系統(tǒng)中。運動目標(biāo)檢測效果的好壞直接影響到以后關(guān)于運動目標(biāo)跟蹤的結(jié)果。
目前,運動目標(biāo)檢測的方法較多,常用的有背景減除法(background subtraction)、光流法(optical flow)[2]和幀差法(temporal difference)[3-4]。背景減除法首先要通過視頻建立背景圖像的像素模型,然后通過對每幀圖像和背景圖像進行對比,得到運動目標(biāo)。這種方法需要考慮背景模型的表示及初始化和背景更新的方法等。光流法的主要任務(wù)是計算光流場,即在適應(yīng)的平滑約束性條件下,根據(jù)圖像序列的時空梯度估算運動場,通過分析運動場的變化對運動目標(biāo)和場景進行分割。但這種方法計算相當(dāng)復(fù)雜,且抗噪性能差,不能很好地應(yīng)用于實時監(jiān)控中。幀差法則是對相鄰兩幀的圖像進行差分,并設(shè)定一個閾值,認(rèn)為差分結(jié)果大于閾值的像素點就是運動目標(biāo)。這種方法因其計算量小、實時性高,在目標(biāo)檢測中比較常用[5-6]。不過,大部分方法的檢測結(jié)果都會伴有大量的噪聲。在此,使用三幀差法檢測運動目標(biāo),采用運動圖像形態(tài)學(xué)的方法對得到的結(jié)果進行優(yōu)化處理,利用MATLAB實現(xiàn),驗證文中提出的方法。
對于攝像機靜止時拍攝的視頻序列,首先對第k幀及k-1幀圖片進行平滑去噪,再做幀差法處理,用第k幀圖片減去第k-1幀圖片,得到二值圖像。公式表示為
式中,T為預(yù)先設(shè)定的閾值,可根據(jù)經(jīng)驗選取。若T選取過大,則檢測的目標(biāo)則可能出現(xiàn)較大的空洞甚至漏檢,若T選取過小,將會出現(xiàn)大量噪聲。
從幀差法的公式可以看出,如果運動目標(biāo)勻速運動,幀差法得到的運動目標(biāo)會比較一致,但當(dāng)目標(biāo)加速或減速運動時,檢測到的運動目標(biāo)會存在多檢或者少檢。其次,幀差法檢測出的運動目標(biāo)中包含兩幀中的運動信息,這樣會檢測出較多的目標(biāo)點。為了改進幀差法的不足,提出了三幀差法[5]。
三幀差法首先對連續(xù)的三幀圖片進行平滑去噪,再分別做幀差法處理,用第k幀圖片減去第k-1幀圖片,得到二值圖像D1(x,y),再用第k+1幀圖片減去第k幀圖片,得到二值圖像D2(x,y),最后用D1(x,y)和D2(x,y)進行“與”運算,便可得到三幀差圖像D(x,y)。公式表示為
幀差法的原理如圖1所示。其中,圖1a、圖1b和圖1c是連續(xù)的三幀圖片,兩幀差法的結(jié)果如圖1d和圖1e所示,三幀差法的結(jié)果如圖1f所示。從圖中可以看出,三幀差法檢測的結(jié)果更加完整,比兩幀差法檢測的結(jié)果更接近實際的運動目標(biāo)。
圖1 幀差法原理圖
Grzegorz M.Wojcik 等人[6]采用三幀差法,即分別對連續(xù)三幀圖像中前幀與中間幀,中間幀與后幀進行兩幀差分運算,定義連續(xù)三幀序列圖像前后灰度幀差重合的部分,作為中間幀運動目標(biāo)的邊緣,這樣可有效遮擋前后幀的遮擋問題。李秋林等人[7]采用三幀差法和二維交叉熵閾值法相結(jié)合的方法對運動車輛進行檢測。三幀差法充分考慮了運動像素的時間相關(guān)性,對動態(tài)檢測比較靈敏,對隨機噪聲也有很好的抑制作用,但也存在一定缺陷,即差分圖像的檢測閾值需手動設(shè)定,大多數(shù)情況下只能依據(jù)實踐經(jīng)驗。
數(shù)學(xué)形態(tài)學(xué)在圖像處理中的主要作用是對圖像中目標(biāo)的幾何參數(shù)或者灰度值進行變換。常用的方法有腐蝕、膨脹、開運算、閉運算和形態(tài)學(xué)重構(gòu)等。本文主要使用腐蝕和膨脹兩種最基本的形態(tài)學(xué)運算。膨脹具有擴大圖像的作用,即將圖像的邊緣擴大些,將目標(biāo)的邊緣或者是內(nèi)部的坑填掉。圖2簡單說明了膨脹運算的作用。圖2a顯示包含一個簡單的二值圖像;圖2b為一個結(jié)構(gòu)元素,在此例中它是一條8個像素長的曲線,并用方框表明結(jié)構(gòu)元素的原點;圖2c所示的是圖2a被圖2b膨脹的結(jié)果。
圖2 膨脹示例
腐蝕具有收縮圖像的作用,即去除圖像中的噪聲,將目標(biāo)邊緣的“毛刺”踢除掉。圖3簡單說明了腐蝕運算的作用。圖3a顯示包含一個簡單的二值圖像;圖3b為一個結(jié)構(gòu)元素,在此例中它是一條3個像素長的直線,并用方框表明結(jié)構(gòu)元素的原點;圖3c所示的是圖3a被圖3b腐蝕的結(jié)果[8-9]。
圖3 腐蝕示例
在數(shù)學(xué)上,膨脹和腐蝕的定義都是集合運算。A被B膨脹,記為A⊕B,定義為A⊕B={z|(^B)z∩A≠φ};A被B腐蝕,記為AΘB,定義為:AΘB={z|(B)z∩AC≠φ}。其中φ為空集,B為結(jié)構(gòu)元素。
文中首先采用改進的幀差法,即三幀差法對運動目標(biāo)進行檢測,在得到二值圖像后,運用數(shù)學(xué)形態(tài)學(xué)腐蝕和膨脹的方法對二值圖像進行處理。如用數(shù)學(xué)形態(tài)學(xué)的方法,大都是運用開閉運算或更復(fù)雜的形態(tài)學(xué)方法對檢測結(jié)果進行改進,文中只采用腐蝕和膨脹的方法。因為無論是開運算還是閉運算,都是由一對腐蝕和膨脹運算組成的,但腐蝕和膨脹的結(jié)構(gòu)元素是相同的。如果用腐蝕和膨脹的方法對圖像進行處理,就可以隨意變換結(jié)構(gòu)元素,即將腐蝕的結(jié)構(gòu)元素設(shè)置成背景擾動噪聲的形態(tài);將膨脹的結(jié)構(gòu)元素設(shè)置成目標(biāo)空洞的形態(tài)。和其它形態(tài)學(xué)方法比較,這兩種方法既可以降低計算量,又可以靈活控制結(jié)構(gòu)元素,這樣便可以去除噪聲,填充目標(biāo)的空洞,用最快的時間獲得最理想的效果。
實驗中所用的視頻是用Cannon相機在室外拍攝的一組視頻,將該視頻轉(zhuǎn)化為圖片后,共有256幀240×320×3的unit8圖片。圖4為分別采用三幀差法和文中方法對室外運動的小車進行檢測的結(jié)果對比圖。圖4a、圖4b、圖4c為連續(xù)的三幀圖片,圖4d為三幀差法檢測出的運動目標(biāo),圖4e為本文方法檢測結(jié)果。文中采用的方法比傳統(tǒng)的三幀差法效果好很多,它不僅排除了外界光線強烈變化下對運動目標(biāo)檢測帶來的影響,有效去除噪聲,并且可以清晰地檢測出運動的目標(biāo),使得運動目標(biāo)的輪廓清晰可見。從圖4d和圖4e的對比可以發(fā)現(xiàn),文中采用的方法增強了檢測系統(tǒng)的實時性和準(zhǔn)確性。
實驗算法如下:
Step1:將連續(xù)的三幀圖片 fk-1(x,y),fk(x,y),fk+1(x,y)轉(zhuǎn)化為灰度圖片(x,y),'(x,y)(x,y);
Step2:利用幀差法求出差分圖像,并將圖像二值化為 Dk,k-1(x,y)和 Dk+1,k(x,y);
Step3:對 Dk,k-1(x,y)和 Dk+1,k(x,y)進行“與”運算,得到含有運動目標(biāo)的圖像;
Step4:對圖像進行圖像形態(tài)學(xué)的處理,得到待檢測的運動目標(biāo)。
圖4 檢測方法對比圖
文中采用一種運動目標(biāo)檢測的新方法,即采用改進的幀差法-三幀差法對運動目標(biāo)進行檢測,在得到二值圖像后,運用數(shù)學(xué)形態(tài)學(xué)中腐蝕和膨脹的方法對二值圖像進行處理,與傳統(tǒng)方法不同的是,這里每次用的結(jié)構(gòu)元素是根據(jù)圖像的實際需要選取的。該方法對運動物體所在的環(huán)境沒有任何約束,所以,這種方法可以應(yīng)用到很多視頻場所中。該算法的特點是計算量小,實時性強,準(zhǔn)確性高。大量實驗的結(jié)果表明,文中的算法有很強的應(yīng)用性。
對于運動物體的檢測,雖然能檢測出運動物體大概的輪廓,還會有一些地方被漏檢,對其分析原因。原因一,有可能是被漏檢的區(qū)域像素值變化不是很大,恰好小于幀差法公式中設(shè)定的閾值,如果是這種原因,可以考慮改變閾值設(shè)定的方法,即不采用傳統(tǒng)的根據(jù)經(jīng)驗給值,可考慮根據(jù)統(tǒng)計理論獲得閾值或者設(shè)置動態(tài)閾值;原因二,可能是成像和光強變化導(dǎo)致黑色小車上一些部分被漏檢。這一不足有待改進,將是下一步研究的重點。
[1]Lin Rui,Du Zhijiang,Sun Lining.Moving Object Tracking based on Mobile Robot Vision[C].China:International Conference on Mechatronies and Automation,2009:3625-3630.
[2]Yuqiang Fang,Bin Dai.An Improved Moving Target Detecting and Tracking Based On Optical Flow Technique and Kalman Filter[C].Proceedings of 2009 4th International Conference on Computer Science& Education,2009:1197-1202.
[3]Robert T.Collins,Alan J.Lipton,Takeo Kanade,et al.A system for video surveillance and monitoring:VSAM final report[R].The Robotics Institute,Carnegie Mellon University,Pittsburgh PA,2000.
[4]張 瑋,王 平.基于動態(tài)背景的視頻圖像運動檢測[J].科技廣場,2007,(11):127-130.
[5]何衛(wèi)華,李平,文玉梅,等.復(fù)雜背景下基于圖像融合的運動目標(biāo)輪廓提取算法[J].計算機應(yīng)用,2006,2(1):123-126.
[6]Grzegorz M.Wojcik,Wieslaw A.Kaminski.Liquid state machine built of Hodgkin-Huxley neurons and pattern recognition[J].Neurocomputing,2004,58-60:245-251.
[7]李秋林,何加峰.基于三幀差法和交叉熵閾值法的車輛檢測[J]. 計算機工程.2011,37(4):172-174.
[8]Claudio Rosito Jung.Unsupervised Multiscale Segmentation of Color Images[J].Pattern Recognition Letters ,2007 ,28:523-533.
[9]Rafael C.Gonzalez,Richard E.Woods,Steven L.Eddins.Digital Image Processing Using MATLAB[M].阮秋琦等譯.北京:電子工業(yè)出版社,2009.