官洪運(yùn),汪 晨,蘇振濤
(1.東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620; 2. 東華大學(xué) 數(shù)字化紡織服裝技術(shù)教育部工程研究中心,上海 201620)
運(yùn)動(dòng)目標(biāo)檢測(cè)一直是計(jì)算機(jī)視覺領(lǐng)域的一個(gè)十分重要且熱門的方向,受到國(guó)內(nèi)外學(xué)者的普遍關(guān)注,大量的研究成果已經(jīng)在科學(xué)研究和生產(chǎn)生活中有了廣泛的應(yīng)用[1],如智能視頻監(jiān)控和智能交通監(jiān)控領(lǐng)域。常用的運(yùn)動(dòng)目標(biāo)檢測(cè)算法有:背景光流法[2]、差分法[3]、幀間差分法[4]、混合高斯模型法[5]等。
ViBe(Visual Background extractor)是一種像素級(jí)的背景建模和前景檢測(cè)算法,是最初由BARNICH O和VAN DROOGENBROECK M[6]提出的一種運(yùn)動(dòng)目標(biāo)檢測(cè)方法,對(duì)于背景模型的更新策略是該算法最大的不同之處:其通過隨機(jī)選擇需替換的像素樣本,并隨機(jī)選擇鄰域像素進(jìn)行更新的處理方式。當(dāng)像素變化的模型無(wú)法確定時(shí),采用隨機(jī)的更新策略在一定程度上可以有效地模擬像素變化的不確定性。ViBe算法不僅簡(jiǎn)化了背景模型建立的過程,還可以處理背景發(fā)生驟變的情況。當(dāng)檢測(cè)到背景發(fā)生較為明顯的變化時(shí)候,ViBe會(huì)舍棄原始的模型,并利用變化后的首幀圖像重新建立背景模型。但是ViBe也有較多不足之處:如由于采用了運(yùn)動(dòng)目標(biāo)的像素初始化樣本集,容易引入鬼影(Ghost)區(qū)域,圖像會(huì)存在噪點(diǎn),并且易產(chǎn)生運(yùn)動(dòng)目標(biāo)不完整等問題。針對(duì)這些缺點(diǎn),不少國(guó)內(nèi)外專家學(xué)者也做了大量研究。CHENG K Y等人[7]提出用首幀圖像初始化背景模型,用第二幀與背景建模,并進(jìn)行對(duì)比檢測(cè)出目標(biāo)運(yùn)動(dòng)區(qū)域,并對(duì)Ghost區(qū)域的每幀像素都進(jìn)行初始化處理,直至Ghost區(qū)域被完全初始化。齊悅[8]等人提出一種改進(jìn)視覺背景的ViBe算法,在背景模型初始化時(shí),通過對(duì)多幀圖像隨機(jī)選取像素點(diǎn)并累加判斷后,形成背景模型;閔衛(wèi)東[9]等人用被檢測(cè)視頻的當(dāng)前幀與背景幀作差分運(yùn)算,采用OTSU算法計(jì)算圖像的分割閾值來檢測(cè)運(yùn)動(dòng)目標(biāo),但是由于背景差分法對(duì)光照和環(huán)境變化較為敏感,因此該算法并不能完全適應(yīng)動(dòng)態(tài)環(huán)境;楊丹等人[10]提出了一種多幀平均法初始化背景模型的ViBeImp算法,此算法經(jīng)過大量實(shí)驗(yàn)驗(yàn)證得出在智能交通領(lǐng)域有較好的實(shí)用性,但是針對(duì)復(fù)雜情況的魯棒性不是很好。楊依忠[11]等人提出通過第1幀建立背景模型,在前5幀中每個(gè)像素點(diǎn)的鄰域隨機(jī)選4個(gè)像素點(diǎn)背景模型,并采用“或”類型三幀差法做“或”運(yùn)算去改善漏檢的問題,但其在運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)速度緩慢時(shí)其檢測(cè)效果不是很理想。
本文提出了一種基于ViBe改進(jìn)的運(yùn)動(dòng)目標(biāo)檢測(cè)算法,考慮了物體檢測(cè)中往往會(huì)出現(xiàn)Ghost區(qū)域[12]和噪點(diǎn)區(qū)域,同時(shí)存在運(yùn)動(dòng)目標(biāo)不完整等問題,本文通過研究對(duì)比各種算法優(yōu)缺點(diǎn)和經(jīng)過大量實(shí)驗(yàn)改進(jìn),采用連接區(qū)域的濾波操作、檢測(cè)圖像、檢測(cè)閃爍像素等方法,經(jīng)過大量對(duì)比實(shí)驗(yàn)表明,改進(jìn)后的算法很大程度上解決了傳統(tǒng)ViBe算法存在的一些缺陷問題。
ViBe算法是一種基于背景更新的前景檢測(cè)算法,該算法基于提取像素點(diǎn)(x,y)周圍的像素值和先前像素值,創(chuàng)建一組樣本像素,然后將另一幀(x,y)處的像素值與樣本集中的像素值進(jìn)行對(duì)比,如果結(jié)果與樣本集中的像素值的距離大于某個(gè)閾值,則將該像素定為前景像素,否則定為背景像素點(diǎn)。ViBe算法主要包含三個(gè)部分:背景模板初始化、目標(biāo)檢測(cè)和背景更新。
假設(shè)每一像素與其鄰域像素的像素值在空域上都存在類似的分布?;诖思僭O(shè),可以用其鄰域中的像素來描述每一個(gè)像素模型。同時(shí)為了保證背景模型符合統(tǒng)計(jì)學(xué)規(guī)律,鄰域的范圍要足夠大。當(dāng)輸入首幀圖像時(shí),即t=0時(shí),像素的背景模型為:
BKM0=f0(xi+yi)|(xi+yi)∈NG(x+y)
(1)
其中,NG(x,y)表示空域上相鄰的像素值,f0(x,y)表示當(dāng)前點(diǎn)的像素值。在N次的初始化的過程中,NG(x,y)中的像素點(diǎn)(xi,yi)被選中的可能次數(shù)L=1,2,3,…,N。
(2)
這里上標(biāo)k是隨機(jī)選的;T是預(yù)先設(shè)置好的閾值。當(dāng)fk(x,y)滿足符合背景N次時(shí),認(rèn)為像素點(diǎn)fk(x,y)為背景,否則為前景。
本文采用的背景模型更新方式為隨機(jī)更新策略,即每一個(gè)背景點(diǎn)有1/φ的概率去更新其模型的樣本值,同時(shí)也有1/φ的概率去更新其鄰居點(diǎn)的模型空間,由于背景模型逐漸向外擴(kuò)散,這也有利于Ghost區(qū)域更快的識(shí)別。同時(shí)當(dāng)前景點(diǎn)計(jì)數(shù)達(dá)到臨界值時(shí)將其變?yōu)楸尘埃⒂?/φ的概率去更新自己的模型樣本值。
在選擇要替換的樣本值時(shí),本文采用的是隨機(jī)選取一個(gè)樣本值進(jìn)行更新,這樣可以保證樣本值的平滑生命周期。同時(shí)由于是采用隨機(jī)更新,一個(gè)樣本值在時(shí)刻t不被更新的概率為(N-1)/N。假設(shè)時(shí)間為連續(xù)的,在dt的時(shí)間過去后,樣本值仍然保留的概率為
(3)
從上述表達(dá)式中可以看出,一個(gè)樣本值在模型中是否被替換與時(shí)間t無(wú)關(guān),即說明本方法符合隨機(jī)更新策略。
在本文算法中,就分割蒙版與更新蒙版區(qū)域,分別對(duì)幾種類型區(qū)域做了相應(yīng)處理。對(duì)于分割蒙版,本文移除面積小于等于10(像素)的前景斑點(diǎn)區(qū)域,填充了面積小于等于20的前景孔洞區(qū)域;而對(duì)于貼近邊緣的斑點(diǎn),無(wú)論尺寸全部保留都使其保持原來的狀態(tài);而對(duì)于更新蒙版,本文選擇的處理方法為填充面積小于等于50(像素)的前景孔洞區(qū)域,通過此處理方式來抑制散布在前景物體中的錯(cuò)誤背景。
當(dāng)背景分布出現(xiàn)較多峰值時(shí),極易出現(xiàn)沒有明確機(jī)制去適應(yīng)這種分布的情況,從而影響背景處理效果。針對(duì)此現(xiàn)象,本文采取的處理機(jī)制為:當(dāng)某個(gè)像素經(jīng)常在背景點(diǎn)與前景點(diǎn)之間跳變時(shí)(對(duì)此像素稱之為閃爍像素)。對(duì)于每一像素點(diǎn),本文算法存儲(chǔ)了之前的更新蒙版,并構(gòu)建了一個(gè)閃爍等級(jí)圖表。本文對(duì)于閃爍等級(jí)定義如下:若某個(gè)像素是屬于背景內(nèi)邊緣,并且當(dāng)前更新的邊緣不同于之前更新的邊緣,那么閃爍等級(jí)增加15,否則等級(jí)減1;如果一個(gè)像素的閃爍等級(jí)大于等于30,則該像素被認(rèn)為正在閃爍,并將其從更新蒙版中移除。并且只有在背景蒙板的邊界,才允許閃爍等級(jí)增加,以此增強(qiáng)原有算法對(duì)于多峰背景分布的處理。同時(shí)本文做了極值限制處理,防止出現(xiàn)較大的偏差,使閃爍等級(jí)始終保持在整數(shù)范圍0~150之間。
本文結(jié)果均在Intel Core i5-4200M CPU、2.50 GHz主頻、12 GB內(nèi)存的計(jì)算機(jī)上運(yùn)行所得,運(yùn)行環(huán)境為VisualStudio 2013,結(jié)合開源OpenCV庫(kù)。采用GMG(Geometric Multigid)[13]、KDE(Kernel Density Estimation)[14]、傳統(tǒng)ViBe算法和改進(jìn)后的ViBe算法(圖表中稱為本文算法)作為對(duì)比實(shí)驗(yàn)。
本文在CDW-2014[15]提供的數(shù)據(jù)集中選出BadWeather、Shadow、Baselines以及DynamicBackground等情況的視頻序列4組,比較包含本文算法在內(nèi)的4種算法的效果。圖1展示了實(shí)驗(yàn)中部分具有代表性的結(jié)果。
在本文選擇的視頻序列中,Skating圖像序列是在BadWeather下,由3 900幀圖像組成的,場(chǎng)景中大雪的背景對(duì)目標(biāo)任務(wù)的檢測(cè)存在較大干擾,但是傳統(tǒng)ViBe算法與本文改進(jìn)后的算法依舊具有較好的檢測(cè)效果。
Sofa圖像序列由2 750幀圖像組成,屬于Intermittent ObjectMotion類目,場(chǎng)景中存在陰影,此類目的特點(diǎn)是包含背景對(duì)象移動(dòng)、廢棄對(duì)象和對(duì)象短暫停止然后移動(dòng),由圖可知,GMG和KDE算法誤判率較高。
圖1 4種算法在不同場(chǎng)景下的檢測(cè)效果圖
BusStation是在Shadow類目下,由1 250幀圖像構(gòu)成,GMG算法對(duì)行人輪廓區(qū)域的提取效果存在較大誤差,KDE在此環(huán)境下的噪點(diǎn)較大傳統(tǒng)ViBe算法在此條件下的Ghost區(qū)域較明顯,而本文算法對(duì)噪點(diǎn)的抗干擾能力與鬼影消除都表現(xiàn)良好。
PETS2006序列位于Baseline類目下,由1 200 幀圖像組成,根據(jù)結(jié)果可以看出,GMG算法檢測(cè)區(qū)域明顯誤差過大,KDE算法產(chǎn)生了大量噪點(diǎn),傳統(tǒng)ViBe算法生成的運(yùn)動(dòng)員輪廓不完整。對(duì)比之下顯然本文改進(jìn)后的算法對(duì)此類場(chǎng)景處理效果更好??傮w而言本文算法在大部分情況下檢測(cè)效果明顯優(yōu)于其他算法,在復(fù)雜情況下也具有較好的魯棒性。
對(duì)算法進(jìn)行定量分析,引入圖像的單位時(shí)間內(nèi)處理幀數(shù)公式,分別評(píng)估GMG、KDE、傳統(tǒng)ViBe算法和本文算法對(duì)比的處理速度,單位為frame/s,得到表1,可以得出本文算法相對(duì)GMG、KDE算法、傳統(tǒng)ViBe算法單位時(shí)間內(nèi)處理幀數(shù)分別提高了10.9%、12.7%、6.1%。
表1 四種算法檢測(cè)效果對(duì)比圖
此外,為了綜合評(píng)價(jià)算法的優(yōu)劣度,本文還采用Precision(準(zhǔn)確率,Pr)、Recall(召回率,Re)和F1-score(F1值)參數(shù)(準(zhǔn)確率和召回率的調(diào)和平均值) 作為定量評(píng)價(jià)指標(biāo),其計(jì)算公式為[16]:
(4)
(5)
(6)
式中,TP表示正確檢測(cè)出的運(yùn)動(dòng)目標(biāo)數(shù)目,F(xiàn)P表示錯(cuò)誤檢測(cè)出的非運(yùn)動(dòng)目標(biāo)數(shù)目,F(xiàn)N表示未檢測(cè)出的運(yùn)動(dòng)目標(biāo)數(shù)目。圖2 給出4種算法在4個(gè)不同場(chǎng)景視頻測(cè)試的3種評(píng)價(jià)指標(biāo)的平均值。
綜合而言,本文改進(jìn)的ViBe算法在準(zhǔn)確率、召回率以及F1值方面均為最優(yōu),明顯提高了ViBe算法的綜合性能。
圖2 4種算法不同指標(biāo)對(duì)比
本文基于ViBe算法,提出了一種基于ViBe改進(jìn)的運(yùn)動(dòng)目標(biāo)檢測(cè)算法,對(duì)視頻中的運(yùn)動(dòng)目標(biāo)同時(shí)進(jìn)行前景檢測(cè)和背景建模處理,并且將前景區(qū)域與背景區(qū)域直方圖匹配,通過連接區(qū)域的濾波操作,填充面積小于等于50的前景孔洞區(qū)域,以此抑制散布在前景物體中的錯(cuò)誤背景。此外,通過檢測(cè)圖像的閃爍像素,對(duì)每個(gè)像素存儲(chǔ)之前的更新模板,并建立閃爍等級(jí)表,若某個(gè)像素的閃爍等級(jí)大于或等于設(shè)定的閾值,該像素則被認(rèn)為正在閃爍,并將其從更新蒙版中移除,從而抑制更新模板中的閃爍區(qū)域。在CDW-2014標(biāo)準(zhǔn)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文算法在可接受的時(shí)間成本內(nèi)得到了良好的綜合性能,在視頻圖像處理領(lǐng)域有較廣闊的應(yīng)用前景。但是對(duì)于靜止目標(biāo)和陰影前景等問題,本文算法的檢測(cè)轉(zhuǎn)缺性和魯棒性還有待提高。