劉 翔,楊 鑫,王 蕾
(1.武漢科技大學 工程訓練中心,湖北 武漢 430065;2.中國電力工程顧問集團 中南電力設計院,湖北 武漢 430071;3.武漢科技大學 工程訓練中心,湖北 武漢 430065)
計算機視覺是當今科學領域中一個極富有挑戰(zhàn)性的重要研究領域。運動目標檢測是計算機視覺研究中各種復雜后期處理(如:目標跟蹤、目標分類識別、行為理解等)的基礎,因此是該領域中一大研究熱點。目標檢測的任務是將視頻圖像分割成目標前景和靜態(tài)背景兩個部分,然后再將目標前景部分提取出來。盡管從上世紀80年代以來在計算機視覺基本研究領域取得了許多進展,但至今為止仍然沒有一種對于各種不同場景普遍適用的檢測方法。學者們在此項研究中提出的方法主要有:光流法[1-2]、幀間差分法[3-5]和背景減除法[6-7]等。
從應用研究的情況看來,背景減除法是一種快速、簡單和最為常用的方法。其難點在于建立一個具有較強自適應性的背景模型,以及隨著時間推移對該模型進行更新維護。平均背景法[8]以一定時間(幀數(shù))內像素的平均值作為背景,其背景模型的質量與所選用的視頻圖像的幀數(shù)有較強的依賴關系。當幀數(shù)選得較大時可以獲得質量較高的背景模型,但卻消耗了過多的內存。除此以外,該方法的自適應性也較差。當環(huán)境發(fā)生變化后,檢測的效果不甚理想。高斯背景模型法[9]對每個像素進行高斯統(tǒng)計建模,然后再將新輸入的像素點與模型中均值進行比較,根據(jù)它們之間的偏差程度來劃分前景與背景。但當背景呈現(xiàn)出多模特征時檢測效果較差。混合高斯背景模型法[10]用多個高斯分布對每個像素進行建模,如果場景中的像素點滿足任意一個高斯分布則為背景,否則即為前景,最后再用新像素點的信息更新原有模型中的參數(shù)。該方法雖克服了高斯背景模型法的缺點,但算法比較復雜計算量大。基于碼本的背景模型法[11]給場景中背景的獲得帶來了另外一種思路。該方法的基本思想是得到每個像素的時間序列模型,它能較好地處理時間的起伏,但對內存消耗較大。
本文主要針對靜態(tài)背景環(huán)境下使用碼本模型進行目標檢測的問題進行了探討。文章的主要結構如下:首先簡要介紹了碼本算法的基本原理和其優(yōu)勢,然后指出了碼本算法中存在的問題(亮度計算與亮度隨時間或受噪聲影響變化的問題),重點介紹了針對這些問題對原算法進行的改進(顏色空間轉換與使用Kalman濾波修正像素值),最后在仿真結果的基礎上分析了改進算法的優(yōu)點和不足之處。
基于碼本模型的目標檢測方法最早是由Kim等人提出的,它可以分為背景建模和目標檢測兩個階段。建模階段先對場景中的每個像素點構建一個初始碼本模型,然后通過一段時間內輸入視頻對應位置上像素值的亮度變化和色度失真進行聚類,最終得到場景中背景像素的碼本模型;檢測階段再對新輸入的像素值與模型中的碼元進行聚類,從而將背景與前景區(qū)分開。
相對于其他的目標檢測算法,碼本模型算法的優(yōu)勢[12]在于:
(1)能夠很好地實現(xiàn)在樹枝搖擺、水面波紋、旗幟飄揚等多模動態(tài)背景條件下的檢測;
(2)算法減少了計算量,降低了存儲空間,對一段30幀/s的5min視頻,平均每個像素的碼本僅需要6.5個碼字;
(3)算法將亮度和色度分開,解決了光線變化對背景分割的影響;
(4)算法具有很好的自適應性,在背景分割的同時,引入緩沖碼本進行背景的自適應更新。
Kim等人提出的碼本模型是在RGB空間上對像素顏色失真進行聚類并以此作為產生碼字的依據(jù)。RGB空間模型如圖1所示,X、Y、Z三個方向分別代表紅、綠、藍。亮度(灰度)軸沿該立方體經(jīng)過原點O的對角線方向,如圖1中OA所示。要對顏色失真進行聚類必須計算該模型下像素值的顏色亮度,由圖1可知,在此空間亮度軸上任意一點X的亮度值為:
其中:X′C、X′D 和X′X 分別表示X 在X、Z、Y 三個方向上的投影。
由于RGB顏色空間與人眼感知的差異較大,并且計算顏色失真需要進行開方與平方運算,增加了算法的時間復雜性。一種改進的方法是將像素的顏色空間從RGB映射到YUV空間,將亮度信息與色度信息分離保證亮度變化與空間坐標軸方向一致,在計算亮度失真時只需使用加法和減法,大大地降低了計算量?;诖丝紤],本文選取在YUV空間構造碼本模型的方法進行前景檢測。
圖1 RGB顏色模型空間Fig.1 RGB color space model
盡管基于碼本模型的目標檢測算法在分割前景與背景時對光線變化影響分割效果上有一定的抑制作用,但在光線長時間較大范圍變化的情況下,這種檢測算法可能會失效。因為此時的像素值可能已經(jīng)不是目標的特征值,用這個值進行聚類計算會發(fā)生錯誤的劃分。為了獲得更加接近目標特征值,本文在碼本模型中建立一個與碼元更新同步的Kalman濾波器,利用Kalman濾波器的收斂性,使濾波器的輸出值始終接近于目標的特征值,減少因亮度變化引起的錯分概率,提高檢測目標的準確度與完整性。
Kalman濾波[13-15]技術在雷達、GPS導航、計算機視覺等領域有著廣泛的應用。Kalman濾波器是一種線性濾波器,它假設系統(tǒng)的狀態(tài)方程和觀測方程是線性的,系統(tǒng)噪聲和觀測噪聲是獨立的高斯過程。系統(tǒng)狀態(tài)的均值和協(xié)方差矩陣用一組觀測方程和更新方程來迭代計算。
Kalman濾波器的遞歸過程可由公式(2)~(7)表示。設xk-1是k-1時刻的n維狀態(tài)向量,Pk-1是k-1時刻的誤差協(xié)方差矩陣。
k時刻的狀態(tài)預測值為:
將式(6)結果作為下一時刻的狀態(tài)向量代入(2)式,將(7)式結果作為下一時刻的先驗估計代入(4)式不斷重復(2)~(7)式的計算就是Kalman濾波器的工作過程。上述各式中A為系統(tǒng)傳遞矩陣,wk稱為過程噪聲,H是測量矩陣,vk是測量噪聲,Qk-1是過程噪聲wk的協(xié)方差矩陣,Rk是測量噪聲vk的協(xié)方差矩陣,I是單位矩陣。
設X={x1,x2,...xn}是用于建立背景模型的n幀視頻序列中同一位置上像素值的集合,其中xi,(i=1,2,...,n)是一個包含 YUV 三個顏色分量的向量。接下來為每個像素建立一個與之對應的碼本模型:CBj={cj,kj,Lj,tj,pj},(j=1,2,...,m)其中cj(j=1,2,...,m)是該碼本中的一個碼字,它是由6個基本參數(shù)組成的一個六元組:cj=〈Ihigh,Ilow,Imax,Imin,tupdate,tstale〉這6 個參數(shù)的含義依次為:此碼元各通道的閾值學習上限、閾值學習下限、像素中各通道的最大值、最小值,此碼元最后一次更新的時間以及此碼元最長不更新時間。kj(j=1,2,...,m)是碼書對應的 Kalman濾波器結構。該結構中主要參數(shù)組成一個九元組:kj=〈xpre,xcor,T,M,Q,R,ppre,ppost,Kg〉。xpre為預測狀態(tài)向量,xcor為修正后的狀態(tài)向量,T為傳輸矩陣,M為量測矩陣,Q是過程噪聲矩陣,R是測量噪聲矩陣,ppre是先驗誤差估計矩陣,ppost是后驗誤差估計矩陣,Kg是Kalman增益矩陣。Lj是該碼本中碼元的個數(shù),tj是該碼本現(xiàn)在的時間,可理解為當前幀序號,pj是該碼書對應像素點的像素值。
背景碼本學習建立階段的主要步驟:
①輸入第一幀圖像,為圖像中每個像素點新建一個碼本并將碼本置空。初始化Kalman濾波器結構中的xpre,T,M,ppre,Q,R 等參數(shù)。用此時的像素值初始化碼字c中的Ihigh,Ilow,Imax和Imin。
②對新輸入圖像中的像素xi將其帶入已初始化的Kalman濾波器中計算出xcor,ppost,Kg等參數(shù)。其中,xcor將作為下幀輸入圖像中該位置像素的xpre。
③將xcor各通道分量值與碼字c中Imax和Imin進行比較,如果xcor各通道分量均在Ihigh與Ilow之間則認為xcor與碼字匹配。最后再根據(jù)xcor的值更新Imax和Imin。
下標j表示這些值在各通道上的分量,本文中指Y、U、V三個分量。
④更新閾值學習參數(shù)各通道的上下限
⑤如果xcor與當前碼本中任一個碼字都不匹配則利用xcor新建一個碼字,同時使碼字長度增加一個單位。
⑥刪除碼本中一段時間內沒有更新的碼字以精簡碼字的長度。
目標檢測階段的主要步驟:
①根據(jù)背景建立階段學習得到的上、下邊界確定檢測階段各通道學習的上、下限范圍。
②如果新輸入像素各通道分量均在此上、下限范圍之內,則此像素與背景匹配;反之,則將該像素與前景匹配。
③根據(jù)匹配結果將前景從圖像中分割出來。
為了驗證本文算法的有效性,實驗中選取了3段測試視頻(分辨率320×240)分別使用YUV空間的codebook算法、RGB空間的codebook算法、GMM算法以及本文的算法進行比較。本文的實驗硬件環(huán)境為:2GB內存,Intel(R)CoreTMi3-2310MCPU @ 2.10GHz;軟件環(huán)境為:Microsoft Visual Studio 6.0;編程語言為:C++。3次實驗的結果分別為圖2、圖3和圖4所示。
圖2 測試視頻一的實驗結果Fig.2 Experimental results of test videoⅠ
圖3 測試視頻二的實驗結果Fig.3 Experimental results of test videoⅡ
圖4 測試視頻三的實驗結果Fig.4 Experimental results of test videoⅢ
上面三幅圖中(a)為測試視頻原始幀序列,(b)為使用YUV模型codebook算法檢測的結果,(c)為使用本文算法檢測的結果,(d)為使用GMM算法檢測的結果(高斯分布的個數(shù)取3),(e)為使用RGB模型codebook算法的檢測結果。圖2為一對比度較低的室外視頻,使用YUV模型和RGB模型的codebook算法可以獲得比較理想的前景目標,但由于室外光照變化的影響背景中混入了較多的噪聲。使用本文提出的算法在Kalman濾波器的修正作用下,噪聲得到了較好地抑制。由于視頻本身對比度較低,這種修正作用也可能使部分前景誤判為背景,但總體上仍能檢測出目標。而使用GMM算法的檢測效果較差,目標幾乎淹沒在噪聲中。圖3為一對比度較高的室外視頻,比較其(b)、(c)、(d)、(e)各圖可以發(fā)現(xiàn)本文的算法對噪聲抑制較好,并且在這樣的環(huán)境中各算法檢出的目標前景信息損失情況明顯優(yōu)于圖1所示的情況。圖4為一背景較簡單且對比度較高的室外視頻,本文的算法與兩種不同顏色模型下的codebook算法檢測的效果近似相同,都對屏幕左下方草坪和樹枝晃動引起的干擾有較好地抑制。使用GMM算法時,這樣的干擾以及中央護欄上光線的漫反射干擾抑制效果不佳。表1中列出了幾種算法的運行時間比較。
表1 幾種算法的運行時間比較 (單位:s)Tab.1 Comparison of the running time of algorithms
綜上所述,本文所提出的改進碼本算法與RGB碼本算法、YUV碼本算法、GMM算法相比在確保檢測出足夠完整的前景目標情況下對光照變化和環(huán)境擾動干擾有更好的抑制作用。但由于構造碼本時需為像素建立Kalman結構,背景建立階段要進行Kalman迭代運算因此使程序的實時性降低。
提出了一種改進的碼本模型目標檢測算法。該方法主要有以下兩個特點:(1)在YUV空間里建立碼本模型,減少了計算亮度失真的計算量;(2)為視頻序列中同一位置上的像素點序列構造Kalman濾波器模型,并用Kalman濾波器修正后的結果作為codebook背景學習的聚類中心,抑制了光照變化的影響。
但是本文算法還存在一些不足之處,(1)Kalman濾波器是線性濾波器,在現(xiàn)實中對于復雜的背景觀測方程往往是非線性的,采用線性方程的Kalman濾波器迭代結果可能會發(fā)散;(2)codebook在進行背景學習前需要從Kalman濾波器的輸出中獲得數(shù)據(jù),使得背景建立的時間增加,導致程序運行速度降低使目標檢測的時間增加。這些問題將是后續(xù)工作中繼續(xù)研究的對象。
[1]Barron J,F(xiàn)leet D.Performance of optical flow techniques[J].International Journal of Computer Vision,1994,12(1):42-77.
[2]張水發(fā),丁歡,張文生.雙模型背景建模與目標檢測研究[J].計算機研究與發(fā)展,2011,48(11):1983-1990.Zhang S F,Ding H,Zhang W S.Background modeling and object detection based on two-model[J].Journal of Computer Research and Development,2011,48(11):1983-1990.(in Chinese)
[3]Lipton A,F(xiàn)ujiyoshi H,Ptail R S.Moving target classification and tracking from real-time video[C].Proc.IEEE Workshop on Application of Computer Vision,1998,17(9):8-14.
[4]吳君欽,劉昊,羅勇.靜態(tài)背景下的運動目標檢測算法[J].液晶與顯示,2012,27(5):682-686.Wu J Q,Liu H,Luo Y.Algorithm of moving object detection in static background[J].Chinese Journal of Liquid Crystals and Displays,2012,27(5):682-686.(in Chinese)
[5]丁雪梅,王維雅,黃向東.基于差分和特征不變量的運動目標檢測與跟蹤[J].光學精密工程,2007,15(4):570-576.Ding X M,Wang W Y,Huang X D.New method for detecting and tracking of moving target based on difference and invariant[J].Optics and Precision Engineering,2007,15(4):570-576.(in Chinese)
[6]代科學,李國輝,涂丹,等.監(jiān)控視頻運動目標檢測減背景技術的研究現(xiàn)狀和展望[J].中國圖象圖形學報,2006,11(7):919-927.Dai K X,Li G H,Tu D,et al.Prospects and current studies on background subtraction techniques for moving objects detection from surveillance video[J].Journal of Image and Graphics,2006,11(7):919-927.(in Chinese)
[7]張紅穎,胡正.CenSurE特征和時空信息相結合的運動目標檢測[J].光學精密工程,2013,21(9):2452-2463.Zhang H Y,Hu Z.Moving object detection in combination of CenSurE and spatial-temporal information[J].Optics and Precision Engineering,2013,21(9):2452-2463.(in Chinese)
[8]袁寶紅,張德祥,張玲君.基于 OpenCV的視頻運動目標檢測與跟蹤[J].計算機系統(tǒng)應用,2013,22(5):90-93.Yuan B H,Zhang D X,Zhang L J.Detecting and tracking of moving target in video sequence based on OpenCV[J].Computer Systems and Applications,2013,22(5):90-93.(in Chinese)
[9]康曉晶,吳謹.基于高斯背景建模的目標檢測技術[J].液晶與顯示,2010,25(3):454-459.Kang X J,Wu J.Object detecting technology based on Gauss background modeling[J].Chinese Journal of Liquid Crystals and Displays,2010,25(3):454-459.(in Chinese)
[10]Stauffer C,Grimson W.Adaptive background mixture models for real-time tracking[C]//Int.Conf.Computer Vision and Pattern Recongnition,1999,2:246-252.
[11]Kim K,Chalidabhongse T H,Hardwood D,et al.Background modeling and subtraction by codebook construction[C]//Proc.IEEE Int.Conf.on Image Processing,Singapore,2004:3061-3064.
[12]黃進,金煒東,秦娜.基于三維高斯混合碼本模型的運動目標檢測算法[J].西南交通大學學報,2012,47(4):662-668.Huang J,Jin W D,Qin N.Moving objects detection algorithm based on three-dimensional gaussian mixture codebook model[J].Journal of Southwest Jiaotong University,2012,47(4):662-668.(in Chinese)
[13]楊冰,張為,王猛.基于 Kalman濾波器運動目標跟蹤的火災監(jiān)測方法[J].信息技術,2013(7):101-105.Yang B,Zhang W,Wang M.Fire detection method based on moving target tracking with Kalman filter[J].Information technology,2013(7):101-105.(in Chinese)
[14]趙其杰,屠大維,高健,等.基于 Kalman濾波的視覺預測目標跟蹤及其應用[J].光學精密工程,2008,16(5):937-942.Zhao Q J,Tu D W,Gao J et al.Kalman filter based vision predicting and object tracking method and its application[J].Optics and Precision Engineering,2008,16(5):937-942.(in Chinese)
[15]楊金顯,袁贛南.基于 MIMU/GPS的組合導航設計及實驗[J].光學精密工程,2008,16(2):285-294.Yang J X,Yuan G N.Design and experiment for INS based on MIMU/GPS[J].Optics and Precision Engineering,2008,16(2):285-294.(in Chinese)