徐 武,唐文權(quán),郭 興,文 聰
(云南民族大學 電氣信息工程學院,昆明 650500)
運動目標檢測是指檢測視頻序列圖像并將運動目標從復雜背景中分割出來,對目標進行檢測監(jiān)控以及跟蹤等后續(xù)處理,廣泛應用于實時監(jiān)測等多種領(lǐng)域中,其中背景差分法和幀間差分法是目標檢測中兩種主要方法[1].背景差分法分析背景模型與每一幀待檢測圖像,對兩者進行差分運算,得到運動目標檢測圖像.此方法首先建立穩(wěn)定的背景模型,然后通過與原圖像進行比較計算分析,將背景模型與待檢測圖像相減,得到最終的目標圖像.另外,幀間差分法通過對相鄰幀圖像進行差分運算進而檢測出運動目標輪廓,自適應能力好,計算原理簡單,具有較好的實時性[2].但是幀間差分法在進行目標輪廓提取過程中存在空洞現(xiàn)象,導致部分特征點被忽略,大大降低檢測精度.在這兩種方法檢測中,光照變化均會造成較大的干擾,阻礙背景模型的獲取,影響目標檢測精度.
結(jié)合背景差分和幀間差分兩種方法的優(yōu)點實現(xiàn)目標檢測,分別采用這兩種方法克服背景運動、光照變化以及目標短暫遮擋問題,保證檢測出所有運動目標的特征細節(jié),再對檢測運算得到的二值化圖像進行融合處理,使得最終檢測的目標信息更完整[3].首先對傳統(tǒng)混合高斯模型加入自適應學習率以及背景學習速率更新策略,克服背景運動造成的誤檢測問題;再通過對幀間差分法考慮光照變化的閾值因素,克服光照變化太大導致目標檢測精度差的問題,同時對比相鄰幀像素塊大小分析處理目標短暫遮擋問題;最后對檢測結(jié)果圖像進行濾波處理消除噪聲,提升檢測分割效果.
構(gòu)建高斯模型過程中,這個模型由K個高斯分布構(gòu)成,K取值范圍是3~5[4].近似估計所有像素點出現(xiàn)的值,計算得出視頻幀圖像中該像素值的出現(xiàn)概率,概率密度函數(shù)如公式(1)所示.
(1)
式中t時刻的像素值用Xt表示,wi,t為權(quán)重;μi,t為均值向量;∑i,t為協(xié)方差矩陣[5].在t時刻i個高斯分布的密度函數(shù)如公式(2)所示.

(2)
將每個像素與對應的K個高斯分布對比:
|Xt-μi,t-1|≤D×δi
(3)
若滿足該判別式,則像素點與高斯分布匹配,反之不匹配.
根據(jù)wi,t-1/i,t-1優(yōu)先級順序計算所有高斯模型,根據(jù)公式(3)進行匹配[6].倘若沒有匹配上,則用一個新的高斯分布來代替優(yōu)先級最小的高斯分布,i,t取一個比較大的值,更新沒有代替的高斯分布[7],如下所示:
wi,t=(1-α)wi,t-1+αMi,t
(4)
μi,t=(1-ρ)μi,t-1+ρXi,t
(5)
(6)
當該像素點與所有K個高斯分布均不匹配時,對高斯分布重新進行構(gòu)建,并設置對應位置的像素值為均值,替換權(quán)重最小的高斯分布,然后對各高斯分布的權(quán)重值進行歸一化處理[9].
判定像素點是否為目標點并不是將所有的高斯模型與該點進行匹配,由于權(quán)重越大越有可能用來描述背景,在權(quán)重排名中取前B個高斯模型選作為背景模型,B取值標準如公式(7)所示:
(7)
參數(shù)T為背景所占比例,若B個高斯分布中任意一個像素與當前像素匹配,則判定其為背景點,否則判定為前景點[10].
2.2.1 鄰域均值計算
采用3×3模板方式對視頻圖像進行均值計算,并有效減少模型計算量.對所有視頻序列,在左上角方向設置3×3鄰域,各個領(lǐng)域不發(fā)生重疊.遍歷計算圖像中所有的鄰域均值,在上一幀圖像中,左上角第一個鄰域均值設為e′,當前幀相同領(lǐng)域的均值為e,兩者差值為Δe,通過Δe和均差因子λ更新當前幀的鄰域均值e,更新后的像素值為e.其中:
(8)
新的像素值更新方法如公式(9)所示:
e
(9)
加入λ參數(shù)的作用是增強像素變化,從而凸顯前景與背景的區(qū)別.遍歷計算過程中,為減少計算量并加強像素變化,相鄰兩個鄰域無交叉,3×3模板均值示意圖如圖1所示,通過標記顏色的深淺程度來凸顯各個模板的區(qū)域范圍.
在計算各個鄰域均值過程中,該鄰域可以視為一個整體,這個領(lǐng)域像素作為一個大的像素.在模型構(gòu)建過程中,原始像素換為這個大像素,在公式(1)的計算過程中將Xt換為et,從而降低計算量實現(xiàn)算法檢測的快速性.

