于 明,劉 帥,師 碩
(河北工業大學 計算機科學與軟件學院,天津 300401)
改進的ViBe運動目標檢測算法
于 明,劉 帥,師 碩
(河北工業大學 計算機科學與軟件學院,天津 300401)
ViBe算法存在初始化背景建模效果不佳、不適應復雜背景變化以及消除鬼影較慢的問題.為了解決這些問題,提出一種改進的ViBe算法.此算法首先采用多幀圖像梯度幅值進行背景建模,在背景更新時,引入閾值自適應調整因子,實現動態更新閾值,為提高消除鬼影效率,在鬼影消除判別過程中采用基于運動目標區域整體性的判別方法.實驗結果表明,改進的算法能快速的消除鬼影,在復雜背景、光線變化環境中有更好的適應性和更高的檢測精度.
ViBe;目標檢測;梯度幅值;自適應閾值;鬼影消除
監控視頻中的運動目標檢測是信息提取的關鍵步驟,是后續目標分類、跟蹤等研究的基礎.針對目前普遍采用的固定攝像頭設備進行的視頻監控,常用的方法是通過背景建模算法獲得背景模型,再通過差分法即用當前幀減去背景模型獲得運動目標.常用的背景差分法可分為均值濾波法、單高斯模型法、混合高斯模型法以及ViBe(Visual Background Extractor)算法等.均值濾波法[1]使用圖像序列的連續多幀平均像素值作為背景,若當前幀與背景幀對應位置的像素值差大于1個閾值時,則判定該像素點為前景,該算法計算簡單,實時性好,但對環境光照變化和一些動態背景變化比較敏感.單高斯模型法[2]根據背景像素點進行建模,適用于單模態背景模型,對于有樹葉搖動、波動的水面等復雜背景,就會產生大量噪點.混合高斯模型法[3]是運動目標檢測的經典算法,算法對每1個像素點的像素值出現概率使用多個高斯分布進行描述,能反映背景自身的變化,檢測效果較好,但計算量大,實時性差.
2011年,Barnich等人提出的ViBe算法[4]具有檢測速度快、效果好、占用內存低的優點,是一種高效的、魯棒性強的非參數背景建模算法,得到廣泛應用.但是ViBe算法采用第1幀建立初始化背景模型,背景模型的建立過程過于簡單,還不能檢測出在第1幀就出現的運動目標[5].在背景更新過程中,也有不能及時適應環境和運動目標變化的問題,雖然ViBe算法對鬼影有自己的消除算法,但消除速率較慢.針對上述問題,文獻 [6]采用基于像素變化為每個像素設定閾值,提高前景檢測的精確度,但是對大范圍的動態背景處理后還會殘存較多噪聲點.文獻 [7]使用幀間差分技術,通過記錄相關像素值的時域變化來判斷鬼影像素,提高鬼影消除速率,但是其全局的更新策略導致前景像素被填充到背景樣本中.因此,本文對ViBe算法進行改進,首先采用多幀圖像梯度幅值進行背景初始化,使得到的背景模型更加接近于真實背景,然后引入表示背景復雜度的程度因子來自適應調整更新閾值.針對鬼影區域,增加基于目標整體性的判別方法進行改進,使之能夠有效且快速的消除鬼影.實驗結果表明,本文改進算法能較快地消除鬼影,并在復雜背景以及復雜環境中具有較好的適應性.
ViBe算法包括3個模塊:背景模型初始化、前景檢測和背景模型更新.
1)背景模型初始化:ViBe為每個像素v(x)建立背景模型,每個像素點的背景模型有N個像素值,記為M(x)={v1,v2,…,vk,…,vN},通常N=20.初始化時,選擇圖像序列的第1幀,隨機選擇當前像素點的8鄰域任意一點像素值存到當前像素點的背景模型中,得到vk.重復N次,得到初始背景模型M(x).
2)前景檢測:在歐式空間[8]定義1個以像素v(x)為圓心,匹配閾值R為半徑的圓SR(v(x)).它表示與v(x)歐氏距離小于R的所有點的集合,如圖1所示.
統計M(x)與v(x)歐氏距離小于R的個數,若大于最小匹配數Dmin,則判定該像素點是背景點,否則為前景點,如公式(1)所示.

