張俊
(中國電子科技集團(tuán)公司第三十八研究所,安徽 合肥 230088)
隨著平安城市的建設(shè)、智能相機(jī)在交通監(jiān)控的推廣和普及以及數(shù)字圖像分析技術(shù)不斷地提高,關(guān)于智能交通系統(tǒng)的需求越來越豐富和多樣。在智能交通系統(tǒng)視頻分析中,運(yùn)動物體的檢測是很多圖像處理的第一步,運(yùn)動物體檢測的好壞對于后續(xù)圖像處理起著至關(guān)重要的作用。運(yùn)動物體的檢測需要二值化處理,這涉及閾值的選擇。大多數(shù)運(yùn)動區(qū)域檢測文獻(xiàn)對閾值的選擇沒有深入的分析。常用的背景建模算法(例如混合高斯模型、貝葉斯模型、碼本方法)雖然效果不錯,但是計算量較大,在某一些應(yīng)用場合并不實用,例如嵌入式一體機(jī)。本文提出了一個簡單有效的閾值自適應(yīng)選擇方法,通過實驗數(shù)據(jù)可以看出,本文算法計算量很小,而且可以得到較好的運(yùn)動區(qū)域檢測結(jié)果。
本文主要介紹了背景圖像的初始化和背景圖像的更新策略,提出了一種簡單有效的閾值選擇方法,并進(jìn)一步分析其缺陷,對此提出了改進(jìn)策略,提高了閾值選擇的魯棒性。最后從實際視頻分析中驗證了算法的有效性。
基于背景差分可以得到較完整的運(yùn)動區(qū)域,因此需要首先獲得背景圖像。這里采用參考文獻(xiàn)[6]的方法來完成背景圖像的初始化及背景更新。通過相鄰幀差分的二值圖像找到運(yùn)動的像素,將這些運(yùn)動區(qū)域的像素值丟棄,只對非運(yùn)動區(qū)域的像素值進(jìn)行累加,最后求平均。該算法可以很好地消除運(yùn)動目標(biāo)的影響,得到較完整的背景圖像。
背景圖像初始化步驟如下。
(1)將每幀圖像轉(zhuǎn)成灰度圖像,假定一個像素點(x,y)時間t上的灰度值可表示為F(x,y,t)。將當(dāng)前幀與前一幀作差分,然后再作二值化,得到二值圖像 D(x,y,t):
(2)幀間差分后得到的二值圖像會有空洞現(xiàn)象,這是因為運(yùn)動物體含有均勻區(qū)域造成的,所以采用形態(tài)學(xué)區(qū)域填充來降低這種空洞的影響。
(3)計算非運(yùn)動區(qū)域累加值。 sum(x,y)為非運(yùn)動區(qū)域的像素灰度累加值,num(x,y)為像素點(x,y)被作為非運(yùn)動區(qū)域累加的次數(shù)。
(4)i=i+1,返回步驟(1)進(jìn)行迭代,當(dāng)?shù)揭欢ù螖?shù)時,便可結(jié)束迭代。
(5)求平均得到背景圖像:
隨著時間的推移,背景中不可避免地會發(fā)生一些變化,如果背景更新不能迅速跟上實際背景的變化,檢測結(jié)果中可能出現(xiàn)較大范圍的噪聲,這要求背景圖像更新對運(yùn)動目標(biāo)有較強(qiáng)的抗干擾能力。這里采用參考文獻(xiàn)[6]的更新策略,分為像素級更新和更級更新。
像素級更新步驟如下:
(1)以當(dāng)前幀圖像和背景圖像作差分、二值化和形態(tài)學(xué)處理得到運(yùn)動區(qū)域M1;使用同樣的方法,前后幀差得到運(yùn)動區(qū)域M2,然后計算兩個運(yùn)動區(qū)域的交集,即M=M1∩M2。
(2)得到運(yùn)動區(qū)域后,定義 sTime(x,y,t)為像素點(x,y)在 t時刻沒有產(chǎn)生連續(xù)變化的累積次數(shù),若該為白點,則屬于運(yùn)動區(qū)域,sTime(x,y,t)清零;否則 sTime(x,y,t)加 1。
(3)當(dāng)(x,y)點連續(xù) k次沒有發(fā)生變化時,更新當(dāng)前像素值為背景點,否則保持(x,y)像素值不變。雖然背景是靜止的,但考慮到環(huán)境變化等影響,對連續(xù)超過k次沒有發(fā)生變化的背景像素點采用加權(quán)的當(dāng)前背景圖像與加權(quán)當(dāng)前圖像之和作為更新后的背景圖像。
像素級更新方法結(jié)合了時間幀差法和背景差法,可以很好地適應(yīng)場景中的微小變化,特別是光線的緩慢變化,基本消除了累積性誤差,且在場景內(nèi)存在物體移入與移出時能夠及時有效地對背景進(jìn)行更新。如果場景光線發(fā)生大范圍突變、背景全局變化等問題,像素級更新就難以反映出這種全局變化,這時需要幀級圖像更新。
幀級更新的步驟如下:
(1)若在當(dāng)前幀與背景圖像差分后二值圖運(yùn)動區(qū)域個數(shù)大于整體圖像的一定百分比,則背景發(fā)生了大范圍的變化。
(2)若連續(xù)多幀中這一比值依然很大,則按本文背景提取算法重新提取背景。
得到背景圖像,將當(dāng)前圖像與背景圖像作差分,然后對差分作二值化,得到前景圖像。圖像的二值化涉及閾值選擇問題,顯然自適應(yīng)的閾值比固定閾值要好,這是因為圖像場景光照變化,很難找到一個固定的閾值適用于各種時間段??梢园l(fā)現(xiàn),當(dāng)前幀圖像沒有運(yùn)動物體時,對差分圖像作直方圖的統(tǒng)計,直方圖分布在-255~255之間,該直方圖分布服從高斯分布。沒有運(yùn)動物體和有運(yùn)動物體的幀差分及對應(yīng)的直方圖分別如圖1、圖2所示。這個現(xiàn)象是合理的,因為圖像的噪聲是服從高斯分布的??梢愿鶕?jù)該直方圖計算出均值μ和方差σ,根據(jù)高斯分布,橫軸區(qū)間(μ-2.58σ,μ+2.58σ)內(nèi)的面積為99.73%。均值μ的選擇是尋找直方圖中最大值的位置,然后對均值μ附近區(qū)域計算方差σ。其中,均值反映了圖像的整體亮度信息,方差反映了圖像的噪聲信息。根據(jù)均值和方差確定二值化的閾值,即:
其中,系數(shù)k相對固定,一個固定值可適用于各種場合,對二值化的結(jié)果影響并不大。
圖1 沒有運(yùn)動物體的幀差分及對應(yīng)的直方圖
圖2 有運(yùn)動物體的幀差分及對應(yīng)的直方圖
當(dāng)圖像亮度發(fā)生整體變化時,直方圖中峰值的位置也發(fā)生了變化,如圖3所示。二值化閾值能夠自適應(yīng)地得到合理的閾值,從而得到較好的運(yùn)動區(qū)域。
圖3 圖像整體變亮的情況
該方法中隱含了一個假定,那就是背景像素占整幅圖像的大多數(shù),如果前景像素占整幅圖像的大多數(shù),如圖 4(a)、圖 4(b)所示,那么均值就不是背景的均值,而是前景個數(shù)最多的直方圖位置,這樣計算出的均值和方差就是不正確的,尤其是在對圖像感興趣區(qū)域(ROI)進(jìn)行視頻分析時,如圖 4(c)和圖 4(d)所示。因為需要計算的是背景區(qū)域的均值和方差,但是這里對整幅圖像進(jìn)行了直方圖統(tǒng)計,如果只對背景區(qū)域進(jìn)行直方圖統(tǒng)計,那么得到的均值和方差就是合理的。
圖4 運(yùn)動區(qū)域較大時二值化
這里可以利用背景更新中的計數(shù)器 sTime(x,y,t)中包含的信息,它描述了一個像素位置屬于背景的持續(xù)幀數(shù),如果該計數(shù)器的值很大,則表明該像素位置一直屬于背景,那么判斷該像素位置屬于背景區(qū)域是比較可靠的。 這里假定 sTime(x,y,t)>t,則該像素屬于真正的背景區(qū)域。這樣就得到了的真正背景區(qū)域,然后用當(dāng)前幀中真正的背景區(qū)域與背景圖像對應(yīng)的區(qū)域作差分,再對該差分進(jìn)行直方圖統(tǒng)計,如圖4(e)所示,計算均值和方差,該均值和方差是屬于背景區(qū)域的均值和方差,得到的閾值是正確的二值化閾值。最后再用該閾值對當(dāng)前圖像與背景差分作二值化,得到正確的運(yùn)動區(qū)域,如圖4(f)所示。
通過對差分圖像直方圖的分析發(fā)現(xiàn),在沒有運(yùn)動物體的情況下,幀差直方圖服從高斯分布,根據(jù)該高斯分布得到了自適應(yīng)的二值化閾值。當(dāng)運(yùn)動區(qū)域占整幅圖像的大部分面積時,通過只對背景區(qū)域進(jìn)行差分直方圖分析,得到了正確的閾值,進(jìn)一步提高了閾值選擇的魯棒性。實驗證明,本文提出的算法簡單有效,很適合用于構(gòu)建嵌入式實時視頻分析系統(tǒng)。
[1]HU W, TAN T, WANG L, et al.A survey on visual surveillance of object motion and behaviors[J].Transactions on Systems, Man, and Cybernetics—Part C: Applications and Reviews,2004,34 (3):334-352.
[2]POPPE R.Vision-based human motion analysis: an overview[J].ComputerVisionandImageUnderstanding(CVIU),2007,108 (1-2):4-18.
[3]STAUER C,GRIMSON W.Learning patterns of activity using real-time tracking[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(8):747-757.
[4]Li L, Huang W, Gu I, et al.Foreground object detection fromvideoscontainingcomplexbackground[C].TheEleventhACM International Conference on Multimedia, New York,USA:ACM, 2003:2-10.
[5]KIM K,CHALIDABHONGSE T H,HARWOOD D,et al.Real-time foreground-background segmentation using codebook model[J].Real Time Imaging,2005,11(3):172-185.
[6]樊曉亮,楊晉吉.基于幀間差分的背景提取與更新算法[J].計算機(jī)工程,2011,37(22):159-161.
[7]祝東進(jìn),郭大偉,劉曉.概率論與數(shù)理統(tǒng)計[M].北京:國防工業(yè)出版社,2010.