周 曉,方玖琳,鄭定超
(浙江工業(yè)大學(xué) 信息工程學(xué)院,杭州 310023)
基于三幀差分和滑動平均背景的運動目標(biāo)檢測
周曉,方玖琳,鄭定超
(浙江工業(yè)大學(xué)信息工程學(xué)院,杭州310023)
針對傳統(tǒng)三幀差分法在前景提取中容易出現(xiàn)“空洞”現(xiàn)象,對傳統(tǒng)三幀差分法作改進,采用邏輯“或”代替原來的邏輯“與”,但同時產(chǎn)生了運動目標(biāo)被拉長,輪廓模糊等問題;為了有效解決該問題,將滑動平均法和改進的三幀差分相結(jié)合,然而滑動平均法初始階段更新背景較慢,因此二者有效結(jié)合的關(guān)鍵是對滑動平均法作改進,提出一種自適應(yīng)更新滑動平均系數(shù)加速背景更新的方法;最后將改進三幀差分提取的前景和改進滑動平均法提取的前景進行邏輯“與”運算得到綜合前景圖像;實驗結(jié)果表明該算法在完整性,準(zhǔn)確性以及實時性方面能滿足實際要求。
三幀差分改進;改進滑動平均背景;自適應(yīng)更新滑動系數(shù);運動檢測
運動目標(biāo)檢測是從視頻系列圖像中將運動區(qū)域進行提取的過程。運動區(qū)域的有效分割對于目標(biāo)識別,跟蹤和行為理解等后期處理工作異常關(guān)鍵,因為后期的處理過程僅僅考慮圖像中對應(yīng)于運動區(qū)域的像素。
目前檢測運動目標(biāo)的主要方法有幀差法,背景減除法和光流法[1]。幀差法是運動目標(biāo)檢測最為簡單快速的方法,常用的幀差法就是相鄰幀間作差,二值化處理來獲取運動區(qū)域。幀差法最大的缺點是容易產(chǎn)生“空洞”和“雙影”現(xiàn)象[2],因此還需結(jié)合其它算法進行相關(guān)改進。背景減除法通過構(gòu)造實時背景來進行前景提取,將當(dāng)前幀圖像和背景圖像進行差分并二值化處理來提取前景。背景減除法的關(guān)鍵點就是背景圖像的構(gòu)造,而背景圖像容易受到外界環(huán)境的影響,對光照和場景變化非常敏感,因此背景準(zhǔn)確的自適應(yīng)更新是背景減除法的關(guān)鍵。光流法是通過研究相鄰幀之間像素的瞬時運動速度來確定運動目標(biāo),因此在攝像機處于運動的情況下也能工作,但是光流法計算復(fù)雜,對硬件的性能要求較高,除非有特定的硬件支撐,否則很難實現(xiàn)實時檢測,因此在實際的項目中應(yīng)用較少。本文提出一種基于三幀差分法和滑動平均背景相結(jié)合的運動目標(biāo)檢測算法,該算法能解決以上幀差法和背景減除法產(chǎn)生的缺點問題。
1.1改進三幀差分原理圖
主要步驟如下:
1)采集連續(xù)三幀相鄰圖像Ik-2、Ik-1和當(dāng)前幀Ik,灰度化處理,并做高斯去噪。
2)Ik-1與Ik-2以及Ik與Ik-1分別做幀差絕對值運算,得到差絕對值圖D1(x,y)和D2(x,y),其中
3)對D1(x,y)、D2(x,y)分別進行二值化處理,其表達式為
圖1 改進三幀差分原理圖
其中:d1為差絕對值圖D1(x,y)中像素點像素值,T1為設(shè)定閾值。
同理d2為差絕對值圖D2(x,y)中像素點像素值,T2為設(shè)定閾值。當(dāng)差絕對值圖D1(x,y)、D2(x,y)像素點像素值大于等于閾值時即認為該像素點為前景像素點,反之為背景像素點
4)對二值化結(jié)果D1(x,y),D2(x,y)進行邏輯“或”運算,表達式如下:
DI(x,y)=D1(x,y)⊕D2(x,y)(5)
5)將“或”運算結(jié)果DI(x,y)進行適當(dāng)數(shù)學(xué)形態(tài)學(xué)開閉處理。
基于以上原理分別用傳統(tǒng)三幀差分和改進三幀差分對一段avi格式的交通監(jiān)控視頻圖像進行前景提取,檢測結(jié)果如圖2所示,其中圖2(a)是用傳統(tǒng)三幀差分提取的前景圖像,圖2(b)是用改進三幀差分提取的前景圖像。
圖2 三幀差分檢測前景
圖2(a)和圖2(b)可以看出,通過邏輯“或“運算來進行三幀差分的改進在一定程度上能消除傳統(tǒng)三幀差分帶來的空洞問題,卻造成運動目標(biāo)拉長,輪廓模糊的缺點,因此還需后續(xù)算法的相關(guān)處理。
滑動平均背景(滑動平均法)是運動目標(biāo)檢測的常用算法。該算法通過構(gòu)建背景模型來獲取前景圖像,因此能減少前景當(dāng)中的“空洞”問題,并且運動目標(biāo)不會被拉長,輪廓較清晰,但是對光照較為敏感。所以,本文充分考慮改進的三幀差分以及滑動平均法的優(yōu)缺點,通過相結(jié)合的方式來實現(xiàn)優(yōu)缺點互補。
滑動平均背景需要解決的問題是背景圖像的構(gòu)造,如何構(gòu)造出高效實用的背景模型來獲取背景圖像是背景減除法的研究重點。背景建模時,需要考慮外界光照強度變化以及背景的及時更新[6]。它的基本思想是背景模型建立之后,將當(dāng)前幀圖像與背景模型相減,若相減結(jié)果的像素大于某一閾值,則判定當(dāng)前圖像中的這些位置像素區(qū)域為運動區(qū)域,反之為背景區(qū)域。
其中:Xk(x,y)為當(dāng)前幀圖像,Bk(x,y)為背景圖像,Dk(x,y)為差分圖像,T為閾值,Rk(x,y)為前景圖像。255代表前景區(qū)域,0代表背景區(qū)域。由公式(6)、(7)可以看出建立一個合適的背景模型對于前景檢測非常重要[7]。滑動平均法原理流程圖如圖3所示。
圖3 滑動平均法原理流程圖
2.1滑動平均背景建模
滑動平均背景建模利用以下規(guī)則對每個像素進行更新:
acc(x,y)=(1-α)acc(x,y)+α·image(x,y)(8)其中:acc(x,y)是背景幀,image(x,y)為當(dāng)前圖像,α為調(diào)節(jié)更新率(即累計器以多快的速率忘掉前面的幀)。
滑動平均法主要步驟如下:
1)讀取當(dāng)前一幀,幀數(shù)i(初始化i=0)加上1,由RGB顏色空間轉(zhuǎn)換成灰度圖。對應(yīng)關(guān)系如下[8]:
GRAY=0.299R+0.587G+0.114B(9)
其中:GRAY為灰度圖像,RGB為紅綠藍顏色空間。
2)判斷當(dāng)前幀是不是第一幀,即i=1是否成立?如果是第1幀就將當(dāng)前幀acc(x,y)作為背景幀,并建立空幀image(x,y)=0作為后續(xù)當(dāng)前幀,DB(x,y)=0作為前景圖像幀。如果不是第一幀,就將當(dāng)前幀image(x,y)和之前背景幀acc(x,y)進行相減得到前景圖像。如下式所示:
DB(x,y)=image(x,y)-acc(x,y)(10)
3)二值化前景圖像:
其中:d3為差絕對值圖DB(x,y)中像素點像素值,T3為設(shè)定閾值。當(dāng)像素點像素值大于等于閾值時即認為該像素點為前景像素點,反之為背景像素點。
4)將二值化結(jié)果D3(x,y)進行相應(yīng)形態(tài)學(xué)濾波,去掉噪音。
5)更新背景:
acc(x,y)=acc(x,y)+α·[image(x,y)-acc(x,y)]并返回步驟1)。
滑動平均法能很好的克服“空洞”問題,且運動目標(biāo)不會被拉長,輪廓清晰,通過它和改進的三幀差分法進行邏輯“與”運算一方面可以有效克服改進三幀差分所帶來的運動目標(biāo)拉長,輪廓不清晰的缺點,另外一方面可以利用改進三幀差分對光線突變不敏感來彌補滑動平均法對光線敏感的問題。然而滑動平均法剛開始需要一定時間才能使背景趨于穩(wěn)定,開始時間段相鄰背景之間的像素和變化較大,因此初始階段滑動平均法得到的前景中很多的噪音,這時就需要對滑動平均法進行改進,否則二者結(jié)合進行邏輯“與”的初始階段則是沒有意義的,不能消除前面三幀差分所帶來的運動目標(biāo)拉長,輪廓模糊的問題。
2.2滑動平均法改進
滑動平均法的改進是本文在兩種算法結(jié)合之后研究的重點問題。因此如何使滑動平均法在初始階段就能擁有一個較好的前景圖像是二者進行邏輯“與”結(jié)合的關(guān)鍵。傳統(tǒng)的滑動平均法從開始運行到構(gòu)造的背景穩(wěn)定下來往往需要超過10秒鐘左右的時間,顯然時間過慢,不符合實時要求。
針對以上問題本文創(chuàng)新性的提出一種通過前后幀構(gòu)造的背景像素和作差和設(shè)定閾值TH進行比較來調(diào)節(jié)滑動平均系數(shù)的方法。該方法通過靈活改變滑動平均系數(shù)來進行背景更新。
2.2.1自適應(yīng)更新滑動平均系數(shù)
T=sum(acc(x,y)new)-sum(acc(x,y)old)(12)
式(12)中:acc(x,y)new為新構(gòu)造的背景,sum(acc(x,y)new)為該背景所有像素值之和,acc(x,y)old為前一背景幀,sum(acc(x,y)old)為其所有像素值之和。
T為兩個背景幀像素和之差。
1)當(dāng)差值T>閾值TH ,此時增大滑動平均系數(shù)α。
2)當(dāng)差值T≤閾值TH,此時減小滑動平均系數(shù)α。
其中閾值TH在實驗中根據(jù)以下規(guī)則進行設(shè)定。
TH=(T1+T2+T3…+Tn)/2(13)
式(13)中,T1到Tn分別表示第1到第n個背景差值。在不更改滑動平均系數(shù)α的情況下,T1的值顯然較大,Tn的值較小。T2T3…Tn-1的值基本處在T1和Tn之間浮動。n的取值直到背景基本穩(wěn)定,背景差值基本不變終止。
2.2.2改進滑動平均法流程
改進的滑動平均法流程圖如圖4所示。
該算法在原始滑動平均法的基礎(chǔ)上作改進,將背景差值T和設(shè)定閾值TH作比較,在初始階段必然存在T≥TH的情況,從而要增大滑動平均系數(shù)α,加速背景更新,使得背景快速達到穩(wěn)定狀態(tài),當(dāng)背景接近穩(wěn)定的時候,背景差值落在T<TH范圍以內(nèi),此時要減小滑動平均系數(shù)α,以免背景出現(xiàn)大幅度變化而影響到前景檢測。α根據(jù)實驗結(jié)果確定,在T≤TH時取0.003,在T>TH時取0.01。
基于以上原理使用傳統(tǒng)滑動平均法和改進的滑動平均法分別對視頻圖像進行前景提取,如圖5所示,其中圖5(a)是傳統(tǒng)滑動平均法提取的前景,圖5(b)是改進的滑動平均法提取的前景。通過實驗結(jié)果可以看出改進的滑動平均法克服了傳統(tǒng)滑動平均法在背景構(gòu)造方面耗時較多的缺點,能夠自適應(yīng)快速更新背景,避免在初始階段前景中出現(xiàn)大量噪音。
圖4 改進滑動平均法流程圖
圖5 滑動平均法取前景
最后將改進三幀差分得到的前景圖像DI(x,y)和改進滑動平均法得到的前景圖像DB(x,y)進行邏輯“與”運算得到綜合前景圖像D(x,y)。算法總流程圖如圖6所示。
圖6 算法總流程圖
為了驗證本文算法的有效性,實驗選取了一段交通監(jiān)控avi格式視頻進行測試。實驗平臺硬件為普通PC機(Pentium 1.87 GHz CPU,內(nèi)存2 G),軟件為VC++6.0、OpenCV機器視覺開源庫。
本文分別使用改進三幀差分法,改進滑動平均法以及本文提出二者結(jié)合的方法進行實驗,檢測結(jié)果效果圖如圖7所示。
檢測結(jié)果圖7中第一列為原始圖像,第二列為使用改進的三幀差分檢測的結(jié)果,第三列為使用改進的滑動平均法檢測的結(jié)果,第四列為二者結(jié)合的方法檢測的結(jié)果。圖中第一排為視頻幀第220幀的效果圖,第二排為第225幀的效果圖,第三排為第230幀的效果圖,第4排為第235幀的效果圖。
圖7 檢測結(jié)果效果圖
從實驗結(jié)果可以看出,改進的三幀差分雖然在“空洞”問題上面有所提高,但是將運動目標(biāo)拉長了從而得到的前景圖像比原圖像要大,并且目標(biāo)輪廓不是很明顯。改進的滑動平均法雖然相對于改進之前加速了背景更新速度,前景中的噪音減少許多,但是開始之初還是存在少許噪音,如圖7第三列前兩幅圖像所示,滑動平均法另外一個不足之處是對光照比較敏感,基于以上情況本文將兩種方法結(jié)合起來,得到的前景圖像如圖7第四列所示,該方法可以避免光照的影響得到前景圖像中幾乎沒有噪音,同時可以克服圖像被拉長,輪廓不清晰及“空洞”問題。
本文在傳統(tǒng)三幀差分和滑動平均法的基礎(chǔ)上作改進提出了一種基于三幀差分與滑動平均背景相結(jié)合的運動目標(biāo)檢測算法,該算法能夠適應(yīng)復(fù)雜的環(huán)境背景,允許在有運動目標(biāo)的情況下進行背景建模,同時能克服光照對滑動平均法的影響,以及滑動平均法在初始階段背景建模所需時間過長的不足,同時又能消除改進三幀差分所帶來的運動目標(biāo)拉長,輪廓不明顯以及“空洞”問題,抗干擾性強,可以獲得關(guān)于運動目標(biāo)更為完整精確的區(qū)域。
[1]於正強,潘赟,宦若虹.一種結(jié)合幀差法和混合高斯的運動檢測算法[J].計算機應(yīng)用與軟件,2015,32(1):129-132.
[2]丁磊,宮寧生.基于改進的三幀差分法運動目標(biāo)檢測[J].電視技術(shù),2013,37(1):151-153.
[3]呂國亮,趙曙光,趙俊.基于三幀差分和連通性檢驗的圖像運動目標(biāo)檢測新方法[J].液晶與顯示,2007,2 (1):87-92.
[4]徐衛(wèi)星,王蘭英,李秀娟.一種基于 Open-CV 實現(xiàn)的三幀差分運動目標(biāo)檢測算法研究 [J].計算機與數(shù)字工程,2011,11(1):141-144.
[5]魏武,龔樹鋒,龔樹超.一種改進的基于視頻的車輛檢測與識別方法[J].計算機測量與控制,2010 (1):20-22
[6]莫林,廖鵬,劉勛.一種基于背景減除與三幀差分的運動目標(biāo)檢測算法[J].微計算機信息,2009,25 (4):274-276.
[7]盧章平,孔德飛,李小蕾,等.背景差分與三幀差分結(jié)合的運動目標(biāo)檢測算法 [J].計算機測量與控制,2013,21(12):3315-3318
[8]邱聯(lián)奎,劉啟亮,雷文龍.基于背景減除與三幀差分相融合的運動檢測[J].合肥工業(yè)大學(xué)學(xué)報,2014,37(5):572577.
Motion Object Detection Based on Three Frame Differencing and Sliding Average Background Method
Zhou Xiao,F(xiàn)ang Jiulin,Zheng Dingchao
(College of Information Engineering,Zhejiang University of Technology,Hangzhou310023,China)
In view of the traditional three frame difference method in the foreground extraction is easy to appear"hollow"phenomenon,make improvement on the traditional three frame difference method,use the logical"or"instead of the original logic"and",but at the same time produce a moving target is elongated and contour blurring problem.In order to effectively solve the problem,combined the sliding average background method with improved three frame difference,however in the initial phase the sliding average background to update the background is slow,therefore the key of effective combination of the two method is to improve the sliding average method,puts forward an adaptive update moving average coefficient of acceleration background updating method.Finally improved three frame difference extracted foreground and the foreground of improved sliding average method to logic"and"to get comprehensive foreground image.Experimental results show that the algorithm can quickly and completely and accurately detect moving targets and meet the needs of real-time detection.
three frame difference improvement;sliding average background improvement;adaptive updating sliding coefficient;motion detection
1671-4598(2016)05-0032-03
10.16526/j.cnki.11-4762/tp.2016.05.010
TP311
A
2015-10-29;
2015-12-04。
周曉(1971-),男,浙江永康人,副教授,博士,主要從事嵌入式應(yīng)用方向的研究。