王海全,邱衛(wèi)根,譚臺哲
(1. 廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,廣東 廣州510006;2. 河源廣工大協(xié)同創(chuàng)新研究院,廣東 河源517000)
背景差分法以其相對較好的噪聲抑制能力和較低的計(jì)算復(fù)雜度,成為實(shí)際應(yīng)用中運(yùn)動目標(biāo)檢測的首選。背景差分法的關(guān)鍵主要體現(xiàn)在背景模型的選擇和更新機(jī)制的設(shè)計(jì)上。一般的背景差分方法,如混合高斯算法(Gaussian Mixture Model)[1]、碼本算法(Codebook)[2]等,對光照敏感,且需要幾十幀的圖像進(jìn)行背景模型的構(gòu)建,實(shí)時性差。Olivier B 等人在一致性建模算法(SACON)[3]和SOBS 算法[4]的啟發(fā)下,提出了ViBe 算法[5]。
ViBe 算法是一種非參數(shù)化聚類背景建模方法,在不同環(huán)境下具有良好的適應(yīng)性和實(shí)時性[6],檢測效果明顯。傳統(tǒng)的ViBe 算法仍然存在一些缺陷,例如,光照突然變化時,ViBe 算法會將大面積的背景點(diǎn)誤檢為前景點(diǎn),即使經(jīng)過了很長時間,也難以重新將其歸類為背景。同時,ViBe 算法背景模型的單幀初始化方式容易引入鬼影區(qū)域,而且該算法模型更新策略并不能很好地處理噪聲。針對這些不足,本文依據(jù)光照變化并不會改變圖像的紋理特征這一特性,提出運(yùn)用尺度不變局部三值模式(SILTP)[7]對圖像進(jìn)行紋理特征提取,通過比較SILTP 值來對前后景像素進(jìn)行分類,實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的算法對光照變化取得了較好的魯棒性。此外,本文采用20 幀圖像進(jìn)行背景模型的初始化,并且更新策略改進(jìn)為替代異常值的方式,實(shí)驗(yàn)顯示,改進(jìn)后的算法在處理鬼影區(qū)域和抑制噪聲方面取得了明顯的效果提升。
ViBe 算法首次將隨機(jī)化的方法引入到背景模型中,同時根據(jù)圖像中相鄰像素的時空一致性原則,采用單幀初始化策略和隨機(jī)信息傳播機(jī)制。
1)背景模型表示:屬于背景中每一個像素的背景模型用N 個背景樣本組成(N 取值為20),定義I(x)為歐式空間中位于x 處的像素,Ik為選取的樣本像素,則像素I(x)對應(yīng)的背景模型M(x)如式(1)所示
2)背景模型初始化:與其他背景差分算法不同的是,ViBe 算法采用單幀初始化策略。如圖1a 所示,在第一幀中,從I(x)的八鄰域NG(x)里隨機(jī)多次選取N(N 取值為20)個像素值,存放到對應(yīng)的背景模型的N 個樣本中。如式(2)所示,定義M0(x)作為第一幀的背景模型
3)像素分類:在2-D 歐式空間中,定義SR(I(x))是以像素I(x)為中心,距離R(R 取20 個像素)為半徑的球體(見圖1b)。設(shè)定閾值#min(#min 取值為2),當(dāng)集合M(x)與SR(I(x))的交集大于#min 時,則判定I(x)為背景像素,反之,則為前景像素。
圖1 像素的8 鄰域和像素分類
4)背景模型更新及信息傳播:若I(x)被分類為背景像素,ViBe 算法將從I(x)的背景模型M(x)中隨機(jī)選取一個樣本Ik,然后用I(x)來替代。這種隨機(jī)化更新方式,保證了每一個樣本的生命周期呈平滑指數(shù)遞減,避免了先進(jìn)先出更新策略的缺陷??紤]到在實(shí)際應(yīng)用場景中,不必頻繁更新背景,該算法采用了二次時間取樣的方式,來延長模型中樣本的生命周期。
為了保證像素鄰域空間一致性以及恢復(fù)被前景遮擋的背景像素,ViBe 算法在采用像素I(x)對背景模型進(jìn)行更新的同時,還使用I(x)對鄰域中的像素的樣本模型進(jìn)行更新,這就是隨機(jī)信息傳播機(jī)制。
在實(shí)際應(yīng)用中,光照突變等因素都會導(dǎo)致圖像的多尺度變化,對此,Shengcai L 等人在LTP[8]的基礎(chǔ)上提出尺度不變?nèi)的J?Scale Invariant Local Ternary Pattern,SILTP)。其計(jì)算公式如式(3)所示
式中:Ic表示中心點(diǎn)像素值,Ik表示N 鄰域中所對應(yīng)的像素值,并且N 鄰域位于以Ic為中心,R 為半徑的區(qū)域中,?表示二進(jìn)制串的連接運(yùn)算符,t 表示比例系數(shù),st(Ic,Ik)是一個分段函數(shù),定義如式(4)所示。由于比較結(jié)果只有三種可能,因而采用兩位二進(jìn)制來表示結(jié)果,SILTP 具體編碼過程如圖2所示,從圖中可以看出,SILTP 對于噪聲和尺度變化具有強(qiáng)魯棒性。
圖2 SILTP 編碼過程
SILTP 算子的優(yōu)勢主要體現(xiàn)在三個方面。首先,由于SILTP 只比LBP 多一次比較,因此,其計(jì)算效率較高;其次,與LTP 類似,SILTP 引入?yún)^(qū)間范圍,從而對噪聲的魯棒性較好;最后,也是最重要的一點(diǎn),就是SILTP 引入尺度不變特性,因此,對于光照變化的處理效果較好。
結(jié)合SILTP 紋理描述算子,利用像素的時間和空間特性,提出改進(jìn)后的運(yùn)動目標(biāo)檢測算法。圖3 為本文的算法流程圖,下面將從背景模型初始化、運(yùn)動目標(biāo)檢測和模型更新等方面介紹本文的改進(jìn)算法。
圖3 算法流程圖
當(dāng)視頻的第一幀包含運(yùn)動目標(biāo)時,ViBe 單幀初始化策略在初始化模型時,會將運(yùn)動目標(biāo)像素作為背景像素值進(jìn)行建模,運(yùn)動目標(biāo)移動后,采樣得到的真正背景像素?zé)o法與背景模型匹配,導(dǎo)致背景像素被誤檢為前景,由這類像素形成的區(qū)域,稱之為鬼影區(qū)域。此外,從鄰域中隨機(jī)選取背景初始樣本的過程中,可能會引入不同紋理的像素,破壞了初始模型。
因此,本文針對ViBe 算法初始化的不足,提出采用20 幀圖像進(jìn)行初始化,能夠有效抑制鬼影。如式(5)所示,從同一位置的20 幀圖像中選取樣本構(gòu)成初始化模型M0(x),Ik(x)表示第k 幀中位于x 處的像素
目前主流的運(yùn)動目標(biāo)檢測算法都是依賴于概率密度函數(shù)和參數(shù)統(tǒng)計(jì),但是在實(shí)際應(yīng)用中,統(tǒng)計(jì)模型很難完整客觀地反映運(yùn)動場景。實(shí)際上,如果把運(yùn)動目標(biāo)檢測看成是分類問題,那么只要正確地分出前景像素和背景像素就可以完成運(yùn)動目標(biāo)的檢測。為此,本文提出計(jì)算待檢測點(diǎn)與背景模型中每個樣本的SILTP 值,同時設(shè)定SILTP 匹配閾值Th 和樣本匹配閾值#min,若匹配度達(dá)到Th 的樣本數(shù)量超過#min 時,則判定該檢測點(diǎn)為背景,反之,為前景。具體步驟如下:
1)計(jì)算出待檢測點(diǎn)像素I(x)的SILTP 值c(x)和背景模型每一個樣本的SILTP 值,則轉(zhuǎn)化后的背景模型如式(6)所示
2)式(7)表示用異或操作來計(jì)算c(x)與式(6)中樣本的匹配程度,匹配程度通過統(tǒng)計(jì)異或結(jié)果中1 的位個數(shù)來表示
3)當(dāng)該樣本匹配程度大于閾值Th 時,標(biāo)記該樣本為1,反之為0,如式(8)所示
4)統(tǒng)計(jì)樣本中nk(x)為1 的個數(shù),得到結(jié)果Sum(x),如式(9)所示
5)最后對I(x)像素進(jìn)行分類,如式(10)所示
經(jīng)過多次實(shí)驗(yàn)分析,得到本文中參數(shù)Th=3,#min=2。
在運(yùn)動目標(biāo)檢測過程中,背景模型容易混入異常樣本,比如誤分類的前景像素或噪聲像素,這時,ViBe 的隨機(jī)更新方式并不能有效地處理。為此,本文提出替代異常值的更新方式,具體思想如下:
首先,根據(jù)式(6)得到轉(zhuǎn)化后的背景模型,計(jì)算出每個樣本與模型中其他樣本的海明距離平均值,如式(11)所示,Di表示第i 個樣本與其他樣本的海明距離平均值。
其次,找出平均海明距離最小所對應(yīng)的樣本,如式(12)所示,index 表示平均海明距離最小所對應(yīng)的樣本下標(biāo)
最后,設(shè)定更新速率為φ,當(dāng)某像素I(x)分類為背景時,則有1/φ 的概率更新其背景模型中的樣本,即用c(x)替代樣本cindex(x)。同時,與ViBe 算法傳播機(jī)制相似,本文利用鄰域像素分布相似特性,在更新該像素點(diǎn)背景樣本的同時,再次按照1/φ 的概率隨機(jī)選取I(x)的8 鄰域的一個像素點(diǎn),將c(x)替換其背景模型中的樣本SILTP 值。
本文實(shí)驗(yàn)的軟件環(huán)境為配置了OpenCV 2.4.8 的Visual Studio 2013,硬件環(huán)境為3 Gbyte 的內(nèi)存和Intel Core i3 2.4 GHz 的處理器。處理的視頻序列來自UCSD 的Beach People 視頻序列和CVPR 的PETS 視頻序列。為了進(jìn)行算法比較,說明本文改進(jìn)算法的性能,實(shí)現(xiàn)了ViBe 算法和本文改進(jìn)后的算法,其中,在本文改進(jìn)算法使用的是8 鄰域,模型樣本數(shù)N 取20,SILTP 閾值Th 取3,樣本匹配閾值#min 取2,更新速率φ 取16,而ViBe 算法采用原作者使用的參數(shù),即球形半徑R 取20,樣本數(shù)N 取20,更新速率φ 取16,樣本匹配閾值#min 取2。
本圖像序列主要用來檢驗(yàn)改進(jìn)算法在光照變化和噪聲條件下的檢測效果。在Beach People 圖像序列中,陽光在海面反射會造成光照的突然變化,同時,波動的海面和抖動的樹葉造成的噪聲都會給檢測效果帶來挑戰(zhàn)。在該圖像序列上得到的實(shí)驗(yàn)結(jié)果如圖4 所示,其中,圖4a 表示截取的序列第230幀,圖4b 表示理想狀態(tài)下的檢測結(jié)果,圖4c 表示ViBe 算法處理得到的結(jié)果,圖4d 表示本文改進(jìn)算法檢測的結(jié)果。可以看出,ViBe 算法對噪聲和光照變化的處理不足,導(dǎo)致樹葉和圍墻等背景物體誤檢為前景,影響了機(jī)器視覺的后期處理,比如目標(biāo)跟蹤。而從圖4d 可以得出,本文的改進(jìn)算法檢測效果和ViBe 算法相比有較大的提升。
圖4 原算法與改進(jìn)算法在Beach People 序列上的檢測效果
本圖像序列主要用來檢驗(yàn)改進(jìn)算法在鬼影抑制和復(fù)雜紋理場景下的檢測效果。在PETS 圖像序列中,背景紋理復(fù)雜,同時,靜止的車輛移動后,會造成鬼影區(qū)域。如圖5 所示,圖5a 表示截取的序列第450 幀,圖5b 表示理想狀態(tài)下的檢測結(jié)果,圖5c 是ViBe 算法的處理結(jié)果,圖5d 表示本文改進(jìn)算法得到的檢測結(jié)果??梢钥闯?,本文改進(jìn)算法在鬼影抑制和復(fù)雜背景紋理處理方面和ViBe 算法相比有較大的改進(jìn)。
圖5 原算法與改進(jìn)算法在PETS 序列上的檢測效果
目前有許多的定量分析方法來評估背景差分法的檢測效果,但是很難選擇最優(yōu)的方法,原因在于每個作者提出的分析方法都是有利于評估自身的算法,有失公允。通過比較,可以發(fā)現(xiàn)這些分析方法一般包括4 個因素,即正確檢出的前景像素?cái)?shù)量(TP),誤檢的前景像素?cái)?shù)量(FP),正確檢出的背景像素?cái)?shù)量(TN),誤檢的背景像素?cái)?shù)量(FN)。根據(jù)文獻(xiàn)[9],正確分類比(PCC)公式包含了以上4 個因素,因而采用PCC 來評估本文的實(shí)驗(yàn)結(jié)果,PCC 公式如式(13)所示
為了抑制ViBe 算法在初始化過程中容易引入鬼影問題,本文采用了20 幀初始化方式,同時,紋理特征的提取與比較都需要付出計(jì)算代價,因而改進(jìn)算法在處理速度上較ViBe 算法有所降低。但是,從表1 中可以得出,本文改進(jìn)的算法在正確分類比率上較ViBe 算法有較大提升,特別是在硬件較好環(huán)境下,兩種算法處理速度相近時,改進(jìn)后算法在性能上的優(yōu)勢更加明顯。
表1 原算法與改進(jìn)算法在PCC 和處理速度上的比較
本文針對經(jīng)典ViBe 算法提出改進(jìn)。首先,對于模型初始化方面,本文采用20 幀初始化策略,有效抑制了鬼影的形成;其次,對于前后景檢測方面,本文利用SILTP 算子提取像素的紋理特征,通過比較SILTP 值來對像素進(jìn)行分類,提高了算法對光照變化的魯棒性;最后,對于模型更新方面,本文采用替代異常值方式,在處理噪聲等異常像素時,檢測效果有明顯的提升。實(shí)驗(yàn)結(jié)果顯示,本文提出的改進(jìn)算法在滿足實(shí)時性的基礎(chǔ)上,對復(fù)雜場景的魯棒性較強(qiáng)。
[1]ZIVKOVIC Z. Improved adaptive gausian mixture model for background substraction[C]//Proc. International Conference Pattern Recognition.[S.l.]:IEEE Press,2004(2):28-31.
[2]KIM K,CHALIDABHONGSE T,HHARWOOD D. Real-time foreground-background segmentation using codebook model[J].Realtime Imaging,2005,11(3):172-185.
[3]WANG H,SUTER D.A consensus-based method for tracking:modeling background scenario and foreground appearance[J].Pattern Recognition,2007(40):1091-1105.
[4]MADDALENA L,PETRESINO A. A self-organizing approach to background substraction for visual surveillance application[J].IEEE Trans. Image Processing,2008,17(7):1168-1177.
[5]BANICH O,VAN DROOGENBROECK M. ViBe:a universal background substraction algorithm for video sequences[J].IEEE Trans.Image Processing,2011,20(6):1709-1724.
[6]鄧博,范文兵,常伯樂.基于嵌入式系統(tǒng)的運(yùn)動目標(biāo)檢測算法的設(shè)計(jì)及實(shí)現(xiàn)[J].電視技術(shù),2013,37(9):214-217.
[7]LIAO Shengcai,ZHAO Guoying,KELLOKUMPU V. Modeling pixel process with scale invariant local patterns for background substraction in complex scenes[C]//Proc.2010 IEEE Conference on Computer Vision and Pattern Recognition.[S.l.]:IEEE Press,2010:1301-1306.
[8]TAN X,TRIGGS B.Enhanced local texture feature sets for face recognition under different lighting conditions[EB/OL].[2014-12-10].http://link.springer.com/chapter/10.1007%2F978-3-540-75690-3_13.
[9]ELHABIAN S,ELSAYED H,AHMED S.Moving object detection in spatial domain using background removal techniques-state-of-art[J].Recent Pattern Computaional Science,2008,8(1):32-54.