畢 恒
(泰安市公安局,山東 泰安 271000)
智能視頻監(jiān)控系統(tǒng)的智能視頻模塊可以自動分析,并且當有異常情況發(fā)生時就能發(fā)出報警,改變了由監(jiān)控人員實時監(jiān)控的監(jiān)視和分析的模式,解放了人力,減輕了人員的視覺負擔,同時也增加了監(jiān)控準確性和精確度。正是因為這些傳統(tǒng)監(jiān)控沒有的優(yōu)點,并且在當下監(jiān)控系統(tǒng)數字化、智能化、網絡化發(fā)展的大背景趨勢下,智能監(jiān)控正一步步取代傳統(tǒng)視頻監(jiān)控,廣泛應用各個行業(yè)領域,同時還具有巨大的經濟效益,視頻監(jiān)控系統(tǒng)受到了社會各界,尤其是學術界、產業(yè)界和管理部門的重視,成為了當前智能視頻信息處理領域的研究熱點,這其中,運動目標檢測是行為識別和分析的重要部分,是計算機視覺領域的重要研究方向,具有重要的價值和意義。
運動目標檢測是將發(fā)生改變的部分從圖像的背景中檢索,它是監(jiān)控系統(tǒng)設計的初級部分,對于后續(xù)的跟蹤有著舉足輕重的影響,是目前一種重要的研究方向,具有重要的實際研究價值,對于計算機視覺研究有重要的意義,而且對計算機視覺的相關其它研究領域也有著重要的推動作用,是目標分類和行為理解分析的前提。
運動目標檢測算法的目標是去掉靜止的部分,檢索出發(fā)生變化的部分,在這個過程中盡量的抑制相應噪聲,從而能夠得到更精確的運動物體。也可以說運動目標檢測的任務是去掉其他多余部分,檢索出需要的運動目標,將需要的運動目標信息檢測出來,但是由于檢測絕大多數情況都在室外,由于光照、天氣、影子等因素,還有設備的固有干擾,使得檢測會有些困難。
運動目標:研究者研究的圖像中運動的物體;背景噪聲:由于干擾而漏檢的運動目標;前景噪聲:不是運動目標卻因為干擾被誤檢為運動目標;反射:物體邊緣或者具有較強反射能力的其他物體;陰影:運動目標產生的陰影被當做運動目標被檢測出;鬼影:非當前時刻的運動目標被檢測成當前時刻的運動目標;干擾:設備的固有噪聲以及晃動的物體等。它們之間的關系如圖1所示。
圖1 各設計概念關系圖
運動目標檢測技術的應用領域是十分廣泛的,因此被檢測的運動目標通常所處的環(huán)境是十分復雜多變的,因此各種各樣的干擾會給檢測帶來麻煩,主要的因素有:
2.2.1 光線
尤其在戶外進行檢測時,光照的明暗隨時會發(fā)生變化,這使得圖像的光照明暗也是會跟著它產生變化,在這樣的條件下是很難精確地將運動目標和背景圖像做分離的,光照的變化主要包括有:(1)突然的光照變化,例如在之內開關燈以及烏云遮擋陽光的情況;(2)連續(xù)光照變化;(3)因為遮擋物投射造成的陰影,也許是運動目標造成的,也許是其他部分存在的。
2.2.2 陰影
由于拍攝角度,光線以及遮擋物的因素使得拍攝的圖像會有很多陰影部分出現(xiàn),這些都會影響目標檢測的效果。另外,如果實際檢測目標前相鄰兩幀之間的圖像太過相近,也很難將運動目標從背景中檢測出來。如果背景圖像并非完全靜止,也會把背景圖像當成運動目標檢測出來。
同時,還有運動混亂,目標重疊,監(jiān)測對象速度太慢,運動對象被誤認為背景圖像等情況也是運動目標檢測算法的問題。
運動目標檢測是以檢索出研究者感興趣的運動對象為目的,給之后的跟蹤做準備,是目標分類的前提。但是運動目標檢測有很多干擾,精確度不高,這些為檢測出運動目標造成了很大的困難,這就需要研究者解決算法的魯棒性和實時性,提高可靠性,使得算法在復雜環(huán)境中有尚佳的適應能力,并且不太復雜。運動目標檢測雖然是比較新的研究方向,但是國內外卻有相對成熟的研究基礎了。目前國內外相對常用的運動目標檢測技術有:幀間差分法、背景差分法還有光流法。本文主要研究幀間差分法。
假設圖像中某一幀表示成
其中,Uk(x,y)為運動目標,Bk(x,y)為背景,Nk(x,y)為干擾噪聲,下面主要介紹背景差分法的算法原理。
核心原理是圖像差分,運動目標檢測算法的圖像差分是相鄰一段時間圖像做差表示圖像的變化,這種做差只是圖像中相應像素大小的做差運算。圖像差分是一種十分簡單可行的方法,不僅可以表示前后圖像的變化,同時可以簡單判斷運動的方向。但是仍有一些缺點:例如相鄰幀的差分圖像智能反映這兩幀圖像中檢測的運動目標的變化;并且圖像差分是再忽略運動速度很小以及運動目標很小的前提下進行的。
背景差分法的原理:如果已知測定對象的背景圖像,那么只要將當前一幀的圖像與已知的背景圖像做差,將做差后的差值同設定的閾值作比較,如果差值比閾值大,那么就認為該點象素屬于檢測的運動對象,如果小于閾值,即為背景。因此使用背景差分法的主要困難是背景模型的獲取和背景模型的更新,但是,背景差分法需要在背景不發(fā)生變化的前提下進行。同時光照和噪聲的干擾和影響都不計入考慮,另外,要求背景與檢測的運動對象差別較大,很容易區(qū)分,做差后數值很大。
在背景差分法中,我們將一幅圖像分為噪聲,運動目標以及背景圖像三個部分,在忽略噪聲的影響條件下,開始,我們已知的是一個完整的背景,但是由于運動目標的存在,反映在圖像中它一定會遮蓋住一定面積的背景,同時,由于運動目標的位移變化,使得每一幀中所被遮蓋的背景圖像都不一樣。原來被遮蓋的部分在下一幀就會顯現(xiàn),而沒有被遮蓋的部分則會隨著運動目標的移動被遮擋住。因此,從一個具有運動位移的目標的背景中計算出完整的背景就是背景差分法的關鍵所在。
假設背景用Bk(x,y)表示,運動目標用Mk(x,y)表示。如果忽略噪聲的影響,那么圖像可以表示為Fk(x,y)=Bk(x,y)+Mk(x,y)。上文已經說明,因為運動目標的運動性,對背景的遮擋,所以圖像中的完整背景實際上分為兩個部分:被遮擋的部分和沒有遮擋的部分,即上式中的Bk(x,y)。
整個的背景Bw(x,y)=Bk(x,y)+Ck(x,y),其中Ck(x,y)只的是被運動對象遮住的一些背景圖像,也就是與Mk(x,y)所表示位置相同的部分。接下來整個背景圖像Bw(x,y)和Fk(x,y)當前幀圖像做差
不難發(fā)現(xiàn),背景和當前圖像做差后的值也是由兩個部分組成,即運動對象圖像和被運動對象遮擋住的背景部分。而且根據假設,我們知道這兩個部分實際上是一個區(qū)域,因此由上式做差得到的差值部分是不含因為運動目標的移動造成的背景顯露和遮擋的部分的。同時,根據上述假設,背景圖像和運動檢測目標的差別很大,如果我們將做差后的圖像里的背景圖像的灰度設為零,那么就可以得到運動檢測目標。
圖2 背景差分法步驟流程如圖
但是,上述的理論都是建立在忽略圖像噪聲的基礎上實現(xiàn)的,不過實際操作中這種理想條件是不存在的,因此,如何盡可能的減少噪聲就成為背景差分法準確實現(xiàn)的重要步驟和關鍵技術。背景差分法步驟流程如圖2所示。
第一步:用公式計算出此刻圖像和完整背景的差分圖像Δ。
第二步:對Δ 進行二值化,做法是將做差后的差分圖像Δ 同設定的閾值做比較,如果大于設定的閾值,即說明該點象素為運動目標,像素值認定為1;如果小于設定的閾值,即說明該點為背景圖像,像素值認定為0。
第三步:將第二步得到的圖像中的噪聲去除,具體的做法是形態(tài)學濾波。同時濾波后的圖像進行連通性分析:由于檢測的運動圖像一定會存在連通區(qū)域,這就會造成圖像的空洞,因此我們要對處理后的圖像采取進一步分析,如果聯(lián)通的面積大于設定的閾值,即為運動目標圖像,這樣我們會得到運動目標數量。
3.2.1 手動背景直接獲取法
手動直接獲取是相對來說比較簡單,而且獲得的背景圖像比較完整的一種方法,但是獲得背景比較麻煩,比如想要檢測一個馬路上運動的汽車,采用直接獲取方法則必須將該視頻攝像鏡頭中的所有運動的物體,人、車等全部清空,這時的圖像才是背景圖像。可是我們知道,隨著季節(jié)變化,時間改變,背景圖像是會發(fā)生變化的,因此,采用這種方法需要將每種可能出現(xiàn)變化的背景圖像全部記錄下來,先要判斷此時拍攝所處的天氣,季節(jié),光線,時間等要素,然后再調取相應的背景圖像,這種方法顯然耗時,耗力,前期的工作量巨大,而且干擾因素也太大,比如樹葉的搖動,固定景物的細小晃動,都會使得檢測的結果發(fā)生很大的偏差,是不太可行的方法。
3.2.2 幀平均背景提取法
這種方法就是將一段時間內的圖像累加平均,將平均圖像先當做背景圖像,這樣能減少干擾帶來的偏差,而且原理簡單,程序短小易懂,計算量不大。不過,在開始采用的的背景圖像的基礎上,隨著時間的變化,背景圖像需要進行實時更新,這樣才能適應外界各種變化,提高目標檢測的魯棒性(系統(tǒng)在一定的參數設東西啊,維持某些性能的特性)。在檢測的過程中,背景圖像很可能是一直不變的,也就是說,原來靜止被當做背景圖像的部分一直是靜止的,而運動的部分一直是運動的,這種情況是最理想的。然而有時候也有這種情況:開始運動的部分,在某一時刻靜止了,而且一直保持靜止,那么這種情況下原來運動的部分在后期時候也成為了背景圖像的一部分,這就需要背景自適應更新。
這種方法對每個像素點在一段時間內進行實時更新,優(yōu)點有:(1)抗干擾性強,對于外界的干擾帶來的影響可以盡量消減。(2)運用的相鄰兩幀圖像比較獲得更新的背景圖像,使得運算量減小,運算速度增加,降低了內存的占用率,檢測算法更加方便。(3)經過實時更新,背景圖像更加完整,精確,切滿足了實時性要求。
利用背景差分法,一個很重要的步驟就是二值化,也就是通過做差得到差分圖像后與設定的閾值作比較,從而得到1或者0的判斷,那么閾值的選取就是這個步驟的關鍵所在,合適的閾值是能否檢測出運動目標的核心。
實際圖像采集過程中,絕大多數都是要在室外進行的,如對汽車,對行人的目標檢測,那么光線的變化是時時刻刻都會發(fā)生的,如果我們采用的是恒定不變的閾值,那么隨著光線的變化,圖像的采集就會出現(xiàn)很大的誤差。比如,在早晨的時候光線充足,那么背景圖像的亮度很高,然而到了傍晚日落,光線明顯不如早晨,背景圖像的亮度就會下降,此時做差后的兩個差分圖像的灰度一定是差別很大的,如果采用的是同一個閾值進行比較,一定會有一種情況下的運動目標是不能被完整的檢測出來的,所以我們就要采用到動態(tài)的閾值。
目前,閾值的確定有很多辦法:例如3σ法確定閾值、最大間類法、迭代循環(huán)閾值法等等。最常用也是比較準確的方法是迭代循環(huán)閾值法,步驟如下:
(2)根據最初的閾值將圖像進行二值化處理,分理處運動目標圖像和背景圖像;
(3)分別求出運動目標圖像灰度平均值HA,以及背景圖像平均灰度值HB;
(5)若果新的閾值等于最初的閾值,那么結束,如果不等于,令th=th*,再從步驟(2)開始。
在實際情況下,一般拍攝環(huán)境會有很多干擾,比如刮風引起的樹葉晃動,光線隨著時間出現(xiàn)變化,背景中一些景物的微小運動,這些會造成大量的噪聲,反映在二值化后的圖像上就是出現(xiàn)許多噪聲斑點,為了使得結果更精確,檢測效果更理想,就需要用形態(tài)學的方法,對二值圖像進行濾波。
數學形態(tài)學的原理是得到對象拓撲和構架信息,經過運算的方法使最終挖掘對象更精確的形態(tài)。在運動目標檢測算法中,形態(tài)學濾波主要是對獲取的圖片觀察改變,改善圖像的質量。主要應用到的有:腐蝕,膨脹,開閉運算。
(1)結構元素。結構元素是膨脹和腐蝕運算的基礎,主要作用是測試輸入圖像,是由零或一構成的一個矩陣,其中0是指圖像中要處理的部分,而1指的是該部分圖像象素在腐蝕和膨脹過程中參與運算。
(2)腐蝕膨脹。干擾的原因,二值化后的圖像有很多的噪聲斑點,造成的直接影響就是檢測出來的運動物體邊緣不清晰,有很多的邊緣點,這時需要腐蝕操作去掉這些邊緣點。但是,有時候一些物體中十分細小的點被誤認為是噪聲邊緣點,這時候進行腐蝕操作會使被檢測出來的運動對象整個被刪除,要解決這個問題,就需要再進行膨脹操作,使得檢測出的物體便會原始大小,使物體的邊界向外擴張,膨脹操作會使物體內部的空洞被補上,就不會被誤認為是邊界而把檢測目標刪除了。
(3)開閉運算。開運算是指對圖像先腐蝕后膨脹,閉運算是指對圖像線膨脹后腐蝕。閉運算的效果是使得檢測目標的邊緣變得平滑,而開運算結果為消去鴻溝,孔眼,填補對象中邊緣線中斷部分。
運動目標檢測有很大的作用和影響,應該積極投入實驗研究,同時,運動目標檢測也是一項十分復雜的工作,使用適當的研究軟件對目標檢測算法的實現(xiàn)、驗證、比對是非常重要的。Matlab是美國Math-Works公司出品的商業(yè)數學軟件,用于算法開發(fā)、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環(huán)境。本文使用Matlab作為實驗平臺,對算法進行驗證和研究。
Matlab在圖像處理中是先對要處理的圖像進行數據的運算,然后對這些數據進行相應的轉化,進而成為要處理的圖像,所以Matlab處理圖像靈活方便。另外,Matlab的圖像處理工具箱有很多可以直接拿來使用的命令,比如圖像集合運算、正交變換、區(qū)域處理、圖像復原、圖像分析、圖像濾波、數據的編碼和壓縮,另外對圖像的讀寫現(xiàn)實,以及類型轉換使得Matlab處理圖像得心應手,游刃有余。
Matlab也有很多圖像變換,比如傅里葉變化、離散變換、Radon變換、Walsh-Hadamard變換等等。Matlab還對圖像分析方面有很多應用,例如分割應用,邊緣檢測應用,圖像的分解等等。
差分法中的圖像二值化,涉及很多函數,比如膨脹運算、腐蝕運算等等,這些在Matlab相應的工具箱中都有操作函數可以直接拿來應用。由此可見,Matlab的強大功能對于運動目標檢測的研究有很大的作用。
背景差分法的實現(xiàn)流程如圖3所示。
圖3 背景差分法流程圖
在Matlab程序中,需要編寫母函數和子函數,具體實現(xiàn)過程見下文。
4.2.1 母函數
第一步:清楚由關鍵詞keyword所表示的項目,并且顯示說明字符串:input video。取一段AVI電視頻到Matlab視頻緩存中并將AVI視頻文件信息保存為矩陣avi。
第二步:逐幀處理數據:將矩陣C 示為圖像格式,C 的每一個元素對應于圖像中的一個矩形區(qū)域。C中元素都被寫入當前決定沒個補丁顏色的偽彩色圖中。偽彩色圖,顯示強度在平面的分布(類似等值線圖,或地圖上的等深線圖等),伴隨它有色彩標尺。
第三步:調用子函數tracking函數。
4.2.2 子函數(tracking)
第一步:定義tracking函數
第二步:讀取所需視頻信息。沿具體制定維將avi視頻數據分塊為由4個矩陣元素組成的矩陣,清楚工作空間緩存;把像素數據編譯成為一個單獨的4維數組;將像素值pixels定義為矩陣。
第三步:圖像轉化。把RGB 轉化為灰度圖像。定義nFrames度數值大小,定義f為視頻圖像幀循環(huán)變量;將單獨的視頻幀轉化成索引圖像,得到圖像幀,生成一個視頻幀;將得到的圖像寫到硬盤。
第四步:標定圖像。定義標定中心點行號為240,列號為320。置圖像處理循環(huán)變量1,從第二針圖像開始處理為第一層循環(huán);利用此刻幀圖像與第一幀圖像做差取絕對值利,并且將其轉存為矩陣;創(chuàng)建數字圖形對象以及像素區(qū)域工具面板與圖像處理指定所謂的目標圖像,將剛剛幀間差分后的矩陣轉化為二值圖像,存為數組;判斷圖像相鄰像素值之差取絕對值是否小于閾值,如果是,則對應像素點置0如果否,則保持。顯示二值圖像:0為黑色,1為白色,顯示變換后的圖像數據幀。
第五步:開始顯示圖像。
第六步:顯示相關圖像大小參數。
第七步:生成外接矩形。
4.2.3實驗過程
第一步:根據背景差分法實現(xiàn)流程利用Matlab語言編寫程序,分別編寫兩份程序:母函數以及子函數tracking。
第二步:利用進行幀間差分法實驗的實驗視頻運行編譯好的程序,并截圖,通過對實際運動目標圖像與檢測出的運動目標圖像進行對比得出實驗結果。
4.2.4實驗結果分析
通過實驗結果分析,可以發(fā)現(xiàn)背景差分法能夠基本上檢測出運動目標,而且相對于幀間差分法的實驗結果,背景差分法檢測效果比較好,目標特征信息相對完整,圖像也更為精確,運動檢測的結果很完整。但是實際操作過程中背景圖像并不容易獲得,而且也是不斷發(fā)生變化的,尤其在人員密集的場合,背景會隨著人員的走動,外界光線的強弱變化發(fā)生改變,這樣不容易提取出完整的運動目標信息。因此,使用背景差分法的前提條件是背景是固定不變,不會發(fā)生變化的場合,但是絕大多數情況下是不符合這樣的標準的,所以適用性差。
隨著目前科學技術的不斷發(fā)展前進,視頻監(jiān)控技術的不斷提升,視頻監(jiān)控越來越多的被應用于人們的生活之中,尤其是在公安領域發(fā)揮了重要的作用,對于打擊違法犯罪,提供有力證據都有著舉足輕重的影響。為了提升工作效率,解放過多的警力,運動目標檢測技術應運而生,它的出現(xiàn)無疑對視頻監(jiān)控領域的研究是一個巨大的飛躍,已經成為了國內外計算機視覺研究領域的熱點。本文的主要工作是闡述了運動目標檢測技術的相關概念,并且重點對這一技術中的背景差分法做了論述,最后通過在Matlab軟件平臺上進行實際試驗。
[1]馬頌德,張正友.計算機視覺:計算理論與算法基礎[M].北京:科學出版社,1999:124-166.
[2]劉貴喜,邵明禮,劉先紅,等.真實場景下視頻運動目標自動提取方法[J].光學學報,2006,26(8):1150-1155.
[3]Franke U,Heinrich S.Fast Obstacle Detection for Urban Traffic Situations[J].IEEE Trans.Intelligent Transportation Systems,2002,3(3):173-181P.
[4]高韜.智能交通監(jiān)控中運動目標檢測與跟蹤算法研究[D].天津:天津大學,2010.
[5]Tsai D M,Lai S C.Independent component analysis based background subtraction for ndoor surveillance[J].IEEE Transactions on Image Processing,2009,18(1):158-160.
[6]趙文哲,秦世引.視頻運動目標檢測方法的對比分析[J].科技導報,2009,27(10):64-70.
[7]李玉山.數字視覺視頻技術[M].西安:西安電子科技大學出版社,2006.
[8]岡薩雷斯,伍茲.數字圖象處理[M].2版.北京:電子工業(yè)出版社,2003.
[9]Spagnolo P,Leo M.Robust Moving objects segmentation by background subtraction[J].The international Workshop on Image Analysis for Multimedia Interactive Services,2004:21-23.
[10]Robert T.Collins,Alan J,Lipton.A System for’video surveillance and monitoring[A].2000:497-501.
[11]沈海浪,平西建,許志勇.一種基于背景重建的運動目標檢測算法[J].信息工程大學學報,2004,5(3):69-71.
[12]Otsu N.A threshold selection method from gray2leve 1histograms[J].IEEE ransactions on System Man and Cybernetic,1979,9(1):62-66.
[13]王耀明,董建萍,嚴煒,等.圖像閡值分割的統(tǒng)計迭代算法[J].桂林電子工業(yè)學院學報,2000,20(2):6-8.
[14]岡薩雷斯.數字圖像處理[M].北京:電子工業(yè)出版社,2011.
[15]谷口慶,朱虹.數字圖像處理基礎[M].北京:科學出版社,2005:292-297.