張榮榮,劉曉陽,王金鵬
(中國海洋大學 信息科學與工程學院,山東 青島 266100)
?
一種基于圖像序列的水下運動目標檢測方式
張榮榮,劉曉陽,王金鵬
(中國海洋大學 信息科學與工程學院,山東 青島 266100)
根據水下運動目標檢測的需要,提出改進的Vibe檢測算法以適應水下環境中運動目標檢測的特點。根據水下成像的特性對圖像序列預處理,對于Vibe在首幀建模以及后期背景更新時產生的“鬼影”,在首幀建模時目標區域進行近似的背景填充。針對水下運動目標運動相對緩慢及難以靜止的特點在更新方式上采用保守更新與前景計數結合的方式,能較好地適應水下運動目標檢測。
圖像處理;運動目標檢測;Vibe
隨著人們對海洋領域的不斷探索,對于運動目標檢測的關注延伸到水下環境中,這對國防、科研有著重要的意義。運動目標檢測[1]是從視頻序列中提取出我們想要得到的運動目標,是后期進行目標的識別、分類等行為處理的前提條件,也是目前數字圖像處理[2]領域難以很好解決的熱點問題。
在目前階段運動目標檢測的常用方法有以下幾種:幀間差分法、光流檢測法以及背景相減法。光流檢測法[3]檢測運動目標時會包含目標的三維信息,但是該方法本身計算量非常大,對光照敏感,這就對計算機硬件的運算速度要求很高,很難達到實時檢測的效果。幀間差分法[4]運算速度很快,可以很快獲得圖像幀中的運動區域,但對于運動速度緩慢的目標檢測效果差,對于動態場景適應性差,一般情況下差分法可以作為其他檢測算法的一種輔助算法,為該種算法提供目標的運動信息。背景相減法[5]是一種有效的檢測方法,基于該類方法的算法較多,使用該方法待檢測視頻幀內的運動目標可以被完整地檢測出來,檢測速度也相對較快,該類方法的關鍵是背景模型的建立方式,常見的建模方式有時間平均模型、W4、CodeBook、GMM、SOBS、Vibe等方法,每種方法有其特有的適應性和優缺點。
Vibe[6]是一種基于像素的目標檢測方式,由Olivier Barnich等人提出,是一種實用的運動目標檢測算法,在不同的視頻流、不同的視頻場景中都有較好的應用。Vibe在建立模型和更新背景模型[7]上采用領域傳播機制以及隨機選擇機制,這樣就可以很快地進行背景的模型建立,從而有效地提高算法的實時性和抵抗噪聲的能力。
Vibe的基本思想就是為圖像中的每一個像素保存了獨有的樣本集,其中所有的像素值就是這一個像素在過去的像素值和該像素鄰域點的像素值,進而通過對比幀中新的像素值和該像素點對應樣本集匹配數目來確定屬于目標像素點還是背景點。該算法主要包括模型的基本原理、初始化方式、背景的更新方法三方面內容。
1.1 模型的基本原理
完全可以把運動目標的檢測看成一個分類問題,也就是將某一像素點分類為目標還是背景。Vibe檢測方法為每個像素點都存儲了一個特有的樣本集,通過比較幀中新的像素值和該像素點對應樣本集匹配數目來判斷是否屬于目標。
在這里假設v(x)為像素x點的像素值,則x處的背景樣本集Q(x)={v1,v2,…vN},其中N為這個樣本集的大小;如圖1所示,SR(v(x))是以像素點x為中心、半徑為R的一個球體,以這個球為標準來比較像素點x與對應的樣本集合最近的像素距離。定義#為這個球體中包含樣本模型Q(x)中的像素個數,給定一個閾值#min,如果大于或等于#min,該像素點就會被認為是背景。也就是將#min與
#{SRv(x)∩{v1,v2,…vN}}
(1)
進行對比。從圖1 可以看出 2-D歐式色彩空間(C1,C2)上,某一個點x的背景模型Q(x)與一個新的像素值v(x)的比較分類過程。

圖1 Vibe背景模型
1.2 初始化方式
對一般的檢測算法來說,它們的背景模型初始化通常需要一定長度的圖像序列來實現,通常要消耗內存和時間,也會導致檢測的實時性受影響。Vibe的初始化不需要很多幀,只需要一幀圖像就可以完成建模。方法中利用了距離相近的各像素點,它們有著近似的時空分布相關特性,對于某一位置像素點,采用隨機選取的方式選擇它鄰域點的像素值作為該像素的樣本值。采用這種初始化的方式,可以較快地檢測運動目標,而且計算量很小,運算速度快,當然也存在產生“鬼影”的缺點。
1.3 背景的更新方法
由于光照不會一直不變,因此需要不斷地更新背景。通常情況下更新方式有保守的方式,也就是說被判斷為前景點的像素始終不會有填充背景的可能性,這種更新方式會產生死鎖,比如有一塊原本靜止的區域如果被錯誤地檢測為運動區域,該區域將始終會被判定為目標,也就不會更新為背景,影響之后的檢測結果;還有一種更新方式為盲目策略,不論是目標像素點還是背景像素點都有更新背景的可能,當然如果物體移動得很慢就有可能會融入背景中,從而導致檢測出現錯誤。
對于每一個新的圖像幀,沒有必要去更新幀中各像素點的模型的樣本值,如果一個像素點被檢測為背景點,它以1/φ的概率去更新該點對應的背景模型。幀內各被判斷為背景的點均有1/φ的概率去更新該背景點對應的模型以及它的鄰域點的模型。
對于樣本集中樣本值的替換方式,這里采取的是隨機選取一個樣本值的方式,這樣某一個樣本值在時刻t如果不會被更新,那么概率是(N-1))/N,假定時間是連續的,在dt時間之后,如果樣本值仍然保留,那么它的概率就會是
(2)
上式說明一個樣本值在背景模型中是不是會被換掉與t沒有關系 ,因此隨機更新的方式是可行的。

