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