易向陽 莫 林 周 贊 陳大海
(廣西大學計算機與電子信息學院,廣西 南寧 530004)
一種快速的前景檢測算法
易向陽 莫 林 周 贊 陳大海
(廣西大學計算機與電子信息學院,廣西 南寧 530004)
文章提出一種快速前景檢測算法,通過對背景差分得到的前景區域進行處理分析,能夠區分出正確的運動區域和由于光線突變而引起的運動區域。首先使用快速背景更新算法建立背景模型及分割出前景,然后提取運動區域,再對運動區域和差分圖像進行分析處理,識別出由于光線突變而引起的運動區域,最后對背景進行修正。采用該方法能準確地提取前景中的運動目標區域,同時達到了自適應背景更新的目的,并且算法實現簡單,實時性較高。
背景差分;區域分析;背景更新;前景檢測
近年來,隨著視頻監控的迅速發展和廣泛應用,視頻監控是對視頻場景內感興趣的區域和目標進行檢測、跟蹤、識別和預警。而前景檢測是后繼處理的基礎,制約著整個視頻監控系統穩定性、可靠性。對于視頻背景靜止不動的情況,前景檢測算法有幀差分法、背景差分法兩大類。幀差分法速度快,能準確地獲取運動目標的邊緣,但獲取的前景目標上有較多空洞,對于運動速度快的目標,檢測時會產生拖尾現象,而且無法檢測靜止目標。背景差分法是先對背景圖像進行建模,然后計算輸入幀和背景圖像之差,以檢測前景物體。這種方法相對簡單,能夠比較完整地提取運動目標,也能適應環境變化,有一定的抗干擾能力,但是這種方法對背景質量的要求較高。典型背景建模方法有平均背景法、混合高斯算法等。在背景差分法中,為了獲得準確的前景,需要對背景進行實時更新,背景更新方法關系到檢測到的前景是否準確,對前景檢測的實時性也有很大影響。
同時,前景檢測還受光照變化的影響,如路燈的突然開和閉、閃電、天氣光照、物體的陰影和反光等產生的干擾。背景更新時,有很多干擾會影響到背景更新,有些干擾會引起背景緩慢變化,如環境光線變化不大時。有些干擾會引起背景劇烈變化,如路燈的突然開啟和關閉等。對于緩慢變化,可以用背景的更新方法將這些變化融入新的背景中。而對于劇烈變化則會產生新的干擾目標。前景檢測應該判斷出背景的變化是劇烈變化還是緩慢變化,如果是劇烈變化,則要對背景進行修正,以得到準確的背景。前景檢測要識別出干擾目標區域,對干擾目標區域用背景幀像素更新背景,對非干擾目標區域用當前幀像素更新背景。
視頻環境的變化有緩變和突變的情況,多數情況下為緩慢變化,但也有突變,如路燈的突然開啟和關閉。背景突變時,如果不對背景模型進行修正,就不能準確地提取前景中的運動目標。為了準確地提取前景目標,本實驗提出一種新方法,能夠快速地去除背景突變時產生的干擾。
前景檢測算法流程圖如圖1所示。

圖1 前景檢測算法流程圖
1.背景減除法檢測運動前景
設當前幀圖像為 Ct(x,y),生成的背景圖像為 Bt( x,y),檢測到的前景圖像為 Dt(x,y)。可以采用背景差分法生成前景:計算當前幀圖像 Ct(x,y)像素與上一幀背景圖像 Bt?1(x,y)像素的差值,若差值大于閾值ε,則認為該像素是前景像素點,否則是背景像素點。

其中ε為設定的閾值,Dt(i , j)=0為背景像素,Dt(i , j)=1為前景像素。
獲得差分圖像為: Ft( i , j)=Ct(i,j)?Bt?1(i,j),然后再把差分圖像區分出前景區和背景區:

2.自適應背景更新
由于視頻環境在不斷地變化,特別是突變的光照,會造成背景圖像的變化,所以需要及時對背景進行更新。通過當前幀圖像Ct(x,y)和前一幀生成的背景圖像 Bt?1( x,y)獲得當前幀的背景圖像,更新算法如下:

