劉 翔,楊 鑫,王 蕾
(1.武漢科技大學(xué) 工程訓(xùn)練中心,湖北 武漢 430065;2.中國(guó)電力工程顧問集團(tuán) 中南電力設(shè)計(jì)院,湖北 武漢 430071;3.武漢科技大學(xué) 工程訓(xùn)練中心,湖北 武漢 430065)
計(jì)算機(jī)視覺是當(dāng)今科學(xué)領(lǐng)域中一個(gè)極富有挑戰(zhàn)性的重要研究領(lǐng)域。運(yùn)動(dòng)目標(biāo)檢測(cè)是計(jì)算機(jī)視覺研究中各種復(fù)雜后期處理(如:目標(biāo)跟蹤、目標(biāo)分類識(shí)別、行為理解等)的基礎(chǔ),因此是該領(lǐng)域中一大研究熱點(diǎn)。目標(biāo)檢測(cè)的任務(wù)是將視頻圖像分割成目標(biāo)前景和靜態(tài)背景兩個(gè)部分,然后再將目標(biāo)前景部分提取出來。盡管從上世紀(jì)80年代以來在計(jì)算機(jī)視覺基本研究領(lǐng)域取得了許多進(jìn)展,但至今為止仍然沒有一種對(duì)于各種不同場(chǎng)景普遍適用的檢測(cè)方法。學(xué)者們?cè)诖隧?xiàng)研究中提出的方法主要有:光流法[1-2]、幀間差分法[3-5]和背景減除法[6-7]等。
從應(yīng)用研究的情況看來,背景減除法是一種快速、簡(jiǎn)單和最為常用的方法。其難點(diǎn)在于建立一個(gè)具有較強(qiáng)自適應(yīng)性的背景模型,以及隨著時(shí)間推移對(duì)該模型進(jìn)行更新維護(hù)。平均背景法[8]以一定時(shí)間(幀數(shù))內(nèi)像素的平均值作為背景,其背景模型的質(zhì)量與所選用的視頻圖像的幀數(shù)有較強(qiáng)的依賴關(guān)系。當(dāng)幀數(shù)選得較大時(shí)可以獲得質(zhì)量較高的背景模型,但卻消耗了過多的內(nèi)存。除此以外,該方法的自適應(yīng)性也較差。當(dāng)環(huán)境發(fā)生變化后,檢測(cè)的效果不甚理想。高斯背景模型法[9]對(duì)每個(gè)像素進(jìn)行高斯統(tǒng)計(jì)建模,然后再將新輸入的像素點(diǎn)與模型中均值進(jìn)行比較,根據(jù)它們之間的偏差程度來劃分前景與背景。但當(dāng)背景呈現(xiàn)出多模特征時(shí)檢測(cè)效果較差?;旌细咚贡尘澳P头ǎ?0]用多個(gè)高斯分布對(duì)每個(gè)像素進(jìn)行建模,如果場(chǎng)景中的像素點(diǎn)滿足任意一個(gè)高斯分布則為背景,否則即為前景,最后再用新像素點(diǎn)的信息更新原有模型中的參數(shù)。該方法雖克服了高斯背景模型法的缺點(diǎn),但算法比較復(fù)雜計(jì)算量大?;诖a本的背景模型法[11]給場(chǎng)景中背景的獲得帶來了另外一種思路。該方法的基本思想是得到每個(gè)像素的時(shí)間序列模型,它能較好地處理時(shí)間的起伏,但對(duì)內(nèi)存消耗較大。
本文主要針對(duì)靜態(tài)背景環(huán)境下使用碼本模型進(jìn)行目標(biāo)檢測(cè)的問題進(jìn)行了探討。文章的主要結(jié)構(gòu)如下:首先簡(jiǎn)要介紹了碼本算法的基本原理和其優(yōu)勢(shì),然后指出了碼本算法中存在的問題(亮度計(jì)算與亮度隨時(shí)間或受噪聲影響變化的問題),重點(diǎn)介紹了針對(duì)這些問題對(duì)原算法進(jìn)行的改進(jìn)(顏色空間轉(zhuǎn)換與使用Kalman濾波修正像素值),最后在仿真結(jié)果的基礎(chǔ)上分析了改進(jìn)算法的優(yōu)點(diǎn)和不足之處。
基于碼本模型的目標(biāo)檢測(cè)方法最早是由Kim等人提出的,它可以分為背景建模和目標(biāo)檢測(cè)兩個(gè)階段。建模階段先對(duì)場(chǎng)景中的每個(gè)像素點(diǎn)構(gòu)建一個(gè)初始碼本模型,然后通過一段時(shí)間內(nèi)輸入視頻對(duì)應(yīng)位置上像素值的亮度變化和色度失真進(jìn)行聚類,最終得到場(chǎng)景中背景像素的碼本模型;檢測(cè)階段再對(duì)新輸入的像素值與模型中的碼元進(jìn)行聚類,從而將背景與前景區(qū)分開。
相對(duì)于其他的目標(biāo)檢測(cè)算法,碼本模型算法的優(yōu)勢(shì)[12]在于:
(1)能夠很好地實(shí)現(xiàn)在樹枝搖擺、水面波紋、旗幟飄揚(yáng)等多模動(dòng)態(tài)背景條件下的檢測(cè);
(2)算法減少了計(jì)算量,降低了存儲(chǔ)空間,對(duì)一段30幀/s的5min視頻,平均每個(gè)像素的碼本僅需要6.5個(gè)碼字;
(3)算法將亮度和色度分開,解決了光線變化對(duì)背景分割的影響;
(4)算法具有很好的自適應(yīng)性,在背景分割的同時(shí),引入緩沖碼本進(jìn)行背景的自適應(yīng)更新。
Kim等人提出的碼本模型是在RGB空間上對(duì)像素顏色失真進(jìn)行聚類并以此作為產(chǎn)生碼字的依據(jù)。RGB空間模型如圖1所示,X、Y、Z三個(gè)方向分別代表紅、綠、藍(lán)。亮度(灰度)軸沿該立方體經(jīng)過原點(diǎn)O的對(duì)角線方向,如圖1中OA所示。要對(duì)顏色失真進(jìn)行聚類必須計(jì)算該模型下像素值的顏色亮度,由圖1可知,在此空間亮度軸上任意一點(diǎn)X的亮度值為:
其中:X′C、X′D 和X′X 分別表示X 在X、Z、Y 三個(gè)方向上的投影。
由于RGB顏色空間與人眼感知的差異較大,并且計(jì)算顏色失真需要進(jìn)行開方與平方運(yùn)算,增加了算法的時(shí)間復(fù)雜性。一種改進(jìn)的方法是將像素的顏色空間從RGB映射到Y(jié)UV空間,將亮度信息與色度信息分離保證亮度變化與空間坐標(biāo)軸方向一致,在計(jì)算亮度失真時(shí)只需使用加法和減法,大大地降低了計(jì)算量?;诖丝紤],本文選取在YUV空間構(gòu)造碼本模型的方法進(jìn)行前景檢測(cè)。
圖1 RGB顏色模型空間Fig.1 RGB color space model
盡管基于碼本模型的目標(biāo)檢測(cè)算法在分割前景與背景時(shí)對(duì)光線變化影響分割效果上有一定的抑制作用,但在光線長(zhǎng)時(shí)間較大范圍變化的情況下,這種檢測(cè)算法可能會(huì)失效。因?yàn)榇藭r(shí)的像素值可能已經(jīng)不是目標(biāo)的特征值,用這個(gè)值進(jìn)行聚類計(jì)算會(huì)發(fā)生錯(cuò)誤的劃分。為了獲得更加接近目標(biāo)特征值,本文在碼本模型中建立一個(gè)與碼元更新同步的Kalman濾波器,利用Kalman濾波器的收斂性,使濾波器的輸出值始終接近于目標(biāo)的特征值,減少因亮度變化引起的錯(cuò)分概率,提高檢測(cè)目標(biāo)的準(zhǔn)確度與完整性。
Kalman濾波[13-15]技術(shù)在雷達(dá)、GPS導(dǎo)航、計(jì)算機(jī)視覺等領(lǐng)域有著廣泛的應(yīng)用。Kalman濾波器是一種線性濾波器,它假設(shè)系統(tǒng)的狀態(tài)方程和觀測(cè)方程是線性的,系統(tǒng)噪聲和觀測(cè)噪聲是獨(dú)立的高斯過程。系統(tǒng)狀態(tài)的均值和協(xié)方差矩陣用一組觀測(cè)方程和更新方程來迭代計(jì)算。
Kalman濾波器的遞歸過程可由公式(2)~(7)表示。設(shè)xk-1是k-1時(shí)刻的n維狀態(tài)向量,Pk-1是k-1時(shí)刻的誤差協(xié)方差矩陣。
k時(shí)刻的狀態(tài)預(yù)測(cè)值為:
將式(6)結(jié)果作為下一時(shí)刻的狀態(tài)向量代入(2)式,將(7)式結(jié)果作為下一時(shí)刻的先驗(yàn)估計(jì)代入(4)式不斷重復(fù)(2)~(7)式的計(jì)算就是Kalman濾波器的工作過程。上述各式中A為系統(tǒng)傳遞矩陣,wk稱為過程噪聲,H是測(cè)量矩陣,vk是測(cè)量噪聲,Qk-1是過程噪聲wk的協(xié)方差矩陣,Rk是測(cè)量噪聲vk的協(xié)方差矩陣,I是單位矩陣。
設(shè)X={x1,x2,...xn}是用于建立背景模型的n幀視頻序列中同一位置上像素值的集合,其中xi,(i=1,2,...,n)是一個(gè)包含 YUV 三個(gè)顏色分量的向量。接下來為每個(gè)像素建立一個(gè)與之對(duì)應(yīng)的碼本模型:CBj={cj,kj,Lj,tj,pj},(j=1,2,...,m)其中cj(j=1,2,...,m)是該碼本中的一個(gè)碼字,它是由6個(gè)基本參數(shù)組成的一個(gè)六元組:cj=〈Ihigh,Ilow,Imax,Imin,tupdate,tstale〉這6 個(gè)參數(shù)的含義依次為:此碼元各通道的閾值學(xué)習(xí)上限、閾值學(xué)習(xí)下限、像素中各通道的最大值、最小值,此碼元最后一次更新的時(shí)間以及此碼元最長(zhǎng)不更新時(shí)間。kj(j=1,2,...,m)是碼書對(duì)應(yīng)的 Kalman濾波器結(jié)構(gòu)。該結(jié)構(gòu)中主要參數(shù)組成一個(gè)九元組:kj=〈xpre,xcor,T,M,Q,R,ppre,ppost,Kg〉。xpre為預(yù)測(cè)狀態(tài)向量,xcor為修正后的狀態(tài)向量,T為傳輸矩陣,M為量測(cè)矩陣,Q是過程噪聲矩陣,R是測(cè)量噪聲矩陣,ppre是先驗(yàn)誤差估計(jì)矩陣,ppost是后驗(yàn)誤差估計(jì)矩陣,Kg是Kalman增益矩陣。Lj是該碼本中碼元的個(gè)數(shù),tj是該碼本現(xiàn)在的時(shí)間,可理解為當(dāng)前幀序號(hào),pj是該碼書對(duì)應(yīng)像素點(diǎn)的像素值。
背景碼本學(xué)習(xí)建立階段的主要步驟:
①輸入第一幀圖像,為圖像中每個(gè)像素點(diǎn)新建一個(gè)碼本并將碼本置空。初始化Kalman濾波器結(jié)構(gòu)中的xpre,T,M,ppre,Q,R 等參數(shù)。用此時(shí)的像素值初始化碼字c中的Ihigh,Ilow,Imax和Imin。
②對(duì)新輸入圖像中的像素xi將其帶入已初始化的Kalman濾波器中計(jì)算出xcor,ppost,Kg等參數(shù)。其中,xcor將作為下幀輸入圖像中該位置像素的xpre。
③將xcor各通道分量值與碼字c中Imax和Imin進(jìn)行比較,如果xcor各通道分量均在Ihigh與Ilow之間則認(rèn)為xcor與碼字匹配。最后再根據(jù)xcor的值更新Imax和Imin。
下標(biāo)j表示這些值在各通道上的分量,本文中指Y、U、V三個(gè)分量。
④更新閾值學(xué)習(xí)參數(shù)各通道的上下限
⑤如果xcor與當(dāng)前碼本中任一個(gè)碼字都不匹配則利用xcor新建一個(gè)碼字,同時(shí)使碼字長(zhǎng)度增加一個(gè)單位。
⑥刪除碼本中一段時(shí)間內(nèi)沒有更新的碼字以精簡(jiǎn)碼字的長(zhǎng)度。
目標(biāo)檢測(cè)階段的主要步驟:
①根據(jù)背景建立階段學(xué)習(xí)得到的上、下邊界確定檢測(cè)階段各通道學(xué)習(xí)的上、下限范圍。
②如果新輸入像素各通道分量均在此上、下限范圍之內(nèi),則此像素與背景匹配;反之,則將該像素與前景匹配。
③根據(jù)匹配結(jié)果將前景從圖像中分割出來。
為了驗(yàn)證本文算法的有效性,實(shí)驗(yàn)中選取了3段測(cè)試視頻(分辨率320×240)分別使用YUV空間的codebook算法、RGB空間的codebook算法、GMM算法以及本文的算法進(jìn)行比較。本文的實(shí)驗(yàn)硬件環(huán)境為:2GB內(nèi)存,Intel(R)CoreTMi3-2310MCPU @ 2.10GHz;軟件環(huán)境為:Microsoft Visual Studio 6.0;編程語言為:C++。3次實(shí)驗(yàn)的結(jié)果分別為圖2、圖3和圖4所示。
圖2 測(cè)試視頻一的實(shí)驗(yàn)結(jié)果Fig.2 Experimental results of test videoⅠ
圖3 測(cè)試視頻二的實(shí)驗(yàn)結(jié)果Fig.3 Experimental results of test videoⅡ
圖4 測(cè)試視頻三的實(shí)驗(yàn)結(jié)果Fig.4 Experimental results of test videoⅢ
上面三幅圖中(a)為測(cè)試視頻原始幀序列,(b)為使用YUV模型codebook算法檢測(cè)的結(jié)果,(c)為使用本文算法檢測(cè)的結(jié)果,(d)為使用GMM算法檢測(cè)的結(jié)果(高斯分布的個(gè)數(shù)取3),(e)為使用RGB模型codebook算法的檢測(cè)結(jié)果。圖2為一對(duì)比度較低的室外視頻,使用YUV模型和RGB模型的codebook算法可以獲得比較理想的前景目標(biāo),但由于室外光照變化的影響背景中混入了較多的噪聲。使用本文提出的算法在Kalman濾波器的修正作用下,噪聲得到了較好地抑制。由于視頻本身對(duì)比度較低,這種修正作用也可能使部分前景誤判為背景,但總體上仍能檢測(cè)出目標(biāo)。而使用GMM算法的檢測(cè)效果較差,目標(biāo)幾乎淹沒在噪聲中。圖3為一對(duì)比度較高的室外視頻,比較其(b)、(c)、(d)、(e)各圖可以發(fā)現(xiàn)本文的算法對(duì)噪聲抑制較好,并且在這樣的環(huán)境中各算法檢出的目標(biāo)前景信息損失情況明顯優(yōu)于圖1所示的情況。圖4為一背景較簡(jiǎn)單且對(duì)比度較高的室外視頻,本文的算法與兩種不同顏色模型下的codebook算法檢測(cè)的效果近似相同,都對(duì)屏幕左下方草坪和樹枝晃動(dòng)引起的干擾有較好地抑制。使用GMM算法時(shí),這樣的干擾以及中央護(hù)欄上光線的漫反射干擾抑制效果不佳。表1中列出了幾種算法的運(yùn)行時(shí)間比較。
表1 幾種算法的運(yùn)行時(shí)間比較 (單位:s)Tab.1 Comparison of the running time of algorithms
綜上所述,本文所提出的改進(jìn)碼本算法與RGB碼本算法、YUV碼本算法、GMM算法相比在確保檢測(cè)出足夠完整的前景目標(biāo)情況下對(duì)光照變化和環(huán)境擾動(dòng)干擾有更好的抑制作用。但由于構(gòu)造碼本時(shí)需為像素建立Kalman結(jié)構(gòu),背景建立階段要進(jìn)行Kalman迭代運(yùn)算因此使程序的實(shí)時(shí)性降低。
提出了一種改進(jìn)的碼本模型目標(biāo)檢測(cè)算法。該方法主要有以下兩個(gè)特點(diǎn):(1)在YUV空間里建立碼本模型,減少了計(jì)算亮度失真的計(jì)算量;(2)為視頻序列中同一位置上的像素點(diǎn)序列構(gòu)造Kalman濾波器模型,并用Kalman濾波器修正后的結(jié)果作為codebook背景學(xué)習(xí)的聚類中心,抑制了光照變化的影響。
但是本文算法還存在一些不足之處,(1)Kalman濾波器是線性濾波器,在現(xiàn)實(shí)中對(duì)于復(fù)雜的背景觀測(cè)方程往往是非線性的,采用線性方程的Kalman濾波器迭代結(jié)果可能會(huì)發(fā)散;(2)codebook在進(jìn)行背景學(xué)習(xí)前需要從Kalman濾波器的輸出中獲得數(shù)據(jù),使得背景建立的時(shí)間增加,導(dǎo)致程序運(yùn)行速度降低使目標(biāo)檢測(cè)的時(shí)間增加。這些問題將是后續(xù)工作中繼續(xù)研究的對(duì)象。
[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ā),丁歡,張文生.雙模型背景建模與目標(biāo)檢測(cè)研究[J].計(jì)算機(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)背景下的運(yùn)動(dòng)目標(biāo)檢測(cè)算法[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]丁雪梅,王維雅,黃向東.基于差分和特征不變量的運(yùn)動(dòng)目標(biāo)檢測(cè)與跟蹤[J].光學(xué)精密工程,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]代科學(xué),李國(guó)輝,涂丹,等.監(jiān)控視頻運(yùn)動(dòng)目標(biāo)檢測(cè)減背景技術(shù)的研究現(xiàn)狀和展望[J].中國(guó)圖象圖形學(xué)報(bào),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特征和時(shí)空信息相結(jié)合的運(yùn)動(dòng)目標(biāo)檢測(cè)[J].光學(xué)精密工程,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的視頻運(yùn)動(dòng)目標(biāo)檢測(cè)與跟蹤[J].計(jì)算機(jī)系統(tǒng)應(yī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ǐn).基于高斯背景建模的目標(biāo)檢測(cè)技術(shù)[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ìn),金煒東,秦娜.基于三維高斯混合碼本模型的運(yùn)動(dòng)目標(biāo)檢測(cè)算法[J].西南交通大學(xué)學(xué)報(bào),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濾波器運(yùn)動(dòng)目標(biāo)跟蹤的火災(zāi)監(jiān)測(cè)方法[J].信息技術(shù),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濾波的視覺預(yù)測(cè)目標(biāo)跟蹤及其應(yīng)用[J].光學(xué)精密工程,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的組合導(dǎo)航設(shè)計(jì)及實(shí)驗(yàn)[J].光學(xué)精密工程,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)