張磊 孟亮
關(guān)鍵詞: 智能監(jiān)控; 運(yùn)動(dòng)目標(biāo)檢測(cè); 背景建模; ViBe算法; 最小誤差閾值分割; 鬼影消除; 像素梯度
中圖分類號(hào): TN911.73?34 ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ? ? ? ? ? ? ? ? ?文章編號(hào): 1004?373X(2019)04?0161?05
An improved ViBe algorithm based on adaptive minimum error threshold
ZHANG Lei, MENG Liang
(School of Computer Science and Technology, Taiyuan University of Technology, Taiyuan 030024, China)
Abstract: Since the ViBe algorithm cannot rapidly suppress the ghost phenomenon, an improved ViBe algorithm based on the adaptive minimum error threshold is proposed. The ghost pixels are discriminated and eliminated by computing the minimum error segmentation threshold of each image frame, so as to accelerate the ghost suppression speed. The threshold for determining sample distances is dynamically adjusted according to the variance values of samples, so as to improve the complex scene detection accuracy of the algorithm. The update rate of the background model is effectively optimized by calculating the gradient values of pixels. The experimental results show that the improved ViBe algorithm can effectively improve the speed of ghost elimination, and the accuracy of the algorithm is also improved.
Keywords: intelligent monitoring; moving object detection; background modeling; ViBe algorithm; minimum error threshold segmentation; ghost elimination; pixel gradient
隨著互聯(lián)網(wǎng)的高速發(fā)展,越來(lái)越多的智能監(jiān)控設(shè)備遍布了生活中的各個(gè)角落。運(yùn)動(dòng)目標(biāo)檢測(cè)成為智能監(jiān)控領(lǐng)域的核心步驟,目前主流的運(yùn)動(dòng)目標(biāo)檢測(cè)算法大致分為三種:幀間差分法[1]、光流法[2]和背景減除法[3]。其中背景減除法是目前最為常用的目標(biāo)檢測(cè)方法,其基本原理是通過(guò)給圖像中的每個(gè)像素點(diǎn)建立背景模型,利用當(dāng)前點(diǎn)與其背景模型的對(duì)比來(lái)確定該點(diǎn)是背景點(diǎn)還是前景點(diǎn)。常用的背景減除法有混合高斯模型[4]、基于LBP的紋理特征法[5]、ViBe算法[6]?;旌细咚鼓P湍軌蜉^好地適應(yīng)相對(duì)復(fù)雜的場(chǎng)景,對(duì)于外界干擾也有一定的魯棒性,但是它需要計(jì)算多個(gè)高斯模型,計(jì)算量大且占用資源較多,在實(shí)際應(yīng)用中難度較大。紋理特征法采用多個(gè)LBP紋理特征以及權(quán)重來(lái)構(gòu)建背景模型,所依賴的參數(shù)較少,對(duì)陰影的干擾也有很好的魯棒性,但是其計(jì)算紋理需要花費(fèi)很多時(shí)間,實(shí)時(shí)性不太理想。
ViBe算法利用視頻序列的第一幀即可完成背景建模,計(jì)算量小、速度快,能夠很好地滿足實(shí)時(shí)性的要求,但是該算法也存在一些問題,當(dāng)場(chǎng)景中靜止的物體突然開始運(yùn)動(dòng)時(shí),該算法會(huì)將相應(yīng)區(qū)域的背景點(diǎn)誤檢為前景點(diǎn),從而形成鬼影現(xiàn)象,并且無(wú)法及時(shí)消除,嚴(yán)重干擾了運(yùn)動(dòng)目標(biāo)檢測(cè)的準(zhǔn)確性。針對(duì)該算法的這一缺陷,國(guó)內(nèi)外許多學(xué)者進(jìn)行了研究,文獻(xiàn)[7]提出了一種通過(guò)連續(xù)兩幀前景背景像素時(shí)域變化來(lái)判別鬼影像素點(diǎn)并且消除的方法,該方法有效地提高了鬼影的抑制速度,但是其對(duì)于鬼影像素點(diǎn)進(jìn)行二次判別時(shí)的誤差并沒有得到有效的控制。文獻(xiàn)[8]提出了一種動(dòng)態(tài)閾值的改進(jìn)算法,采用Otsu算法計(jì)算出每幀圖像的分割閾值,再對(duì)鬼影像素點(diǎn)進(jìn)行判別,該方法有效地提高了分割的準(zhǔn)確性,但對(duì)前景和背景方差較小的圖像分割誤差仍然很大。
在綜合了前人研究工作各自優(yōu)勢(shì)和不足的基礎(chǔ)上,本文提出了一種基于最小誤差動(dòng)態(tài)閾值的ViBe改進(jìn)算法。實(shí)驗(yàn)表明,改進(jìn)后的ViBe算法有效地提高了鬼影判別的準(zhǔn)確率,加快了鬼影的消除速度。
ViBe是一種像素級(jí)的運(yùn)動(dòng)目標(biāo)檢測(cè)算法,該算法主要包括:模型的初始化、模型的檢測(cè)過(guò)程、模型的更新策略三個(gè)方面。
1.1 ?模型的初始化
初始化是建立背景模型的過(guò)程,ViBe算法主要是利用單幀視頻序列初始化背景模型,對(duì)于圖像中的每一個(gè)像素點(diǎn)x,隨機(jī)地選擇其八鄰域內(nèi)n個(gè)點(diǎn)的像素值作為它的模型樣本值,背景模型[B(x)]的定義為:
[B(x)={t1,t2,…,tn}] (1)
1.2 ?模型的檢測(cè)過(guò)程
ViBe算法采用2?D歐氏距離[9]對(duì)像素點(diǎn)進(jìn)行判別,記[SR(t(x))]為以[t(x)]為中心的2?D歐氏空間,則近似樣本點(diǎn)的集合為:
[JR={SR(t(x))?B(x)}] ? ? ? ?(2)
當(dāng)近似樣本點(diǎn)的個(gè)數(shù)大于給定的閾值#MIN時(shí),則判定該點(diǎn)為背景點(diǎn),否則為前景點(diǎn)。
1.3 ?模型的更新策略
每一個(gè)背景像素點(diǎn)都有[1φ]的概率去更新自己的樣本集以及鄰域像素點(diǎn)的樣本集。更新鄰居的樣本值利用像素值的空間傳播特性,背景模型逐漸向外擴(kuò)散,同時(shí)當(dāng)前景點(diǎn)計(jì)數(shù)達(dá)到臨界值時(shí)將其變?yōu)楸尘?,并有[1φ]的概率去更新自己的模型樣本值。
相較于其他運(yùn)動(dòng)檢測(cè)算法,ViBe算法較好地保證了實(shí)時(shí)性,但是該算法通過(guò)視頻序列的第一幀進(jìn)行背景建模,如果在第一幀中恰好存在將要檢測(cè)的前景物體,當(dāng)其開始運(yùn)動(dòng)時(shí),該算法會(huì)將其誤檢為背景,從而會(huì)在其初始的位置留下痕跡,造成鬼影現(xiàn)象,雖然原始算法在背景的更新策略中采用了計(jì)數(shù)器的方法來(lái)消除鬼影,但是需要在很多幀之后才能完成鬼影的消除,鬼影的抑制效率并不高。
針對(duì)ViBe算法存在的上述問題,本文提出一種基于最小誤差閾值自適應(yīng)的ViBe改進(jìn)算法。在ViBe算法完成對(duì)當(dāng)前幀的前景檢測(cè)之后,采用最小誤差閾值分割算法求出該幀的最佳分割閾值,并根據(jù)判別條件對(duì)前景像素點(diǎn)進(jìn)行二次判別,實(shí)現(xiàn)鬼影的抑制。并且利用樣本集方差動(dòng)態(tài)調(diào)整了距離判定閾值,提高了在不同環(huán)境下前景點(diǎn)提取的準(zhǔn)確率。此外,在背景更新策略中通過(guò)計(jì)算像素點(diǎn)的梯度, 優(yōu)化了背景模型的更新速率,有效地提高了算法的性能。
2.1 ?最小誤差閾值分割算法
在一張分辨率大小為[M×N],灰度級(jí)為[L]的灰度圖像中,灰度值大小為[i]的像素點(diǎn)的個(gè)數(shù)用[ni]表示,全部像素點(diǎn)的個(gè)數(shù)用[n]表示,[n=n0+n1+…+nL-1],用[pi]表示灰度值為[i]的像素點(diǎn)出現(xiàn)的概率,假設(shè)理想的灰度分布模型滿足混合正態(tài)分布:
[p(i)=j=01Pj?pij] (3)
式中,[p0]和[p1]分別為背景[C0]和前景[C1]各自分布的先驗(yàn)概率,且[C0]和[C1]的各自分布[pij]均服從均值為[μj],方差為[σ2j]的正態(tài)分布:
[pij=12πσjexp-i-μj22σ2j] (4)
假設(shè)[t]為[C0]和[C1]的分割閾值,則[C0]和[C1]各自分布的均值分別為:
[μ0t=μtp0t, ?μ1t=μT-μtp1t]
式中:[μt=i=0ti?pi];[μT=i=0L-1i?pi]。
[C0]和[C1]各自分布的方差分別為:
[σ20t=i=0tpii2-μ0t2]
[σ21t=i=t+1L-1pii2-μ1t2]
基于最小分類誤差思想可以得到以下最小誤差目標(biāo)函數(shù)[Jt]:
[Jt=p0tlnσ20p0t2+p1tlnσ21p0t2] (5)
最佳閾值[t?]在[Jt]取最小值時(shí)獲得,即:
[t?=argmin0≤t≤L-1Jt]
隨機(jī)選取M個(gè)通過(guò)ViBe算法檢測(cè)獲取的背景像素點(diǎn),求出這M個(gè)背景像素點(diǎn)的平均灰度值,確立以下二次判別的規(guī)則:
1) [當(dāng)Vm≤t*時(shí),]
[f(x)=v(x)>t*, ?判為前景點(diǎn)v(x)≤t*, ?判為背景點(diǎn)]
即暗背景,亮前景。
[當(dāng)Vm>t*時(shí),]
[f(x)=v(x)>t*, ?判為前景點(diǎn)v(x)≤t*, ?判為背景點(diǎn)]
即亮背景,暗前景。
式中,[v(x)]表示通過(guò)ViBe算法檢測(cè)出的前景像素點(diǎn),采用該判別規(guī)則對(duì)[v(x)]進(jìn)行二次判別,能夠有效地過(guò)濾掉部分ViBe算法誤檢的前景像素點(diǎn),將其重新判為背景。
2.2 ?動(dòng)態(tài)調(diào)整距離判定閾值
在前景點(diǎn)的檢測(cè)過(guò)程中,距離判定閾值[R]與樣本集[B(x)]的樣本方差[σm]成正比,[σm]越大,說(shuō)明場(chǎng)景越復(fù)雜,距離判定閾值[R]也應(yīng)該越大。具體表示為:
[R=0.5σm, ?20≤R≤40] ?(6)
如圖1所示,在動(dòng)態(tài)調(diào)整距離判定閾值之后,本文算法檢測(cè)的正確率更快地達(dá)到了平均值,并在趨于穩(wěn)定之后較原ViBe算法有略微的提升。
2.3 ?優(yōu)化模型的更新速率
在模型的更新策略中,本文引入了兩種不同的更新參數(shù)[φ1=8],[φ2=16],通過(guò)計(jì)算當(dāng)前幀圖像的平均梯度[10][G]以及前景目標(biāo)經(jīng)過(guò)區(qū)域的像素點(diǎn)的梯度值[G]來(lái)選擇與之匹配的更新速率。若[G>G],則說(shuō)明前景目標(biāo)變化速度較快,應(yīng)選擇較快的模型更新速率,以便前景目標(biāo)經(jīng)過(guò)的區(qū)域可以快速更新為背景。反之,若[G<G],則說(shuō)明前景變化速度較慢,此時(shí)應(yīng)選擇較慢的模型更新速率,以便前景像素點(diǎn)有充足的時(shí)間融入到樣本集當(dāng)中。優(yōu)化更新速率后的效果對(duì)比圖如圖2所示。
圖2中的實(shí)驗(yàn)素材是一段高速路的監(jiān)控視頻。由于車速較快,ViBe算法檢測(cè)的準(zhǔn)確率不是很高,但優(yōu)化更新速率后的本文算法在應(yīng)對(duì)這種場(chǎng)景時(shí)準(zhǔn)確率明顯提升。算法流程圖如圖3所示。
本文實(shí)驗(yàn)環(huán)境為VS 2015 + OpenCV 3.2.0,為了驗(yàn)證本文算法對(duì)鬼影的抑制效果,本文在兩種場(chǎng)景下對(duì)該算法進(jìn)行了測(cè)試。場(chǎng)景一采用的是Change Detection數(shù)據(jù)集中[11]的PETS 2006視頻序列。如圖4所示,圖4a)和圖4d)分別為序列的第548幀和第602幀原圖;在548幀處,ViBe算法和本文算法都檢測(cè)出了嚴(yán)重的鬼影現(xiàn)象,見圖4b)和圖4c);圖4e)為ViBe算法在602幀處的檢測(cè)圖,可以看出ViBe算法已經(jīng)對(duì)鬼影進(jìn)行了抑制,但仍有部分殘余;而從圖4f)可以看出,本文算法在602幀處已經(jīng)基本完成了鬼影的消除。
場(chǎng)景二是兩種算法對(duì)靜止物體鬼影抑制的效果對(duì)比圖,目標(biāo)車輛在第187幀時(shí)開始靜止,直到第215幀ViBe算法的檢測(cè)效果圖中仍殘留該目標(biāo)的部分鬼影見圖5b),而本文算法在第215幀處已經(jīng)基本完成了鬼影的抑制見圖5c)。此外,該目標(biāo)車輛在239幀時(shí)開始緩慢啟動(dòng),直到第247幀時(shí)ViBe算法仍無(wú)法完整地檢測(cè)出目標(biāo)車輛見圖5e),而本文算法已經(jīng)較好地完成了目標(biāo)的檢測(cè)見圖5f)。
通過(guò)上述兩組實(shí)驗(yàn)可以看出,與ViBe算法相比,本文算法有效地提高了鬼影抑制的速度,并且能夠更快檢測(cè)出緩慢啟動(dòng)的前景目標(biāo)。此外,為了更加精確地評(píng)估本文改進(jìn)算法的性能,本文采用Change Detection數(shù)據(jù)集中的4個(gè)測(cè)試序列對(duì)算法的平均識(shí)別率以及平均準(zhǔn)確率進(jìn)行評(píng)測(cè),并與KDE,SOBS,GMM,KNN以及原始ViBe算法進(jìn)行了對(duì)比,對(duì)比結(jié)果見圖6。
圖中Baseline是基本測(cè)試序列;Dynamic Background是動(dòng)態(tài)背景下測(cè)試序列;Camera Jitter是相機(jī)抖動(dòng)情況下的測(cè)試序列;Intermittent Object Motion是物體間歇性運(yùn)動(dòng)的測(cè)試序列??梢钥闯霰疚母倪M(jìn)算法相較于其他算法有較高的準(zhǔn)確率,并且在檢測(cè)動(dòng)態(tài)背景的視頻序列時(shí),識(shí)別率較傳統(tǒng)ViBe算法有明顯的提升。
最后,本文通過(guò)對(duì)Change Detection數(shù)據(jù)集中的所有序列進(jìn)行測(cè)試,統(tǒng)計(jì)并求出六種算法的假正率(FPR)、假負(fù)率(FNR)、分類錯(cuò)誤率(PWC)、準(zhǔn)確率和識(shí)別率的加權(quán)調(diào)和平均值(F?Measure),詳細(xì)結(jié)果如表1所示??梢钥闯霰疚乃惴ㄏ噍^于原始的ViBe算法假正率、假負(fù)率、分類錯(cuò)誤率均有小幅下降,并且衡量一個(gè)算法分類性能好壞的F?Measure值也有所提升。
針對(duì)ViBe算法無(wú)法快速抑制鬼影現(xiàn)象的問題,本文提出一種基于最小誤差閾值分割的改進(jìn)算法,并且動(dòng)態(tài)調(diào)整了像素點(diǎn)檢測(cè)時(shí)的距離判定閾值,此外還通過(guò)計(jì)算像素點(diǎn)的梯度值優(yōu)化了模型的更新速率。實(shí)驗(yàn)結(jié)果表明,本文改進(jìn)算法有效地提升了鬼影的抑制速度,并且保持了較高的識(shí)別率和準(zhǔn)確率,能夠更好地適用于對(duì)運(yùn)動(dòng)目標(biāo)檢測(cè)準(zhǔn)確度要求比較高的場(chǎng)景。未來(lái)的研究工作將著重于進(jìn)一步提升算法的運(yùn)行速度,優(yōu)化算法的時(shí)效性,以提升算法的實(shí)用價(jià)值。
參考文獻(xiàn)
[1] RAMYA P, RAJESWARI R. A modified frame difference method using correlation coefficient for background subtraction [J]. Procedia computer science, 2016, 93: 478?485.
[2] FAN X, TJAHJADI T. A spatial?temporal framework based on histogram of gradients and optical flow for facial expression recognition in video sequences [J]. Pattern recognition, 2015, 48(11): 3407?3416.
[3] AVGERINAKIS K. Video processing and background subtraction for change detection and activity recognition [J]. Water research, 2015, 39(12): 2459?2474.
[4] WANG K, LIANG Y, XING X, et al. Target detection algorithm based on Gaussian mixture background subtraction model [C]// Proceedings of Chinese Intelligent Automation Conference. Berlin: Springer, 2015: 439?447.
[5] 趙玉丹.基于LBP的圖像紋理特征的提取及應(yīng)用[D].西安:西安郵電大學(xué),2015.
ZHAO Yudan. The extraction and application of image texture feature based on LBP [D]. Xian: Xian University of Posts and Telecommnications, 2015.
[6] BARNICH O, DROOGENBROECK M V. ViBe: a powerful random technique to estimate the background in video sequences [C]// Proceedings of IEEE International Conference on Acoustics, Speech and Signal Processing. Taipei: IEEE, 2009: 945?948.
[7] 李洪杰,程欣宇,任海林.一種基于幀差和ViBe算法的前景檢測(cè)方法[J].電子技術(shù)與軟件工程,2014(21):119?120.
LI Hongjie, CHENG Xinyu, REN Hailin. A foreground detection method based on frame difference and ViBe [J]. Electronic technology & software engineering, 2014(21): 119?120.
[8] 吳建勝,徐博.動(dòng)態(tài)閾值的ViBe運(yùn)動(dòng)目標(biāo)檢測(cè)[J].計(jì)算機(jī)工程與應(yīng)用,2017,53(11):182?186.
WU Jiansheng, XU Bo. ViBe moving object detection method based on dynamic threshold [J]. Computer engineering and applications, 2017, 53(11): 182?186.
[9] GONZALEZ?CASTRO V, ALEGRE E, GARCIA?OLALLA O, et al. Adaptive pattern spectrum image description using Euclidean and Geodesic distance without training for texture classification [J]. IET computer vision, 2012, 6(6): 581?589.
[10] PLOTZ T, ROTH S. Registering images to untextured geometry using average shading gradients [C]// Proceedings of IEEE International Conference on Computer Vision. Washington: IEEE Computer Society, 2015: 2030?2038.
[11] GOYETTE N, JODOIN P M, PORIKLI F, et al. Changedetection.net: a new change detection benchmark dataset [C]// Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops. Providence: IEEE, 2012: 1?8.
[12] LIU M, ZHANG H, WANG C, et al. Polarimetric synthetic aperture radar change detection for specific land cover types [J]. International journal of digital earth, 2015, 8(4): 334?344.