邱光能,全惠敏
湖南大學電氣與信息工程學院,長沙410082
智能視頻監(jiān)控是圖像處理和計算機視覺領域的研究熱點,具有十分廣泛的應用領域,如交通場景中車輛和行人情況的監(jiān)控,超市和銀行等公共場所的監(jiān)控。智能視頻監(jiān)控主要包括運動目標檢測、目標分類、目標跟蹤和行為理解四部分。其中運動目標檢測是智能視頻監(jiān)控系統(tǒng)的關鍵部分,是目標跟蹤和行為理解的基礎。
常用的運動目標檢測法有光流法、幀差法和背景減法?;诠饬鞣ǖ倪\動檢測由于孔徑及遮擋問題計算復雜耗時,其實時處理比較困難。
幀間差分法通過序列圖像中相鄰兩幀圖像相減并且閾值化來提取運動目標區(qū)域,算法簡單,速度快,易于硬件實現(xiàn),對光線的變化不是非常敏感。相鄰兩幀差分法依賴于運動目標的運動速度,速度過快或過慢都無法檢測出完整的運動目標。
背景減法是先構(gòu)建一個背景圖像,然后利用當前圖像與背景圖像相減得到差分圖像,通過閾值分割來提取目標。常用的背景建模算法有:時間平均法、W 4方法、碼本方法、核密度估計法、混合高斯模型法等[1]。時間平均法計算簡單,但是當運動目標數(shù)量比較密集的情況下,容易將目標誤檢為背景。文獻[2]利用改進的W 4方法進行背景建模,取得了良好的檢測效果。文獻[3]提出了一種改進的碼本方法,可以處理背景運動和光照變化,具有背景訓練不受限制、速度快等特點。文獻[4]利用核密度估計無參背景建模方法,樣本充分時能夠較快地適應場景變化,可以處理多模態(tài)情況,但計算復雜,占用內(nèi)存多。文獻[5]利用混合高斯模型法對每個像素建立背景模型,能魯棒地克服光線、背景混亂等造成的影響,但對大而慢的運動目標檢測效果較差,對全局亮度的突然變化非常敏感,對物體移入或移除背景更新速度慢。文獻[6]提出了一種基于塊的背景重構(gòu)算法,能有效分割出前景目標并解決場景變化等問題。文獻[7]提出了一種新算法ViBe,算法速度很快,而且對噪聲有一定的魯棒性,檢測效果不錯。由于背景減法可直接給出目標的位置、大小、形狀等信息,特別適用于攝像頭靜止的情況,不受目標運動速度的限制,是實現(xiàn)運動目標實時檢測和提取的首選方法。背景減法能夠較好地檢測出前景像素點,但是對外界的的變化比較敏感。
考慮到使用單一的算法很難適應環(huán)境的變化或者不易于檢測出完整的運動目標,本文在比較各種算法的基礎上,提出了一種基于背景減和多重對稱差分的運動目標檢測算法。該算法能自適應地對背景進行實時更新,并能有效地克服光照等外界條件變化對運動目標檢測所帶來的影響。
本文算法的運動目標檢測主要包括預處理、背景建模、運動目標提取等步驟。預處理對每一幀圖像進行去噪和灰度化,以抑制噪聲的影響;背景建模則采用改進的時間平均法初始化背景并不斷的實時更新,以克服環(huán)境的變化所產(chǎn)生的影響;目標檢測是融合背景減和多重對稱差分法來獲取運動目標。下面將詳細介紹算法的主要步驟。
因外界環(huán)境的影響采集的圖像中難免會存在一些噪聲,這些噪聲點會影響后續(xù)運動目標的檢測準確度,因此需要對視頻的每一幀圖像進行平滑處理,本文采用經(jīng)典的中值濾波去噪,該方法不僅能濾除掉一些隨機噪聲,而且又能很好地保護圖像的邊緣信息。為了便于后續(xù)圖像處理,需把采集的彩色圖像轉(zhuǎn)換成灰度圖像,其灰度值Gray和RGB顏色的對應關系為:
Gray=0.299R+0.587G+0.114B
2.2.1 背景初始化
背景減法研究的主要問題是背景圖像的提取,如何構(gòu)造出高效實用的背景模型獲取可靠的背景圖像是背景減法的研究重點。背景建模時需要考慮樹枝樹葉等背景擾動、外界光線變化以及背景的更新等[8]。
對于攝像頭靜止的情況,最簡單的背景選擇方法是采用固定的某幀圖像作為背景,但這種方法受外界場景的影響較大,不適用于背景復雜及變化的環(huán)境。初始化背景圖像的獲取對于目標檢測的準確度以及背景圖像的更新起著至關重要的作用,一個好的背景模型要求在初始化過程中有目標移入或者移出背景的情況下也能準確提取出背景。傳統(tǒng)時間平均背景提取算法簡單快速,但是在運動目標較慢、目標較密集等情況下不能準確提取背景。本文在傳統(tǒng)時間平均法的基礎上,提出了一種有效的背景初始化算法,其基本思想是一般情況下,某個區(qū)域存在運動目標的時間是有限的,那些差異較大的點是由運動目標引起的。用相鄰幀間差分法獲取運動目標區(qū)域,將運動目標像素點丟棄,非運動目標區(qū)域像素點灰度進行多幀累積求平均,從而構(gòu)造出真實的背景。背景提取的主要步驟如下:
步驟1 建立一個視頻流滑窗來緩存前L幀圖像。
步驟2 順序讀取視頻幀,將當前幀Ik(x,y)與前一幀Ik-1(x,y)做差分運算,并二值化閾值。
式中,T為閾值,其大小對當前像素的提取有影響,本文采用最大類間方差法進行自動閾值分割,選取使類間方差最大和類內(nèi)方差最小的圖像灰度值作為最佳閾值[9]。
步驟3形態(tài)學處理。由于相鄰幀間差分運算時紋理相同的部分會得到空洞區(qū)域,這部分可能會被誤判為背景,因此可以采用形態(tài)學方法填充該區(qū)域。
步驟4 返回步驟1進行迭代直到讀取完L幀,對非運動區(qū)域像素值進行累加,設定Cnt(x,y)為非運動點(x,y)的累積次數(shù),S(x,y)為非運動點(x,y)的灰度累加值,即當ADk(x,y)=0時,進行如式(2)、(3)運算:
步驟5求取非運動區(qū)域每個像素的平均值,將該值作為初始化背景的像素值:
改進的背景提取算法只對非運動像素點進行累積,去除了差異較大的點,然后再求平均,繼承了平均法模型簡單、計算方便等特點,能得到更為準確的背景圖像。
2.2.2 背景更新
在視頻運動目標檢測的過程中,背景圖像往往由于環(huán)境光線、場景中背景像素輕微擾動、目標的存在等不確定因素會發(fā)生變化。這變化有兩種情況:一種是緩慢的,整個背景的變化趨勢相同;一種是突變的,像素值在很短的時間內(nèi)發(fā)生劇烈變化,且變化趨勢和整體的變化趨勢不相同。針對以上兩種情況,要實現(xiàn)對運動目標的精確檢測,需要在運動目標檢測過程中對背景進行更新,本文采用兩種不同的策略對背景進行有效地實時更新,以提高系統(tǒng)的抗干擾性。
(1)對于場景本身發(fā)生大范圍變化的情況,特別是場景中全局光線突變,如陽光被云遮擋或者室內(nèi)突然開關燈等。這種情況下可以考慮連續(xù)幾幀與背景幀的差分圖像,若連續(xù)幾幀的差分圖像發(fā)生變化的像素總數(shù)與全部像素總數(shù)的百分比都大于某個閾值(通常取80%),就可以認為是背景發(fā)生較大變化[10],這時按照本文的背景提取算法重新提取背景圖像。
(2)對于場景中光線緩慢變化或有目標移出背景時,已建立好的背景模型顯然不再適應變化的環(huán)境,移出后的區(qū)域在一段時間內(nèi)可能會被誤檢為運動目標,因此需要重構(gòu)背景。此時如果持續(xù)不斷地利用背景初始化的方法對整個背景進行更新,會占用較大的內(nèi)存并且需要較長的處理時間,影響系統(tǒng)實時性。因此,可采用周期性方法對背景進行更新,即間隔一定時間或一定幀數(shù)利用本文背景提取算法進行背景提取,在進行一次背景提取后的一個周期內(nèi)對背景結(jié)果進行微小更新。
對稱差分法是相鄰兩幀差分法的一種改進方法,它對采集的連續(xù)三幀視頻圖像進行相鄰幀差分運算,然后將差分結(jié)果進行“與”運算,得到中間幀運動目標信息。該方法克服了兩幀差分目標拉長的缺點,從而提取到較為精確的運動目標輪廓信息,但對緩慢的目標仍然存在著很大空洞現(xiàn)象,對后續(xù)處理工作帶來很大的影響。為了能完整、準確地檢測出運動目標,本文在現(xiàn)有對稱差分的基礎上加以改進,給出了一種多重對稱差分法,即通過求取多個三幀系列圖像對稱幀差所重合的部分來得到運動目標的輪廓,能更準確地獲取運動目標信息,其原理如圖1所示。對原始對稱差分法的主要改進有:
(1)由于原始圖像清晰度質(zhì)量較低,采用直方圖均衡化處理以增強圖像整體對比度,使圖像細節(jié)變得清晰,也可以在一定程度上克服光線變化帶來的影響。
(2)原始對稱差分法對幀間目標重疊部分仍然不能得到完整運動目標,采用多重對稱差分圖像進行信息融合能夠獲得更準確的運動目標區(qū)域。
圖1 多重對稱差分算法流程圖
本文算法融合多重對稱差分與背景減法,其流程如圖2所示。
圖2 本文運動目標檢測算法
針對場景的緩慢變化或者有目標移入或移出背景時,本文背景更新的基本思想:在每一個周期內(nèi),首先利用多重對稱差分和背景減相融合的方法找到運動區(qū)域,然后對運動區(qū)域的背景像素保持不變,而非運動區(qū)域的背景則用當前像素進行更新。具體步驟如下:
步驟1對每一幀進行去噪、灰度化和直方圖均衡化等預處理。
步驟2 讀取連續(xù)的7幀分別求出中間幀Ik(x,y)與前后三幀Ik-3(x,y),Ik-2(x,y),…,Ik+3(x,y),背景幀Bk(x,y)差分圖像。
步驟3 將步驟2的6個對稱差分和背景減結(jié)果進行濾波、二值化處理,再進行形態(tài)學開運算處理,將孤立的小區(qū)域、毛刺去除,填補目標區(qū)域內(nèi)部的小孔改善視頻對象空間域連通性。
步驟4 將步驟3的6個對稱差分作“與”運算得到D17(x,y),D26(x,y),D35(x,y),同時分別與背景減法差分圖像作“與”運算得到CD1、CD2、CD3:
步驟5 將步驟4的結(jié)果進行“或”運算得到目標區(qū)域D(x,y):
步驟6 得到運動目標區(qū)域D(x,y)以后,利用累積的方法消除噪聲的影響,進而判斷各像素點是否存在運動目標。定義Ak(x,y)為像素點(x,y)在第k幀時未產(chǎn)生連續(xù)變化累積次數(shù),若該點屬于運動區(qū)域,則將Ak(x,y)清零,否則Ak(x,y)自加1。
步驟7 當(x,y)點連續(xù)depth次沒有發(fā)生變化時,說明該點為非運動點,更新當前像素值為背景點,否則說明(x,y)點為運動點,保持該點的背景像素灰度值不變。為提高對環(huán)境微小變化的適應性,對于累積超過depth次沒有發(fā)生變化的背景像素點,利用當前幀和視頻序列中的當前背景幀進行加權平均來更新背景。
步驟8 返回步驟1并判斷是否間隔了一定幀數(shù),若是則按本文背景提取算法更新背景;否則繼續(xù)循環(huán)。
更新方法融合了多重對稱差分法和背景減法,能適應外界環(huán)境的緩慢變化,特別是由于光照引起的緩慢變化,并用累積的方法消除了誤差。當檢測場景中有物體移入或移除時,能及時進行背景更新,從而使得提取到的前景目標更為精確。
實驗測試環(huán)境是OpenCV VS2008,計算機配置為i5 2.27 GHz/2 GB,實驗視頻分辨率均為352像素×240像素。首先對不同視頻使用本文目標提取算法進行測試,然后再對含有背景擾動和光線變化的同一視頻進行測試。
圖3為背景提取算法所得的結(jié)果,其中(a)為視頻序列highway II.avi初始幀,(b)為第30幀傳統(tǒng)時間平均算法所得的背景,(c)為利用本文的背景提取算法所提到的背景。可以看出,利用傳統(tǒng)時間平均算法在運動目標較密集時會出現(xiàn)拖影現(xiàn)象,而本文的改進時間平均算法消除了該現(xiàn)象,能得到可靠的背景。
圖3 背景提取
圖4為在有風情況下背景樹枝擾動本文背景減法提取結(jié)果,其中(a)為原始視頻序列tree.avi的一幀,(b)為傳統(tǒng)的時間平均算法所提取到的運動目標,可以看出提出的目標受背景擾動的影響較大,(c)為本文背景減算法所得到的運動目標。采用了形態(tài)學的方法消除了樹枝擾動帶來的影響,可以有效地檢測出運動目標。
圖4 樹枝擾動目標提取
圖5為光照變化條件下的運動目標檢測結(jié)果,其中(a)、(b)為原始視頻序列光照變化前后的兩幀,(c)、(d)為使用混合高斯背景建模法所得到的運動目標,(e)、(f)為本文算法所得到的結(jié)果??梢钥闯觯旌细咚贡尘胺▽庹兆兓舾?,造成了誤檢,而本文算法可以在光照變化情況下檢測出運動目標,適應性較好。
圖5 光線變化下的運動目標提取
圖6為不同算法對highway II的運動目標檢測結(jié)果,其中(a)從左至右依次為原始視頻序列的第273、349、497幀,圖(b)為采用對稱差分法所得的結(jié)果,運動目標存在空洞,圖(c)為混合高斯背景法,檢測結(jié)果基本清晰,但是運算時間較大,圖(d)為本文算法結(jié)果??梢钥闯?,運動目標輪廓較完整,改善了對稱差分法的空洞現(xiàn)象,也克服了混合高斯背景法對環(huán)境敏感的問題,使目標區(qū)域更為準確。
圖7為不同算法對PetsD2TeC1視頻序列的運動目標處理結(jié)果,該視頻背景加入了樹枝擾動和光線漸變的影響,其中圖(a)、(b)分別為原始視頻的第950幀和2 777幀,圖(c)為本文算法的背景提取結(jié)果,圖(d)、(e)、(f)和圖(g)、(h)、(i)分別為對稱差分法、高斯背景法和本文算法對第950幀和2 777幀的目標檢測結(jié)果。從圖中可以看出,本文算法在背景受外界環(huán)境的影響下能夠準確地提取背景圖像并檢測出運動速度較慢的目標,相比于對稱差分法含有更多的運動目標信息,運算速度快于高斯背景法,具有很強的適應性。
圖6 highway II視頻序列的運動目標檢測
圖7 PetsD2TeC1視頻序列的運動目標檢測
針對靜態(tài)場景,提出了一種融合對稱差分與背景減法的運動目標檢測算法。本文算法一定程度上克服了對稱差分目標不完整和背景減法對環(huán)境敏感的缺點,所采用的改進的時間平均背景模型能提取出可靠的背景,并能根據(jù)不同的場景變化采用不同的自適應背景更新策略,保證了背景圖像實時性和準確性,解決了如背景全局光線突變、樹枝擾動等問題,提高了系統(tǒng)的穩(wěn)定性。本文方法計算簡單有效,在復雜場景中可以準確地提取和更新背景圖像,但并未考慮目標陰影的情況,因此下一步將研究如何消除目標陰影,以提高該方法的準確性。
[1]Piccardi M.Background Subtraction techniques:a review[C]//Proc of IEEE International Conference on System,Man and Cybernetics,Holland,2004:3099-3104.
[2]張志付.基于背景減法的運動檢測算法研究[D].上海:上海交通大學,2008.
[3]Kim K,Chalidabhongse T H,Harwood D,et al.Background modeling and subtraction by codebook construction[C]//Proc of International Conference on Image Processing,Singapore,2004,5:3061-3064.
[4]M ittal A,Paragios N.Motion-based background subtraction using adaptive kernel density estimation[C]//Proc of IEEE Conference on Computer Vision and Pattern Recognition,2004,2:302-309.
[5]Lee D S,Hull J,Erol B.A Bayesian framework for Gaussian mixture background modeling[C]//Proc of IEEE International Conference on Image Processing,2003,2:973-976.
[6]Kim H,Ku B,Han D K.Adaptive selection of model histograms in block-based background subtraction[J].Electronics Letters,2012,48(8):434-435.
[7]Barnich O.ViBe:a universal background subtraction algorithm for video sequences[J].IEEE Transactions on Image Processing,2011,20(6):1709-1724.
[8]Brutzer S,Hoferlin B,Heidemann G.Evaluation of background subtraction techniques for video surveillance[C]//Proc of IEEE Conference on Computer Vision and Pattern Recognition,Providence,2011:1937-1944.
[9]Wang Hongzhi,Dong Ying.An improved image segmentation algorithm based on Otsu method[C]//Proc of SPIE,Beijing,2007,6625:662501.
[10]侯志強,韓崇昭.基于像素灰度歸類的背景重構(gòu)算法[J].軟件學報,2005,16(9):1568-1576.