文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.04.033
中文引用格式: 胡昭華,張維新,王玨,等. 基于改進ViBe的運動目標檢測算法[J].電子技術應用,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 引言
伴隨計算機視覺[1]這門學科的發(fā)展,運動目標檢測技術[2]成為視頻運動目標分析的核心內容。如何消除光照的變化、背景的擾動或者攝像機的運動等問題帶來的影響,提高魯棒性,是近些年來研究的熱點問題。
攝像機靜止情況下的運動目標檢測方法主要分為幀間差分法[3]、光流場法[4]和背景建模方法。比較流行的背景建模算法主要有STAUFFER C和GRIMSON W E L[5]提出的混合高斯背景模型,解決了多模態(tài)環(huán)境下顏色分布不集中的運動目標檢測問題。BARNICH O等人[6,7]提出了ViBe(Visual Background Extractor)算法,具有很好的魯棒性和實時性,但特定條件下會出現Ghost區(qū)域以及對于動態(tài)背景處理效果不理想等問題。針對ViBe算法的不足, GUANG A H等人[8]提出了自適應的距離閾值,對于和背景區(qū)分不開的前景取得了較好的效果。QIN L等人[9]在基于ViBe算法的基礎上加入了Gabor濾波器,增加了Ghost區(qū)域的消融速度,并根據此濾波器更新模型。FAN Z等人[10]提出了使用空間信息和自適應閾值改進了ViBe算法在陰影檢測方面的效果。
針對ViBe算法的不足,本文提出IViBe(Improved Visual Background Extractor)算法。通過幀間差分法消除Ghost區(qū)域的影響,并加入動態(tài)背景復雜度的度量,實時地更新距離閾值和背景模型的更新率,從而降低了動態(tài)背景對檢測結果造成的影響。并利用全局補償將該算法應用到了攝像機運動情況下的運動目標檢測。
1 基于IViBe算法的運動目標檢測
IViBe算法流程框架如圖1所示。本文將從背景模型的建立、前景目標檢測、Ghost區(qū)域的去除、基于動態(tài)背景復雜度的背景模型更新這幾個方面介紹IViBe算法;最后聯合運動補償算法將IViBe算法應用到攝像機運動情況下的動態(tài)目標檢測問題。
首先,利用視頻序列的第一幀構建初始樣本集;其次,對于下一幀圖像,統計每個像素點與其對應背景模型的歐氏距離小于距離閾值的個數,稱之為匹配個數,通過比較其與匹配閾值的關系,區(qū)分前、背景點。并與利用幀間差分法得出的前景點進行邏輯“與”運算得出最終的前景點檢測結果;然后,若某一像素點為背景點,則按照一定的概率更新其對應的背景模型;最后,根據背景動態(tài)程度的度量值,實時更新距離閾值和更新概率。
1.1 背景模型的建立
ViBe算法利用相鄰像素點具有相似空間分布的特點,對圖像中每一個像素點構建一個樣本集。假設第一幀圖像中任一像素點I的坐標為(x,y),則在其8鄰域內隨機選取N個像素點作為像素點I的初始樣本集中的樣本值。設當前幀像素值為v(x,y),背景樣本值為vi(x,y),則初始樣本集為MI(x,y)={v1(x,y),v2(x,y),v3(x,y),…,vN(x,y)},至此,初始背景模型構建完成。
1.2 前景目標檢測
在背景模型構建完成之后,對于新的一幀圖像,計算像素點與樣本集之間的歐氏距離,統計距離小于設定的距離閾值R的個數n(x,y),并與預先設定的匹配閾值min進行比較。當匹配個數n(x,y)小于閾值min,表示該像素點v(x,y)與該像素點的背景樣本集相似程度較低,即被判斷為前景點,反之則為背景點。
為了避免某一樣本長期保留在背景模型中,從而影響背景模型的精確性,引入了隨機更新機制,即當像素點完成判別之后,若該像素點屬于背景點,則有1/δ(x,y)的概率更新背景樣本集,即從背景樣本中隨機選取一個樣本值vi(x,y)并用當前像素點v(x,y)取代。
1.3 Ghost區(qū)域的去除
在ViBe算法中,如果在視頻第一幀中存在待檢目標,或者當運動目標在視頻中由運動目標轉變?yōu)楸尘皶r,由于不能及時更新背景模型,從而導致在后續(xù)幀當中將背景誤判為前景,即為Ghost區(qū)域。
在IViBe算法中通過幀間差分法得到的前景點與ViBe算法得到的前景點結果進行邏輯“與”運算,去除Ghost區(qū)域。
實驗結果如圖2所示,本實驗選取的是Walking視頻序列,由實驗結果可以看出,經過ViBe算法得出的實驗結果在第44幀檢測出結果的同時仍然存在第2幀中的運動目標區(qū)域,即為Ghost區(qū)域,在圖2(c)中以白色邊框作為標記。而IViBe算法則成功地去除了Ghost區(qū)域,提高了檢測結果的準確性。
1.4 基于動態(tài)背景復雜度的背景模型更新
在ViBe算法中,背景模型更新擁有一個固定的更新率1/δ(x,y),但對于動態(tài)背景情況下,例如水的波紋、樹葉的抖動等,就會出現大量背景點被錯誤地檢測為前景點的情況,所以固定的更新率和距離閾值不能很好地適用于動態(tài)背景。當背景動態(tài)程度變化時,如若背景中某一個像素點動態(tài)程度較高,則對應該點的像素值變化必然比較大,反之應該無變化或變化較小。所以本文提出利用像素值背景模型樣本集的標準差σ(x,y)來度量背景動態(tài)程度。
本文根據動態(tài)背景復雜度σ(x,y)實時更新距離閾值,對于背景動態(tài)程度較大的視頻序列,適當增大距離閾值,降低動態(tài)背景對檢測結果造成的影響,反之則減小適當距離閾值。這樣就可以保證R(x,y)一直處于合理的變化范圍之內。距離閾值的更新公式如式(1)所示:
其中α,β是預先設定的一個系數,分別取值為0.16和0.01。
而對于背景模型更新概率1/δ(x,y),采用和距離閾值較為類似的處理方式對更新概率進行自適應處理。即當該像素點被判別為前景像素點時,適當減小背景模型更新概率,反之適當增大背景模型的更新概率,并且只有當該像素點為背景點時,才會進行背景模型的更新。背景模型更新方式如式(2)所示:
其中γ是預先設定好的系數,取值為0.1。
1.5 聯合LK光流法及運動補償的目標檢測
LK光流法用于計算兩幀圖像中對應像素點運動信息,利用鄰域信息匹配出光流矢量,從而形成了整幅圖像的運動場。當物體和圖像背景中存在相對運動時,運動物體所形成的速度矢量則必然不同于鄰域背景的速度矢量,從而將運動物體的位置檢測出來。
通過LK光流法求出每一像素點運動方向向量之后,通過對整幅圖像采用線性插值定理就可以得到運動補償后的圖像。如圖3所示,補償過后的圖像和第12幀灰度圖像相比,消除了第12幀中的運動背景影響。
對補償后的圖像,利用幀間差分法得出補償前景點,將IViBe算法得出的前景點結果與補償前景點結果進行“與”運算,進而得出最終的前景點判別結果。
2 實驗結果及分析
2.1 IViBe算法對一般動態(tài)背景的目標檢測
本算法測試硬件平臺為AMD A6,4 GB RAM,軟件開發(fā)環(huán)境為Windows10、Matlab2014a。在本實驗中,使用了20個樣本值作為每個像素點的樣本集,距離閾值初始值設為20,min設為2,背景模型的更新率初始值設為1/16,選取的視頻序列集是changedetection數據集[11]中的動態(tài)背景中overpass、fountain01、canoe這3個視頻序列完成IViBe算法對動態(tài)背景的魯棒性測試,并選取了ViBe算法進行了對比實驗。
圖4~圖6為IViBe算法在動態(tài)背景中的魯棒性測試結果。在本文實驗中的動態(tài)背景分別為水中波紋、樹葉的擾動、噴泉。可以看出,IViBe算法可以很好地抑制動態(tài)背景的干擾。
為了進一步研究IViBe算法對目標檢測的準確度,采用正確分類比PCC,對改進算法與原算法進行了對比,如式(3)所示:
其中,TP是正確檢測為前景像素點的個數;TN是正確檢測為背景像素點的個數;FP是被錯誤檢測為前景像素點的背景像素點個數;FN是被錯誤檢測為背景像素點的前景像素點個數。選取上述3個視頻計算其PCC均值,并和原始ViBe算法進行了比較,如表1所示,可以看出IViBe算法相比于ViBe算法有了一定程度上的提升。
2.2 IViBe算法對攝像機運動情況下的動目標檢測
由于ViBe算法是針對攝像機靜止情況下的運動目標檢測,并不適用于攝像機運動的情況,會產生大量的前景點,但是利用LK光流法通過連續(xù)兩幀計算每個像素點的運動向量,并使用該運動向量對前一幀圖片進行運動補償,然后通過幀間差分法得到初始運動目標檢測結果和利用IViBe算法對結果進行“與”處理,從而可以得出最終的運動目標檢測結果。實驗結果如圖7所示。
在圖7中,由于攝像機的運動使得ViBe算法檢測出的結果中,大部分背景像素點都被錯誤地檢測為前景點,如圖7(c)所示,而根據全局運動補償后,結合幀間差分法和IViBe算法得出的結果則大部分正確地檢測出了被錯誤檢測為前景點的背景點。
3 結束語
本文針對傳統ViBe算法中Ghost區(qū)域以及在動態(tài)背景下的傳統ViBe算法中大量背景點被錯誤檢測為前景點這一缺陷進行了分析與改進。針對Ghost區(qū)域,本文采用了IViBe算法和幀間差分法的結合,通過前景點檢測結果相“與”去除了Ghost區(qū)域。對于動態(tài)背景,本文采用了樣本集的標準差作為該像素點的背景動態(tài)程度度量方式,利用此度量值實時地更新距離閾值和更新率,并測試了對于動態(tài)背景的魯棒性,取得了良好的效果。最后,本文利用LK光流法進行全局運動補償,并使用改進的ViBe算法和幀間差分法進行結合取代并不適用于攝像機運動情況下的ViBe算法,取得了良好效果。
參考文獻
[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] 甘明剛,陳杰,劉勁,等.一種基于三幀差分和邊緣信息的運動目標檢測方法[J].電子與信息學報,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.南京信息工程大學 電子與信息工程學院,江蘇 南京210044;
2.南京信息工程大學 江蘇省大氣環(huán)境與裝備技術協同創(chuàng)新中心,江蘇 南京210044)