圖2 本文方法流程圖
傳統的Vibe算法在檢測速度和檢測正確率上都較優,但是算法本身也會有缺點,如第一幀就能進行背景建模,避免了內存的浪費,但是假如首幀中存在檢測想要的目標則會產生“鬼影”,之后目標物由靜止轉為運動狀態也會產生“鬼影”。針對水下成像的特點,水下運動目標相對于水上目標來說有運動緩慢且難以靜止的特點,本文算法對Vibe算法進行改進以適應水下運動目標的檢測,流程如圖2。
首先讀取視頻幀,對該幀進行暗通道先驗去霧預處理,對于第一幀進行目標檢測,檢測到目標則進行目標區域的近似背景填充,檢測不到則根據本文Vibe算法進行目標檢測,進而輸出檢測結果。
2.1 水下圖像特性分析

圖3 圖像序列首幀
圖3是水下場景中的圖像,可以看出,水的復雜成分會對光產生吸收和散射,影響成像質量,使圖像的對比度降低,圖像有一種霧蒙蒙的感覺,會給檢測帶來影響。
2.2 水下圖像預處理
圖像處理算法很多[8],暗原色先驗去霧算法[9]是對沒有霧的圖像數據集進行統計得到規律進而產生的算法,多數情況下沒霧的圖像中,每個局部區域中有一個特點,有一些像素至少在一個顏色通道上,它們的值很小。可以利用這個先驗知識去大體計算圖像中霧的濃度,近似將有霧的圖片復原從而得到較好的圖像。類比水下圖像成像的特點,本文將此去霧算法用于水下預處理并進行優化。
2.3 首幀建立模型
針對首幀中存在運行目標的情況,如圖3所示,接下來就會產生“鬼影”。需要進行前景區域的近似背景填充,通過幀差法與閾值分割方法結合找到目標區域,然后進行閉運算(先膨脹,再腐蝕)。將目標區域像素用隨機選取鄰域中是背景的點的像素來填充,圖4為填充之后的近似背景圖像。
2.4 背景更新方式
水下運動目標具有運動緩慢且難以靜止的特點,意味著運動目標更新為背景的機會很小,所以本文在更新方式上采用保守更新方法以及計算前景點連續出現個數M相結合的方式,對運動目標會一直進行檢測,同時通過設定閾值M來限制前景更新為背景可能性。
3.1 算法檢測效果
本文采用的測試視頻Pan.avi為實驗室水下攝像機攝制,分辨率為960×576,幀率為30幀/s,視頻幀數為1 600幀,Vibe參數設置:N=20,R=20,#min=2,φ=16,M=150。圖5、圖6為選取視頻序列第325、658幀原圖像,圖7、圖8為預處理之后圖像,圖9、圖10為對應兩幀的運動目標檢測結果,可以看出較好地檢測出了目標。

圖5 視頻第325幀

圖6 視頻第658幀

圖7 視頻第325幀預處理

圖8 視頻第658幀預處理

圖9 視頻第325幀檢測結果

圖10 視頻第658幀檢測結果
3.2 評價指標
評價檢測算法優劣的指標有兩個:FPS (Number of processed frames per second):每秒能處理的幀數;PCC(Percentages of Correct Classification):像素檢測正確率。

表1 算法運行比較
算法檢測結果如表1所示。
可以看出本文算法在檢測正確率上有一定程度的提升,盡管在檢測速度上會有下降,這是由于預處理等操作需要花費時間,但一般攝像機幀率30幀/s可以滿足實時檢測需求。
本文在Vibe算法基礎上進行改進以用于水下運動目標檢測,檢測正確率有一定的提升,但是檢測速率有所下降,下一步工作將考慮進一步優化預處理算法以獲得更高的檢測速率。
[1] 王亮, 胡衛明, 譚鐵牛. 人運動的視覺分析綜述[J]. 計算機學報, 2002, 25(3):225-237.
[2] 郭全民, 張海先. 基于圖像處理技術的混凝土路面裂縫檢測方法[J]. 傳感器與微系統, 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] 趙光明, 韓光, 李曉飛,等. 基于融合幀間差的改進Vibe方法[J]. 計算機技術與發展, 2015(3):76-80.
[8] 王命全, 張祖蓮, 時現偉,等. 數字圖片處理算法[J]. 微型機與應用, 2015,34(20):6-8.
[9] 許駿,王直杰. 基于暗通道先驗去霧算法的研究與改進[J]. 微型機與應用, 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
張榮榮,劉曉陽,王金鵬.一種基于圖像序列的水下運動目標檢測方式[J].微型機與應用,2017,36(13):46-48.
2017-02-11)
張榮榮(1990-),男,碩士研究生,主要研究方向:計算機視覺。
劉曉陽(1992-),女,碩士研究生,主要研究方向:圖像處理。
王金鵬(1989-),男,碩士研究生,主要研究方向:圖像處理。