《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于改進(jìn)ViBe的運(yùn)動目標(biāo)檢測算法
基于改進(jìn)ViBe的運(yùn)動目標(biāo)檢測算法
2017年電子技術(shù)應(yīng)用第4期
胡昭華1,2,張維新1,王 玨1,邵曉雯1,卞飛飛1
1.南京信息工程大學(xué) 電子與信息工程學(xué)院,江蘇 南京210044; 2.南京信息工程大學(xué) 江蘇省大氣環(huán)境與裝備技術(shù)協(xié)同創(chuàng)新中心,江蘇 南京210044
摘要: 在運(yùn)動目標(biāo)檢測領(lǐng)域,ViBe算法由于其實時性高、魯棒性好等特點,已經(jīng)被廣泛地研究與使用。但動態(tài)背景往往會干擾檢測結(jié)果。通過度量背景復(fù)雜度更新距離閾值和背景模型更新率的方式,提出了一種基于改進(jìn)ViBe算法的運(yùn)動目標(biāo)檢測算法,能有效地降低動態(tài)背景對檢測結(jié)果造成的影響。最后,利用全局運(yùn)動補(bǔ)償算法將改進(jìn)的ViBe算法應(yīng)用到攝像機(jī)運(yùn)動情況下,取得了一定效果。
中圖分類號: TP391
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2017.04.033
中文引用格式: 胡昭華,張維新,王玨,等. 基于改進(jìn)ViBe的運(yùn)動目標(biāo)檢測算法[J].電子技術(shù)應(yīng)用,2017,43(4):129-132,137.
英文引用格式: Hu Zhaohua,Zhang Weixin,Wang Jue,et al. Moving object detection algorithm based on improved ViBe[J].Application of Electronic Technique,2017,43(4):129-132,137.
Moving object detection algorithm based on improved ViBe
Hu Zhaohua1,2,Zhang Weixin1,Wang Jue1,Shao Xiaowen1,Bian Feifei1
1.School of Electronic & Information Engineering,Nanjing University of Information Science & Technology,Nanjing 210044,China; 2.Jiangsu Collaborative Innovation Center on Atmospheric Environment and Equipment Technology, Nanjing University of Information Science & Technology,Nanjing 210044,China
Abstract: In the field of moving object detection, ViBe algorithm has been widely studied and used because of its high real-time performance and good robustness. However, dynamic background will often interfere with the detection results. By measuring the background complex degree to update the distance threshold and the background model updating rate, a algorithm of moving target detection algorithm based on improved ViBe is proposed, which can effectively reduce the influence to detection results in dynamic background. In this paper, the improved ViBe algorithm is applied to the situation of moving camera by using the global motion compensation algorithm, which obtains a certain effect.
Key words : ViBe algorithm;dynamic background;background complexity;moving object detection;motion compensation

0 引言

    伴隨計算機(jī)視覺[1]這門學(xué)科的發(fā)展,運(yùn)動目標(biāo)檢測技術(shù)[2]成為視頻運(yùn)動目標(biāo)分析的核心內(nèi)容。如何消除光照的變化、背景的擾動或者攝像機(jī)的運(yùn)動等問題帶來的影響,提高魯棒性,是近些年來研究的熱點問題。

    攝像機(jī)靜止情況下的運(yùn)動目標(biāo)檢測方法主要分為幀間差分法[3]、光流場法[4]和背景建模方法。比較流行的背景建模算法主要有STAUFFER C和GRIMSON W E L[5]提出的混合高斯背景模型,解決了多模態(tài)環(huán)境下顏色分布不集中的運(yùn)動目標(biāo)檢測問題。BARNICH O等人[6,7]提出了ViBe(Visual Background Extractor)算法,具有很好的魯棒性和實時性,但特定條件下會出現(xiàn)Ghost區(qū)域以及對于動態(tài)背景處理效果不理想等問題。針對ViBe算法的不足, GUANG A H等人[8]提出了自適應(yīng)的距離閾值,對于和背景區(qū)分不開的前景取得了較好的效果。QIN L等人[9]在基于ViBe算法的基礎(chǔ)上加入了Gabor濾波器,增加了Ghost區(qū)域的消融速度,并根據(jù)此濾波器更新模型。FAN Z等人[10]提出了使用空間信息和自適應(yīng)閾值改進(jìn)了ViBe算法在陰影檢測方面的效果。

    針對ViBe算法的不足,本文提出IViBe(Improved Visual Background Extractor)算法。通過幀間差分法消除Ghost區(qū)域的影響,并加入動態(tài)背景復(fù)雜度的度量,實時地更新距離閾值和背景模型的更新率,從而降低了動態(tài)背景對檢測結(jié)果造成的影響。并利用全局補(bǔ)償將該算法應(yīng)用到了攝像機(jī)運(yùn)動情況下的運(yùn)動目標(biāo)檢測。

