史瑞環(huán),吳 斌,李務(wù)軍,范風(fēng)兵
(西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 621010)
一種改進(jìn)的融合幀差法的ViBe算法
史瑞環(huán),吳 斌,李務(wù)軍,范風(fēng)兵
(西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 621010)
ViBe運(yùn)動目標(biāo)檢測算法速度快,能有效抑制噪聲,但在光照強(qiáng)度突然改變的情況下,該算法會造成大面積的背景像素被誤判為前景像素,針對此問題提出一種改進(jìn)的融合幀差法的ViBe算法。實(shí)驗(yàn)結(jié)果表明,改進(jìn)的算法能在光照有變化時(shí)依然能檢測到完整的運(yùn)動目標(biāo)。
ViBe;目標(biāo)檢測; 幀差法
隨著互聯(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)算法的有效性。
1.1 ViBe算法
ViBe算法主要包括工作原理、初始化方法、更新策略三個(gè)方面。
(1)工作原理
ViBe算法為每個(gè)背景點(diǎn)存儲了一個(gè)樣本集,然后將每一個(gè)新的像素值和樣本集進(jìn)行比較來判斷是否屬于背景點(diǎn)。如果一個(gè)新的觀察值屬于背景點(diǎn),那么它應(yīng)該與樣本集中的采樣值比較接近。圖1展示了ViBe算法如何判斷像素點(diǎn)是否為前景點(diǎn)。
圖1 判斷像素點(diǎn)是否為前景點(diǎn),坐標(biāo)軸是顏色空間
記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)的像素值作為它的模型樣本值。
(3)更新策略
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)表示如下:
(1)
其中,fm(x,y,t)是當(dāng)前幀的輸入圖像,fn(x,y,t-1)是前一幀輸入圖像,fj(x,y)是檢測到的二值圖像,X是設(shè)定的閾值。
幀差法是根據(jù)相鄰幀差值與閾值X的大小來判斷像素點(diǎn)屬于運(yùn)動前景還是背景,如果相鄰幀差值的絕對值大于等于閾值X,則該像素是前景像素,反之為背景像素。
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表示:
(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 為了驗(yàn)證算法的有效性,本文選取了一段有光照強(qiáng)度變化(像素值變化了30~40)的車輛視頻做測試,該視頻的幀率為15幀/秒,分辨率為160×120,格式為AVI。實(shí)驗(yàn)效果對比如圖3所示,第71幀與前一幀相比無光照變化,39、77幀與前一幀相比有光照變化。根據(jù)實(shí)驗(yàn)結(jié)果可 圖3 實(shí)驗(yàn)效果對比(第1行為視頻第71幀,第2行為第39幀,第3行為第77幀) 以看出ViBe算法在光照不變的情況下檢測效果很好,但是在光照變化的情況下,出現(xiàn)了大面積的像素點(diǎn)誤判。改進(jìn)之后的ViBe算法不再受光照變化的影響,依然可以檢測到運(yùn)動目標(biāo),大大提高了ViBe算法在光照變化時(shí)的目標(biāo)檢測準(zhǔn)確率。 將ViBe算法與幀差法融合在一起,根據(jù)閾值判斷當(dāng)前幀圖像是否發(fā)生了光照變化來決定最終目標(biāo)檢測結(jié)果的算法,在監(jiān)控視頻中有光照變化的情況下依然可以檢測到近乎完整的目標(biāo)。但是ViBe算法還存在對陰影敏感和鬼影[8]長時(shí)間不能消除的問題,這將是下一步的研究計(jì)劃。 [1] 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):118-121. [2] STAUFER C,GRIMSON W E L.Adaptive background mixture models for real-time tracking[C].IEEE Computer Society Conference on Computer Vision and Pattern Recognition,1999(2):241-252. [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:945-948. [4] 邱禎艷, 王修暉. 一種結(jié)合Grabcut的Vibe目標(biāo)檢測算法[J].中國計(jì)量學(xué)院學(xué)報(bào),2012,23(3):250-256. [5] 嚴(yán)紅亮, 王福龍, 劉志煌, 等. 基于ViBe算法的改進(jìn)背景減去法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2014(6):130-134. [6] BARNICH O, M. VAN DROOGENBROECK. ViBe : A universal background subtraction algorithm for video sequences[J]. IEEE Transactions on Image Processing, 2011,20(6):1709-1724. [7] 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):4334-4348. [8] 張杜, 陳元枝, 邱憑婷.基于ViBe算法及Canny邊緣檢測的運(yùn)動目標(biāo)提取[J]. 微型機(jī)與應(yīng)用,2015,34(14):36-38. An improved ViBe method based on frame diference of fusion Shi Ruihuan, Wu Bin, Li Wujun, Fan Fengbing (Information Engineering Institute, Southwest University of Science and Technology, Mianyang 621010, China) ViBe moving object detection algorithm can effectively suppress the noise,but in the case of sudden change of illumination intensity, a large of background area will be misclassified as moving foreground. On the issues mentioned above, this paper propose an improved Vibe algorithm based on frame differential method. Experimental results show that the improved algorithm can still detect the complete moving object when the illumination changes. ViBe; object detection; frame differential method TP391.4 A 1674-7720(2016)04-0044-02 史瑞環(huán),吳斌,李務(wù)軍,等.一種改進(jìn)的融合幀差法的ViBe算法[J] .微型機(jī)與應(yīng)用,2016,35(4):44-45,49. 2015-10-27) 史瑞環(huán)(1987-),女,碩士研究生,主要研究方向:圖像處理與模式識別。 吳斌(1965-),男,博士,教授,博士生導(dǎo)師,主要研究方向:人工智能及其應(yīng)用、智能控制、圖像處理與模式識別。 李務(wù)軍(1991-),男,碩士研究生,主要研究方向:智能控制、模式識別。3 實(shí)驗(yàn)結(jié)果與分析
4 結(jié)論