戴鑫 黃愐 張進
(貴陽學院電子與通信工程學院 貴州省貴陽市 550005)
近年來,專家和學者們針對視頻中的運動目標檢測的相關問題,做了大量而深層次的研究,并且還提出了極為有效的算法及不少的運動目標檢測的方式方法:光流法、背景差分法、幀間差分法等等[1]。但到目前為止幾乎沒有任何一個算法能夠同時滿足可靠性、準確性、穩健性等各種一系列的特性。所以,在相關檢測的各種算法中,還有著許許多多的各種各樣的缺陷與不足。主要的原因是圖像里存在著各種干擾因素,包括:
(1)光線亮度的變化;
(2)背景景物的變動;
(3)背景和目標重疊遮蓋;
(4)前景與背景物體相近;
(5)非完全表態背景;
(6)運動目標運動路徑的變化;
(7)所檢測的運動目標的特征難以擇取:
(8)檢測的準確性以及實時性難以掌握。
由于存在如此多的問題,當進行運動目標檢測時,將會遇到各種各樣的麻煩和疑難問題。而對于運動目標檢測的研究,就是在最大程度上盡最大可能地解決這些顯現問題,而上述問題也值得進一步研究探討。
使用算法對運動目標進行檢測的任務是:消除目標圖像的靜態背景,找出運動前景區域,并盡可能去除噪聲,以獲取所需的運動目標。運動目標一般情況下會涉及到以下對象:
(1)運動目標:需要被檢測的進行運動的對象。
(2)背景噪聲:沒有被檢測出來的運動目標所處環境的區域。
(3)前景噪聲:被認定為已經發生產生了圖像變化,但并沒有包括任一運動目標的范圍。
(4)反射:在其他物體的邊緣,或是反射能力強的其他物體表面,因光線的不穩定而被認成是變化的目標物體將其檢測出來。
(5)陰影:被檢測的運動目標物體在一系列事物上產生的陰影,也將他當做目標檢測出來。
(6)鬼影:被檢測的運動目標在過去的某時刻進入背景模型,在當前時刻被檢測出來。
(7)干擾:對最后的檢測結果可能產生一定影響的因素。
在仿真設計時要對彩色圖像灰度化,將其轉化為灰度圖像。一般在灰度圖像中,用8 位數據來表示一個像素;而在圖像中,則用一個字節代表一個像素,或是其亮度值,也就是要讓三個分量的值相等。
將圖像由彩色轉化為灰度有不同的方法,我們可以通過下列幾種方法將其轉化:
通過以上任意一種方法進行轉化,可以得到灰度值Y;再將灰度值Y 取代RGB(R,G,B)中的像素值,變為RGB(Y,Y,Y)得到灰度圖像。
形態學的基本運算主要有四個:膨脹、腐蝕、開啟、閉合[2]。
(1)膨脹:膨脹是將圖像的內核進行卷積操作。它是將與物體接觸過的背景點,一同融合在于物體內,使邊緣區域向外部延伸的過程。
膨脹的作用是:填充圖像中小于結構元素的空洞,以及修補邊緣凹陷和破損部位。
(2)腐蝕:腐蝕也是將圖像的內核進行卷積,是一種銳化邊界點,使其向內部收緊的過程。
(3)開運算:開運算是基本的形態學噪點消除模塊,運算順序是:先腐蝕,后膨脹。
(4)閉運算:閉運算是開運算的對偶運算,它的操作是:先膨脹,后腐蝕。閉運算的作用為磨除圖像內部的尖角,對其外部做濾波。
圖像在形成、傳送以及變換的整個過程中,會受到來自外界的各種各樣因素的干擾,導致圖像變得模糊不清,并且還可能夾雜各種噪聲。因此,我們在進行圖像處理時,會先對其進行濾波,去除存在的噪聲。
基于形態學和形態變換構建的形態濾波器通過開、閉運算形成一個濾波器,以達到理想去除噪聲的目的。在這個過程中,結構元素的作用相當于信號處理中的“濾波窗口”[5]。形態學濾波器是通過用形態算子處理圖像形成的。其特點是:不模糊圖像的邊界區域。形態濾波器是用一個結構元素B 對初始圖像連續地使用開、閉運算,這樣,圖像中小于結構元素的自由噪聲將被濾除。
首先,通過結構元素B 來腐蝕A,消除圖像中的噪聲點;然后,用B 對腐蝕結果進行膨脹,以便恢復有用信息。這樣反復進行腐蝕膨脹,就能去除噪聲。
論文設計的三幀差分算法,是在二幀差法再次進行差分實現的[4]。不同于二幀差法,三幀差法要獲得視頻中三幀連續圖像——即第k-1 幀、第k 幀以及第k+1 幀。然后將第k 幀與第k-1 幀、第k+1 幀與第k 幀分別做差分,獲得兩個差分圖像;最后,對倆差分圖像做“與”運算,獲得二值圖像。
三幀差分算法是在獲得其相鄰兩幀的差分圖像后,將其做“與”運算,再取其交集,以獲得目標輪廓。從上述理論可以得出:三幀差法優于二幀差分法,前者能提取更為完整的目標。以下是三幀差分算法的具體過程:
(1)從視頻中選取三幀連續圖像。為進一步保證與二幀差法相比較的準確性,把圖像先進行灰度化:

之后將RGB(R,G,B)中的R、G、B用Y值替換,以獲得灰度圖像。
(2)將灰度圖像通過計算得到二值化圖像。計算前兩幀圖像之間的差分以獲得目標變化量之后,通過幀間差分處理獲得目標變化的二值圖像:

(3)再計算第后兩幀圖像的差值,以獲得目標變化量后,通過相同的幀間差分處理。其中兩幀差值用g2(x,y)來表示:

(4)g1(x,y)和g2(x,y)做“與”運算,將兩者交集部分提取出來,則可得到三幀差分圖像,將其設為D1(x,y)。此時,我們就得到了大致目標的運動區域:

在三幀差法實驗中,也應選取合適的閾值,如果閾值選擇不當,“去噪”這一步會比較麻煩,檢測效果也會受到影響。因此,通過灰度圖像的灰度值來獲得合適的閾值。
(5)獲得目標的二值圖像后,將其進行形態學去噪,同樣對其進行膨脹和腐蝕,以得到圖像。
圖1是物體間陰影和重疊影響的結果,圖1中的(a)圖和(b)圖下方圖像是三幀差法最終得到差分圖像,該圖是經過了灰度和二值化,及腐蝕和膨脹處理后得到的效果圖。從檢測結果可知,三幀差法能夠很好地檢測出運動目標。

圖1:陰影和物體間的重疊遮檢測效果
圖2是提取視頻中的三個連續幀圖像,并做三幀差法運算。圖2的(a)圖和(b)圖下方圖像,是已經經過處理之后得到的檢測圖。由仿真結果可得,若目標存在于非靜態背景中,對其檢測時,使用三幀差法,就能夠得到較好的效果。

圖2:非靜態背景檢測效果圖
圖3對目標的三幀連續圖像做三幀差分運算,且該目標是進行高速運動的。圖3(a)圖和(b)是已經經過處理之后,得到的最終結果。檢測結果顯示,當物體進行高速運動時,運用三幀差法可以很好地檢測出該目標。

圖3:高速運動的目標檢測效果
從仿真結果可以看出:三幀差分算法可以很好地檢測出目標,且檢測出的目標輪廓更清晰。在陰影和物體重疊的影響下,三幀差法檢測獲得的目標更為清晰;當目標高速運動時,三幀差法的漏檢率極大降低。因此三幀差法比二幀差法更具優勢。其具有更高的精度和更好的檢測效果。