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