摘 要: 為了能快速提取視頻監(jiān)控中的運(yùn)動目標(biāo),提出將ViBe算法與Canny邊緣檢測算法相結(jié)合快速準(zhǔn)確提取運(yùn)動目標(biāo)的方法。該方法利用ViBe算法檢測運(yùn)動目標(biāo),運(yùn)用Canny算子提取運(yùn)動目標(biāo)邊緣輪廓,并將其與通過區(qū)域填充得到的精確運(yùn)動目標(biāo)相“與”,獲取運(yùn)動目標(biāo)準(zhǔn)確的外邊界;通過膨脹、腐蝕、閉運(yùn)算等數(shù)學(xué)形態(tài)學(xué)圖像處理,得到運(yùn)動目標(biāo)完整檢測區(qū)域,結(jié)合相對應(yīng)視頻序列幀可以提取運(yùn)動目標(biāo)。實(shí)驗(yàn)表明,該方法可以快速、實(shí)時地提取多運(yùn)動目標(biāo)。
關(guān)鍵詞: 運(yùn)動目標(biāo)提取;ViBe;Canny邊緣檢測;區(qū)域填充;形態(tài)學(xué)處理
0 引言
從視頻監(jiān)控數(shù)據(jù)中提取運(yùn)動目標(biāo)是視頻分析研究的難點(diǎn)和熱點(diǎn)問題之一。而運(yùn)動目標(biāo)提取的首要任務(wù)是運(yùn)動目標(biāo)檢測,目前常用的目標(biāo)檢測方法有背景減除法[1]、光流法[2]和幀間差分法[3]3種。背景減除法運(yùn)用最廣泛,2009年,BARNICH O等人提出一種新的背景減除算法——ViBe算法。該算法的優(yōu)點(diǎn)[4]是計算量小、速度快,但由于利用可能含有運(yùn)動物體的視頻幀初始化背景模型,易引入拖影(Ghost)區(qū)域[5-6]。本文基于ViBe算法結(jié)合Canny算子及形態(tài)學(xué)圖像處理等技術(shù),克服了ViBe算法前景檢測中出現(xiàn)鬼影和陰影的不足,可以更實(shí)時、快速、準(zhǔn)確地提取運(yùn)動目標(biāo)。
1 ViBe算法
1.1 ViBe算法簡介
ViBe算法屬于像素域背景建模的前景檢測算法,但該算法與其他傳統(tǒng)背景建模前景檢測算法不同,主要區(qū)別在于背景模型的建立和背景更新策略[7]。
1.2 背景模型的建立
ViBe算法的背景模型建立工作是在第1幀完成的。首先,設(shè)視頻圖像中任一像素點(diǎn)A坐標(biāo)為(x,y),在其鄰域內(nèi)隨機(jī)選取N個像素點(diǎn)組成一個樣本集合B={v1,v2,…,vn},構(gòu)建背景模型,待測的像素點(diǎn)通過與模型中像素樣本值的比較來判斷是否屬于背景像素點(diǎn)。其實(shí)質(zhì)就是分類的問題,ViBe算法中采用了二維空間中的歐式距離來解決像素點(diǎn)的分類,具體方法是在以待測像素點(diǎn)為圓心,建立一個以R為半徑的圓。如圖1所示,背景模型中落在圓內(nèi)的像素點(diǎn)個數(shù)大于設(shè)定的閾值時,就將該像素點(diǎn)分類為背景像素。
1.3 模型的更新策略
ViBe算法的更新策略采用保守更新策略結(jié)合前景點(diǎn)計數(shù)的方法,得到的更新策略為:若某點(diǎn)像素屬于前景,則該點(diǎn)永遠(yuǎn)都不會被更新為背景模型;再結(jié)合前景點(diǎn)計數(shù)方法,統(tǒng)計像素點(diǎn),若某個像素點(diǎn)被持續(xù)N次檢測為前景,則該像素點(diǎn)被更新為背景。
2 Canny算子簡介
1986年,CANNY J在傳統(tǒng)的一階微分算子Poberts算子、Sobel算子、Prewitt算子及二階微分算子Laplace、LOG等算子的基礎(chǔ)上,對邊緣檢測的方法進(jìn)行完善,提出了Canny邊緣檢測法[8]。Canny算法具有對噪聲的抗干擾性強(qiáng),邊緣檢測較精細(xì)等優(yōu)點(diǎn)。滿足邊緣檢測的三個最優(yōu)準(zhǔn)則是:(1)好的檢測;(2)好的定位;(3)低的錯誤檢測率。使用Canny邊緣檢測算法檢測圖像邊緣能有效地抑制噪聲同時又能較精確地確定邊緣的位置。其步驟如圖2所示。
3 ViBe算法與Canny算子結(jié)合提取運(yùn)動目標(biāo)
3.1 ViBe算法運(yùn)動目標(biāo)檢測效果及不足
ViBe算法對視頻序列幀處理得到運(yùn)動目標(biāo)檢測的效果圖如圖3所示。
圖3是對視頻第1幀進(jìn)行初始化建模后的處理結(jié)果圖,由于本文視頻數(shù)據(jù)第1幀中已經(jīng)有運(yùn)動目標(biāo)出現(xiàn),因此ViBe算法檢測到的結(jié)果出現(xiàn)了鬼影(圖中灰色標(biāo)記的部分)。
3.2 Canny算子邊緣檢測效果
采用Canny算子提取運(yùn)動目標(biāo)邊緣輪廓如圖4所示。此算法得到精確的運(yùn)動目標(biāo)邊緣,也包含背景邊緣。而ViBe算法背景檢測準(zhǔn)確,檢測前景中不存在背景像素,故相與得到運(yùn)動目標(biāo)邊界是準(zhǔn)確的。
3.3 算法流程
針對ViBe算法進(jìn)行運(yùn)動前景檢測和提取的不足,改正ViBe算法進(jìn)行運(yùn)動目標(biāo)提取的缺點(diǎn),提出將其結(jié)合Canny算子的方法,將兩者相與,得到精確運(yùn)動前景邊界,消除了鬼影,也避免了拖影帶來的干擾,能夠比較精確地提取運(yùn)動目標(biāo)。圖5所示為兩種算法結(jié)合的程序流程圖。
該程序具體步驟如下:
?。?)對視頻系列幀進(jìn)行灰度處理,把彩色圖像轉(zhuǎn)換為灰度圖;
?。?)利用ViBe算法進(jìn)行運(yùn)動目標(biāo)檢測,從第2幀開始像素分類,檢測前景得到的運(yùn)動目標(biāo)檢測二值圖(程序中用矩陣表示);
?。?)對步驟(2)得到的二值圖進(jìn)行后區(qū)域填充,消除空洞,使得運(yùn)動目標(biāo)檢測較完整;
(4)平滑去噪當(dāng)前幀后進(jìn)行邊緣檢測,得到運(yùn)動目標(biāo)的邊緣二值圖;
?。?)將上一步得到的運(yùn)動目標(biāo)邊緣和步驟(3)得到的運(yùn)動目標(biāo)檢測進(jìn)行相與,得到運(yùn)動目標(biāo)的邊界;
?。?)對步驟(5)得到的運(yùn)動目標(biāo)邊界進(jìn)行膨脹處理及形態(tài)學(xué)處理后得到邊界連通的圖像,從而實(shí)現(xiàn)了運(yùn)動目標(biāo)提取。
4 實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)在電腦配置環(huán)境為Opencv2.4.8的VS2010下實(shí)現(xiàn)本文方法,視頻序列來自HighwayII.avi的一段高速路上監(jiān)控視頻,幀率為30幀/s,分辨率為320×240。為了證明本文算法的有效性,將其程序運(yùn)行效果圖與原有ViBe算法檢測到的運(yùn)動目標(biāo)效果圖、Canny邊緣檢測效果圖進(jìn)行對照,如圖6所示。
圖6的上下兩組圖中,上一組圖從左到右依次為視頻序列第256幀圖像的原始視頻幀圖像、ViBe算法檢測運(yùn)動目標(biāo)效果圖、Canny邊緣檢測效果圖、兩種算法結(jié)合相“與”運(yùn)動邊界圖,以及運(yùn)動邊界圖運(yùn)用膨脹、區(qū)域填充等形態(tài)學(xué)圖像處理得到完整的目標(biāo)提取區(qū)域圖。下一組圖是第382幀視頻序列圖的實(shí)驗(yàn)結(jié)果,其所對應(yīng)的目標(biāo)檢測圖效果較第256幀要準(zhǔn)確,但由這兩組最后提取區(qū)域圖可見,不管運(yùn)動目標(biāo)檢測中是否存在陰影和鬼影,最終本文的方法都能準(zhǔn)確地提取運(yùn)動目標(biāo)。
5 結(jié)論
本文采用結(jié)合ViBe算法和Canny邊緣檢測算法提取運(yùn)動目標(biāo)的方法,利用當(dāng)前幀的Canny算子與ViBe算法檢測出來的運(yùn)動目標(biāo)二值圖進(jìn)行相“與”運(yùn)算,得到比較準(zhǔn)確的運(yùn)動目標(biāo)邊界,再通過膨脹等形態(tài)學(xué)圖像處理技術(shù)[9]得到連通的運(yùn)動目標(biāo),從而順利實(shí)現(xiàn)了運(yùn)動目標(biāo)的提取。實(shí)驗(yàn)證明,本文所用方法避免了ViBe算法運(yùn)動目標(biāo)檢測過程中遇到的鬼影和陰影等問題。由于ViBe前景檢測算法是一種快速運(yùn)動目標(biāo)檢測算法,使得該方法具有快速、實(shí)用和準(zhǔn)確等優(yōu)點(diǎn),實(shí)現(xiàn)了對監(jiān)控視頻中所有運(yùn)動目標(biāo)實(shí)時、快速的提取。
參考文獻(xiàn)
[1] GUPT S, MASOUND O, MARTIN R F K, et al. Detection and classification of vehicles[J]. IEEE Transactions on Intelliget Transportation Systems, 2002,3(1):37-47.
[2] Tao Jianguo, Yu Changhong. Real-time detection and tracking of moving object[C]. Second International Symposium on Intellignet Information Technology Application, IITA′08, 2008(2):860-863.
[3] TSAI D M, LAI S C. Independent component analysis-based background subtraction for indoor surveillance[J]. IEEE Transactions on Image Processing, 2009,18(1):158-160.
[4] BARNICH O, DROOGENBROECK M V. ViBe: a universal background subtraction algorithm for video sequences[J]. IEEE Transactions on Image Processing, 2011,20(6):1709-1724.
[5] 陳亮,陳曉竹,范振濤.基于Vibe的鬼影抑制算法[J].中國計量學(xué)院學(xué)報,2013,24(4):425-429.
[6] 余燁,曹明偉,岳峰.EVibe:一種改進(jìn)的ViBe運(yùn)動目標(biāo)檢測算法[J].儀器儀表學(xué)報,2014,35(4):924-931.
[7] 鄭義洪,董超俊.基于ViBe和邊緣檢測結(jié)合的運(yùn)動目標(biāo)檢測[J].數(shù)字化用戶,2014(2):98-100.
[8] BRADSKI G, KAEHLER A.學(xué)習(xí)OpenCV(中文版)[M].于仕琪,劉瑞禎,譯.北京:清華大學(xué)出版社,2009.
[9] 龐首顏,張元勝.基于三幀差分及Canny算子的運(yùn)動目標(biāo)提取[J].重慶工商大學(xué)學(xué)報,2013,30(5):57-61.