賈曉琪,閆俊伢,楊麗英
(山西工程科技職業(yè)大學(xué),山西 晉中 030619)
動態(tài)目標(biāo)檢測追蹤是針對視頻中運動的物體進行實時監(jiān)測,在計算機技術(shù)飛速發(fā)展的今天,動態(tài)目標(biāo)檢測在計算機視覺、圖像處理、視頻監(jiān)控、人機交互以及模式識別等領(lǐng)域有著重要的研究意義和實用價值[1]。動態(tài)目標(biāo)檢測其實就是將視頻分解成視頻圖像幀序列,在每幀圖像中檢測出發(fā)生變化的目標(biāo),從而確定視頻中運動的目標(biāo)物體。
本文中,通過對截取視頻中的每幀圖像進行灰度處理,提取視頻中的背景模型,即視頻中的靜止區(qū)域,然后獲取視頻中動態(tài)的目標(biāo)區(qū)域,復(fù)原實現(xiàn)了背景差分法對視頻圖像中行駛的汽車目標(biāo)檢測[2]。在檢測過程中,發(fā)現(xiàn)了檢測過程中出現(xiàn)了邊緣斷裂情況,本文采用閉操作對復(fù)原實驗結(jié)果中的微小空洞進行了填充,并在一定程度上連接了結(jié)果中出現(xiàn)的狹窄間斷。
背景差分法又叫背景減法,該算法主要是通過對所獲取的視頻圖像進行圖像幀分解,并將分解的每幀圖像與視頻背景圖像進行差分算法,由此得到視頻中的運動目標(biāo)[3,4]。
在進行背景差分運算之前,要先對獲取到的視頻圖像進行灰度預(yù)處理,并截取為圖像幀序列;然后通過高低閾值分割獲取視頻圖像序列中的靜止場景,當(dāng)做后期差分算法的背景圖像;差分算法之后,得到了灰度圖像幀的運動區(qū)域,然后根據(jù)訓(xùn)練所得的閾值進行閾值化動態(tài)目標(biāo)的提取。具體處理過程如圖1所示。
圖1 背景差分法處理流程示意圖
視頻通過數(shù)字形式記錄一系列動態(tài)行為,為了能夠順利剝離出視頻中靜止的區(qū)域,我們必須對視頻進行視頻幀分解,也就是按照一定的時間把視頻圖像分解成一個圖像序列,每一幀都是一張圖片。接下來的所有步驟都是對當(dāng)前得到的視頻圖像幀進行處理。
圖像預(yù)處理主要是進行圖像的灰度化以及圖像濾波。這個過程我們主要通過Canny邊緣檢測算法實現(xiàn)。對圖像進行灰度化處理,其實就是求圖像的各個通道采樣值的加權(quán)平均值,公式如下:
Gray=(R+G+B)/3.
(1)
對灰度圖像進行高斯濾波算法從而抑制圖像中存在的噪聲,突出圖像邊緣,提高背景差分法邊緣檢測的靈敏度,具體實施方法是:將高斯函數(shù)離散化,把高斯函數(shù)值作為權(quán)值,然后對灰度圖中的各個像素點進行加權(quán)平均,來有效消除圖像中的高斯噪聲[5]。高斯濾波算法公式如下:
(2)
最后,為使圖像中邊緣輪廓線更加光滑,我們對預(yù)處理后的圖像進行了閉操作,這樣既能消除灰度圖像中出現(xiàn)的細(xì)小空洞,還能對輪廓線的斷裂進行自適應(yīng)修復(fù)。
在灰度圖中,我們可以采用多幀平均法來建立背景模型:將一段時間內(nèi)的多幀灰度圖像相加,然后求出它們的平均值,這個平均值就是背景模型[6]。
(3)
其中,Bn代表了第n幀視頻圖像中的背景模型;N是圖像幀的幀數(shù);B(x,y)是圖像中的各個像素點的灰度值;In(x,y)為第n個視頻圖像幀中(x,y)的像素點值。
在實驗過程中,因為獲取視頻的攝像頭為固定位置拍攝,所以在一定程度上,也幫助了我們盡可能的消除了視頻圖像抖動對建模結(jié)果的影響;同時,為了消除光照對背景建模結(jié)果的影響,我們需要每隔一段時間就重新更新一次背景模型,所使用的公式如下:
(4)
首先,將當(dāng)前圖像幀的灰度圖像的各個像素點的灰度值與構(gòu)建得到的背景模型各個像素點灰度值進行差分,運算過程如下[7]:
En(x,y)=|Pn(x,y)-Bn(x,y)|.
(5)
其中,Pn(x,y)為當(dāng)前圖像幀灰度圖像的像素點灰度值;Bn(x,y)為背景模型中各個像,得到的結(jié)果En為背景差圖。
然后我們根據(jù)給定的閾值進行區(qū)分,對背景差圖進行閾值化處理,具體處理算法如下:
(6)
其中,T為實驗中設(shè)定的閾值;En(x,y)為1表示此像素點為動態(tài)目標(biāo)區(qū)域中的像素點;En(x,y)為0表示此像素點為背景區(qū)域的像素點。最后像素點整合,實現(xiàn)灰度圖像中的動靜圖像分割,從而達(dá)到動態(tài)追蹤的目的。
本文中,我們使用背景差分法模擬了對行駛中的汽車動態(tài)檢測的實驗,具體實驗步驟如下:
1) 固定視頻位置,選取人流較少的位置路段進行拍攝,獲取視頻圖像,截選只有車輛出現(xiàn)的視頻段保留使用。然后將視頻圖像分解為視頻圖像幀序列,我們以每秒25幀圖像進行分解,圖2列出其中兩幀圖像。
圖2 視頻序列中的兩幀圖像
2) 對圖像幀序列進行預(yù)處理,求圖像的各個通道采樣值的加權(quán)平均值,從而得到灰度化后的視頻圖像幀,如圖3所示,列出了其中兩幀圖像。
圖3 灰度化處理
通過高斯濾波算法進行灰度圖像的邊緣檢測,并使用閉操作填補和連接斷裂,從而連接了在圖像預(yù)處理過程中,被誤分為許多小塊的目標(biāo)區(qū)域。
3) 對灰度圖進行平均法建立背景模型,為背景差分算法做準(zhǔn)備,建立的背景模型如4所示。
圖4 背景建模
4) 根據(jù)所建立的背景模型進行背景差分法,得到灰度圖像之間的灰度差值,也就是背景差圖,我們設(shè)定閾值為80,根據(jù)閾值化方法對差圖中的動態(tài)區(qū)域進行分割,最后得到視頻行駛中的車輛目標(biāo),如圖5、圖6所示。
圖5 背景差分法追蹤動態(tài)目標(biāo)
圖6 動態(tài)目標(biāo)追蹤結(jié)果
實驗過程中,我們對視頻圖像進行了圖像幀分解和圖像預(yù)處理,在得到的灰度圖像幀序列中較好地分離出了背景模型,為了消除光照對實驗結(jié)果的影響,背景模型隔一段時間就要更新一次;同時,為了讓檢測結(jié)果能夠更完整,我們采用閉操作進行了斷裂的填補。
通過模擬實驗,我們發(fā)現(xiàn)背景差分法能較好地處理動態(tài)目標(biāo)簡單的視頻圖像序列,加上閉操作可以改善檢測效果。對視頻進行圖像幀的分解后,逐一進行灰度處理,處理后的圖像幀能夠很好的分離出背景模型,便于之后的背景差分步驟的進行。