圖1 3×3模板遍歷均值計算Fig.1 Calculation of traverse mean value of 3×3 template
2.2.2 自適應學習率設計
學習速率恒定會導致檢測得到的背景圖像存在“鬼影”現(xiàn)象,影響檢測精度[11].自適應學習率不僅可以提高建模速度,還能有效提升目標檢測精度和速度.學習率過大會導致模型更新的速率過快,將檢測目標誤認為背景;學習率過小會使得模型更新速度滯后于實際場景變化,將背景誤認為檢測目標,這都影響了目標檢測精度.
采用的學習率依據(jù)目標像素在總像素中占比來確定,如公式(10)所示:
(10)
其中,Nall是當前幀圖像總像素個數(shù),Ofr是判定為檢測目標的像素個數(shù).根據(jù)目標像素在整個圖像幀像素中占比,對學習率α賦值.在檢測初始階段,此時檢測目標尚未進入背景,目標像素在整個圖像中占比偏小,ε值較小,這種情況下需要加大學習率;當目標進入背景后,目標像素占比偏大,ε值較大,這種情況下需要減小學習率,避免檢測目標被判定成背景.
2.2.3 學習速率更新策略
視頻序列中待檢測區(qū)域的標準差和方差值都偏大,無目標出現(xiàn)的位置像素點標準差和方差值都偏小.標準差和方差與均值緊密相關(guān),通過對2.2.1節(jié)鄰域均值進行分析計算并在此基礎上設計實現(xiàn)自適應學習速率更新策略.
1)背景建立階段學習速率更新策略
初始背景模型構(gòu)建過程中,由于模型構(gòu)建還處于初始階段,需要增大學習率使背景模型收斂,從而符合實際場景情況,這個階段中學習速率取值如公式(11)所示:
ρ=αN(xt|μi,δi)
(11)
其中α根據(jù)2.2.2節(jié)進行取值.
2)背景維護更新階段學習速率更新策略
在建立背景模型后,需要通過場景變化情況動態(tài)更新背景模型,減少或加快背景控制參數(shù)的學習速率來避免誤學習過程,實現(xiàn)對檢測目標的有效分離.依據(jù)3×3模板鄰域計算結(jié)果對學習速率進行反饋修正,統(tǒng)計公式(8)中Δe不為0和為0的次數(shù)來修正參數(shù)Δs:
Δs=0.01×(2n-m)
(12)
n和m分別是Δe不為0和為0的次數(shù).通過對Δs數(shù)值的分析,來判斷此時視頻序列像素的變化趨勢.若該值為正,判斷像素變化較快,此時增大學習率來適應場景變化;若該值為負,判斷像素變化較慢,此時減小學習率來避免發(fā)生誤學習.調(diào)整過程如公式(13)所示:
ρ=α(1+Δs)/δi
(13)
建立背景模型fb后,再根據(jù)每一幀圖像fk與背景圖像進行差分運算,從而得到最終檢測目標圖像,并將灰度圖像二值化處理,如公式(14)所示.
(14)
式中,T1為檢測分割固定閾值,Zk(x,y)為最終檢測目標圖像.如果某點像素與背景模型的差值小于閾值T1,判定該點為檢測圖像中的背景點;否則,判定該點為檢測目標點.
針對所提出的背景運動問題,對改進后的混合高斯模型和傳統(tǒng)高斯模型進行實驗分析,實驗仿真檢測結(jié)果如圖2所示.

