摘 要: 針對ViBe算法第一幀圖像中含有運動的目標時容易引入“鬼影”及不能完整提取前景目標的問題,,在原算法的基礎上融合幀間差分法、Canny邊緣檢測,,采用中值濾波,、形態(tài)學算子進行后處理。實驗結果表明,,本文算法能很快消除“鬼影”,,并能比較完整地提取出紅外運動目標,。
運動目標檢測是計算機機器視覺研究的一個重要研究領域,它是目標跟蹤和視頻圖像分析的基礎,,在視頻監(jiān)控,、智能交通、醫(yī)學圖像處理等方面有著廣泛的應用,,具有重要的應用價值和廣闊的發(fā)展前景。紅外視頻圖像利用熱量成像,,可以透過黑暗和煙霧,,在夜間成像光線不足等情況下比可見光圖像容易發(fā)現(xiàn)目標。紅外視頻圖像不易受光線影響,,背景比較簡單,。目前,越來越多的目標檢測應用從可見光視頻方法轉(zhuǎn)向紅外視頻或者可見光與紅外視頻相結合的方法,。
背景差分是運動目標檢測中一種重要且廣泛應用的方法,,算法的關鍵是背景建模及更新。STAUFFER C等人[1]提出的混合高斯模型GMM(Gaussian Mixture Model)是最重要應用最廣泛的一種背景建模方法,?;旌细咚鼓P椭斜尘跋袼乇硎緸槎鄠€高斯模型的加權和的形式,能夠很好地模擬多峰背景的情況,,當背景變化不劇烈時對動態(tài)背景也有一定的適應能力,。其缺點是計算量比較大,實時性不夠好,,當光照劇烈變化或目標移動速度很慢時檢測效果不好,。BARNICH O等人[2]在2011年提出了ViBe(Visual Background extractor)算法,即視覺背景提取算法,。該算法簡單高效,,計算量非常小,具有很高的實時性和魯棒性,。ViBe算法是一種可以通用的背景建模算法,,能適用于很多動態(tài)變化的場景中。本文將ViBe算法引入到紅外視頻運動目標檢測中,。
1 ViBe背景建模算法
ViBe算法創(chuàng)新地運用隨機過程的思想,,背景建模及更新都采用隨機的策略為每個背景像素點建立樣本集合,是一種無參的像素級背景建模的算法,。
1.1 背景像素建模及分類過程
模型的建立可以概括為對像素值分類的過程,。每個像素點選取其鄰域內(nèi)N個像素點,,用這N個樣本點的集合來表示該像素。記M(x)={v1,,v2,,…,vN}為圖像中x處的一個樣本集合,。為對該像素值v(x)進行分類,,即判斷是背景還是前景,采用如下的方法,。定義一個以v(x)為圓心,,R為半徑的圓SR(v(x))。定義一個基數(shù)#來表示樣本集合M(x)與圓SR(v(x))交集的個數(shù),。如果基數(shù)#大于等于給定的閾值#min,,則該像素值被判為背景像素。即計算歐幾里得距離:
|v(x)-vi|>R,,前景候選|v(x)-vi|≤R,,背景候選
其中,vi為樣本集合,,i=1,,2,…,,N,。對像素點v(x)進行分類的過程并不需要計算N次,當滿足|v(x)-vi|≤R的次數(shù)#達到#min,,該點就被判為背景點,,可以停止計算。這一過程如圖1所示,。
1.2 背景模型初始化
通常檢測算法的初始化需要多幀視頻序列來完成,,要耗費數(shù)秒的時間,這極大降低了檢測的實時性,。ViBe算法的初始化僅僅通過一幀圖像即可完成,。由于背景像素值與其一個鄰域內(nèi)的像素值有相似的時域分布特性,因而對每個像素點,,可以隨機選擇其鄰域點的像素值來填充背景模型中的樣本值,。實驗證明,每個像素點選取8連通鄰域效果很好,。設t=0時代表第1幀,,NG(x)是位于x處的像素點的一個空間鄰域。樣本集合可表示為:
M0(x)={v0(y∈NG(x))}(1)
其中,,y是在空間鄰域內(nèi)等概率隨機選取的,。這種初始化方法的優(yōu)點是對噪聲的反應比較靈敏,,計算量小,可以很快地進行運動物體的檢測,;缺點是當?shù)?幀視頻含有運動目標時,,容易產(chǎn)生鬼影。
1.3 背景模型的更新
背景模型的更新就是使背景模型能夠適應背景的不斷變化,,如光照的變化,、輕微的樹枝擺動、新目標的出現(xiàn)等,。傳統(tǒng)的背景更新方法采用先進先出的方法來更新模型,,丟棄舊的樣本值并用新的樣本值代替。ViBe采用保守的更新策略與前景點計數(shù)相結合的方法,。保守的更新策略是指像素值只有被判為背景才能加入模型中,,只有背景樣本中的像素點才進行更新。采用前景點計數(shù),,對前景像素點進行統(tǒng)計,如果次數(shù)超過了特定像素區(qū)域給定的閾值,,則將其更新為背景模型,。這樣能夠?qū)⒈尘爸型蝗煌?坎㈤L時間逗留的前景目標去除,,使其不被檢測為前景目標,,也可以更新被前景擋住的背景像素模型。該算法不是每一幀都更新,,采用隨機的二次采樣,,每個背景像素有1/φ的概率來更新背景模型。由于是等概率隨機地對樣本更新,,模型中樣本值在t時刻不被更新的概率是(N-1)/N,,在時刻t+dt,樣本值被保留的概率是:
也可以寫作:
這表明在(t,,t+dt)的時間間隔內(nèi),,一個樣本值在模型中是否被替換與時間t無關,是無記憶的,。
2 改進的ViBe算法
ViBe算法初始化速度非??欤?幀就可以完成初始化過程,。但當?shù)?幀圖像中含有運動目標時,,容易引入“鬼影”。針對這一問題,,融入幀間差分法,,可以快速消除鬼影,,并提高檢測的準確率。由于ViBe算法本身特有的背景更新機制在后續(xù)幀中可以消除鬼影,,只需在前幾幀圖像中融入幀間差分法,,這樣既可以快速消除鬼影,又不會影響算法的實時性,。
具體算法如下,。
(1)前3幀與原ViBe算法結果相同,,得到提取的前景目標圖像,。
(2)用Fi表示ViBe算法處理后的第i幀的結果,。將第3幀圖像與第2幀作差分,,采用OTSU分割算子[3]進行分割,得到二值化圖像,,使其與F3作與運算,,去除掉F3中的部分鬼影。
?。?)將第4幀圖像與第3幀作差分,,采用OTSU算子進行分割,得到二值化圖像,,使其與F4作與運算,,去除掉F4中的部分鬼影。
?。?)重復以上步驟,,直至達到預定的幀數(shù)。
由于噪聲干擾,、前景背景對比度低等原因會導致提取出的前景目標斷裂不完整,,不能對紅外圖像目標準確分割。經(jīng)典的Canny算子[4]具有很好的邊緣檢測性,,能夠給出較為連續(xù)的邊緣,。因此,本文在原ViBe算法基礎上結合邊緣信息進行檢測,,可以提取出完整的紅外目標,。
3 后處理
經(jīng)過圖像分割后的二值圖像,目標含有空洞,、噪聲邊緣和少量的孤立噪聲,,為進行后續(xù)的目標特征提取和分析,必須對二值圖像進行后處理,。算法后處理階段采用了中值濾波,、形態(tài)學算子,,有效地去噪并填充分割后的空洞。
3.1 中值濾波器
紅外熱圖像的熱噪聲主要由顆粒噪聲和隨機噪聲組成,,中值濾波[5]消除隨機干擾噪聲和保持細節(jié)能力很強,,常采用中值濾波對紅外圖像進行去噪,實現(xiàn)背景抑制,。實驗證明,,小于中值濾波器面積一半的物體會被濾掉,較大物體會保留下來,。因此,,中值濾波器的尺寸很重要。分別采取3×3,、5×5,、7×7、9×9,、11×11的中值模板進行實驗,,仿真結果表明,9×9的中值模板具有較穩(wěn)定的濾波表現(xiàn),,能在消除噪聲的同時有效保持目標的邊緣信息,。
3.2 形態(tài)學算子
數(shù)學形態(tài)學基本思想是用一定形態(tài)的結構元素去提取圖像中的對應形狀。圖像經(jīng)過形態(tài)學濾波后能有效保留目標信息的同時濾除噪聲,,提高圖像信噪比。開運算能夠濾除比結構元素小的明亮細節(jié),,可以消除圖像中的離散噪聲與毛刺,,同時基本保持整體的灰度和較大明亮區(qū)域不變,還可以填充分割后目標內(nèi)部的空洞,。
4 實驗仿真結果及分析
經(jīng)過大量實驗證明,,ViBe算法中取半徑R=20,最小基數(shù)#min=2,,N=20,,φ=16時實驗結果最好。本實驗用到的紅外視頻序列是從http://www.cse.ohio-state.edu/OTCBVS-BENCH網(wǎng)站上獲取的,,大小為320×240,,本文截取了部分圖片序列,生成一段幀率為20 fps的視頻序列,。本文實驗在VS 2010,,OpenCV 2.4.4的環(huán)境下進行。圖1是原視頻序列中的第3幀,、第12幀,、第17幀,,圖2~圖5分別為原ViBe算法的結果、融合幀間差分法及Canny算子改進,、后處理的實驗結果,。原算法的鬼影區(qū)域較為集中,使用本文改進的算法能夠去除大部分鬼影區(qū)域,,同時引入了離散的噪聲點,。通過后處理可以很好地濾除孤立的噪聲。從圖5可以看出,,經(jīng)過中值濾波,,形態(tài)學操作后處理鬼影后留下的孤立噪聲幾乎全被濾除,可以得到比較干凈,、完整的前景目標,。
本文在ViBe算法的基礎上進行改進,融合了幀間差分法,、邊緣信息進行前景提取,,能夠更快地消除鬼影。對提取出的前景目標采用中值濾波,、形態(tài)學操作進行后處理,。實驗結果表明,當紅外目標對比度很低時,,該算法時仍可以快速完整地提取前景目標,,由于算法是非參數(shù)的,適用于動態(tài)變化的場景,,有很高的實時性和魯棒性,。
參考文獻
[1] STAUFFER C, GRIMSON W. Adaptive background mixture models for real time tracking[C]. Proceedings of IEEE Conference on Computer Vision and Pattern Recognition,, Fort Collins,, Colorado, USA,,1999: 246-252.
[2] BARNICH O,, VAN DROOGENBROECK M. ViBe: a universal background subtraction algorithm for video sequences[J]. IEEE Transactions on Image Processing,2011,, 20(6): 1709-1724.
[3] OTSU N. A threshold selection method from gray-level histograms[J]. Automatica,, 1975, 11(285-296): 23-27.
[4] CANNY J. A computational approach to edge detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,, 1986,,8 (6):679 -698.
[5] ATAMAN E, AATRE V K, WONG K M. Some statistical properties of median filters[J]. IEEE Transactions on Acoust Speech,, Signal Process,, 1980, 28 (4) : 415-421