文獻(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.
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)檢測問題。
首先,利用視頻序列的第一幀構(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)確性。
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)所示:
其中α,β是預(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)所示:
其中γ是預(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)動背景影響。
對補(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)背景的干擾。
為了進(jìn)一步研究IViBe算法對目標(biāo)檢測的準(zhǔn)確度,采用正確分類比PCC,對改進(jìn)算法與原算法進(jìn)行了對比,如式(3)所示:
其中,TP是正確檢測為前景像素點的個數(shù);TN是正確檢測為背景像素點的個數(shù);FP是被錯誤檢測為前景像素點的背景像素點個數(shù);FN是被錯誤檢測為背景像素點的前景像素點個數(shù)。選取上述3個視頻計算其PCC均值,并和原始ViBe算法進(jìn)行了比較,如表1所示,可以看出IViBe算法相比于ViBe算法有了一定程度上的提升。
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所示。
在圖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)