這種背景更新方法只適用于背景變化緩慢的情況,當背景變化劇烈時,必須識別出劇烈變化的區域,背景更新時,必須對這些區域進行背景修正。
3.背景修正
由于背景的光照劇烈變化,背景更新時會把這種變化誤認為是前景目標,從而造成背景更新錯誤。背景更新時必須識別出這樣的劇烈變化,并對背景進行修正。
(1)提取連通區域
在D(i,j)中檢測出一系列矩形區域 Sk,設Imax,k是區域 Sk的上邊界,Imin,k是區域Sk的下邊界,Jmax,k是區域Sk的右邊界,Jmin,k是區域 Sk的左邊界。這樣就可以計算出矩形區域 Sk的高度 Hk、寬度 Wk,也可以計算出該矩形區域內前景像素點的個數SUMk。即

矩形區域面積用像素點的個數SUMk表示:
count=0
for
(i=Imin,k,j=Jmin,k;

{
if Sk(i,j) =1 then
count=count+1;
}
SUMk=count;
(2)分析處理連通區域
光照劇烈變化,而背景還沒有及時更新時,會產生干擾運動目標。為了提高背景更新的精度,必須排除由于亮度突變產生的前景目標區域。本實驗采用像素灰度的均值對檢測到的所有前景目標進行判斷,能夠快速區分出這些區域是亮度劇烈變化產生的變化區域,還是真正運動目標區域。
1)前景目標區域處理與分析
設為Sk(i,j)中某像素的灰度值為 v( i,j),先分別計算出該區域內像素灰度的均值μij和差分圖像背景區 Ft" ( i,j)內像素的均值μB和標準差σB。
參考均值μB是非常重要的參數,它是判斷前景目標區域是否為希望檢測的運動區域的重要依據。為使μB體現更多的背景信息,引入學習機制,對μB進行更新,即μB=α×μB+( 1-α)×μij,α為更新率,其值一般在( 0.5,1) 區間選取,實驗中α值均設定為0.8。
然后再對該前景目標區域進行逐點掃描,判別該區域Sk( i,j)內的像素是屬于背景點或前景點。判斷方法如下:
①count=0; 統計v( i,j)屬于背景點的數目;
②if | v( i,j)-μB| < T1 count=count+1; 即 v( i,j)∈背景點;
③if count / SUMk>= T2

其中,T2為分類閾值設為 0.8,分類閾值 T1設為 3σB,而Sk" ( i ,j)是正確的運動目標,而 Sk'(i,j)是亮度劇烈變化產生的變化區域,是虛假的運動目標。
2)修正背景
準確區分出需要檢測的運動目標區域和干擾產生的運動區域后,就需要把這些干擾區域的進行修正,修正的方法就是用當前幀的像素值對這些干擾區域進行更新。

若 Sk(i,j)為亮度劇烈變化產生的變化區域,則用當前幀圖像 Ct(x ,y)中的相應點像素值更新; 若 Sk(i,j)為正確的運動目標,則用背景圖像 Bt?1(x,y) 中的相應點像素值更新。
本實驗采用C++和OpenCV 為開發工具,在Pentium(R)4 CPU為3.0GHz,內存為512MB的微型機上,提出對一段視頻進行實驗、測試,獲得處理速度為每秒15 幀。下圖是視頻序列中截取的突然開燈時,如圖(a),程序分別用無背景修正和有背景修正算法,對視頻序列進行前景檢測。無背景修正時,得到圖(b)前景,突然亮起的燈也被檢測為前景目標。而有背景修正算法時,突然亮起的燈則被正確地更新到背景中,沒有被檢測出來。可見,本文提出的算法能夠有效地適應背景光照突然變化,并能夠正確檢測出前景目標,如圖(c)。果表明該方法快速、準確,有廣泛的適用性。

(四)總結
[1] Takashi Matsuyama , Toshikazu Wada , Hitoshi Habe , et al .Background Subtraction Under Varying Illumination[C] .Systems and Computers in Japan[A] . 2006 ,37 (4) :77288.
[2] Chris Stauffer , Grimson W E L. Adaptive Background Mixture Models for Real2time Tracking[C].Computer Vision and Pat2 tern Recognition ,1999.IEEE Computer Society Conference,1999:2462252.
[3] 莫林,廖鵬,劉勛.一種基于背景減除與三幀差分的運動目標檢測算法[J].微計算機信息,2009,(12).
[4] 邱尚斌,李剛,林凌.一種新的運動目標檢測和背景更新方法[J].遼寧工學院學報,2005,(2).
[5] 鄒承明,李偉.一種改進的自適應背景更新算法[J].武漢理工大學學報,2009,(2).
TP301.6
A
1008-1151(2011)06-011-02
2011-04-01
易向陽,廣西大學計算機與電子信息學院工程碩士研究生。