張榮榮,劉曉陽,王金鵬
(中國海洋大學(xué) 信息科學(xué)與工程學(xué)院,山東 青島 266100)
?
一種基于圖像序列的水下運動目標(biāo)檢測方式
張榮榮,劉曉陽,王金鵬
(中國海洋大學(xué) 信息科學(xué)與工程學(xué)院,山東 青島 266100)
根據(jù)水下運動目標(biāo)檢測的需要,提出改進(jìn)的Vibe檢測算法以適應(yīng)水下環(huán)境中運動目標(biāo)檢測的特點。根據(jù)水下成像的特性對圖像序列預(yù)處理,對于Vibe在首幀建模以及后期背景更新時產(chǎn)生的“鬼影”,在首幀建模時目標(biāo)區(qū)域進(jìn)行近似的背景填充。針對水下運動目標(biāo)運動相對緩慢及難以靜止的特點在更新方式上采用保守更新與前景計數(shù)結(jié)合的方式,能較好地適應(yīng)水下運動目標(biāo)檢測。
圖像處理;運動目標(biāo)檢測;Vibe
隨著人們對海洋領(lǐng)域的不斷探索,對于運動目標(biāo)檢測的關(guān)注延伸到水下環(huán)境中,這對國防、科研有著重要的意義。運動目標(biāo)檢測[1]是從視頻序列中提取出我們想要得到的運動目標(biāo),是后期進(jìn)行目標(biāo)的識別、分類等行為處理的前提條件,也是目前數(shù)字圖像處理[2]領(lǐng)域難以很好解決的熱點問題。
在目前階段運動目標(biāo)檢測的常用方法有以下幾種:幀間差分法、光流檢測法以及背景相減法。光流檢測法[3]檢測運動目標(biāo)時會包含目標(biāo)的三維信息,但是該方法本身計算量非常大,對光照敏感,這就對計算機硬件的運算速度要求很高,很難達(dá)到實時檢測的效果。幀間差分法[4]運算速度很快,可以很快獲得圖像幀中的運動區(qū)域,但對于運動速度緩慢的目標(biāo)檢測效果差,對于動態(tài)場景適應(yīng)性差,一般情況下差分法可以作為其他檢測算法的一種輔助算法,為該種算法提供目標(biāo)的運動信息。背景相減法[5]是一種有效的檢測方法,基于該類方法的算法較多,使用該方法待檢測視頻幀內(nèi)的運動目標(biāo)可以被完整地檢測出來,檢測速度也相對較快,該類方法的關(guān)鍵是背景模型的建立方式,常見的建模方式有時間平均模型、W4、CodeBook、GMM、SOBS、Vibe等方法,每種方法有其特有的適應(yīng)性和優(yōu)缺點。
Vibe[6]是一種基于像素的目標(biāo)檢測方式,由Olivier Barnich等人提出,是一種實用的運動目標(biāo)檢測算法,在不同的視頻流、不同的視頻場景中都有較好的應(yīng)用。Vibe在建立模型和更新背景模型[7]上采用領(lǐng)域傳播機制以及隨機選擇機制,這樣就可以很快地進(jìn)行背景的模型建立,從而有效地提高算法的實時性和抵抗噪聲的能力。
Vibe的基本思想就是為圖像中的每一個像素保存了獨有的樣本集,其中所有的像素值就是這一個像素在過去的像素值和該像素鄰域點的像素值,進(jìn)而通過對比幀中新的像素值和該像素點對應(yīng)樣本集匹配數(shù)目來確定屬于目標(biāo)像素點還是背景點。該算法主要包括模型的基本原理、初始化方式、背景的更新方法三方面內(nèi)容。
1.1 模型的基本原理
完全可以把運動目標(biāo)的檢測看成一個分類問題,也就是將某一像素點分類為目標(biāo)還是背景。Vibe檢測方法為每個像素點都存儲了一個特有的樣本集,通過比較幀中新的像素值和該像素點對應(yīng)樣本集匹配數(shù)目來判斷是否屬于目標(biāo)。
在這里假設(shè)v(x)為像素x點的像素值,則x處的背景樣本集Q(x)={v1,v2,…vN},其中N為這個樣本集的大??;如圖1所示,SR(v(x))是以像素點x為中心、半徑為R的一個球體,以這個球為標(biāo)準(zhǔn)來比較像素點x與對應(yīng)的樣本集合最近的像素距離。定義#為這個球體中包含樣本模型Q(x)中的像素個數(shù),給定一個閾值#min,如果大于或等于#min,該像素點就會被認(rèn)為是背景。也就是將#min與
#{SRv(x)∩{v1,v2,…vN}}
(1)
進(jìn)行對比。從圖1 可以看出 2-D歐式色彩空間(C1,C2)上,某一個點x的背景模型Q(x)與一個新的像素值v(x)的比較分類過程。
圖1 Vibe背景模型
1.2 初始化方式
對一般的檢測算法來說,它們的背景模型初始化通常需要一定長度的圖像序列來實現(xiàn),通常要消耗內(nèi)存和時間,也會導(dǎo)致檢測的實時性受影響。Vibe的初始化不需要很多幀,只需要一幀圖像就可以完成建模。方法中利用了距離相近的各像素點,它們有著近似的時空分布相關(guān)特性,對于某一位置像素點,采用隨機選取的方式選擇它鄰域點的像素值作為該像素的樣本值。采用這種初始化的方式,可以較快地檢測運動目標(biāo),而且計算量很小,運算速度快,當(dāng)然也存在產(chǎn)生“鬼影”的缺點。
1.3 背景的更新方法
由于光照不會一直不變,因此需要不斷地更新背景。通常情況下更新方式有保守的方式,也就是說被判斷為前景點的像素始終不會有填充背景的可能性,這種更新方式會產(chǎn)生死鎖,比如有一塊原本靜止的區(qū)域如果被錯誤地檢測為運動區(qū)域,該區(qū)域?qū)⑹冀K會被判定為目標(biāo),也就不會更新為背景,影響之后的檢測結(jié)果;還有一種更新方式為盲目策略,不論是目標(biāo)像素點還是背景像素點都有更新背景的可能,當(dāng)然如果物體移動得很慢就有可能會融入背景中,從而導(dǎo)致檢測出現(xiàn)錯誤。
對于每一個新的圖像幀,沒有必要去更新幀中各像素點的模型的樣本值,如果一個像素點被檢測為背景點,它以1/φ的概率去更新該點對應(yīng)的背景模型。幀內(nèi)各被判斷為背景的點均有1/φ的概率去更新該背景點對應(yīng)的模型以及它的鄰域點的模型。
對于樣本集中樣本值的替換方式,這里采取的是隨機選取一個樣本值的方式,這樣某一個樣本值在時刻t如果不會被更新,那么概率是(N-1))/N,假定時間是連續(xù)的,在dt時間之后,如果樣本值仍然保留,那么它的概率就會是
(2)
上式說明一個樣本值在背景模型中是不是會被換掉與t沒有關(guān)系 ,因此隨機更新的方式是可行的。
圖2 本文方法流程圖
傳統(tǒng)的Vibe算法在檢測速度和檢測正確率上都較優(yōu),但是算法本身也會有缺點,如第一幀就能進(jìn)行背景建模,避免了內(nèi)存的浪費,但是假如首幀中存在檢測想要的目標(biāo)則會產(chǎn)生“鬼影”,之后目標(biāo)物由靜止轉(zhuǎn)為運動狀態(tài)也會產(chǎn)生“鬼影”。針對水下成像的特點,水下運動目標(biāo)相對于水上目標(biāo)來說有運動緩慢且難以靜止的特點,本文算法對Vibe算法進(jìn)行改進(jìn)以適應(yīng)水下運動目標(biāo)的檢測,流程如圖2。
首先讀取視頻幀,對該幀進(jìn)行暗通道先驗去霧預(yù)處理,對于第一幀進(jìn)行目標(biāo)檢測,檢測到目標(biāo)則進(jìn)行目標(biāo)區(qū)域的近似背景填充,檢測不到則根據(jù)本文Vibe算法進(jìn)行目標(biāo)檢測,進(jìn)而輸出檢測結(jié)果。
2.1 水下圖像特性分析
圖3 圖像序列首幀
圖3是水下場景中的圖像,可以看出,水的復(fù)雜成分會對光產(chǎn)生吸收和散射,影響成像質(zhì)量,使圖像的對比度降低,圖像有一種霧蒙蒙的感覺,會給檢測帶來影響。
2.2 水下圖像預(yù)處理
圖像處理算法很多[8],暗原色先驗去霧算法[9]是對沒有霧的圖像數(shù)據(jù)集進(jìn)行統(tǒng)計得到規(guī)律進(jìn)而產(chǎn)生的算法,多數(shù)情況下沒霧的圖像中,每個局部區(qū)域中有一個特點,有一些像素至少在一個顏色通道上,它們的值很小??梢岳眠@個先驗知識去大體計算圖像中霧的濃度,近似將有霧的圖片復(fù)原從而得到較好的圖像。類比水下圖像成像的特點,本文將此去霧算法用于水下預(yù)處理并進(jìn)行優(yōu)化。
2.3 首幀建立模型
針對首幀中存在運行目標(biāo)的情況,如圖3所示,接下來就會產(chǎn)生“鬼影”。需要進(jìn)行前景區(qū)域的近似背景填充,通過幀差法與閾值分割方法結(jié)合找到目標(biāo)區(qū)域,然后進(jìn)行閉運算(先膨脹,再腐蝕)。將目標(biāo)區(qū)域像素用隨機選取鄰域中是背景的點的像素來填充,圖4為填充之后的近似背景圖像。
2.4 背景更新方式
水下運動目標(biāo)具有運動緩慢且難以靜止的特點,意味著運動目標(biāo)更新為背景的機會很小,所以本文在更新方式上采用保守更新方法以及計算前景點連續(xù)出現(xiàn)個數(shù)M相結(jié)合的方式,對運動目標(biāo)會一直進(jìn)行檢測,同時通過設(shè)定閾值M來限制前景更新為背景可能性。
3.1 算法檢測效果
本文采用的測試視頻Pan.avi為實驗室水下攝像機攝制,分辨率為960×576,幀率為30幀/s,視頻幀數(shù)為1 600幀,Vibe參數(shù)設(shè)置:N=20,R=20,#min=2,φ=16,M=150。圖5、圖6為選取視頻序列第325、658幀原圖像,圖7、圖8為預(yù)處理之后圖像,圖9、圖10為對應(yīng)兩幀的運動目標(biāo)檢測結(jié)果,可以看出較好地檢測出了目標(biāo)。
圖5 視頻第325幀
圖6 視頻第658幀
圖7 視頻第325幀預(yù)處理
圖8 視頻第658幀預(yù)處理
圖9 視頻第325幀檢測結(jié)果
圖10 視頻第658幀檢測結(jié)果
3.2 評價指標(biāo)
評價檢測算法優(yōu)劣的指標(biāo)有兩個:FPS (Number of processed frames per second):每秒能處理的幀數(shù);PCC(Percentages of Correct Classification):像素檢測正確率。
表1 算法運行比較
算法檢測結(jié)果如表1所示。
可以看出本文算法在檢測正確率上有一定程度的提升,盡管在檢測速度上會有下降,這是由于預(yù)處理等操作需要花費時間,但一般攝像機幀率30幀/s可以滿足實時檢測需求。
本文在Vibe算法基礎(chǔ)上進(jìn)行改進(jìn)以用于水下運動目標(biāo)檢測,檢測正確率有一定的提升,但是檢測速率有所下降,下一步工作將考慮進(jìn)一步優(yōu)化預(yù)處理算法以獲得更高的檢測速率。
[1] 王亮, 胡衛(wèi)明, 譚鐵牛. 人運動的視覺分析綜述[J]. 計算機學(xué)報, 2002, 25(3):225-237.
[2] 郭全民, 張海先. 基于圖像處理技術(shù)的混凝土路面裂縫檢測方法[J]. 傳感器與微系統(tǒng), 2013, 32(4):61-64.
[3] LUCAS B D, KANADE T. An iterative image registration technique with an application to stereo vision[C]. International Joint Conference on Artificial Intelligence. Morgan Kaufmann Publishers Inc. 1981:674-679.
[4] LUCAS B D, TAKEO K. An iterative image registration techn-ique with an application to stereo vision[J]. IJCAI, 1981,81(2): 674-679.
[5] CHEUNG S S, KAMATH C. Robust techniques for background subtraction in urban traffic video[J]. Proceedings of SPIE - The International Society for Optical Engineering, 2003, 5308:881-892.
[6] BARNICH O, VAN D M. ViBe: a universal background subtraction algorithm for video sequences.[J]. IEEE Transactions on Image Processing, 2011, 20(6):1709-1724.
[7] 趙光明, 韓光, 李曉飛,等. 基于融合幀間差的改進(jìn)Vibe方法[J]. 計算機技術(shù)與發(fā)展, 2015(3):76-80.
[8] 王命全, 張祖蓮, 時現(xiàn)偉,等. 數(shù)字圖片處理算法[J]. 微型機與應(yīng)用, 2015,34(20):6-8.
[9] 許駿,王直杰. 基于暗通道先驗去霧算法的研究與改進(jìn)[J]. 微型機與應(yīng)用, 2016, 35(3):53-55.
A method of underwater moving target detection based on image sequences
Zhang Rongrong, Liu Xiaoyang, Wang Jinpeng
(School of Information Science and Engineering, Ocean University of China, Qingdao 266100, China)
For the needs of underwater moving target detection, this paper proposed an improved Vibe detection methods in order to adapt the underwater environment moving target detection features. According to the characteristics of underwater imaging, the preprocessing of the image sequence is carried out. For the "ghost" generated by Vibe during the first frame modeling and the later background update, the target region is filled with approximate background in the first frame. Underwater moving targets move slowly and difficult to stay static, the update mode using conservative updating and foreground counting method. This method can adapt to underwater moving target detection.
image processing; moving objects detecting; Vibe
TP391.41
A
10.19358/j.issn.1674- 7720.2017.13.014
張榮榮,劉曉陽,王金鵬.一種基于圖像序列的水下運動目標(biāo)檢測方式[J].微型機與應(yīng)用,2017,36(13):46-48.
2017-02-11)
張榮榮(1990-),男,碩士研究生,主要研究方向:計算機視覺。
劉曉陽(1992-),女,碩士研究生,主要研究方向:圖像處理。
王金鵬(1989-),男,碩士研究生,主要研究方向:圖像處理。