張榮榮,劉曉陽,王金鵬
(中國(guó)海洋大學(xué) 信息科學(xué)與工程學(xué)院,山東 青島 266100)
?
一種基于圖像序列的水下運(yùn)動(dòng)目標(biāo)檢測(cè)方式
張榮榮,劉曉陽,王金鵬
(中國(guó)海洋大學(xué) 信息科學(xué)與工程學(xué)院,山東 青島 266100)
根據(jù)水下運(yùn)動(dòng)目標(biāo)檢測(cè)的需要,提出改進(jìn)的Vibe檢測(cè)算法以適應(yīng)水下環(huán)境中運(yùn)動(dòng)目標(biāo)檢測(cè)的特點(diǎn)。根據(jù)水下成像的特性對(duì)圖像序列預(yù)處理,對(duì)于Vibe在首幀建模以及后期背景更新時(shí)產(chǎn)生的“鬼影”,在首幀建模時(shí)目標(biāo)區(qū)域進(jìn)行近似的背景填充。針對(duì)水下運(yùn)動(dòng)目標(biāo)運(yùn)動(dòng)相對(duì)緩慢及難以靜止的特點(diǎn)在更新方式上采用保守更新與前景計(jì)數(shù)結(jié)合的方式,能較好地適應(yīng)水下運(yùn)動(dòng)目標(biāo)檢測(cè)。
圖像處理;運(yùn)動(dòng)目標(biāo)檢測(cè);Vibe
隨著人們對(duì)海洋領(lǐng)域的不斷探索,對(duì)于運(yùn)動(dòng)目標(biāo)檢測(cè)的關(guān)注延伸到水下環(huán)境中,這對(duì)國(guó)防、科研有著重要的意義。運(yùn)動(dòng)目標(biāo)檢測(cè)[1]是從視頻序列中提取出我們想要得到的運(yùn)動(dòng)目標(biāo),是后期進(jìn)行目標(biāo)的識(shí)別、分類等行為處理的前提條件,也是目前數(shù)字圖像處理[2]領(lǐng)域難以很好解決的熱點(diǎn)問題。
在目前階段運(yùn)動(dòng)目標(biāo)檢測(cè)的常用方法有以下幾種:幀間差分法、光流檢測(cè)法以及背景相減法。光流檢測(cè)法[3]檢測(cè)運(yùn)動(dòng)目標(biāo)時(shí)會(huì)包含目標(biāo)的三維信息,但是該方法本身計(jì)算量非常大,對(duì)光照敏感,這就對(duì)計(jì)算機(jī)硬件的運(yùn)算速度要求很高,很難達(dá)到實(shí)時(shí)檢測(cè)的效果。幀間差分法[4]運(yùn)算速度很快,可以很快獲得圖像幀中的運(yùn)動(dòng)區(qū)域,但對(duì)于運(yùn)動(dòng)速度緩慢的目標(biāo)檢測(cè)效果差,對(duì)于動(dòng)態(tài)場(chǎng)景適應(yīng)性差,一般情況下差分法可以作為其他檢測(cè)算法的一種輔助算法,為該種算法提供目標(biāo)的運(yùn)動(dòng)信息。背景相減法[5]是一種有效的檢測(cè)方法,基于該類方法的算法較多,使用該方法待檢測(cè)視頻幀內(nèi)的運(yùn)動(dòng)目標(biāo)可以被完整地檢測(cè)出來,檢測(cè)速度也相對(duì)較快,該類方法的關(guān)鍵是背景模型的建立方式,常見的建模方式有時(shí)間平均模型、W4、CodeBook、GMM、SOBS、Vibe等方法,每種方法有其特有的適應(yīng)性和優(yōu)缺點(diǎn)。
Vibe[6]是一種基于像素的目標(biāo)檢測(cè)方式,由Olivier Barnich等人提出,是一種實(shí)用的運(yùn)動(dòng)目標(biāo)檢測(cè)算法,在不同的視頻流、不同的視頻場(chǎng)景中都有較好的應(yīng)用。Vibe在建立模型和更新背景模型[7]上采用領(lǐng)域傳播機(jī)制以及隨機(jī)選擇機(jī)制,這樣就可以很快地進(jìn)行背景的模型建立,從而有效地提高算法的實(shí)時(shí)性和抵抗噪聲的能力。
Vibe的基本思想就是為圖像中的每一個(gè)像素保存了獨(dú)有的樣本集,其中所有的像素值就是這一個(gè)像素在過去的像素值和該像素鄰域點(diǎn)的像素值,進(jìn)而通過對(duì)比幀中新的像素值和該像素點(diǎn)對(duì)應(yīng)樣本集匹配數(shù)目來確定屬于目標(biāo)像素點(diǎn)還是背景點(diǎn)。該算法主要包括模型的基本原理、初始化方式、背景的更新方法三方面內(nèi)容。
1.1 模型的基本原理
完全可以把運(yùn)動(dòng)目標(biāo)的檢測(cè)看成一個(gè)分類問題,也就是將某一像素點(diǎn)分類為目標(biāo)還是背景。Vibe檢測(cè)方法為每個(gè)像素點(diǎn)都存儲(chǔ)了一個(gè)特有的樣本集,通過比較幀中新的像素值和該像素點(diǎn)對(duì)應(yīng)樣本集匹配數(shù)目來判斷是否屬于目標(biāo)。
在這里假設(shè)v(x)為像素x點(diǎn)的像素值,則x處的背景樣本集Q(x)={v1,v2,…vN},其中N為這個(gè)樣本集的大??;如圖1所示,SR(v(x))是以像素點(diǎn)x為中心、半徑為R的一個(gè)球體,以這個(gè)球?yàn)闃?biāo)準(zhǔn)來比較像素點(diǎn)x與對(duì)應(yīng)的樣本集合最近的像素距離。定義#為這個(gè)球體中包含樣本模型Q(x)中的像素個(gè)數(shù),給定一個(gè)閾值#min,如果大于或等于#min,該像素點(diǎn)就會(huì)被認(rèn)為是背景。也就是將#min與
#{SRv(x)∩{v1,v2,…vN}}
(1)
進(jìn)行對(duì)比。從圖1 可以看出 2-D歐式色彩空間(C1,C2)上,某一個(gè)點(diǎn)x的背景模型Q(x)與一個(gè)新的像素值v(x)的比較分類過程。
圖1 Vibe背景模型
1.2 初始化方式
對(duì)一般的檢測(cè)算法來說,它們的背景模型初始化通常需要一定長(zhǎng)度的圖像序列來實(shí)現(xiàn),通常要消耗內(nèi)存和時(shí)間,也會(huì)導(dǎo)致檢測(cè)的實(shí)時(shí)性受影響。Vibe的初始化不需要很多幀,只需要一幀圖像就可以完成建模。方法中利用了距離相近的各像素點(diǎn),它們有著近似的時(shí)空分布相關(guān)特性,對(duì)于某一位置像素點(diǎn),采用隨機(jī)選取的方式選擇它鄰域點(diǎn)的像素值作為該像素的樣本值。采用這種初始化的方式,可以較快地檢測(cè)運(yùn)動(dòng)目標(biāo),而且計(jì)算量很小,運(yùn)算速度快,當(dāng)然也存在產(chǎn)生“鬼影”的缺點(diǎn)。
1.3 背景的更新方法
由于光照不會(huì)一直不變,因此需要不斷地更新背景。通常情況下更新方式有保守的方式,也就是說被判斷為前景點(diǎn)的像素始終不會(huì)有填充背景的可能性,這種更新方式會(huì)產(chǎn)生死鎖,比如有一塊原本靜止的區(qū)域如果被錯(cuò)誤地檢測(cè)為運(yùn)動(dòng)區(qū)域,該區(qū)域?qū)⑹冀K會(huì)被判定為目標(biāo),也就不會(huì)更新為背景,影響之后的檢測(cè)結(jié)果;還有一種更新方式為盲目策略,不論是目標(biāo)像素點(diǎn)還是背景像素點(diǎn)都有更新背景的可能,當(dāng)然如果物體移動(dòng)得很慢就有可能會(huì)融入背景中,從而導(dǎo)致檢測(cè)出現(xiàn)錯(cuò)誤。
對(duì)于每一個(gè)新的圖像幀,沒有必要去更新幀中各像素點(diǎn)的模型的樣本值,如果一個(gè)像素點(diǎn)被檢測(cè)為背景點(diǎn),它以1/φ的概率去更新該點(diǎn)對(duì)應(yīng)的背景模型。幀內(nèi)各被判斷為背景的點(diǎn)均有1/φ的概率去更新該背景點(diǎn)對(duì)應(yīng)的模型以及它的鄰域點(diǎn)的模型。
對(duì)于樣本集中樣本值的替換方式,這里采取的是隨機(jī)選取一個(gè)樣本值的方式,這樣某一個(gè)樣本值在時(shí)刻t如果不會(huì)被更新,那么概率是(N-1))/N,假定時(shí)間是連續(xù)的,在dt時(shí)間之后,如果樣本值仍然保留,那么它的概率就會(huì)是
(2)
上式說明一個(gè)樣本值在背景模型中是不是會(huì)被換掉與t沒有關(guān)系 ,因此隨機(jī)更新的方式是可行的。
圖2 本文方法流程圖
傳統(tǒng)的Vibe算法在檢測(cè)速度和檢測(cè)正確率上都較優(yōu),但是算法本身也會(huì)有缺點(diǎn),如第一幀就能進(jìn)行背景建模,避免了內(nèi)存的浪費(fèi),但是假如首幀中存在檢測(cè)想要的目標(biāo)則會(huì)產(chǎn)生“鬼影”,之后目標(biāo)物由靜止轉(zhuǎn)為運(yùn)動(dòng)狀態(tài)也會(huì)產(chǎn)生“鬼影”。針對(duì)水下成像的特點(diǎn),水下運(yùn)動(dòng)目標(biāo)相對(duì)于水上目標(biāo)來說有運(yùn)動(dòng)緩慢且難以靜止的特點(diǎn),本文算法對(duì)Vibe算法進(jìn)行改進(jìn)以適應(yīng)水下運(yùn)動(dòng)目標(biāo)的檢測(cè),流程如圖2。
首先讀取視頻幀,對(duì)該幀進(jìn)行暗通道先驗(yàn)去霧預(yù)處理,對(duì)于第一幀進(jìn)行目標(biāo)檢測(cè),檢測(cè)到目標(biāo)則進(jìn)行目標(biāo)區(qū)域的近似背景填充,檢測(cè)不到則根據(jù)本文Vibe算法進(jìn)行目標(biāo)檢測(cè),進(jìn)而輸出檢測(cè)結(jié)果。
2.1 水下圖像特性分析
圖3 圖像序列首幀
圖3是水下場(chǎng)景中的圖像,可以看出,水的復(fù)雜成分會(huì)對(duì)光產(chǎn)生吸收和散射,影響成像質(zhì)量,使圖像的對(duì)比度降低,圖像有一種霧蒙蒙的感覺,會(huì)給檢測(cè)帶來影響。
2.2 水下圖像預(yù)處理
圖像處理算法很多[8],暗原色先驗(yàn)去霧算法[9]是對(duì)沒有霧的圖像數(shù)據(jù)集進(jìn)行統(tǒng)計(jì)得到規(guī)律進(jìn)而產(chǎn)生的算法,多數(shù)情況下沒霧的圖像中,每個(gè)局部區(qū)域中有一個(gè)特點(diǎn),有一些像素至少在一個(gè)顏色通道上,它們的值很小??梢岳眠@個(gè)先驗(yàn)知識(shí)去大體計(jì)算圖像中霧的濃度,近似將有霧的圖片復(fù)原從而得到較好的圖像。類比水下圖像成像的特點(diǎn),本文將此去霧算法用于水下預(yù)處理并進(jìn)行優(yōu)化。
2.3 首幀建立模型
針對(duì)首幀中存在運(yùn)行目標(biāo)的情況,如圖3所示,接下來就會(huì)產(chǎn)生“鬼影”。需要進(jìn)行前景區(qū)域的近似背景填充,通過幀差法與閾值分割方法結(jié)合找到目標(biāo)區(qū)域,然后進(jìn)行閉運(yùn)算(先膨脹,再腐蝕)。將目標(biāo)區(qū)域像素用隨機(jī)選取鄰域中是背景的點(diǎn)的像素來填充,圖4為填充之后的近似背景圖像。
2.4 背景更新方式
水下運(yùn)動(dòng)目標(biāo)具有運(yùn)動(dòng)緩慢且難以靜止的特點(diǎn),意味著運(yùn)動(dòng)目標(biāo)更新為背景的機(jī)會(huì)很小,所以本文在更新方式上采用保守更新方法以及計(jì)算前景點(diǎn)連續(xù)出現(xiàn)個(gè)數(shù)M相結(jié)合的方式,對(duì)運(yùn)動(dòng)目標(biāo)會(huì)一直進(jìn)行檢測(cè),同時(shí)通過設(shè)定閾值M來限制前景更新為背景可能性。
3.1 算法檢測(cè)效果
本文采用的測(cè)試視頻Pan.avi為實(shí)驗(yàn)室水下攝像機(jī)攝制,分辨率為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為對(duì)應(yīng)兩幀的運(yùn)動(dòng)目標(biāo)檢測(cè)結(jié)果,可以看出較好地檢測(cè)出了目標(biāo)。
圖5 視頻第325幀
圖6 視頻第658幀
圖7 視頻第325幀預(yù)處理
圖8 視頻第658幀預(yù)處理
圖9 視頻第325幀檢測(cè)結(jié)果
圖10 視頻第658幀檢測(cè)結(jié)果
3.2 評(píng)價(jià)指標(biāo)
評(píng)價(jià)檢測(cè)算法優(yōu)劣的指標(biāo)有兩個(gè):FPS (Number of processed frames per second):每秒能處理的幀數(shù);PCC(Percentages of Correct Classification):像素檢測(cè)正確率。
表1 算法運(yùn)行比較
算法檢測(cè)結(jié)果如表1所示。
可以看出本文算法在檢測(cè)正確率上有一定程度的提升,盡管在檢測(cè)速度上會(huì)有下降,這是由于預(yù)處理等操作需要花費(fèi)時(shí)間,但一般攝像機(jī)幀率30幀/s可以滿足實(shí)時(shí)檢測(cè)需求。
本文在Vibe算法基礎(chǔ)上進(jìn)行改進(jìn)以用于水下運(yùn)動(dòng)目標(biāo)檢測(cè),檢測(cè)正確率有一定的提升,但是檢測(cè)速率有所下降,下一步工作將考慮進(jìn)一步優(yōu)化預(yù)處理算法以獲得更高的檢測(cè)速率。
[1] 王亮, 胡衛(wèi)明, 譚鐵牛. 人運(yùn)動(dòng)的視覺分析綜述[J]. 計(jì)算機(jī)學(xué)報(bào), 2002, 25(3):225-237.
[2] 郭全民, 張海先. 基于圖像處理技術(shù)的混凝土路面裂縫檢測(cè)方法[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]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2015(3):76-80.
[8] 王命全, 張祖蓮, 時(shí)現(xiàn)偉,等. 數(shù)字圖片處理算法[J]. 微型機(jī)與應(yīng)用, 2015,34(20):6-8.
[9] 許駿,王直杰. 基于暗通道先驗(yàn)去霧算法的研究與改進(jìn)[J]. 微型機(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
張榮榮,劉曉陽,王金鵬.一種基于圖像序列的水下運(yùn)動(dòng)目標(biāo)檢測(cè)方式[J].微型機(jī)與應(yīng)用,2017,36(13):46-48.
2017-02-11)
張榮榮(1990-),男,碩士研究生,主要研究方向:計(jì)算機(jī)視覺。
劉曉陽(1992-),女,碩士研究生,主要研究方向:圖像處理。
王金鵬(1989-),男,碩士研究生,主要研究方向:圖像處理。