圖2 傳統(tǒng)和改進高斯模型對比圖Fig.2 Comparison of traditional and improved Gaussian models
根據(jù)圖2檢測結(jié)果可以發(fā)現(xiàn),在傳統(tǒng)混合高斯模型背景提取結(jié)果中,鬼影現(xiàn)象較為明顯,這是因為在視頻初始階段目標停留時間較長以及背景更新速率恒定,導致背景提取速率快于場景更新速率;ViBe算法與傳統(tǒng)高斯模型相比,背景檢測結(jié)果較為清晰,但還存在部分鬼影,這主要由于該算法無法完全克服人的運動特性變化,導致檢測準確率不高,與本文改進算法相比,目標檢測輪廓較為模糊;而在改進的高斯模型背景結(jié)果中,加入了自適應學習率以及背景學習速率更新策略,背景提取結(jié)果較為清晰.檢測過程隨機選取視頻中1000幀圖片進行分析,對比圖像分割的前景和背景,統(tǒng)計鬼影發(fā)生次數(shù),計算得出鬼影發(fā)生率,對比結(jié)果如表1所示.
根據(jù)表1結(jié)果所示,對比傳統(tǒng)高斯模型以及ViBe算法,改進算法通過加入了自適應學習率以及背景學習速率更新策略明顯降低了鬼影發(fā)生次數(shù),從而保證了目標檢測精度.但在視頻中運動目標被遮擋時,背景差分法很難提取到被遮擋目標全景,因為當目標被遮擋時,所有背景建模圖像中均有遮擋物,就導致差分運算后依然會存在遮擋干擾情況,可以結(jié)合幀間差分法解決目標短暫遮擋問題.

表1 鬼影發(fā)生率對比表Table 1 Comparison of ghost incidence
幀間差分法通過對相鄰兩幀或多幀圖像進行差分運算,得到檢測目標輪廓.在檢測過程中,通過連續(xù)多幀檢測能更好的減少目標空洞問題,提升目標檢測精度.
設f(n+2)、f(n+1)、f(n)、f(n-1)和f(n-2)分別為運動視頻中連續(xù)5幀圖像,f(n+2)(x,y)、f(n+1)(x,y)、f(n)(x,y)、f(n-1)(x,y)和f(n-2)(x,y)為灰度圖,差分圖像為G(n+2)、G(n+1)、G(n-1)和G(n-2).

