長春市規(guī)劃編制研究中心 關(guān)可汗 趙 瑩
本文以卡爾曼濾波[1]為更新算法,在大津算法基礎(chǔ)上提出虛擬像素點和雙閾值概念,自動獲取每幀圖像最佳更新閾值進(jìn)行更新。同時提出強(qiáng)制更新思想,對達(dá)到最大等待時間的前景予以強(qiáng)制更新,置換已失效背景。
本文建立自適應(yīng)背景模型[2]的基本流程如圖1所示。
圖1 自適應(yīng)背景模型流程圖
卡爾曼濾波用來背景更新[3]有一定的局限性,此算法是一種一階穩(wěn)態(tài)系統(tǒng),但是前景運動目標(biāo)[4][5]的出現(xiàn)擾亂了這種穩(wěn)態(tài),卡爾曼濾波器把前景錯誤的當(dāng)作背景來更新,導(dǎo)致更新失效。因此下文針對性的提出了選擇性背景更新和強(qiáng)制背景更新概念,很好的解決了上述出現(xiàn)的具體問題。
選擇性背景更新,是在有前景運動目標(biāo)的地方不更新,其他地方實時更新背景。其基本思想是:
其中,M代表有無前景目標(biāo)。
選擇性更新的閾值是在前景灰度上統(tǒng)計得到的,獲取前景灰度公式為:
其中,ΔF(x, y, t )為前景灰度值;C(x, y, t )為當(dāng)前幀灰度值;B(x, y, t )為背景灰度值。公式(2)對應(yīng)前景灰度分布圖如圖2所示。圖中,出現(xiàn)圖像灰度值小于0的像素點,是因為當(dāng)前幀車輛灰度值低于背景灰度值。
圖2 前景圖像灰度直方圖
為了確定在M=0時背景更新的閾值,通常做法是對前景圖像做絕對值處理,再手動或自適應(yīng)算法獲得該閾值,如圖3所示。但是在前景正負(fù)灰度不對稱的情況下,取絕對值操作必然導(dǎo)致車輛信息的丟失,圖2中負(fù)數(shù)一側(cè)表示深色車輛灰度取絕對值后,在圖3中被“淹沒”在背景更新閾值T以下,代表該車輛無法被檢測到,因此得到的閾值不能真實的分割背景圖像。
圖3 傳統(tǒng)算法獲取閾值圖
為此,本文對上述問題進(jìn)行研究,提出了雙閾值判斷的概念,并針對一些特殊情況又提出了虛擬像素點的概念。
1.1.1 雙閾值判斷
雙閾值判斷建立在大津算法之上,大津算法就是在背景與前景目標(biāo)兩類中間找到一個最佳閾值T,該閾值使兩類目標(biāo)分錯的概率最小,使類間方差最大。算法實現(xiàn)如下:
其中,ω0為前景點占圖像比例;g0為前景平均灰度;ω1為背景點占圖像比例;g1為背景平均灰度;N0為像素的灰度值小于閾值T的像素個數(shù);N1為像素的灰度值大于閾值T的像素個數(shù);圖像的大小為M * N。帶入 g 得最大圖像類間方差:
當(dāng)從最小灰度T = 0遍歷255個灰度,使圖像類間方差σ最大時,此時的灰度值T就是自動獲得分割圖像的最佳閾值。當(dāng)前景目標(biāo)之間灰度差異很大時,由于算法本身不考慮圖像局部灰度特征,而是縱覽全局得出最合適的閾值,導(dǎo)致部分前景被淹沒在背景之中。
前景車輛目標(biāo)不可避免的有白色車和黑色車同時出現(xiàn)的情況,白色車輛的出現(xiàn)使該幀閾值很大,使前景黑色車輛淹沒在背景之中,非常不利于前景車輛的提取。因此,本文不對前景信息進(jìn)行絕對值處理,在前景灰度圖像上進(jìn)行兩次大津算法。如圖4所示,前景圖像灰度直方圖正負(fù)灰度差分布不同,負(fù)數(shù)一邊為車輛顏色低于地面灰度,正數(shù)一邊為車輛灰度高于地面灰度。因高斯分布不同必然導(dǎo)致更新背景閾值不同。因此,本文在灰度分布直方圖上進(jìn)行兩次大津算法,得到兩個閾值T1、T2,在閾值限制范圍內(nèi)進(jìn)行背景更新。
圖4 本文算法獲取閾值圖
1.1.2 虛擬像素點
考慮到算法本身,當(dāng)視頻檢測區(qū)域沒有前景運動目標(biāo)時,視頻序列當(dāng)前幀與背景做差得到的圖像絕大部分像素點灰度值為零,此時應(yīng)該提取不到任何前景,但經(jīng)過大津算法二值化的圖像強(qiáng)制錯誤的在灰度值為零左右的點得到閾值,導(dǎo)致全圖像出現(xiàn)噪聲。為了抑制噪聲,我們需要在圖像另一端構(gòu)造出虛擬的前景,從數(shù)學(xué)上看,加入新的高斯分布是為了大津算法能夠找到分割圖像的閾值,而又不破壞背景圖像。本文算法在每幅處理的圖像中加入給定的虛擬像素點,這些虛擬像素點加在像素灰度值最大的點上。這些虛擬像素點不在圖像中真正的存在,只是在計算得到閾值時遍歷所有灰度中參與運算出現(xiàn)。作為虛擬像素點,他們的灰度值和數(shù)量這兩個參數(shù)設(shè)置尤為重。1.檢測區(qū)域沒有前景運動目標(biāo)時,作為虛擬前景物體出現(xiàn),保證自適應(yīng)閾值在一個合理范圍。2.檢測區(qū)域有前景運動目標(biāo)時,虛擬像素點不會對自適應(yīng)閾值造成影響。由于虛擬像素點的加入,造出了兩個高斯分布,滿足大津算法的應(yīng)用要求,將計算得出的閾值作為背景更新范圍反饋給卡爾曼濾波器進(jìn)行背景更新。
在視頻檢測中,經(jīng)常出現(xiàn)因天氣問題造成光照亮度的突然變化,導(dǎo)致路面的灰度變化被當(dāng)做前景物體錯誤的檢測出來,需要將已經(jīng)變化的背景快速更新過來。本文為了解決此類問題,在卡爾曼濾波中加入了強(qiáng)制背景更新時間T,t是強(qiáng)制更新的等待幀數(shù),若t小于經(jīng)驗值T,認(rèn)為該像素點值為前景車輛,若t大于等于T,認(rèn)為當(dāng)前背景已經(jīng)發(fā)生變化,立即更新背景。
采用 VC+ + 9.0在OpenCV圖像開發(fā)包的基礎(chǔ)上實現(xiàn)本文提出的算法。試驗是在 Intel Core i5 CPU,2.67GHz,4GB內(nèi)存,Win7計算機(jī)上完成。使用的視頻序列的圖像分辨率為640×480,幀率為25fps。圖5為某路段傍晚時刻視頻加入雙閾值判斷前后處理結(jié)果。對比發(fā)現(xiàn)本文算法在光線昏暗條件下,背景未受到前景黑色、白色車輛影響,背景更新效果較好。
圖5 某路段拍攝視頻
如圖6所示,圖6(b)受到前景車輛的影響,部分背景融入了前景信息,圖6(c)右側(cè)車輛拖影被當(dāng)作前景目標(biāo)檢測出來,背景更新效果較差。圖6(d)與圖6(e)分別為該幀視頻背景更新效果圖和前景目標(biāo)檢測效果圖。對比發(fā)現(xiàn),當(dāng)車流量較大的路段傳統(tǒng)背景更新效果較差,本文通過選擇性更新及設(shè)定更新閾值方法背景更新效果較好。
圖6 某路段拍攝視頻
通常學(xué)者僅僅把研究背景模型的重點放在背景更新算法上,常常忽略了如何正確地選取背景進(jìn)行更新,沒有清晰地劃分前景與背景的界限,再好的更新算法也只會事倍功半。本文背景模型從選擇背景的更新范圍為突破口結(jié)合大津算法,引入虛擬像素點和雙閾值概念為特點,將得到的閾值用來選擇性更新背景。本文背景模型算法解決了背景因突然光照變化不能及時更新的問題,同時在光照昏暗及車流量較大的情況下背景更新有較好的適應(yīng)性,并且在車輛長期??亢屯亢篑傠x監(jiān)控區(qū)域時,能夠及時快速更新背景,相比傳統(tǒng)背景建模具有較好的普適性。
[1]侯杰虎.基于kalman濾波器的視頻運動目標(biāo)跟蹤算法研究[D].成都理工大學(xué),2012.
[2]張運勝.基于視頻的城市道路交叉口場景中車輛檢測方法研究[D].東南大學(xué),2016.
[3]鄒承明,李偉.一種改進(jìn)的自適應(yīng)背景更新算法[J].武漢理工大學(xué)學(xué)報,2009,03:45-48.
[4]徐方明,盧官明.基于改進(jìn)surendra背景更新算法的運動目標(biāo)檢測算法[J].山西電子技術(shù),2009,05:39-40+71.
[5]陳雷.基于自適應(yīng)背景模型的運動目標(biāo)檢測[D].北京交通大學(xué),2016.