式(1)中:0表示分類為背景點;1表示分類為前景點.
3)背景模型更新:1個像素點被判定是背景點后,需要對該點及其鄰域進行背景模型的更新.ViBe采用隨機更新與擴散機制,對于判定是背景的像素v(x),它有1/φ的概率用其當前的像素值更新背景樣本M(x),同時也有1/φ的概率隨機選擇鄰域的某個點的N個背景樣本元素中的1個更新.其中φ表示時間二次抽樣因子.

圖1 ViBe算法的半徑閾值判斷原理圖Fig.1 Radius threshold judgment of ViBe algorithm
通過采用多幀梯度幅值建立背景模型,改善了背景初始化的效果,根據背景復雜程度把ViBe算法中的固定半徑閾值改成自適應更新閾值,提高了對背景變化和運動目標變化的適應性,提出基于目標整體性的背景判別方法,達到快速消除鬼影的目的.本文改進的ViBe算法流程圖如圖2所示.
2.1 基于多幀圖像梯度幅值建立背景模型
ViBe算法采用第1幀進行背景初始化,容易產生鬼影.為了建立區分背景和前景的背景模型,本文使用基于多幀圖像梯度幅值[9]的背景初始化方法.首先收集前m幀像素的梯度幅值,設第k幀,坐標(x,y)處的灰度值記為f(k),求取m幀內像素的梯度變化最大值,如公式(2)所示

通過f可以表示連續m幀處在像素點(x,y)的變化情況,再求取像素點(x,y)的平均梯度幅值變化,如公式(3)所示

圖2 改進的ViBe算法流程圖理圖Fig.2 Improved ViBe algorithm flow diagram

對像素點(x,y)的判定方法如公式(4)所示

式中:0表示背景點;1表示前景點.本文的背景初始化方法能建立1個預先判斷出背景前景的背景模型,對于殘存的噪聲點,將在后續的背景更新中進行消除.
2.2 閾值自適應調整因子
原始ViBe算法的模型更新半徑R和更新率T是固定的[10],不利于前景檢測,不能適應環境背景變化.為適應復雜場景變化改進固定閾值為自適應調整閾值,為每個像素點設置自己的更新率T(Px)和半徑閾值R(Px).使用新像素與樣本集合中樣本點的最小距離Dt(Px)表現背景的復雜程度,并更新閾值,定義為公式(5)

式中:I(Px)是新像素點Px的一個樣本點,dist(I(Px),Px)是求樣本點與像素點的最小距離;Dt(Px)是第t幀時新像素點Px與其樣本集的各點的最小距離.背景復雜程度可以用來表示,表示所有新像素點的最小距離的平均值,如公式(6)所示

背景模型的更新率T(Px)的值通過平均最小距離dmin(Px)調整,如公式(7)所示

半徑閾值R(Px)可通過公式(8)自適應調整,式中Rs用于控制背景復雜度對半徑閾值的調整.

對ViBe算法的固定半徑閾值R和固定時間更新率T用自適應閾值R(Px)和T(Px)代替,閾值更新機制是通過平均最小距離調整,是能夠體現背景復雜程度的因子.
2.3 目標整體性判別方法消除鬼影
ViBe算法在背景初始化過程中會在原始位置檢測到1個虛假的運動區域,形成鬼影區域[11].ViBe基于像素點消除鬼影,對鬼影區域消除的速率較慢.為了加快消除速率,本文把靜止狀態的像素點Px組成目標塊M(Px),從整體上消除鬼影.如果1個目標塊連續靜止而被檢測為背景,該目標塊就是鬼影,如公式(9)所示.