1 基于IViBe算法的運(yùn)動目標(biāo)檢測

    IViBe算法流程框架如圖1所示。本文將從背景模型的建立、前景目標(biāo)檢測、Ghost區(qū)域的去除、基于動態(tài)背景復(fù)雜度的背景模型更新這幾個方面介紹IViBe算法;最后聯(lián)合運(yùn)動補(bǔ)償算法將IViBe算法應(yīng)用到攝像機(jī)運(yùn)動情況下的動態(tài)目標(biāo)檢測問題。

jsj1-t1.gif

    首先,利用視頻序列的第一幀構(gòu)建初始樣本集;其次,對于下一幀圖像,統(tǒng)計每個像素點與其對應(yīng)背景模型的歐氏距離小于距離閾值的個數(shù),稱之為匹配個數(shù),通過比較其與匹配閾值的關(guān)系,區(qū)分前、背景點。并與利用幀間差分法得出的前景點進(jìn)行邏輯“與”運(yùn)算得出最終的前景點檢測結(jié)果;然后,若某一像素點為背景點,則按照一定的概率更新其對應(yīng)的背景模型;最后,根據(jù)背景動態(tài)程度的度量值,實時更新距離閾值和更新概率。

1.1 背景模型的建立

    ViBe算法利用相鄰像素點具有相似空間分布的特點,對圖像中每一個像素點構(gòu)建一個樣本集。假設(shè)第一幀圖像中任一像素點I的坐標(biāo)為(x,y),則在其8鄰域內(nèi)隨機(jī)選取N個像素點作為像素點I的初始樣本集中的樣本值。設(shè)當(dāng)前幀像素值為v(x,y),背景樣本值為vi(x,y),則初始樣本集為MI(x,y)={v1(x,y),v2(x,y),v3(x,y),…,vN(x,y)},至此,初始背景模型構(gòu)建完成。

1.2 前景目標(biāo)檢測

    在背景模型構(gòu)建完成之后,對于新的一幀圖像,計算像素點與樣本集之間的歐氏距離,統(tǒng)計距離小于設(shè)定的距離閾值R的個數(shù)n(x,y),并與預(yù)先設(shè)定的匹配閾值min進(jìn)行比較。當(dāng)匹配個數(shù)n(x,y)小于閾值min,表示該像素點v(x,y)與該像素點的背景樣本集相似程度較低,即被判斷為前景點,反之則為背景點。

    為了避免某一樣本長期保留在背景模型中,從而影響背景模型的精確性,引入了隨機(jī)更新機(jī)制,即當(dāng)像素點完成判別之后,若該像素點屬于背景點,則有1/δ(x,y)的概率更新背景樣本集,即從背景樣本中隨機(jī)選取一個樣本值vi(x,y)并用當(dāng)前像素點v(x,y)取代。

1.3 Ghost區(qū)域的去除

    在ViBe算法中,如果在視頻第一幀中存在待檢目標(biāo),或者當(dāng)運(yùn)動目標(biāo)在視頻中由運(yùn)動目標(biāo)轉(zhuǎn)變?yōu)楸尘皶r,由于不能及時更新背景模型,從而導(dǎo)致在后續(xù)幀當(dāng)中將背景誤判為前景,即為Ghost區(qū)域。

    在IViBe算法中通過幀間差分法得到的前景點與ViBe算法得到的前景點結(jié)果進(jìn)行邏輯“與”運(yùn)算,去除Ghost區(qū)域。

    實驗結(jié)果如圖2所示,本實驗選取的是Walking視頻序列,由實驗結(jié)果可以看出,經(jīng)過ViBe算法得出的實驗結(jié)果在第44幀檢測出結(jié)果的同時仍然存在第2幀中的運(yùn)動目標(biāo)區(qū)域,即為Ghost區(qū)域,在圖2(c)中以白色邊框作為標(biāo)記。而IViBe算法則成功地去除了Ghost區(qū)域,提高了檢測結(jié)果的準(zhǔn)確性。

jsj1-t2.gif

