史瑞環(huán),,吳斌,,李務(wù)軍,范風(fēng)兵
?。ㄎ髂峡萍即髮W(xué) 信息工程學(xué)院,,四川 綿陽 621010)
摘要:ViBe運(yùn)動目標(biāo)檢測算法速度快,能有效抑制噪聲,,但在光照強(qiáng)度突然改變的情況下,,該算法會造成大面積的背景像素被誤判為前景像素,,針對此問題提出一種改進(jìn)的融合幀差法的ViBe算法。實(shí)驗(yàn)結(jié)果表明,,改進(jìn)的算法能在光照有變化時(shí)依然能檢測到完整的運(yùn)動目標(biāo),。
關(guān)鍵詞: ViBe;目標(biāo)檢測,; 幀差法
0引言
隨著互聯(lián)網(wǎng)和物聯(lián)網(wǎng)的飛速發(fā)展 ,,近年來智能安防監(jiān)控得到了廣泛的關(guān)注和應(yīng)用。前景目標(biāo)的提取是運(yùn)動視頻分析的關(guān)鍵步驟,,提取的目標(biāo)是否準(zhǔn)確完整將直接影響到后續(xù)的目標(biāo)分類,、目標(biāo)跟蹤和識別的準(zhǔn)確率。
目前,,常用的運(yùn)動檢測方法有:幀差法,、背景差法、光流法[1],。其中,,背景差法應(yīng)用最為廣泛,核心原理是為每一個(gè)像素點(diǎn)建立一個(gè)背景模型,,然后用模型與當(dāng)前像素相比,,以確定是否為背景像素。經(jīng)典的背景差法是GMM[2],,它將單一像素點(diǎn)所呈現(xiàn)的顏色用M(一般取 3~5)個(gè)高斯分布來近似,,能處理多模型背景場景,但是它的計(jì)算量非常大,,需要估計(jì)分布的參數(shù),,而且更新參數(shù)難調(diào)試。
2009年,,BARNICH O等人[3]提出了一種全新的背景差算法——ViBe算法,,只通過在每個(gè)像素領(lǐng)域內(nèi)隨機(jī)選取若干個(gè)采樣點(diǎn)對各像素建立一個(gè)樣本模型,采用隨機(jī)的方法更新背景模型,。對比其他一些前沿的背景提取方法,,ViBe算法簡單,有效地簡化了程序,,加快了對于幀的處理速度的同時(shí),,可以達(dá)到較高的準(zhǔn)確度,增強(qiáng)了抗噪能力并減少了計(jì)算負(fù)載[4],。但是該算法在背景光照突然發(fā)生變化時(shí)會將大面積的背景誤判為運(yùn)動前景[5],,導(dǎo)致檢測出的目標(biāo)無法識別。針對此問題,,本文結(jié)合幀差法對ViBe算法進(jìn)行改進(jìn),,實(shí)驗(yàn)結(jié)果驗(yàn)證了改進(jìn)算法的有效性,。
1ViBe和幀差法的算法原理
1.1ViBe算法
ViBe算法主要包括工作原理、初始化方法,、更新策略三個(gè)方面,。
(1)工作原理
ViBe算法為每個(gè)背景點(diǎn)存儲了一個(gè)樣本集,,然后將每一個(gè)新的像素值和樣本集進(jìn)行比較來判斷是否屬于背景點(diǎn),。如果一個(gè)新的觀察值屬于背景點(diǎn),,那么它應(yīng)該與樣本集中的采樣值比較接近,。圖1展示了ViBe算法如何判斷像素點(diǎn)是否為前景點(diǎn)。
記v(x)為x點(diǎn)處的像素值,,M(x)={v1,v2,…,vN}為x處的背景樣本集(樣本集大小為N),,SR(v(x))是以x為中心、R為半徑的區(qū)域,。如果SR(v(x))∩{v1,v2,…,vN}大于一個(gè)給定的閾值#min,則認(rèn)為x點(diǎn)屬于背景點(diǎn),。
(2)初始化方法
初始化就是建立背景模型的過程,。ViBe的初始化利用了相近像素點(diǎn)擁有相近的時(shí)空分布特性,,僅通過一幀圖像即可完成,極大地提高了算法的實(shí)時(shí)性,。具體就是:對于一個(gè)像素點(diǎn),,隨機(jī)地選擇它的鄰居點(diǎn)的像素值作為它的模型樣本值。
?。?)更新策略
BARNICH O在參考文獻(xiàn)[6]中提到,,好的更新方式是讓采樣值在模型中的概率單調(diào)降低。ViBe算法采用一種無記憶背景更新策略,,從每個(gè)點(diǎn)的八鄰域中隨機(jī)選取一個(gè)樣本,,替代原有背景模型中隨機(jī)選取的一個(gè)樣本,這樣既保證了樣本在背景模型中存在壽命的平滑指數(shù)衰減,,又避免了先入先出方法造成的變化速度不能正確處理的問題,。同時(shí)采用隨機(jī)鄰域傳播機(jī)制,即背景模型中的樣本也要更新對應(yīng)的鄰域,,這樣有效地保證了空間的一致性,,可以隨時(shí)間恢復(fù)被前景遮擋的背景像素。
1.2幀差法
幀差法[7]的基本原理是將連續(xù)視頻序列中的兩幀或3幀圖像的像素點(diǎn)相減,,然后通過比較相減得到的差值與預(yù)先設(shè)定的閾值相比較來確定視頻序列中移動目標(biāo)的運(yùn)動的區(qū)域,。對于一段視頻序列,用當(dāng)前幀圖像fm(x,y,t)減去前一幀圖像fn(x,y,t-1),,最后得到二值圖像 fj(x,y),。用式(1)表示如下:
fj(x,y)=1,|fm(x,y,t)-fn(x,y,t-1)|≥X
0,|fm(x,y,t)-fn(x,y,t-1)|<X(1)
其中,fm(x,y,t)是當(dāng)前幀的輸入圖像,fn(x,y,t-1)是前一幀輸入圖像,,fj(x,y)是檢測到的二值圖像,X是設(shè)定的閾值,。
幀差法是根據(jù)相鄰幀差值與閾值X的大小來判斷像素點(diǎn)屬于運(yùn)動前景還是背景,,如果相鄰幀差值的絕對值大于等于閾值X,則該像素是前景像素,,反之為背景像素,。
2融合幀差法的ViBe算法
ViBe算法速度快,能有效抑制噪聲,,檢測效果完整準(zhǔn)確,,但卻在光照變化時(shí)幾乎檢測不到準(zhǔn)確的目標(biāo)。而幀差法算法實(shí)現(xiàn)簡單,,檢測速度快,,實(shí)時(shí)性好,受光線變化的影響小,。
根據(jù)以上分析本文采用幀差法來改進(jìn)ViBe算法,。對于一段視頻,首先,,從第二幀開始對輸入的當(dāng)前幀圖像是否有光照變化進(jìn)行判斷,,然后根據(jù)判斷結(jié)果選擇使用的目標(biāo)檢測算法和檢測結(jié)果。即計(jì)算當(dāng)前幀與前一幀圖像像素值的變化程度,,當(dāng)像素值的變化大于等于預(yù)先設(shè)定的閾值時(shí)表明當(dāng)前幀光照有變化,,則將幀差法處理的結(jié)果和ViBe算法處理的結(jié)果做與運(yùn)算,作為當(dāng)前幀的目標(biāo)檢測結(jié)果,。當(dāng)像素值的變化小于設(shè)定的閾值時(shí)表示當(dāng)前幀光照無變化或變化不明顯,,則ViBe算法的處理結(jié)果作為當(dāng)前幀的目標(biāo)檢測結(jié)果。最后再通過形態(tài)學(xué)處理掉一些孤立的噪點(diǎn)得到完整的目標(biāo)圖像,。具體的算法流程圖如圖2所示 ,。
當(dāng)前幀像素值的變化大小用M表示:
M=∑N|fm(x,y,t)-fn(x,y,t-1)|(2)
其中,N是圖像的大小,,fm(x,y,t)是當(dāng)前幀圖像,,fn(x,y,t-1)是前一幀圖像。光照變化可能是變亮,,也可能是變暗,,所以式(2)中加了絕對值。當(dāng)M≥T(T為閾值)時(shí),,表明當(dāng)前幀與前一幀相比,,有光照的變化;當(dāng)M<T,,表明當(dāng)前幀與前一幀光照幾乎無變化或者變化不明顯,。閾值T的大小選取與圖像大小,、目標(biāo)運(yùn)動速度等有關(guān)。
3實(shí)驗(yàn)結(jié)果與分析
為了驗(yàn)證算法的有效性,,本文選取了一段有光照強(qiáng)度變化(像素值變化了30~40)的車輛視頻做測試,,該視頻的幀率為15幀/秒,分辨率為160×120,,格式為AVI,。實(shí)驗(yàn)效果對比如圖3所示,第71幀與前一幀相比無光照變化,,39,、77幀與前一幀相比有光照變化。根據(jù)實(shí)驗(yàn)結(jié)果可以看出ViBe算法在光照不變的情況下檢測效果很好,,但是在光照變化的情況下,,出現(xiàn)了大面積的像素點(diǎn)誤判,。改進(jìn)之后的ViBe算法不再受光照變化的影響,,依然可以檢測到運(yùn)動目標(biāo),大大提高了ViBe算法在光照變化時(shí)的目標(biāo)檢測準(zhǔn)確率,。
4結(jié)論
將ViBe算法與幀差法融合在一起,,根據(jù)閾值判斷當(dāng)前幀圖像是否發(fā)生了光照變化來決定最終目標(biāo)檢測結(jié)果的算法,在監(jiān)控視頻中有光照變化的情況下依然可以檢測到近乎完整的目標(biāo),。但是ViBe算法還存在對陰影敏感和鬼影[8]長時(shí)間不能消除的問題,,這將是下一步的研究計(jì)劃。
參考文獻(xiàn)
?。?] PANDER R P,,MISHRA N D,GULBANE S,, et al. Detection of moving object with the help of motion detection alarm system in video survelliance[J].Journal of Signal and Image Processing,,2012,2(3):118121.
?。?] STAUFER C,,GRIMSON W E L.Adaptive background mixture models for realtime tracking[C].IEEE Computer Society Conference on Computer Vision and Pattern Recognition,1999(2):241252.
[3] BARNIEH O,,VAN DROOGENBROECH M.ViBe:a powerful random technique to estimate the background in video sequences[C]Proceedings of IEEE International Conference on Acoustics,,Speech and Signal Processing,IEEE,2009:945948.
?。?] 邱禎艷, 王修暉. 一種結(jié)合Grabcut的Vibe目標(biāo)檢測算法[J].中國計(jì)量學(xué)院學(xué)報(bào),2012,23(3):250256.
?。?] 嚴(yán)紅亮, 王福龍, 劉志煌, 等. 基于ViBe算法的改進(jìn)背景減去法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2014(6):130134.
[6] BARNICH O,, M. VAN DROOGENBROECK. ViBe : A universal background subtraction algorithm for video sequences[J]. IEEE Transactions on Image Processing, 2011,20(6):17091724.
?。?] SAMUELE S, ANDREA C, LUIGI D S. Adaptive appearance modeling for video tracking: survey and evaluation[J]. IEEE Transactions on Image Processing, 2012,21(21):43344348.
?。?] 張杜, 陳元枝, 邱憑婷.基于ViBe算法及Canny邊緣檢測的運(yùn)動目標(biāo)提取[J]. 微型機(jī)與應(yīng)用,2015,34(14):3638.