式中,Ent[M(Px)]初始值是0,用來計數目標塊連續被檢測為前景的次數.如果1個前景目標塊是連續靜止的前景點,則每更新一幀,Ent[M(Px)]加1,連續累加大于固定的閾值TN,則判斷Ent[M(Px)]為鬼影塊,把目標快中所有像素點置為背景點.
本文實驗代碼借助于OpenCV2.4.9開源庫使用C++編寫,采用PETS2009[12]和ChangeDetection(CDnet)[13]數據集,算法中背景初始化樣本個數N=20,選取背景幀m=5,半徑閾值TR初始值為20.硬件環境:Intel i3,2.27 GHz CPU,RAM 8 GB.軟件環境:64位Windows7旗艦版,Visual Studio 2010.
3.1 復雜背景實驗分析
實驗選取CDnet數據集中具有波動的湖面、搖曳的樹枝和變化的樹影的視頻Overpass、Fountain02、Highway來測試ViBe算法、文獻 [6]算法和本文算法對復雜背景的適應性.實驗結果如圖3所示.

圖3 復雜環境的實驗對比Fig.3 Experimental comparison of complex environments
由圖3中可以看出,場景中的微小變化背景如湖面的水波、搖曳的樹枝和變化的樹影,產生很多噪聲. ViBe算法明顯受到了干擾,產生了大量的誤檢像素點,文獻 [6]算法雖然能消除大部分噪聲點,但還有很多誤檢像素點,而本文改進的算法有效地濾除背景噪聲點,檢測到的目標也較為精確.
3.2 鬼影消除實驗分析
實驗采用ChangeDetection(CDnet)數據集,該數據集中有11類具有挑戰性的場景,大約有16萬幀視頻.本節選取該數據集下的Pedestrians、PETS2006兩個視頻用于測試原ViBe算法、文獻 [7]算法和本文改進算法的鬼影消除效果,鬼影消除的效果對比如圖4所示.

圖4 鬼影消除的實驗對比Fig.4 Experimental comparison of ghost elimination
由圖4中可以看出,當目標移動了很大距離后,ViBe算法還殘留大量鬼影像素點,且目標整體不夠完整.文獻 [7]算法雖然提升了消除速率,但仍存在鬼影區域.本文改進的基于整體目標區域的判別方法有效地消除了鬼影,并且去除速率較快.
實驗選用精度Precision,召回率Recall,評價值F1_measure作為衡量檢測結果的定量指標[14],Precision指標反映正確的前景像素點的個數所占檢測出的前景像素點的比值,Recall指標反映了正確分類的前景像素點個數與真實的前景個數的比重,F1_measure是綜合考慮Precision以及Recall 2個指標,反映的是整體的檢測效果.計算公式分別如式(10)、式(11)、式(12)所示.

式中:TP表示正確分類的前景像素點個數;FP表示被誤檢為背景像素點的前景像素點個數.
實驗對比如表1所示.由于本文算法為鬼影消除加入基于目標整體性的判別方法[15],使消除鬼影速度加快,Precision指標明顯高于ViBe算法.本文基于背景復雜度的自適應閾值更新機制,能夠適應復雜背景,Recall指標高于ViBe算法.綜合Precision和Recall指標,本文算法的F1_measure也高于ViBe算法.

表1 算法定量評價Tab.1 Quantitative evaluation of the algorithm
ViBe算法每幀處理時間約為20 ms,本文算法的每幀處理時間約為30 ms,算法復雜度比ViBe有所增加.綜合考慮在滿足實時要求的條件下,本文算法顯著提升了檢測效果.
3.3 復雜環境實驗分析
選取PETS2009數據集中會產生目標遮擋的復雜環境視頻,將本文改進算法與均值法、單高斯算法、混合高斯算法、原ViBe算法進行對比試驗.原始圖片如圖5a)、圖5b)所示,實驗效果對比如圖5所示.