1.4 基于動態(tài)背景復(fù)雜度的背景模型更新

    在ViBe算法中,背景模型更新?lián)碛幸粋€固定的更新率1/δ(x,y),但對于動態(tài)背景情況下,例如水的波紋、樹葉的抖動等,就會出現(xiàn)大量背景點被錯誤地檢測為前景點的情況,所以固定的更新率和距離閾值不能很好地適用于動態(tài)背景。當(dāng)背景動態(tài)程度變化時,如若背景中某一個像素點動態(tài)程度較高,則對應(yīng)該點的像素值變化必然比較大,反之應(yīng)該無變化或變化較小。所以本文提出利用像素值背景模型樣本集的標(biāo)準(zhǔn)差σ(x,y)來度量背景動態(tài)程度。

    本文根據(jù)動態(tài)背景復(fù)雜度σ(x,y)實時更新距離閾值,對于背景動態(tài)程度較大的視頻序列,適當(dāng)增大距離閾值,降低動態(tài)背景對檢測結(jié)果造成的影響,反之則減小適當(dāng)距離閾值。這樣就可以保證R(x,y)一直處于合理的變化范圍之內(nèi)。距離閾值的更新公式如式(1)所示:

     jsj1-gs1.gif

其中α,β是預(yù)先設(shè)定的一個系數(shù),分別取值為0.16和0.01。

    而對于背景模型更新概率1/δ(x,y),采用和距離閾值較為類似的處理方式對更新概率進(jìn)行自適應(yīng)處理。即當(dāng)該像素點被判別為前景像素點時,適當(dāng)減小背景模型更新概率,反之適當(dāng)增大背景模型的更新概率,并且只有當(dāng)該像素點為背景點時,才會進(jìn)行背景模型的更新。背景模型更新方式如式(2)所示:

     jsj1-gs2.gif

其中γ是預(yù)先設(shè)定好的系數(shù),取值為0.1。

1.5 聯(lián)合LK光流法及運(yùn)動補(bǔ)償?shù)哪繕?biāo)檢測

    LK光流法用于計算兩幀圖像中對應(yīng)像素點運(yùn)動信息,利用鄰域信息匹配出光流矢量,從而形成了整幅圖像的運(yùn)動場。當(dāng)物體和圖像背景中存在相對運(yùn)動時,運(yùn)動物體所形成的速度矢量則必然不同于鄰域背景的速度矢量,從而將運(yùn)動物體的位置檢測出來。

    通過LK光流法求出每一像素點運(yùn)動方向向量之后,通過對整幅圖像采用線性插值定理就可以得到運(yùn)動補(bǔ)償后的圖像。如圖3所示,補(bǔ)償過后的圖像和第12幀灰度圖像相比,消除了第12幀中的運(yùn)動背景影響。

jsj1-t3.gif

    對補(bǔ)償后的圖像,利用幀間差分法得出補(bǔ)償前景點,將IViBe算法得出的前景點結(jié)果與補(bǔ)償前景點結(jié)果進(jìn)行“與”運(yùn)算,進(jìn)而得出最終的前景點判別結(jié)果。

2 實驗結(jié)果及分析

2.1 IViBe算法對一般動態(tài)背景的目標(biāo)檢測

    本算法測試硬件平臺為AMD A6,4 GB RAM,軟件開發(fā)環(huán)境為Windows10、Matlab2014a。在本實驗中,使用了20個樣本值作為每個像素點的樣本集,距離閾值初始值設(shè)為20,min設(shè)為2,背景模型的更新率初始值設(shè)為1/16,選取的視頻序列集是changedetection數(shù)據(jù)集[11]中的動態(tài)背景中overpass、fountain01、canoe這3個視頻序列完成IViBe算法對動態(tài)背景的魯棒性測試,并選取了ViBe算法進(jìn)行了對比實驗。

    圖4~圖6為IViBe算法在動態(tài)背景中的魯棒性測試結(jié)果。在本文實驗中的動態(tài)背景分別為水中波紋、樹葉的擾動、噴泉。可以看出,IViBe算法可以很好地抑制動態(tài)背景的干擾。

jsj1-t4.gif

jsj1-t5.gif

jsj1-t6.gif

    為了進(jìn)一步研究IViBe算法對目標(biāo)檢測的準(zhǔn)確度,采用正確分類比PCC,對改進(jìn)算法與原算法進(jìn)行了對比,如式(3)所示:

    jsj1-gs3.gif

其中,TP是正確檢測為前景像素點的個數(shù);TN是正確檢測為背景像素點的個數(shù);FP是被錯誤檢測為前景像素點的背景像素點個數(shù);FN是被錯誤檢測為背景像素點的前景像素點個數(shù)。選取上述3個視頻計算其PCC均值,并和原始ViBe算法進(jìn)行了比較,如表1所示,可以看出IViBe算法相比于ViBe算法有了一定程度上的提升。

