趙澤壹,路 綱
(1.陜西師范大學(xué) 現(xiàn)代教學(xué)技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710119;2.陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,陜西 西安 710119)
在計(jì)算機(jī)視覺領(lǐng)域,運(yùn)動(dòng)目標(biāo)檢測是熱門的研究方向。解決這個(gè)問題的算法有很多,總得來說可以分為三類,分別是光流法[1-2]、幀差法[3-4]、背景消減法[5-14]。在觀察者和場景之間發(fā)生相對運(yùn)動(dòng)時(shí),視覺場景中物體表面和邊緣可以建立明顯的運(yùn)動(dòng)模型。光流法利用這樣的運(yùn)動(dòng)模型進(jìn)行運(yùn)動(dòng)目標(biāo)檢測,易受到噪聲干擾且計(jì)算成本高。幀差法通過計(jì)算相鄰兩幀之間的不同信息來捕捉運(yùn)動(dòng)目標(biāo),具有計(jì)算速度快、對光照變化穩(wěn)定性強(qiáng)的優(yōu)點(diǎn),但不能夠很好地適用于運(yùn)動(dòng)目標(biāo)快速移動(dòng)的場景,對于紋理信息較少的運(yùn)動(dòng)目標(biāo)也容易產(chǎn)生空洞。背景消減法通過對當(dāng)前圖像像素強(qiáng)度與相應(yīng)的背景進(jìn)行比較,從而實(shí)現(xiàn)對運(yùn)動(dòng)目標(biāo)的檢測。因?yàn)閷τ谶\(yùn)動(dòng)目標(biāo)檢測具有非常好的魯棒性,所以應(yīng)用非常廣泛。背景消減法的關(guān)鍵步驟在于背景建模過程。文獻(xiàn)[5]提出利用混合高斯方法對背景進(jìn)行建模。混合高斯方法在視頻序列中對運(yùn)動(dòng)目標(biāo)進(jìn)行檢測[11-14],通過對真實(shí)場景的背景進(jìn)行建模并不斷更新,可以有效克服因?yàn)橄鄼C(jī)抖動(dòng)而產(chǎn)生的微小擾動(dòng)噪聲。但是混合高斯方法對于快速的光照變化較為敏感。文獻(xiàn)[6-10]提出了對混合高斯方法的改進(jìn)策略,但這些方法仍然是對圖片的每一個(gè)像素進(jìn)行處理,更新每一個(gè)像素的概率密度函數(shù),計(jì)算代價(jià)非常大。
在上述研究基礎(chǔ)上,文中提出一種基于塊模型的運(yùn)動(dòng)目標(biāo)檢測方法。通過幀差法初步確定運(yùn)動(dòng)目標(biāo)在當(dāng)前幀的位置,利用二值化圖像計(jì)算當(dāng)前幀每個(gè)網(wǎng)格中動(dòng)態(tài)點(diǎn)的數(shù)量,即信息度,將所有圖像塊分為3類,分別是背景塊、運(yùn)動(dòng)塊、準(zhǔn)運(yùn)動(dòng)塊。針對不同類型圖像塊構(gòu)建不同的混合高斯更新策略:背景塊中利用較少的像素信息更新混合高斯模型、運(yùn)動(dòng)目標(biāo)塊區(qū)域不更新混合高斯模型。并通過實(shí)驗(yàn)對該算法進(jìn)行驗(yàn)證。
混合高斯模型的理論基礎(chǔ)是任何類型的概率分布模型都能夠用多個(gè)高斯分布進(jìn)行近似表示。在場景背景建模過程中,利用多個(gè)帶有權(quán)值的高斯模型之和的形式構(gòu)建混合高斯模型公式,進(jìn)而表達(dá)在視頻圖像上相同位置像素的強(qiáng)度值?;旌细咚鼓P椭械膮?shù)可以在不需要對視頻幀進(jìn)行緩存的條件下對參數(shù)自適應(yīng)地進(jìn)行更新。以處理灰度圖像的視頻序列為例對混合高斯模型進(jìn)行描述,可以根據(jù)該例導(dǎo)出彩色圖像視頻序列混合高斯模型。
在時(shí)間維度上捕獲圖像序列I={I1,I2,…,It},其中t表示采樣時(shí)間。圖像It中每個(gè)像素Xt灰度值的概率分布是:
(1)
每個(gè)像素的k個(gè)高斯分布總是按wi,t/σi,t由大到小排列。
當(dāng)一個(gè)新的圖片被捕獲時(shí),它的每個(gè)像素都需要與其對應(yīng)的高斯模型進(jìn)行比較,看像素的灰度是否滿足|Xt-μi,t-1|<δσi,t-1,其中r是一個(gè)可以根據(jù)實(shí)際情況設(shè)定的閾值,一般取值范圍是2.5~3.5。當(dāng)?shù)趇個(gè)高斯模型與當(dāng)前像素Xt匹配時(shí),則對第i個(gè)高斯模型的參數(shù)均值和協(xié)方差進(jìn)行更新,公式如下:
wi,t=(1-α)wi,t-1+αMi,t
(3)
μi,t=(1-ρ)μi,t-1+ρXt
(4)
(5)
在像素Xt對應(yīng)的混合高斯模型中沒有一個(gè)高斯模型滿足|Xt-μi,t-1|<δσi,t-1的條件下,判斷高斯模型的數(shù)目是否等于最大數(shù)值K,如果當(dāng)前模型的數(shù)量小于K,則用這個(gè)像素的灰度值作為高斯分布的均值,再加上一個(gè)較大的協(xié)方差、當(dāng)前最小權(quán)值建立一個(gè)新的高斯分布。在更新完成后對混合高斯模型的權(quán)值進(jìn)行歸一化。
所有的高斯分布函數(shù)都按照公式wi,t/σi,t進(jìn)行從大到小的排序。在k個(gè)高斯分布函數(shù)中,假設(shè)權(quán)值最大的M個(gè)高斯分布函數(shù)構(gòu)建了背景模型。
(6)
其中,T是一個(gè)背景模型中所有高斯模型的權(quán)值之和最小值。在像素對應(yīng)的混合高斯模型中,1-M個(gè)高斯模型集合接近于理想背景模型,k-M個(gè)高斯模型集合更加接近于運(yùn)動(dòng)目標(biāo)模型。因此可以對每個(gè)像素點(diǎn)進(jìn)行過濾,如果它的灰度與前1-M個(gè)高斯模型匹配,那么這個(gè)點(diǎn)是背景點(diǎn),反之是運(yùn)動(dòng)目標(biāo)點(diǎn),從而實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)的檢測。
基于混合高斯模型的運(yùn)動(dòng)目標(biāo)檢測算法,對每一個(gè)像素都建立混合高斯模型,在求解過程中消耗大量的計(jì)算資源。雖然它能夠在一定程度上提升算法對環(huán)境的適應(yīng)能力,但仍然具有對光照敏感、靜態(tài)物體變?yōu)檫\(yùn)動(dòng)物體時(shí)產(chǎn)生鬼影等缺點(diǎn)。現(xiàn)在有很多改進(jìn)的混合高斯模型運(yùn)動(dòng)目標(biāo)檢測算法,雖然能夠在一定程度上克服光照變化、鬼影等問題,但仍然是在時(shí)間域上對每一個(gè)像素建立混合高斯模型,沒有考慮同一幀內(nèi)像素點(diǎn)在空間域上相鄰點(diǎn)具有的相關(guān)性。在文中提出的基于分塊模型的運(yùn)動(dòng)目標(biāo)檢測算法中,利用幀差法對運(yùn)動(dòng)目標(biāo)進(jìn)行預(yù)先估計(jì),從而確定當(dāng)前幀空間域上像素點(diǎn)之間的相關(guān)性,并將其加入到混合高斯模型的參數(shù)更新過程中。同時(shí)對運(yùn)動(dòng)目標(biāo)所處的圖像塊進(jìn)行單獨(dú)處理而不是對整幅圖像進(jìn)行處理,可以在降低計(jì)算復(fù)雜性的基礎(chǔ)上提升混合高斯模型運(yùn)動(dòng)檢測算法的性能。
算法大致流程如下:
(1)利用幀差法檢測運(yùn)動(dòng)目標(biāo);
(2)對圖像進(jìn)行分塊,計(jì)算每個(gè)圖像塊的信息值并對其進(jìn)行分類;
(3)對不同類別的圖像塊采用不同的混合高斯模型參數(shù)更新策略。
本節(jié)使用的圖片是視頻序列“Intelligent room”中的第108幀和第109幀,如圖1所示。
幀差法假設(shè)相鄰兩幀之間背景圖像像素點(diǎn)位置不發(fā)生變化,而運(yùn)動(dòng)點(diǎn)在像素位置發(fā)生位移,利用相鄰兩幀It-1和It的灰度差,通過閾值比較從而估計(jì)出運(yùn)動(dòng)目標(biāo)的位置,如式7:
(7)
其中,ac為運(yùn)動(dòng)目標(biāo)位置初步檢測范圍;T為灰度變化閾值。
T的取值對之后的處理非常關(guān)鍵,當(dāng)取值太大時(shí)運(yùn)動(dòng)目標(biāo)易出現(xiàn)空洞、裂紋等現(xiàn)象。將T設(shè)為自適應(yīng)的閾值后,容易增加算法在此處的計(jì)算復(fù)雜性,從而造成過多的計(jì)算資源浪費(fèi)。這個(gè)步驟中只是對運(yùn)動(dòng)目標(biāo)進(jìn)行初步的檢測,所以設(shè)T=3σ+μ。
相鄰兩幀圖像It-1和It通過幀差法獲取幀圖像It所對應(yīng)的含有運(yùn)動(dòng)目標(biāo)的二值圖像frame_difft,假設(shè)圖像frame_difft的大小為m×n,那么可以依據(jù)尺寸為m'×n'的模板獲取m''×n''個(gè)圖像塊m。其中第(k,j)圖像塊表示為D(k,j),1≤k≤m,1≤j≤n。文中通過式8對背景塊、運(yùn)動(dòng)塊、準(zhǔn)動(dòng)態(tài)塊進(jìn)行分類。
(8)
其中,Dbg、Dyd、Dzyd分別表示背景塊集合、運(yùn)動(dòng)塊集合、準(zhǔn)運(yùn)動(dòng)塊集合;T1、T2分別是3類圖像塊之間的區(qū)分閾值。
2.3圖像塊自適應(yīng)混合高斯模型構(gòu)建及其參數(shù)更新
當(dāng)捕獲圖像后,通過幀差法與網(wǎng)格化可以獲得具有信息值的圖像塊,如圖1(c)所示。如果D(k,j)是背景塊,如圖1(d)中A區(qū)域,那么讓該塊內(nèi)所有像素點(diǎn)對應(yīng)一個(gè)混合高斯模型。采用5點(diǎn)法對該模型的參數(shù)進(jìn)行更新,公式如下:
(9)
創(chuàng)建新的高斯模型時(shí)利用5個(gè)點(diǎn)的灰度均值作為高斯模型均值,采用較大的協(xié)方差。如果D(k,j)是動(dòng)態(tài)塊,圖1(d)中B1、B2、B3、B4、B6、B7、B9區(qū)域,則混合模型中的參數(shù)保持不變,從而保留對靜態(tài)背景的估計(jì)能力。如果D(k,j)是準(zhǔn)動(dòng)態(tài)塊,圖1(d)中B5區(qū)域,則選取該塊周圍的、除去運(yùn)動(dòng)塊的8鄰近圖像塊,圖1(d)中B8區(qū)域,作為準(zhǔn)動(dòng)態(tài)塊處理區(qū)域,對該區(qū)域進(jìn)行均值濾波處理,等預(yù)處理后,對其塊中的每個(gè)像素點(diǎn)進(jìn)行混合高斯模型建立與更新,從而保證算法的性能。
圖1 基于信息度的圖像塊分類過程
如果D(k,j)是背景塊,那么該區(qū)域大部分像素點(diǎn)屬于背景區(qū)域,所以將其作為背景區(qū)域處理;如果D(k,j)是動(dòng)態(tài)塊,那么該區(qū)域作為運(yùn)動(dòng)目標(biāo)顯示;如果D(k,j)是準(zhǔn)動(dòng)態(tài)塊,則對該圖像塊除去運(yùn)動(dòng)塊的8鄰近圖像塊,作為準(zhǔn)動(dòng)態(tài)塊處理區(qū)域,對該區(qū)域進(jìn)行均值濾波處理,等預(yù)處理后,對該區(qū)域每個(gè)像素對應(yīng)的混合高斯模型進(jìn)行排序,依據(jù)式6構(gòu)建背景模型。如果該區(qū)域中的像素點(diǎn)滿足|Xt-μi,t-1|<δσi,t-1,那么該像素點(diǎn)屬于運(yùn)動(dòng)目標(biāo),否則屬于背景。
文中利用從公開數(shù)據(jù)集中選取的兩個(gè)室內(nèi)視頻序列和一個(gè)室外視頻序列,對提出的方法進(jìn)行有效性和準(zhǔn)確性驗(yàn)證。其中視頻序列“Intelligent room”和“Laboratory”屬于室內(nèi)場景,視頻序列“Campus”屬于室外場景。實(shí)驗(yàn)程序用C++編寫,運(yùn)行在Intel Core i5-2400,3.10 GHz,4 G內(nèi)存,64位,unbuntu14.04LTS的PC機(jī)上。與相鄰幀差法與傳統(tǒng)的混合高斯背景建模方法進(jìn)行對比。
表1中給出了文中算法、相鄰幀差法、混合高斯算法在處理不同場景視頻序列時(shí)的單幀平均運(yùn)行時(shí)間(single frame average run time,SFA)??梢悦黠@看出,文中算法處理速度比混合高斯方法快。主要原因在于文中算法采用了基于信息度的分塊處理,對不同類型的圖像塊采用不同的混合高斯模型,對于靜態(tài)塊和運(yùn)動(dòng)塊可以花費(fèi)很少的時(shí)間建立構(gòu)建含有更少噪聲的背景模型。
表1 各算法檢測時(shí)間 ms
文中使用兩個(gè)標(biāo)準(zhǔn)來評估提出的算法模型。一個(gè)是識別率(TPR),另一個(gè)是誤檢率(FPR),公式如下:
(10)
(11)
其中,TP表示檢測到的屬于運(yùn)動(dòng)物體的像素?cái)?shù)量;FN表示未檢測到的屬于運(yùn)動(dòng)物體的像素?cái)?shù)量;TN表示對實(shí)際中屬于運(yùn)動(dòng)物體的像素?cái)?shù)量;FP表示檢測到的作為移動(dòng)對象的屬于背景的像素的錯(cuò)誤檢測數(shù)。
表2 識別率
在不同場景下不同算法所對應(yīng)的TPR與FPR值分別記錄在表2、表3中。從表2中可以看出,文中算法相比相鄰幀差法、混合高斯算法具有較高的識別率。這主要是因?yàn)槲闹兴惴▽τ诓煌愋偷膱D像塊采用不同的混合高斯模型,對于背景塊可以除去噪聲的干擾,運(yùn)動(dòng)塊可以加強(qiáng)空洞識別。同時(shí)從表3可以看出,文中算法相比相鄰幀差法和混合高斯算法還具有較低的誤檢率。這主要是因?yàn)槲闹兴惴▽τ诓煌愋偷膱D像塊采用不同的混合高斯模型,對于背景塊與動(dòng)態(tài)塊可以在很大程度上除去噪聲的干擾。
表3 誤檢率
將相鄰幀差法、混合高斯模型算法與文中算法模型在不同場景下進(jìn)行運(yùn)動(dòng)目標(biāo)檢測,其檢測結(jié)果如圖2~4所示。從實(shí)驗(yàn)結(jié)果可以看出,文中算法能夠較為良好地檢測運(yùn)動(dòng)目標(biāo),消除不明顯的陰影干擾,但對于明顯陰影的檢測可用性沒有得到改善。該算法的結(jié)果中存在一些空洞??傮w而言,該算法的檢測可用性優(yōu)于相鄰幀差法與混合高斯模型算法。
圖2 視頻序列“Intelligent room”中第109幀
圖3 視頻序列“Laboratory”中第93幀
圖4 視頻序列“Campus”中第58幀
提出了一種基于信息度對圖像進(jìn)行分塊的混合高斯模型運(yùn)動(dòng)檢測算法。相比傳統(tǒng)的混合高斯模型運(yùn)動(dòng)檢測算法,該算法場景中不同區(qū)域采用不同的模型構(gòu)建方法,從而提高運(yùn)動(dòng)目標(biāo)檢測算法的性能。對于準(zhǔn)運(yùn)動(dòng)塊及其鄰域塊的單獨(dú)處理可以在減少計(jì)算資源的情況下采用更多的算法策略提升性能。通過實(shí)驗(yàn)參數(shù)化比較表明,該算法具有較好的效果。