(15)
選取合適閾值對差分運算后的結(jié)果進行二值化處理,如公式(16)所示:
(16)
(17)
上式中,當Rn計算結(jié)果為1,判定為檢測目標;若計算結(jié)果為0,則判定為背景點[12].λ為抑制系數(shù),參考值為2;M×N表示圖像中待檢測區(qū)域的像素個數(shù).T2為固定閾值,Δti為動態(tài)閾值,該動態(tài)閾值反應了視頻序列中光照變化情況,當環(huán)境光照發(fā)生明顯變化時,相鄰兩幀像素差異較大,動態(tài)閾值Δti增大,進而增大了二值化處理過程的判斷閾值,從而有效克服光照變化問題;而當環(huán)境光照變化不明顯時,相鄰兩幀像素差異較小,動態(tài)閾值Δti變小,在二值化處理過程中對閾值影響很小.
在待檢測視頻中,傳統(tǒng)5幀差分法會因目標短暫遮擋導致無法被檢測.針對因運動目標發(fā)生短暫遮擋而無法被檢測到的問題,進行了相應改進.過程如下:比較前后兩幀像素塊的大小,若當前幀檢測像素塊Rt小于上一幀檢測像素塊Rt-1,即視頻序列中至少丟失一個像素塊,然后把上一幀和當前幀檢測結(jié)果“位或”處理,作為最終檢測結(jié)果.前一時刻t-1和當前時刻t檢測的像素塊數(shù)為Rt和Rt-1,如公式(18)所示:
(18)
式中,Rt-1(x,y),Rt(x,y)記為上一幀和當前幀圖像,R(x,y)為最終檢測圖像.通過對比相鄰兩幀圖像的像素塊數(shù),若上一幀像素塊數(shù)小于等于當前幀像素塊數(shù),則檢測目標區(qū)域無遮擋情況,此時保留原數(shù)值不做改變;若上一幀像素塊數(shù)大于當前幀像素塊數(shù),則檢測目標區(qū)域存在短暫遮擋情況,目標像素減少,將相鄰兩幀圖像做“位或”處理,對目標檢測區(qū)域?qū)崿F(xiàn)最大程度保留.
利用Wallflower數(shù)據(jù)集中的動態(tài)視頻對改進5幀差分法進行實驗分析,實驗對比結(jié)果如圖3和圖4所示,圖3視頻中光線逐漸發(fā)生變化,圖4視頻中背景樹來回擺動.子圖(a)是運動檢測原圖,子圖(b)和子圖(c)分別是傳統(tǒng)3幀差分和改進5幀差分算法檢測結(jié)果圖,子圖(d)是標準檢測結(jié)果圖.根據(jù)圖3仿真結(jié)果可知,場景光照變化導致傳統(tǒng)3幀差分檢測的目標空洞明顯,檢測的人體輪廓不全,效果較差,而基于改進5幀差分可以較好的檢測到輪廓外觀,與標準圖相差不大;圖4中可以看出3幀檢測結(jié)果輪廓存在明顯的空洞,而5幀的檢測輪廓基本和標準圖像一致.

圖3 場景光線變化對比圖Fig.3 Contrast of scene light changes

圖4 目標輪廓檢測對比圖Fig.4 Contrast diagram of target contour detection
總體來看,基于運動特性的幀差法無法排除運動背景的干擾,導致在3幀和5幀差分結(jié)果中存在著明顯的背景干擾問題,結(jié)合改進高斯模型可以有效去除運動背景干擾造成的誤檢問題.
融合算法目標檢測步驟如下:
Step 1.首先將待檢測視頻輸入,將視頻序列分解為每一幀的圖像序列,然后通過相應濾波處理來抑制消除圖像的噪聲,對RGB圖進行灰度化處理轉(zhuǎn)為灰度圖;
Step 2.對經(jīng)過灰度化處理的連續(xù)序列圖像進行改進高斯模型的背景差分和改進五幀差分運算,分析選取合適閾值對灰度差分圖像進行二值化處理,分割提取出檢測目標.在分別得到背景差分結(jié)果Z(x,y)和幀間差分結(jié)果R(x,y)后,對兩者結(jié)果進行或運算,如公式(19)所示:

(19)
Step 3.將兩者結(jié)果進行或運算融合處理后,最后對輸出視頻噪聲進行消除并進行形態(tài)學處理,得到最終輸出結(jié)果視頻.
針對目標短暫遮擋問題以及背景運動問題對改進融合算法進行實驗分析,如圖5所示,對比傳統(tǒng)算法與改進融合算法,圖5(a)為檢測視頻原始圖像,圖5(b)為傳統(tǒng)高斯模型檢測結(jié)果圖像,圖5(c)是融合改進算法檢測結(jié)果圖像.

