支祖利 高智勇
(1. 阜陽職業(yè)技術學院工程科技學院, 安徽 阜陽 236000;2. 中南民族大學生物醫(yī)學工程學院, 武漢 430074)
運動目標檢測在智能交通、視頻監(jiān)控智能分析等領域應用較為廣泛,運動目標檢測也是目前圖像處理和計算機視覺研究的熱點。常見的運動目標檢測算法包括背景減除法、幀間差分法[1-2]、背景模型法[3-4]等。ViBE(Visual Background Extractor)算法是用于運動目標檢測的典型算法,具有環(huán)境適應性好、運算速度快等特點,但用于檢測運動量較小及運動速度較快的目標時,有可能出現(xiàn)漏檢現(xiàn)象。針對此問題,我們提出一種融合單高斯模型的改進ViBE算法。單高斯模型具有靈敏度高、目標檢測時間效率高等特點,有助于提升ViBE算法在檢測運動目標時的準確性。
ViBE算法針對視頻幀的第1幀建立模型,可縮短背景模型建立的時間。其算法思想是:假設視頻第1幀中的某像素與周圍相鄰的像素在空間域上具有分布相似性,此像素可用周圍相鄰像素表示,則此像素的背景模型可參照周圍相鄰像素來建立。背景模型的建立無需參數(shù),將視頻的第2幀與當前背景模型作差分,即可分割出前景。當像素被判斷為背景時更新背景模型,反復不斷更新,持續(xù)至視頻結束。
ViBE算法建立背景模型的3個步驟如下:
步驟一,針對第1幀視頻中的所有像素建立無參數(shù)背景模型。假設第1幀視頻中的所有像素之間具有空間域的相似性,此時視頻幀中的像素點可參照周圍相鄰像素來表示,建立此像素的背景模型。像素相鄰鄰域范圍的選取是建立背景模型的關鍵。若像素相鄰鄰域選取范圍過大,像素之間的空間相似性就會變?。蝗粝袼叵噜忇徲蜻x取范圍過小,建立像素背景模型的樣本值不足,背景模型就無法建立。像素背景模型如式(1)所示:
M0(x)={v0(y)|y∈NG(x)}
(1)
式中:M0(x)為視頻第1幀像素點x的背景模型;NG(x)為像素點x所選鄰域內(nèi)像素點的樣本集合;v0(y)為NG(x)樣本集合內(nèi)第1幀時的像素灰度值。 第1幀像素內(nèi)像素點x的背景模型為:
M0(x)={v1,v2,v3,…,vn}
(2)
步驟二,檢測視頻圖像中的運動目標。設定前景分割的判斷準則,通過判斷準則對后續(xù)視頻進行分割。當視頻圖像中的時間為k時,視頻圖像為F(x,y,k),背景模型為Mk-1(x)X,判斷前景像素準則表述為式(3):
(3)
式中:R為像素點x在RGB顏色空間中以x為球心的半徑。設定一個判斷閾值Thresh,當背景模型中的像素點在RGB空間落入半徑為R、以此像素點為球心的球體的個數(shù)大于設定的閾值Thresh時,則此像素點即為背景,反之像素點被判斷為前景。通過判斷準則對背景模型進行更新。
步驟三,更新背景模型。通過前景像素判斷準則確定前景和背景時,對像素點在周圍鄰域內(nèi)隨機選擇性進行更新。NG(x)為像素點的鄰域像素樣本集合,樣本集合內(nèi)的像素點在空間域內(nèi)相似性較強。樣本集合內(nèi)的像素成為背景的概率偏大,在樣本集合內(nèi),隨機選擇像素點更新背景模型。
ViBE算法的建模效率高,運行速度快,在背景建模中對視頻的第1幀要求嚴格。當視頻幀中存在運動量微小的目標時,像素之間差值較小,此像素點有可能被判斷為背景像素而導致漏檢。利用單高斯模型的靈敏性,可解決ViBE算法在運動目標檢測中的漏檢問題[4-5]。
單高斯模型(Single Gaussian Background Model)常應用于單模態(tài)背景檢測,即背景相對單一的環(huán)境[6-7]。單高斯模型算法的思想是:假設視頻序列中像素點在顏色空間內(nèi)符合高斯分布,則單高斯模型數(shù)學形式為參數(shù)Xt,μt∑t下的高斯分布η(Xt,μt∑t)。該算法如式(4)所示:
(4)
式中:Xt為視頻序列t時刻某個像素點的像素值;μt為此像素點在t時刻所屬的高斯分布的均值;Σt為此像素點在t時刻所屬高斯分布的協(xié)方差。單高斯模型假設背景模型中的像素在顏色空間的分布符合高斯分布。假設視頻圖像t時刻像素點(x,y)的顏色分布滿足均值為μ和協(xié)方差為d的高斯分布,即滿足公式(5):
B(x,y)~N(μ,d)
(5)
單高斯背景模型中均值μ的初始化如式(6)所示:
(6)
協(xié)方差d的初始化如式(7)所示:
(7)
μ=(1-α)μt+αIt+1(x,y)
(8)
(9)
式中,α為背景模型更新速度,為取值0~1的給定常數(shù)。通過視頻庫對單高斯模型進行仿真,部分幀仿真效果展示如圖1所示。
單高斯模型檢測對運動量相對較小的目標比較敏感。應用ViBE算法建立模型時采用的是無參數(shù)形式,隨機更新,因此,檢測中常會將視頻中運動微弱的目標誤認為背景而導致漏檢。受單高斯模型檢測運動目標的敏感性啟發(fā)[8],我們認為可將單高斯模型融合到ViBE算法中,改進ViBE算法,以解決漏檢問題,提高ViBE檢測結果的準確度。
改進后的算法描述如下:假設,視頻t時刻的圖像為F(x,y,t),將其作為單高斯模型的輸入進行檢測;將檢測后得到的圖像G(x,y,k)作為ViBE算法建立背景模型的視頻幀,并進行運動目標檢測,對檢測后的圖像進行形態(tài)學處理。
融合單高斯模型后的改進ViBE算法流程如圖2所示,其具體實施步驟如下:
(1) 輸入視頻圖像F(x,y,t),創(chuàng)建單高斯模型η(xt,μt,Σt)。
(2) 通過單高斯模型η(xt,μt,Σt)檢測得到運動像素的圖像G(x,y,k)。檢測出圖像G(x,y,k),將其作為ViBE算法的輸入項。運動目標量較小的目標此時可被檢測出。
(3) 將通過ViBE算法檢測的圖像進行形態(tài)學處理,得到最終檢測結果。
圖2 融合單高斯模型的改進ViBE算法流程
實驗證實,改進后的算法具有可行性,在檢測運動目標時能有效檢測出運動量較小的運動目標,彌補了ViBE算法在檢測運動量較小的運動目標產(chǎn)生的漏檢缺陷。分別應用幀間差法、背景減除法、單高斯模型法、ViBE算法及本次改進ViBE算法,對圖3所示視頻幀進行檢測,效果對比如圖4所示。
圖3 測試視頻
視頻幀中,1#轎車緩慢行駛,運動量較小,ViBE算法檢測時并未檢測到。單高斯模型利用其算法敏感性能優(yōu)勢檢測到了1#轎車。背景減除法對光照變化敏感,實時性不強。幀間差分法檢測運動目標時,目標區(qū)域出現(xiàn)空洞,運動量較小的運動目標在檢測時出現(xiàn)拖影。ViBE算法檢測完整度高于背景減除法和幀間差法,單高斯模型雖然對環(huán)境變化的適應性不強,但是能完整檢測到運動的目標。改進后的ViBE算法能完整有效地檢測出運動目標,實時性較強。
圖4 各算法檢測效果
為了比較算法的應用效果,對同一視頻使用不同的算法進行測試,展示和對比檢測結果。算法測試實驗中,基于Windows 7操作系統(tǒng),使用VS2010集成開發(fā)環(huán)境編寫算法,搭載開放的視覺庫OpenCV2.4.9運行。應用單高斯模型算法,假設像素點滿足均值μ和均方差d的高斯分布,對運動的物體比較敏感,能有效地檢測出運動量較小的目標,但對于復雜環(huán)境的適應性不強。應用ViBE算法,對視頻圖像中的像素建立不含參數(shù)的背景模型,可隨機選取鄰域內(nèi)的像素以更新背景模型,對環(huán)境的適應性較強。但應用ViBE算法檢測視頻中運動量較小的運動目標時,容易將此目標誤認為背景而導致漏檢。本次研究提出的改進算法,將單高斯模型與ViBE算法相融合,可以避免原算法的漏檢問題。
融合單高斯模型的改進ViBE算法,可以在一定程度上改善單高斯模型對于復雜環(huán)境的適應性,提升ViBE算法在檢測微小運動量目標時的完整度。