jsj1-b1.gif

2.2 IViBe算法對攝像機(jī)運(yùn)動情況下的動目標(biāo)檢測

    由于ViBe算法是針對攝像機(jī)靜止情況下的運(yùn)動目標(biāo)檢測,并不適用于攝像機(jī)運(yùn)動的情況,會產(chǎn)生大量的前景點,但是利用LK光流法通過連續(xù)兩幀計算每個像素點的運(yùn)動向量,并使用該運(yùn)動向量對前一幀圖片進(jìn)行運(yùn)動補(bǔ)償,然后通過幀間差分法得到初始運(yùn)動目標(biāo)檢測結(jié)果和利用IViBe算法對結(jié)果進(jìn)行“與”處理,從而可以得出最終的運(yùn)動目標(biāo)檢測結(jié)果。實驗結(jié)果如圖7所示。

jsj1-t7.gif

    在圖7中,由于攝像機(jī)的運(yùn)動使得ViBe算法檢測出的結(jié)果中,大部分背景像素點都被錯誤地檢測為前景點,如圖7(c)所示,而根據(jù)全局運(yùn)動補(bǔ)償后,結(jié)合幀間差分法和IViBe算法得出的結(jié)果則大部分正確地檢測出了被錯誤檢測為前景點的背景點。

3 結(jié)束語

    本文針對傳統(tǒng)ViBe算法中Ghost區(qū)域以及在動態(tài)背景下的傳統(tǒng)ViBe算法中大量背景點被錯誤檢測為前景點這一缺陷進(jìn)行了分析與改進(jìn)。針對Ghost區(qū)域,本文采用了IViBe算法和幀間差分法的結(jié)合,通過前景點檢測結(jié)果相“與”去除了Ghost區(qū)域。對于動態(tài)背景,本文采用了樣本集的標(biāo)準(zhǔn)差作為該像素點的背景動態(tài)程度度量方式,利用此度量值實時地更新距離閾值和更新率,并測試了對于動態(tài)背景的魯棒性,取得了良好的效果。最后,本文利用LK光流法進(jìn)行全局運(yùn)動補(bǔ)償,并使用改進(jìn)的ViBe算法和幀間差分法進(jìn)行結(jié)合取代并不適用于攝像機(jī)運(yùn)動情況下的ViBe算法,取得了良好效果。

參考文獻(xiàn)

[1] KANATANI K.Statistical optimization for geometric computation:Theory and practice[J].University Japan,1996,32(6):646.

[2] YILMAZ A,JAVED O,SHAH M.Object tracking:a survey[J].Acm Computing Surveys,2006,38(4):81-93.

[3] 甘明剛,陳杰,劉勁,等.一種基于三幀差分和邊緣信息的運(yùn)動目標(biāo)檢測方法[J].電子與信息學(xué)報,2010,32(4):894-897.

[4] PAUL M,HAQUE S M E,CHAKRABORTY S.Human detection in surveillance videos and its applications-a review[J].Eurasip Journal on Advances in Signal Processing,2013(1):1-16.

[5] STAUFFER C,GRIMSON W E L.Adaptive background mixture models for real-time tracking[C].CVPR.IEEE Computer Society,1999:2246.

[6] BARNICH O,VAN DROOGENBROECK 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-24.

[7] BARNICH O,VAN DROOGENBROECK M.ViBE:a powerful random technique to estimate the background in video sequences[C].IEEE International Conference on Acoustics.IEEE,2009:945-948.

[8] GUANG A H,WANG J,XI C.Improved visual background extractor using an adaptive distance threshold[J].Journal of Electronic Imaging,2014,23(6):063005.

[9] QIN L,SHENG B,LIN W,et al.GPU-accelerated video background subtraction using gabor detector[J].Journal of Visual Communication & Image Representation,2015,32(C):1-9.

[10] FAN Z,LU Z,LI J,et al.Robust motion detection based on the enhanced ViBe[J].Ieice Transactions on Information & Systems,2015,E98.D(9):1724-1726.

[11] WANG Y,JODOIN P M,PORIKLI F,et al.CDnet 2014:An expanded change detection benchmark dataset[C].Computer Vision & Pattern Recognition Workshops.IEEE,2014:393-400.



作者信息:

胡昭華1,2,張維新1,王  玨1,邵曉雯1,卞飛飛1

(1.南京信息工程大學(xué) 電子與信息工程學(xué)院,江蘇 南京210044;

2.南京信息工程大學(xué) 江蘇省大氣環(huán)境與裝備技術(shù)協(xié)同創(chuàng)新中心,江蘇 南京210044)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。