宋丹丹,安博文
(上海海事大學 信息工程學院,上海 201306)
運動目標檢測是計算機機器視覺研究的一個重要研究領域,它是目標跟蹤和視頻圖像分析的基礎,在視頻監控、智能交通、醫學圖像處理等方面有著廣泛的應用,具有重要的應用價值和廣闊的發展前景。紅外視頻圖像利用熱量成像,可以透過黑暗和煙霧,在夜間成像光線不足等情況下比可見光圖像容易發現目標。紅外視頻圖像不易受光線影響,背景比較簡單。目前,越來越多的目標檢測應用從可見光視頻方法轉向紅外視頻或者可見光與紅外視頻相結合的方法。
背景差分是運動目標檢測中一種重要且廣泛應用的方法,算法的關鍵是背景建模及更新。STAUFFER C等人[1]提出的混合高斯模型 GMM(Gaussian Mixture Model)是最重要應用最廣泛的一種背景建模方法。混合高斯模型中背景像素表示為多個高斯模型的加權和的形式,能夠很好地模擬多峰背景的情況,當背景變化不劇烈時對動態背景也有一定的適應能力。其缺點是計算量比較大,實時性不夠好,當光照劇烈變化或目標移動速度很慢時檢測效果不好。BARNICH O等人[2]在 2011年提出了 ViBe(Visual Background extractor)算法,即視覺背景提取算法。該算法簡單高效,計算量非常小,具有很高的實時性和魯棒性。ViBe算法是一種可以通用的背景建模算法,能適用于很多動態變化的場景中。本文將ViBe算法引入到紅外視頻運動目標檢測中。
ViBe算法創新地運用隨機過程的思想,背景建模及更新都采用隨機的策略為每個背景像素點建立樣本集合,是一種無參的像素級背景建模的算法。
模型的建立可以概括為對像素值分類的過程。每個像素點選取其鄰域內N個像素點,用這N個樣本點的集合來表示該像素。 記 M(x)={v1,v2,…,vN}為圖像中 x處的一個樣本集合。為對該像素值v(x)進行分類,即判斷是背景還是前景,采用如下的方法。定義一個以v(x)為圓心,R為半徑的圓 SR(v(x))。 定義一個基數 #來表示樣本集合 M(x)與圓 SR(v(x))交集的個數。 如果基數#大于等于給定的閾值#min,則該像素值被判為背景像素。即計算歐幾里得距離:

其中,vi為樣本集合,i=1,2,…,N。 對像素點 v(x)進行分類的過程并不需要計算 N次,當滿足|v(x)-vi|≤R的次數#達到#min,該點就被判為背景點,可以停止計算。這一過程如圖1所示。

圖1 對像素點進行分類的過程
通常檢測算法的初始化需要多幀視頻序列來完成,要耗費數秒的時間,這極大降低了檢測的實時性。ViBe算法的初始化僅僅通過一幀圖像即可完成。由于背景像素值與其一個鄰域內的像素值有相似的時域分布特性,因而對每個像素點,可以隨機選擇其鄰域點的像素值來填充背景模型中的樣本值。實驗證明,每個像素點選取8連通鄰域效果很好。設 t=0時代表第1幀,NG(x)是位于x處的像素點的一個空間鄰域。樣本集合可表示為:

其中,y是在空間鄰域內等概率隨機選取的。這種初始化方法的優點是對噪聲的反應比較靈敏,計算量小,可以很快地進行運動物體的檢測;缺點是當第1幀視頻含有運動目標時,容易產生鬼影。
背景模型的更新就是使背景模型能夠適應背景的不斷變化,如光照的變化、輕微的樹枝擺動、新目標的出現等。傳統的背景更新方法采用先進先出的方法來更新模型,丟棄舊的樣本值并用新的樣本值代替。ViBe采用保守的更新策略與前景點計數相結合的方法。保守的更新策略是指像素值只有被判為背景才能加入模型中,只有背景樣本中的像素點才進行更新。采用前景點計數,對前景像素點進行統計,如果次數超過了特定像素區域給定的閾值,則將其更新為背景模型。這樣能夠將背景中突然停靠并長時間逗留的前景目標去除,使其不被檢測為前景目標,也可以更新被前景擋住的背景像素模型。該算法不是每一幀都更新,采用隨機的二次采樣,每個背景像素有1/φ的概率來更新背景模型。由于是等概率隨機地對樣本更新,模型中樣本值在t時刻不被更新的概率是(N-1)/N,在時刻t+dt,樣本值被保留的概率是:

也可以寫作:

這表明在(t,t+dt)的時間間隔內,一個樣本值在模型中是否被替換與時間t無關,是無記憶的。
ViBe算法初始化速度非常快,由1幀就可以完成初始化過程。但當第1幀圖像中含有運動目標時,容易引入“鬼影”。針對這一問題,融入幀間差分法,可以快速消除鬼影,并提高檢測的準確率。由于ViBe算法本身特有的背景更新機制在后續幀中可以消除鬼影,只需在前幾幀圖像中融入幀間差分法,這樣既可以快速消除鬼影,又不會影響算法的實時性。
具體算法如下。
(1)前3幀與原 ViBe算法結果相同,得到提取的前景目標圖像。
(2)用 Fi表示 ViBe算法處理后的第 i幀的結果。將第3幀圖像與第2幀作差分,采用 OTSU分割算子[3]進行分割,得到二值化圖像,使其與F3作與運算,去除掉F3中的部分鬼影。
(3)將第4幀圖像與第3幀作差分,采用OTSU算子進行分割,得到二值化圖像,使其與 F4作與運算,去除掉F4中的部分鬼影。
(4)重復以上步驟,直至達到預定的幀數。
由于噪聲干擾、前景背景對比度低等原因會導致提取出的前景目標斷裂不完整,不能對紅外圖像目標準確分割。經典的Canny算子[4]具有很好的邊緣檢測性,能夠給出較為連續的邊緣。因此,本文在原ViBe算法基礎上結合邊緣信息進行檢測,可以提取出完整的紅外目標。
經過圖像分割后的二值圖像,目標含有空洞、噪聲邊緣和少量的孤立噪聲,為進行后續的目標特征提取和分析,必須對二值圖像進行后處理。算法后處理階段采用了中值濾波、形態學算子,有效地去噪并填充分割后的空洞。
紅外熱圖像的熱噪聲主要由顆粒噪聲和隨機噪聲組成,中值濾波[5]消除隨機干擾噪聲和保持細節能力很強,常采用中值濾波對紅外圖像進行去噪,實現背景抑制。實驗證明,小于中值濾波器面積一半的物體會被濾掉,較大物體會保留下來。因此,中值濾波器的尺寸很重要。 分別采取 3×3、5×5、7×7、9×9、11×11 的中值模板進行實驗,仿真結果表明,9×9的中值模板具有較穩定的濾波表現,能在消除噪聲的同時有效保持目標的邊緣信息。
數學形態學基本思想是用一定形態的結構元素去提取圖像中的對應形狀。圖像經過形態學濾波后能有效處理。實驗結果表明,當紅外目標對比度很低時,該算法時仍可以快速完整地提取前景目標,由于算法是非參數的,適用于動態變化的場景,有很高的實時性和魯棒性。
[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