圖5 不同方法效果對比Fig.5 Contrast effect of different methods
從圖5中可以看出,相比均值法、單高斯算法、混合高斯算法,ViBe算法的運動前景檢測效果較好,運動目標提取區域較為精確,對背景的誤檢像素點較少,對遮擋的處理效果較好,適應復雜的環境.
通過分析ViBe算法原理,從背景初始化、背景更新和鬼影消除3個方面對ViBe算法進行改進.通過采用多幀圖像的梯度幅值建立更接近真實背景的背景模型,引入閾值自適應調整因子來適應運動人群和場景的變化,加入基于運動目標整體性的鬼影判別方法提高鬼影消除效率.實驗選用PETS2009數據集和CD-net數據集,實驗結果表明,本文提出的算法在鬼影消除速度和對復雜背景的噪聲抑制效果均優于原始算法,對復雜環境的適應性優于其他背景建模算法.
[1]Meier T,Ngan K N.Video segmentation for content-based coding[J].Circuits and Systems for Video Technology IEEE Transactions on,1999,9(8):1190-1203.
[2]Wren C R,Azarbayejani A,Darrell T,et al.Pfinder:real-time tracking of the human body[C]//Photonics East.International Society for Optics and Photonics,1996:780-785.
[3]Lee D S.Effective gaussian mixture learning for video background subtraction[J].IEEE Transactions on Pattern Analysis&Machine Intelligence,2005,27(5):827-832.
[4]Barnich O,Van D M.ViBe:a universal background subtraction algorithm for video sequences[J].IEEE Transactions on Image Processing A Publication of the IEEE Signal Processing Society,2011,20(6):1709-1724.
[5]胡小冉,孫涵.一種新的基于ViBe的運動目標檢測方法[J].計算機科學,2014,41(2):149-152.
[6]陳星明,廖娟,李勃,等.動態背景下基于改進視覺背景提取的前景檢測[J].光學精密工程,2014,22(9):2545-2552.
[7]徐久強,江萍萍,朱宏博,等.面向運動目標檢測的ViBe算法改進[J].東北大學學報(自然科學版),2015,36(9):1227-1231.
[8]蔣翠清,孫富亮,吳艿芯,等.基于相對歐氏距離的背景差值法視頻目標檢測[J].計算機技術與發展,2015(1):37-40.
[9]原春鋒,王傳旭,張祥光,等.光照突變環境下基于高斯混合模型和梯度信息的視頻分割[J].中國圖象圖形學報,2007,12(11):2068-2072.
[10]王輝,宋建新.一種基于閾值的自適應Vibe目標檢測算法[J].計算機科學,2015,42(s1):154-157.
[11]任典元,王文偉,馬強.基于顏色和局部二值相似模式的背景減除[J].計算機科學,2016,43(3):296-300.
[12]Ferryman J,Shahrokni A.PETS2009:Dataset and challenge[C]//Twelfth IEEE International Workshop on PERFORMANCE Evaluation of Tracking and Surveillance.IEEE,2009:1-6.
[13]Goyette N,Jodoin P,Porikli F,et al.Changedetection.net:A new change detection benchmark dataset[C]//CVPR-change Detection workshop.2012:1-8.
[14]Arora M,Kanjilal U,Varshney D.Evaluation of information retrieval:precision and recall[J].International Journal of Indian Culture and Business Management,2016,12(2):224.
[15]陳忠碧,張啟衡,彭先蓉,等.基于塊估計的運動目標檢測方法[J].光電工程,2006,33(6):15-19.
[責任編輯 田 豐 夏紅梅]
Improved ViBe algorithm for detecting moving objects
YU Ming,LIU Shuai,SHI Shuo
(School of Computer Science and Engineering,Hebei University of Technology,Tianjin 300401,China)
The initial background modeling of the existing ViBe algorithm is not effective and it do not adapt to the complex background change as well as the rate of eliminating ghost is slower.To solve this problems,an improved algorithm was proposed in the paper.First,the background of the algorithm is modeled by multi-frame image gradient amplitude.In the background update,a threshold adaptive factor is introduced to realize the threshold of dynamic updating.The paper adds a method based on integral discrimination of moving objects to enhance the rate of eliminating ghost.The experimental results show that the improved algorithm can eliminate the ghost more quickly,and has better adaptability and higher detection precision in complicated background and light changing environment.
ViBe;objects detection;gradient magnitude;adaptive threshold;ghost elimination
TP39
A
1007-2373(2017)01-0065-06
10.14081/j.cnki.hgdxb.2017.01.011
2016-12-12
天津市科技計劃項目(14RCGFGX00846;15ZCZDNC00130);河北省自然科學基金(F2015202239)
于明(1964-),男,教授,博士生導師.
:師碩(1981-),女,講師.