摘 要: 針對傳統(tǒng)的混合高斯模型不能很好地處理突變的情況,提出了一種新的運(yùn)動目標(biāo)檢測算法。該算法在時間域上對混合高斯模型的更新機(jī)制進(jìn)行了改進(jìn),并對模型加入了幀間處理,提取出初步的運(yùn)動目標(biāo);在空間域上,通過Canny邊緣檢測算子獲得初步的運(yùn)動目標(biāo)邊緣輪廓,利用圖像金字塔的多分辨特性排除背景噪聲,經(jīng)過一定運(yùn)算再次得到運(yùn)動目標(biāo)。將兩次得到的運(yùn)動目標(biāo)作“與運(yùn)算”,提取出最終的運(yùn)動目標(biāo)。實(shí)驗(yàn)結(jié)果表明,本算法可以較好地處理突變情況,提取的運(yùn)動目標(biāo)圖像完整、輪廓清晰。
關(guān)鍵詞: 邊緣檢測; 混合高斯模型; 運(yùn)動目標(biāo)檢測;背景減除
在智能視頻監(jiān)控和運(yùn)動分析應(yīng)用中,一個基礎(chǔ)而又關(guān)鍵的任務(wù)是從視頻序列中實(shí)時地檢測出運(yùn)動目標(biāo)。視頻運(yùn)動目標(biāo)檢測的主要目的是從視頻序列中提取出運(yùn)動目標(biāo)并獲得其特征信息,如顏色和輪廓等[1]。目前運(yùn)動目標(biāo)檢測算法主要有光流法、背景差分法和幀差分法等。其中,背景差分法是目前研究最多、應(yīng)用最廣泛的一種方法[2]?;旌细咚鼓P汪敯粜员容^高,能夠較好地處理規(guī)律變化的動態(tài)背景,但是它對突發(fā)事件(如光照突變)的響應(yīng)速度比較慢,容易受到背景噪聲干擾的影響,從而造成無法正確地提取運(yùn)動目標(biāo)。近年來,一些研究人員對高斯模型法提出了改進(jìn)方法,效果仍不理想。本文提出了一種融合混合高斯模型和邊緣檢測的運(yùn)動目標(biāo)檢測算法。該算法首先對混合高斯背景模型的更新機(jī)制進(jìn)行了改進(jìn),并對模型加入了幀間處理使其可以適應(yīng)突變,得到初步的運(yùn)動目標(biāo);再結(jié)合Canny邊緣檢測算子和金字塔運(yùn)算得到運(yùn)動目標(biāo)輪廓,經(jīng)過填充、形態(tài)學(xué)處理后再次得到運(yùn)動目標(biāo)圖像,將兩次得到的運(yùn)動目標(biāo)作“與運(yùn)算”,提取出最終的運(yùn)動目標(biāo)。實(shí)驗(yàn)結(jié)果表明,本文提出的算法可以較好地提取運(yùn)動目標(biāo)輪廓,有效抑制陰影與噪聲的影響,并能適應(yīng)突變情況。
1 混合高斯模型
基于高斯混合模型的背景建模方法最初由STAUFFER和GRIMSON于1999年提出[6-7]。對于圖像序列中的像素點(diǎn)的歷史觀測值集合為{X1,X2,…,Xt},可以得到該像素值在當(dāng)前幀的概率密度函數(shù):
對于沒有匹配的高斯分布,其參數(shù)皆保持不變。前景檢測的過程在模型更新之前進(jìn)行。如果在當(dāng)前根據(jù)ω/σ值排序后的背景描述的B個高斯分布中,至少有一個高斯分布與當(dāng)前像素值匹配,則當(dāng)前像素為一個背景像素,否則,判定其為前景像素。
通過改進(jìn)的混合高斯模型算法可以得到一個初步的運(yùn)動目標(biāo),并標(biāo)記為運(yùn)動目標(biāo)a,以備與基于邊緣檢測所得運(yùn)動目標(biāo)相結(jié)合,得到更精確的運(yùn)動目標(biāo)。
2.2 Canny邊緣檢測算法
由于陰影及背景噪聲的影響,單純使用混合高斯模型所提取出的運(yùn)動目標(biāo)輪廓不準(zhǔn)確。為了在運(yùn)動物體分割中得到精確的對象輪廓,本文結(jié)合空間分割結(jié)果來優(yōu)化物體區(qū)域。一個好的邊緣檢測算子應(yīng)具有3個指標(biāo):好的邊緣檢測結(jié)果、好的定位特性和單邊緣響應(yīng)?;谶@3個指標(biāo),Canny提出了一種最優(yōu)逼近算子—— Canny邊緣檢測算子。該算法描述如下:
(1)用高斯濾波模板進(jìn)行卷積以消除噪聲,平滑圖像。
(2)用一階偏導(dǎo)計算梯度的幅值和方向。
(3)對梯度幅值進(jìn)行非極大值抑制,在梯度方向上獲取梯度幅值最大的邊緣點(diǎn)。如果某個像素的灰度值與其梯度方向上前后兩個像素的灰度值相比不是最大的,則認(rèn)為該點(diǎn)不是邊緣點(diǎn)。
(4)遲滯處理,用雙閾值算法檢測和連接邊緣。認(rèn)為所有梯度大于高閾值的一定是邊緣點(diǎn),凡是小于低閾值的一定不是邊緣點(diǎn);如果梯度值大于低閾值而小于高閾值,則根據(jù)該像素的鄰域像素進(jìn)行判斷,如果鄰域中存在梯度大于高閾值的像素,就認(rèn)為該點(diǎn)是邊緣點(diǎn),否則不是邊緣點(diǎn)。采用這種方法可以更好地抑制孤立噪聲。
2.3 本文算法描述
圖1所示為本文提出的邊緣檢測與混合高斯模型相融合的運(yùn)動目標(biāo)檢測算法流程圖。在時間域上,對GMM(混合高斯算法)進(jìn)行改進(jìn)之后,提取到初步運(yùn)動目標(biāo)a。在空間域上,利用Canny邊緣檢測算子獲得當(dāng)前幀圖像和背景圖像的邊緣輪廓,相減得到粗糙的運(yùn)動目標(biāo)邊緣輪廓,對其進(jìn)行金字塔運(yùn)算得到精確的運(yùn)動目標(biāo)輪廓,經(jīng)形態(tài)學(xué)處理后可針對同一幀圖像再次提取到運(yùn)動目標(biāo)b。將兩次得到的運(yùn)動目標(biāo)a和b作“與運(yùn)算”,提取出最終的運(yùn)動目標(biāo)。
下面給出運(yùn)動目標(biāo)b的提取方法。
邊緣是由圖像的局部變化決定的,因此邊緣檢測結(jié)果對圖像噪聲相當(dāng)敏感。為了減少物體邊緣圖像中的噪聲,在邊緣檢測之前應(yīng)盡量排除那些與運(yùn)動物體無關(guān)的背景區(qū)域??梢栽趯D像進(jìn)行Canny邊緣檢測之前先平滑圖像,以減少圖像中的噪聲污染。但是,這樣做并不能較好地消除噪聲污染,因此,本文引入了金字塔運(yùn)算。
在金字塔圖像中,不同尺度的圖像提供不同的特征信息,在細(xì)尺度下的圖像主要顯示細(xì)節(jié)信息,粗尺度圖像主要提供圖像的全局信息。將當(dāng)前幀邊緣輪廓與背景邊緣輪廓相減所得的運(yùn)動目標(biāo)邊緣輪廓進(jìn)行多級金字塔分解后,得到了邊緣輪廓的多尺度表達(dá)。噪聲主要表現(xiàn)為不規(guī)則的點(diǎn),因此在粗尺度下,噪聲污染將基本清除。再將粗尺度的邊緣輪廓向上采樣,由于所得到的圖像輪廓會存在間斷,因此應(yīng)使用閉運(yùn)算進(jìn)行邊緣連接,這樣可以得到精確的運(yùn)動目標(biāo)邊緣輪廓。然后填充運(yùn)動目標(biāo)輪廓,將面積小于一定閾值的連通成分當(dāng)作噪聲去除。經(jīng)形態(tài)學(xué)處理之后就得到初步運(yùn)動目標(biāo)b。
將運(yùn)動目標(biāo)b與前面改進(jìn)的GMM算法得到的運(yùn)動目標(biāo)a作與運(yùn)算,提取出最終的運(yùn)動目標(biāo)。
3 實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)在Intel(R)雙核Duo CPU2 T5870@2.00 GHz CPU、2 GB內(nèi)存、Windows XP操作系統(tǒng)、VC++6.0的環(huán)境下,基于Intel開源庫OpenCV編程實(shí)現(xiàn)。
為了驗(yàn)證本文算法的有效性和適應(yīng)性,本實(shí)驗(yàn)選取了室外和室內(nèi)兩組視頻序列,實(shí)驗(yàn)結(jié)果如圖2和圖3所示。圖2(a)是室外視頻序列的第576幀,圖2(b)為使用傳統(tǒng)混合高斯模型提取的運(yùn)動目標(biāo)圖像,圖2(c)為本文算法得到的目標(biāo)圖像。從圖2可以看出,由于光照變化、戶外噪聲以及陰影因素的影響,使用混合高斯模型提取的運(yùn)動目標(biāo)并不理想,本文算法可以很好地處理噪聲,得到的運(yùn)動目標(biāo)完整、輪廓清晰。
圖3(a)為室內(nèi)視頻序列的第250幀,圖3(b)為使用傳統(tǒng)混合高斯模型提取的運(yùn)動目標(biāo)圖像,圖3(c)為本文算法得到的目標(biāo)圖像。由于室內(nèi)存在反光鏡,當(dāng)人走進(jìn)時,會導(dǎo)致光線變化,使用混合高斯模型并不能很好地處理突變,造成大量誤檢。應(yīng)用本文算法后,能夠提取出準(zhǔn)確、完整的運(yùn)動目標(biāo)。
本文提出了一種融合邊緣檢測和混合高斯模型的運(yùn)動目標(biāo)檢測算法。針對傳統(tǒng)的混和高斯模型不能很好地適應(yīng)突變的情況,在時間域上,對混合高斯模型參數(shù)進(jìn)行重新選擇,對更新機(jī)制進(jìn)行改進(jìn),并加入幀間處理,得到初步的運(yùn)動目標(biāo)(標(biāo)記為a)。由于陰影、噪聲等的影響,運(yùn)動目標(biāo)a的輪廓仍然不夠清晰。因此,在空間域上,結(jié)合Canny邊緣檢測算子和金字塔運(yùn)算得到運(yùn)動目標(biāo)輪廓,經(jīng)形態(tài)學(xué)處理后再次得到運(yùn)動目標(biāo)圖像(標(biāo)記為b)。將兩次得到的運(yùn)動目標(biāo)a和b作“與運(yùn)算”,提取出最終的運(yùn)動目標(biāo)。實(shí)驗(yàn)表明,本文算法能適應(yīng)突變情況,并能有效抑制陰影和噪聲的影響,提高了運(yùn)動目標(biāo)檢測的精確度。
參考文獻(xiàn)
[1] 趙文哲,秦世引.視頻運(yùn)動目標(biāo)檢測方法的對比分析[J].科技導(dǎo)報,2009,27(10):65-70.
[2] 甘新勝,趙書斌.基于背景差的運(yùn)動目標(biāo)檢測方法對比分析[J].指揮控制與仿真,2008,30(3):45-50.
[3] LEE D S. On line adaptive Gaussian mixture learning for video applications[C]. Statistical Methods in Video Processing, LNCS3247, 2004,3247:105-116.
[4] Arandjelovic O, CIPOLLA R. Incremental learning of temporally-coherent Gaussian mixture models[C]. Proceedings of British Machine Vision Conference, Oxford, UK,2005:759-768.
[5] 陳祖爵,陳瀟君,何鴻.基于改進(jìn)的混合高斯模型的運(yùn)動目標(biāo)檢測[J].中國圖象圖形學(xué)報,2007,12(9):1586-1589.
[6] STAUFFER C, GRIMSON W E L. Adaptive background mixture models for real-time tracking[C]. Proceedings of IEEE International Conference on Computer Vision and Pattern Recognition. Fort Collins: IEEE Press, 1999: 246-252.
[7] STAUFFER C, GRIMSON W E L. Learning patterns of activity using real-time tracking[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(8):747-757.
[8] SCHINDLER K, Wang Hanzi. Smooth forground-background segmentation for video processing [J]. Lecture Notes in Computer Science, 2006, 3852:581-590.
[9] 李亞玲,徐榮青,聶桂軍,等. 適應(yīng)場景光照變化的運(yùn)動目標(biāo)檢測算法[J].計算機(jī)技術(shù)與發(fā)展,2011.21(2):140-142.