圖5 算法檢測對比Fig.5 Algorithm detection comparison
檢測對比圖中,圖5(b)檢測結(jié)果中人體周圍存在較為明顯的陰影區(qū)域,這是由于傳統(tǒng)高斯模型背景更新速率恒定,對前景目標檢測形成阻礙;圖5(c)基于改進融合算法對比圖5(b)中的結(jié)果可以看出,由于待檢測視頻中存在明顯的背景運動干擾,導致傳統(tǒng)高斯模型對前景目標發(fā)生誤檢,同時還存在因前景運動區(qū)域被遮擋導致檢測不到的現(xiàn)象.通過改進傳統(tǒng)高斯模型背景更新速率,排除了運動背景的干擾,同時結(jié)合五幀差分法,使得運動區(qū)域在發(fā)生短暫遮擋時仍然能被檢測到,提高了目標檢測精度.
通過準確率PA、召回率PB、綜合指標PAB和運算時間T對改進融合算法進行評估,具體計算過程如公式(20)-公式(22)所示:
(20)
(21)
(22)
式中,M表示前景像素被正確分類為前景點的個數(shù);N表示背景像素被誤分類為前景點的個數(shù);L表示背景像素被正確分類為背景點的個數(shù);H表示前景點被誤分類為背景點的個數(shù).PAB指標是對PA和PB兩者的綜合指標考慮,體現(xiàn)算法的總體效果.
選用pedestrian、badminton和fountain02數(shù)據(jù)集視頻序列,其中badminton是抖動遮擋視頻,fountain02是動態(tài)背景的視頻,pedestrian為基礎數(shù)據(jù)集,該視頻中沒有背景抖動等外界干擾的影響.選取上述視頻中約3000幀的圖像序列,將仿真得到的二值圖像與參考圖像進行對比分析,計算相應系統(tǒng)指標值,包括PA、PB、PAB以及運算時間T,并與其他算法比較.
將該算法與文獻[13,14]方法測試結(jié)果進行分析對比,結(jié)果如表2所示.

表2 算法指標Table 2 Algorithm indexes
將本文方法與國外文獻[15-18]研究結(jié)果進行對比,綜合分析各個算法的目標檢測準確率和檢測時間,如表3所示.

表3 算法指標對比Table 3 Comparison of algorithm indexes
文獻[15]通過慣性測量單元(IMU)傳感器進行特征點的劃分來實現(xiàn)運動目標檢測,檢測設備性能較高,該方法魯棒性較高,但攝像機的運動和運動物體會改變連續(xù)圖像的強度和特征值,無法解決運動物體擾動問題;文獻[16]在GMM的基礎上,將前景匹配和短期穩(wěn)定度相結(jié)合,對慢速運動目標進行檢測,能夠有效克服光照變化帶來的干擾,該算法通過對穩(wěn)定度的分析,在慢速運動目標的分析檢測上效果更為明顯,但本文同時也考慮克服了目標遮擋以及其它運動問題;文獻[17]提出了一種多尺度特征信息融合深度學習檢測方法,在不同尺度上進行特征融合操作,該算法針對大量數(shù)據(jù)分析實時性更高,但在檢測精度上本文算法更優(yōu);文獻[18]中提出了一種基于融合特征的深度學習檢測目標方法,該方法主要對高分辨率遙感圖像進行檢測,針對單一運動數(shù)據(jù)分析檢測結(jié)果與本文差異不大,但對于不同類別的數(shù)據(jù),算法可移植性較差.通過進一步對比國外文獻研究結(jié)果,證明本文改進算法針對運動目標檢測具有一定的創(chuàng)新性和實用性.
根據(jù)各個算法的數(shù)據(jù)結(jié)果對比可知,由于幀差法是計算相鄰幀圖像之間的像素差值,在動態(tài)視頻檢測過程中處理時間最短,本文融合算法需要分別考慮背景運動、光照變化以及目標短暫遮擋問題,檢測分析步驟較多,運算復雜度較大,但綜合考慮準確性指標,本文算法在保證一定的實時性上與其他算法相比有很大的提升.
本文提出一種結(jié)合改進混合高斯模型和改進五幀差分的運動目標檢測算法,通過加入光照動態(tài)閾值有效解決了光照變化所造成的目標檢測精度較低的問題,同時能在一定程度上克服目標被暫時遮擋導致檢測不到的缺陷,利用改進的混合高斯模型解決背景運動問題,去除背景提取中存在的鬼影現(xiàn)象,提升前景目標檢測精度.結(jié)果表明,在發(fā)生目標短暫遮擋及背景運動時,本文算法能夠比較準確的檢測到目標,同時能夠保證一定的實時性.改進后的融合算法能夠進一步分析研究,具有較好的自適應能力,在交通、氣象等實時監(jiān)控領(lǐng)域中具有廣泛的應用價值.