王艷梅,張艷珠,劉義杰
(沈陽(yáng)理工大學(xué) a.信息科學(xué)與工程學(xué)院;b.自動(dòng)化與電氣工程學(xué)院,沈陽(yáng) 110159)
目前典型的目標(biāo)檢測(cè)傳統(tǒng)算法有幀差法[1-2]、光流法[3]和背景減除法[4]等。其中幀差法檢測(cè)運(yùn)動(dòng)目標(biāo)的計(jì)算量較少,但這種算法針對(duì)緩慢運(yùn)動(dòng)物體檢測(cè)效果較差。光流法對(duì)物體的運(yùn)動(dòng)速度及光照變化比較敏感,且計(jì)算量較大,不能用于實(shí)時(shí)的目標(biāo)檢測(cè)。背景減除法是最常用的目標(biāo)檢測(cè)方法之一,這種算法的原理是將前景與背景分離,高斯混合模型和ViBe(Visual Background Extractor)算法[5-6]就是最為常用的背景減除算法,其中高斯模型對(duì)各種復(fù)雜的場(chǎng)景都有較好的檢測(cè)效果[7-8],但在實(shí)際應(yīng)用當(dāng)中,針對(duì)場(chǎng)景的目標(biāo)檢測(cè)需要建立許多高斯混合模型,參數(shù)量大,實(shí)時(shí)性較差;而ViBe算法則能夠快速地分離出圖像的前景與背景,這種算法能以固定的更新率更新背景模型,在環(huán)境沒有波動(dòng)時(shí)可產(chǎn)生很好的效果,但一旦環(huán)境發(fā)生變化,就會(huì)產(chǎn)生鬼影[9-10]。由于傳統(tǒng)算法的限制,一些智能算法逐漸出現(xiàn),如Faster-rcnn算法、Yolo算法等;其中Faster-rcnn算法能夠準(zhǔn)確地進(jìn)行目標(biāo)定位,但實(shí)時(shí)性較差[11-12];而Yolo算法可以在實(shí)時(shí)性上領(lǐng)先Faster-rcnn算法[13],準(zhǔn)確率不如Faster-rcnn算法,且兩種算法都需要大量的數(shù)據(jù)標(biāo)注,實(shí)際應(yīng)用中會(huì)浪費(fèi)大量時(shí)間與人力、物力成本來進(jìn)行數(shù)據(jù)處理工作??梢姛o論傳統(tǒng)算法還是智能算法都有各種各樣的問題,本文針對(duì)這些問題提出了一種改進(jìn)的ViBe算法,提高了原有ViBe算法的準(zhǔn)確性,且不需要智能目標(biāo)檢測(cè)中的數(shù)據(jù)標(biāo)注過程,可節(jié)省大量人力成本,并實(shí)現(xiàn)了對(duì)運(yùn)動(dòng)物體高準(zhǔn)確率與時(shí)效性的目標(biāo)檢測(cè),有著較強(qiáng)的魯棒性。
ViBe算法出現(xiàn)時(shí)間相對(duì)較近,是一種像素級(jí)視頻背景建模算法,其原理是將一個(gè)像素點(diǎn)過去的值或其領(lǐng)域的值保存為一個(gè)樣本集,利用當(dāng)前像素點(diǎn)和該樣本集的值比較,如果屬于背景點(diǎn),則隨機(jī)替換背景模型中的一個(gè)值;其主要過程可分為三個(gè)部分,分別是模型的初始化、前景分割與背景模型的更新。
ViBe算法只需要單幀序列就能初始化模型,而大多數(shù)算法背景建模需要一定長(zhǎng)度視頻幀序列去初始化建模;對(duì)于復(fù)雜系統(tǒng),反復(fù)初始化的時(shí)間很長(zhǎng),不利于運(yùn)動(dòng)目標(biāo)檢測(cè)的實(shí)時(shí)性和連貫性,這也是ViBe算法的優(yōu)點(diǎn)[14]。
假設(shè)vi為第i幀圖像序列的背景模型樣本像素值,選取N個(gè)樣本,構(gòu)成背景模型幾何M(x)。
M(x)={v1,v2,…,vN-1,vN}
式中vi表示i領(lǐng)域隨機(jī)樣本值。
當(dāng)獲取背景中所有樣本集后,建立模型,判斷當(dāng)前點(diǎn)是否屬于前景點(diǎn)。
式中:#{·}表示滿足閾值條件的個(gè)數(shù);d(·)表示v(x)與vi(x)間歐氏距離;SR(v(x))是以v(x)為中心、R為半徑的球體區(qū)域;η表示閾值,若交集數(shù)小于閾值,認(rèn)為是前景點(diǎn),否則為背景點(diǎn)。
背景模型更新是該算法的關(guān)鍵部分,為適應(yīng)環(huán)境的各種變化(如光照強(qiáng)度突變、場(chǎng)景物體變更等擾動(dòng)),背景模型也應(yīng)當(dāng)更新以適應(yīng)這種變化?,F(xiàn)有的更新策略一般分為保守更新策略和Blind更新策略。所謂保守更新策略,即背景模型僅計(jì)算那些被判斷為背景點(diǎn)的像素,而前景點(diǎn)不予采用。ViBe算法采用的是保守更新策略,其優(yōu)點(diǎn)是能夠完整準(zhǔn)確快速的檢測(cè)運(yùn)動(dòng)目標(biāo)物體,但易存在鬼影區(qū)域。為此,ViBe算法結(jié)合空間信息并添加了對(duì)前景點(diǎn)計(jì)數(shù)的策略來消除鬼影區(qū)域。傳統(tǒng)ViBe算法基本能適應(yīng)各種背景情況,檢測(cè)結(jié)果相對(duì)于光流法等其他傳統(tǒng)方法用時(shí)更短,能夠獲得更完整的檢測(cè)信息。缺點(diǎn)是如果第一幀就包含運(yùn)動(dòng)目標(biāo),則檢測(cè)結(jié)果的鬼影較難消除。
傳統(tǒng)的ViBe算法由于很難完全將陰影去除,影響對(duì)檢測(cè)結(jié)果形狀識(shí)別,本文提出一種針對(duì)室內(nèi)視頻中運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)速度過快造成的陰影不易識(shí)別的ViBe算法的改進(jìn)方法,提取不包含陰影的檢測(cè)結(jié)果,從而提升檢測(cè)的準(zhǔn)確性,用于后續(xù)目標(biāo)識(shí)別、行為理解。該方法利用ViBe算法和基于灰度比的陰影檢測(cè)和抑制算法相結(jié)合,改進(jìn)提取前景運(yùn)動(dòng)目標(biāo)的算法,獲得一個(gè)相對(duì)更為準(zhǔn)確的提取結(jié)果,算法如下。
(1)利用ViBe算法來提取運(yùn)動(dòng)目標(biāo)二值化圖像D(x,y),并對(duì)結(jié)果進(jìn)行形態(tài)學(xué)處理,參數(shù)選??;
(2)運(yùn)用邊緣算子將處理的結(jié)果提取邊緣,這樣得到的邊緣圖像只包括檢測(cè)到的運(yùn)動(dòng)目標(biāo),消除背景物體邊緣對(duì)檢測(cè)結(jié)果影響,并將邊緣圖像與提取結(jié)果相或,得到待處理區(qū)域F(x,y);
(3)在待處理區(qū)域,即F(x,y)=1的部分,進(jìn)行陰影提取,將ViBe算法提取得到的二值化圖像與背景圖像比值求出,得到r。當(dāng)Tmin (4)將結(jié)果進(jìn)行形態(tài)學(xué)處理,并轉(zhuǎn)換為灰度圖像,得到提取結(jié)果。 本文采用的算法參數(shù)選取如表1所示。 表1 改進(jìn)ViBe算法的參數(shù)選擇 為驗(yàn)證本文提出的改進(jìn)ViBe算法的有效性,研究了多個(gè)視頻系統(tǒng),對(duì)比本文提出的改進(jìn)算法和傳統(tǒng)ViBe算法在不同背景下應(yīng)用的優(yōu)劣性。實(shí)驗(yàn)操作環(huán)境為Window 10系統(tǒng),運(yùn)行平臺(tái)為Matlab R2019b,針對(duì)不同背景下對(duì)比前運(yùn)行結(jié)果,并對(duì)結(jié)果進(jìn)行分析。不同背景分別為純凈背景、復(fù)雜背景、室內(nèi)背景。純凈背景下視頻攝像機(jī)固定,背景較純凈,無明顯擾動(dòng);復(fù)雜背景視頻則攝像機(jī)會(huì)有輕微抖動(dòng),背景含有多種復(fù)雜噪聲干擾;室內(nèi)背景視頻針對(duì)的是攝像機(jī)有明顯抖動(dòng),室內(nèi)由于光線問題有反光,目標(biāo)移動(dòng)速度時(shí)快時(shí)慢,形態(tài)不斷變化的情況。采取的實(shí)驗(yàn)視頻的分類和描述如表2所示。 表2 實(shí)驗(yàn)視頻的分類和描述 手持?jǐn)z像機(jī),有明顯抖動(dòng),室內(nèi)有反光,導(dǎo)致地板不同區(qū)域受光照亮度不同且隨時(shí)間任意變化,目標(biāo)移動(dòng)速度時(shí)快時(shí)慢,形態(tài)不斷變化。 實(shí)驗(yàn)中視頻的背景分類和描述見表3所示。 表3 實(shí)驗(yàn)中視頻的背景分類和描述 各算法實(shí)驗(yàn)結(jié)果如表4所示。 表4 各算法在不同背景條件下的實(shí)驗(yàn)結(jié)果(數(shù)字代表視頻的幀數(shù)) 從表4可以看出,對(duì)視頻中運(yùn)動(dòng)目標(biāo)不帶陰影的情況,ViBe算法信息比較完整準(zhǔn)確,起始時(shí)含鬼影,但最終的處理結(jié)果和本文的改進(jìn)算法一致。對(duì)視頻中運(yùn)動(dòng)目標(biāo)帶陰影,且移動(dòng)速度時(shí)快時(shí)慢、形態(tài)不斷變化的情況,ViBe算法雖然能夠提取目標(biāo)完整信息,但復(fù)雜背景下會(huì)含有部分空洞,不能去除陰影;而本文所采用的改進(jìn)算法相比常規(guī)的ViBe算法多了一部分陰影抑制,更能明確的辨別檢測(cè)物體的準(zhǔn)確形狀。改進(jìn)的算法能夠有效去除絕大部分陰影,且檢測(cè)結(jié)果相比ViBe算法擁有更完整的形態(tài)信息,能更準(zhǔn)確判別目標(biāo)形狀。圖1為室內(nèi)動(dòng)物運(yùn)動(dòng)視頻不同幀貓的檢測(cè)結(jié)果。 圖1視頻為手持?jǐn)z像機(jī),視頻有明顯抖動(dòng),室內(nèi)地面有反光,導(dǎo)致地板不同區(qū)域受光照亮度不同且隨時(shí)間任意變化;另外貓的移動(dòng)速度時(shí)快時(shí)慢,形態(tài)也不斷變化。從圖1中可以看出,本算法可以有效去除絕大部分陰影且獲得更完整的形態(tài)信息,但檢測(cè)結(jié)果存在陰影邊緣線;第102幀檢測(cè)結(jié)果看上去就像斷斷續(xù)續(xù)的碎片組成。 圖1 改進(jìn)后的ViBe算法檢測(cè)結(jié)果 提出一種針對(duì)室內(nèi)視頻中運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)速度過快造成的陰影不易識(shí)別的ViBe算法的改進(jìn)方法,所提出的算法可以較好的去除陰影區(qū)域,較準(zhǔn)確獲得目標(biāo)的形態(tài)信息,對(duì)于后續(xù)的目標(biāo)識(shí)別、跟蹤和理解提供基礎(chǔ),具有一定的實(shí)際借鑒性。該方法對(duì)于車輛系統(tǒng)和行人系統(tǒng)這類復(fù)雜背景的陰影去除有較好效果;而對(duì)于室內(nèi)背景動(dòng)物的運(yùn)動(dòng)系統(tǒng)的處理結(jié)果仍有不足,如檢測(cè)結(jié)果邊緣線還在,這是由于目標(biāo)沒有準(zhǔn)確輪廓,在光滑的地磚上邊緣灰度難以界定,如強(qiáng)行消除邊緣陰影,又會(huì)導(dǎo)致目標(biāo)本體被更多的消除;此外,由于室內(nèi)光照變化,運(yùn)動(dòng)目標(biāo)自身灰度值的變化,固定的閾值可能導(dǎo)致檢測(cè)結(jié)果丟失部分目標(biāo)本體。3 實(shí)驗(yàn)結(jié)果與分析
4 結(jié)論