李慶忠,劉曉麗,谷娜娜
LI Qing-zhong, LIU Xiao-li, GU Na-na
中國(guó)海洋大學(xué) 工程學(xué)院, 山東省 青島市 266100
College of Engineering, Ocean University of China, Qingdao 266100, China E-mail: lqzhlz@yahoo.com.cn
水下機(jī)器人(ROVs,AUVs)的一個(gè)重要應(yīng)用領(lǐng)域就是對(duì)水下復(fù)雜場(chǎng)景中的人造目標(biāo)進(jìn)行檢查和維護(hù),典型的人造目標(biāo)包括:海洋油氣開發(fā)平臺(tái)、跨海大橋、碼頭港口樁基、海底油氣管道、海底電纜、水雷和船底走私貨物等。因此,如何從水下復(fù)雜背景中快速、自動(dòng)檢測(cè)出人造目標(biāo),是水下機(jī)器人應(yīng)用中亟待解決的難題。
在基于視頻圖像的水下人造目標(biāo)自動(dòng)檢測(cè)方面,目前研究現(xiàn)狀和存在問(wèn)題如下:
國(guó)內(nèi)的研究[1]-[4]主要集中在簡(jiǎn)單水體背景下人造目標(biāo)的檢測(cè)方面,即視頻圖像中主要包含前景人造目標(biāo)和單一的水體背景。其中人造目標(biāo)的檢測(cè)主要采用閾值分割[1][2]和基于不變矩等特征[3][4]的方法。但對(duì)于海底復(fù)雜場(chǎng)景,這些目標(biāo)檢測(cè)算法不再適用,因?yàn)楹5妆尘爸谐3?huì)含有巖石、珊瑚礁、水草等,單純的閾值分割或矩特征提取是無(wú)法實(shí)現(xiàn)的。
在國(guó)外,為了實(shí)現(xiàn)海底復(fù)雜場(chǎng)景中人造目標(biāo)的自動(dòng)檢測(cè),Christian等[5]采用視覺注意機(jī)制形成顯著圖以獲取可能的目標(biāo)區(qū)域,然后利用主動(dòng)輪廓法實(shí)現(xiàn)人造目標(biāo)的分割。在其視覺注意機(jī)制中采用了顏色、亮度、方向三個(gè)特征信息,通過(guò)融合 44個(gè)特征圖以得到最后的顯著圖,可見其實(shí)時(shí)性很難提高。其實(shí)驗(yàn)結(jié)果表明:該算法在多數(shù)情況下能得到滿意的檢測(cè)結(jié)果,但是當(dāng)人造目標(biāo)的顏色和背景相近時(shí),檢測(cè)失敗。Adriana等[6]也對(duì)無(wú)約束海底視頻中人造目標(biāo)的自動(dòng)檢測(cè)算法進(jìn)行了研究,其研究發(fā)現(xiàn):人造目標(biāo)的紋理和顏色特征不再適合作為檢測(cè)依據(jù),只有輪廓特征在水下成像環(huán)境中最為穩(wěn)定,因此選用輪廓特征作為檢測(cè)依據(jù)。此外,他們通過(guò)確定最優(yōu)空間尺度以確保檢測(cè)到可靠的目標(biāo)輪廓。但其最優(yōu)尺度的確定是通過(guò)一個(gè)迭代過(guò)程實(shí)現(xiàn)的,在每次迭代中都需要利用Canny算子對(duì)原始圖像進(jìn)行邊緣檢測(cè),這使算法過(guò)于費(fèi)時(shí),實(shí)時(shí)性不高。
針對(duì)水下復(fù)雜場(chǎng)景中人造目標(biāo)檢測(cè)實(shí)時(shí)性不高的問(wèn)題,提出了一種基于線特征的水下人造目標(biāo)檢測(cè)算法,利用小波變換確定易于線特征檢測(cè)的合適尺度,然后在比原始圖像小的多的小波低頻子帶圖像上,進(jìn)行邊緣檢測(cè)和直線檢測(cè),實(shí)現(xiàn)了人造目標(biāo)線特征的快速檢測(cè),并通過(guò)實(shí)驗(yàn)驗(yàn)證了算法的有效性。
水下視頻觀測(cè)圖像的攝取一般采用人工照明,由于水下光線存在嚴(yán)重的衰減和散射效應(yīng),水下圖像紋理細(xì)節(jié)呈現(xiàn)散射模糊狀態(tài),水下目標(biāo)的顏色隨著成像距離的增加而褪色或變更,可見,顏色和紋理特征不能作為水下人造目標(biāo)的檢測(cè)特征。通過(guò)觀察大量水下視頻圖像發(fā)現(xiàn),人造目標(biāo)一般是由直線構(gòu)成的,因此直線特征是人造目標(biāo)與復(fù)雜海底背景區(qū)別最顯著、且最穩(wěn)定不變的特征,它不受光照變化和散射衰減的影響,只要檢測(cè)出圖像中存在較長(zhǎng)的直線線段,就可以判斷存在候選的人造目標(biāo),從而進(jìn)行下一步的目標(biāo)識(shí)別等后續(xù)處理。如果檢測(cè)不到直線線段,則說(shuō)明圖像中不存在人造目標(biāo),從而不需要進(jìn)行下一步的目標(biāo)識(shí)別等后續(xù)處理。為了實(shí)現(xiàn)水下人造目標(biāo)線特征的實(shí)時(shí)檢測(cè),提出的水下人造目標(biāo)檢測(cè)算法如圖1所示,包括3個(gè)主要模塊:基于小波變換的顯著線特征檢測(cè)尺度確定;小波低頻子帶圖像上邊緣檢測(cè);利用改進(jìn)的Hough變換檢測(cè)直線。下面介紹各模塊的具體實(shí)現(xiàn)。
水下海底場(chǎng)景中通常含有大量的水草、珊瑚礁和海洋雪等,在邊緣檢測(cè)圖像上主要呈現(xiàn)為瑣碎的邊緣紋理細(xì)節(jié)和噪聲顆粒,而水下人造目標(biāo)(如水下管線、構(gòu)筑物等)一般呈現(xiàn)明顯的線特征。根據(jù)人眼視覺系統(tǒng)(HVS)的特點(diǎn),觀測(cè)顯著的大特征,只要在大的空間尺度下觀測(cè)即可。若在小的尺度上觀測(cè),只能產(chǎn)生過(guò)多雜亂的細(xì)節(jié)邊緣特征,且顯著增加計(jì)算量和時(shí)間。因此,尺度的選擇顯得十分重要,應(yīng)該選擇一個(gè)合適的尺度使得顯著的線特征邊緣點(diǎn)被可靠地檢測(cè)到,而無(wú)用的雜亂細(xì)節(jié)邊緣點(diǎn)越少越好。
為此,采用 Daub5/3小波提升變換[7]確定邊緣檢測(cè)的合適尺度,其優(yōu)點(diǎn)是實(shí)時(shí)性強(qiáng)。通過(guò)對(duì)水下視頻圖像進(jìn)行大量實(shí)驗(yàn),發(fā)現(xiàn)對(duì)于一般的水下視頻圖像,在二級(jí)小波變換的LL2低頻子帶圖像上進(jìn)行邊緣檢測(cè)比較合適,圖2是原始圖像與其LL2子帶圖像的對(duì)比,可見,在其LL2子帶上,顯著的直線邊緣依然存在,且大量無(wú)用的細(xì)節(jié)已經(jīng)平滑掉。另外一個(gè)優(yōu)點(diǎn)是,由于LL2子帶的面積僅為原始圖像的1/16,所以可顯著減小后續(xù)邊緣檢測(cè)和Hough變換的計(jì)算時(shí)間。
圖1 水下人造目標(biāo)線特征檢測(cè)算法框圖
圖2 原始圖像與其LL2低頻子帶圖像的對(duì)比
為了在LL2子代圖像上快速、可靠地檢測(cè)出顯著的線特征邊緣點(diǎn),而無(wú)用的雜亂細(xì)節(jié)邊緣點(diǎn)越少越好。針對(duì)傳統(tǒng)Canny算子閾值確定上的困難,根據(jù) LL2子帶圖像的特點(diǎn)并結(jié)合 Canny算子[8]的非極大值抑制的思想,提出一種基于梯度直方圖和迭代法相結(jié)合的自適應(yīng)閾值選取方法,邊緣檢測(cè)算法步驟如下:
(1)對(duì)小波變換后的LL2低頻子帶小圖像用二維高斯濾波函數(shù)G(x,y)進(jìn)行平滑,減少噪聲影響。
(2)采用Prewitt算子計(jì)算水平梯度Px、豎直梯度Py、梯度幅值F和梯度方向θ如下:
(3)對(duì)梯度幅值進(jìn)行非極大值抑制。在當(dāng)前像素點(diǎn)的3×3鄰域內(nèi),若當(dāng)前像素點(diǎn)的梯度幅值大于沿其梯度方向上與其相鄰點(diǎn)的梯度幅值,則將當(dāng)前像素點(diǎn)標(biāo)記為可能的邊緣點(diǎn);否則將當(dāng)前像素點(diǎn)標(biāo)記為非邊緣點(diǎn)。
(4)統(tǒng)計(jì)非極大值抑制后邊緣點(diǎn)的梯度直方圖,結(jié)合直方圖的特點(diǎn),利用迭代法自適應(yīng)確定顯著邊緣分割的閾值T。若梯度值大于T,則為顯著邊緣點(diǎn);若梯度值小于T,則為非顯著邊緣點(diǎn)。
圖3是經(jīng)過(guò)非極大值抑制后邊緣點(diǎn)的梯度直方圖的一般現(xiàn)狀,可見其并不具有明顯的雙峰或者單峰特性,無(wú)法采用一般的直方圖方法和類間方差法分割,因此我們結(jié)合梯度直方圖的特點(diǎn),利用迭代法自適應(yīng)的確定顯著邊緣的分割閾值。閾值T的確定方法如下:
(1)求出經(jīng)過(guò)非極大值抑制后梯度的最大值GMAX和最小值GMIN,令初始閾值為:
(2)根據(jù)閾值Tk把梯度直方圖分割成兩個(gè)區(qū)域,分別求出兩個(gè)區(qū)域的平均梯度值G1和G2。
(3)求出新閾值:
(4)若
其中ε為一個(gè)給定的很小的值,則Tk+1為所得的邊緣分割閾值,否則,轉(zhuǎn)(2),迭代計(jì)算。
圖3 LL2子代圖像經(jīng)過(guò)非極大值抑制后的梯度直方圖
對(duì)于上面在LL2低頻子帶圖像上得到的少量顯著邊緣點(diǎn),采用改進(jìn)的Hough變換[9][10]進(jìn)行水下人造目標(biāo)的直線特征檢測(cè)。由于LL2低頻子帶圖像比原始圖像小得多,且只對(duì)顯著的少量邊緣點(diǎn)進(jìn)行直線檢測(cè),所以可以顯著提高直線檢測(cè)速度。
在極坐標(biāo)下,Hough變換方程為:
其中:(x,y)是圖像空間中點(diǎn)的坐標(biāo);(ρ,θ)是參數(shù)空間中點(diǎn)的坐標(biāo);ρ為圖像空間中坐標(biāo)原點(diǎn)到直線的距離;θ表示直線的法線方向與x軸正向的最小夾角,即極角。
采用直線檢測(cè)算法的步驟如下:
(1)建立二維累加數(shù)組 Hough[ρ][θ],對(duì)前面得到的顯著邊緣點(diǎn)(xi,yi),讓?duì)纫来巫兓鶕?jù)公式(8)計(jì)算ρ,并對(duì)數(shù)組進(jìn)行累加。
(2) 求累加數(shù)組 Hough[ρ][θ]的最大值max,并記錄取得最大值時(shí)對(duì)應(yīng)的距離ρmax和極角θmax,若該最大值小于設(shè)定的直線的最小長(zhǎng)度Tmin,則循環(huán)結(jié)束;否則執(zhí)行步驟(3)。
(3)設(shè)定閾值T1=kTmin, 其中k=0.7為實(shí)驗(yàn)確定的系數(shù),對(duì)最大值周圍的8鄰域累加器進(jìn)行統(tǒng)計(jì),如果存在5個(gè)或者5個(gè)以上的累加器的值都大于閾值T1,就認(rèn)為是真實(shí)存在的直線,執(zhí)行第(4)步;否則就認(rèn)為是由分布效應(yīng)產(chǎn)生的虛假尖峰,對(duì)該閾值點(diǎn)及其鄰域清零。
(4)記錄產(chǎn)生局部最大值的邊緣點(diǎn)的坐標(biāo),對(duì)所有邊緣點(diǎn)按下式計(jì)算得到ρ的值:
如果ρ=ρmax,則將該點(diǎn)的坐標(biāo)(x,y)保存在鏈表list中。
(5)根據(jù)鏈表list中記錄的邊緣點(diǎn)的坐標(biāo),判斷直線的端點(diǎn),并把確定的直線的起始點(diǎn)和終止點(diǎn)保存在鏈表list1中。
(6)根據(jù)記錄的邊緣點(diǎn)的x,y坐標(biāo),根據(jù)原始圖像中點(diǎn)坐標(biāo)和LL2小圖像中對(duì)應(yīng)點(diǎn)坐標(biāo)的關(guān)系,在大圖像中標(biāo)記出檢測(cè)到的直線;
(7)對(duì)檢測(cè)出的累加數(shù)組Hough[ρ][θ]的最大閾值點(diǎn)及其鄰域進(jìn)行清零,轉(zhuǎn)步驟(2),再進(jìn)行下一條直線的檢測(cè)。
利用水下圖像,通過(guò)以下三組實(shí)驗(yàn),測(cè)試了本文提出的算法的性能。本文中用于測(cè)試的圖片是利用水下攝像機(jī)在實(shí)驗(yàn)室水槽中模擬海底環(huán)境在近距離采集的。測(cè)試圖像的分辨率為256×256像素。
第一組實(shí)驗(yàn)是驗(yàn)證梯度直方圖和迭代法相結(jié)合的自適應(yīng)閾值邊緣檢測(cè)算法的有效性。由于經(jīng)過(guò)非極大值抑制后的梯度直方圖不具有雙峰特性,沒法直接利用直方圖特性進(jìn)行邊緣分割。經(jīng)過(guò)非極大值抑制后,剩下的邊緣點(diǎn)的數(shù)目已經(jīng)大大減少,我們?nèi)∽畲筇荻戎岛妥钚√荻戎档钠骄底鳛榈某踔?,可以較快的收斂,得到合適的邊緣分割閾值。與直方圖方法相比,迭代法的計(jì)算量大一些,處理時(shí)間稍有增加。表1給出的是圖4給出的幾幅圖像利用本文的算法求出的閾值以及迭代次數(shù)。
第二組實(shí)驗(yàn)是對(duì)水下人造目標(biāo)的線特征進(jìn)行檢測(cè),以驗(yàn)證算法的有效性。我們的目的是從海底復(fù)雜場(chǎng)景中快速檢測(cè)到人造目標(biāo)的存在,直線特征是人造目標(biāo)與復(fù)雜海底背景區(qū)別最顯著、且最穩(wěn)定不變的特征,只要檢測(cè)出圖像中存在較長(zhǎng)的直線線段,就可以判斷存在候選的人造目標(biāo),從而進(jìn)行下一步的目標(biāo)識(shí)別等后續(xù)處理。圖4示出的是4幅圖像的檢測(cè)結(jié)果,水下圖像中存在珊瑚、水草等干擾直線的檢測(cè),其中圖4(a)、(e)、(i)、(m)為原始圖像,4(d)、(h)、(l)、(p)最后的直線檢測(cè)結(jié)果,可見算法能夠從復(fù)雜海底背景中準(zhǔn)確檢測(cè)出人造目標(biāo)的直線特征。
第三組實(shí)驗(yàn)是測(cè)試算法的處理時(shí)間,以確定算法實(shí)時(shí)性的高低。測(cè)試用的計(jì)算機(jī)CPU為Intel Core i3-2310M,主頻為2.10GHz,內(nèi)存為1.0GB,編程平臺(tái)為Microsoft Visual C++6.0。測(cè)試圖像的分辨率是256×256的水下圖像。表2是以上4幅測(cè)試圖像檢測(cè)所用的時(shí)間。由表2可知,圖像中不含人造目標(biāo)時(shí),耗時(shí)最少;存在人造目標(biāo)時(shí),檢測(cè)時(shí)間也僅二十多毫秒。通過(guò)對(duì)大量圖像進(jìn)行測(cè)試表明,本文的算法檢測(cè)一幅圖像的時(shí)間大約為17-27ms,即視頻圖像的幀速可以達(dá)到37-58幀/秒,可以較好滿足視頻實(shí)時(shí)檢測(cè)水下人造目標(biāo)的實(shí)際應(yīng)用需求。
本文算法實(shí)時(shí)性較高的原因是:整個(gè)檢測(cè)算法是在原始圖像二級(jí)小波變換后的低頻子帶LL2圖像上進(jìn)行的,且只對(duì)顯著的邊緣點(diǎn)進(jìn)行直線檢測(cè)。由圖4(b)、(f)、(j)、(n)可知,LL2圖像僅為原始圖像面積的1/16;由圖4(c)、(g)、(k)、(o)可知,邊緣檢測(cè)后只剩下少量的顯著邊緣點(diǎn),大量細(xì)節(jié)邊緣點(diǎn)已經(jīng)被剔除。此外,本文算法可以迅速的判斷出視頻序列中是否含有人造目標(biāo),如果含有人造物體,就進(jìn)行下一步的識(shí)別等處理;否則,可以快速轉(zhuǎn)入對(duì)下一幀的處理。
表1 圖像的閾值和迭代次數(shù)
圖4 水下目標(biāo)的線特征檢測(cè)結(jié)果
本文提出了一種在小波變換低頻子帶上進(jìn)行直線快速檢測(cè)的算法。該算法利用小波變換確定檢測(cè)顯著直線特征的合適尺度,然后在低頻子帶上進(jìn)行邊緣檢測(cè)和直線檢測(cè)。該算法可以從復(fù)雜海底場(chǎng)景中實(shí)時(shí)檢測(cè)出具有直線特征的人造目標(biāo),滿足近距離水下視頻人造目標(biāo)實(shí)時(shí)檢測(cè)的應(yīng)用要求,為進(jìn)一步進(jìn)行水下人造目標(biāo)識(shí)別奠定了基礎(chǔ)。
表2 處理一幅圖像的時(shí)間
[1]朱煒, 徐玉如, 秦再白. 基于PSO和模糊劃分熵的水下圖像分割[J].光學(xué)技術(shù),2007,33(5):754-759.
[2]鄧廷全,王占江,汪培培.水下目標(biāo)動(dòng)態(tài)閾值檢測(cè)的區(qū)間值模糊集熵方法[J]. 哈爾濱工程大學(xué)學(xué)報(bào),2011,32(2):246-251.
[3]張銘鈞, 尚云超, 楊杰. 基于灰度-梯度不變矩的水下目標(biāo)識(shí)別系統(tǒng)[J].哈爾濱工程大學(xué)學(xué)報(bào),2009,30(6):653-658.
[4]馮占國(guó),徐玉如.基于不變性特征的水下目標(biāo)特征提取[J]. 哈爾濱工程大學(xué)學(xué)報(bào),2007,28(12):1343-1348.
[5]Christian Barat, and Ronald Phlypo. A fully automated method to detect and segment a manufactured object in an underwater color image[J]. Advanced in Signal Processing For Maritime Applications,2010,0(0):1-10.
[6]Adriana Olmos and Emanuele Trucco. Detecting man-made objects in unconstrained subsea videos[C].British Machine Vision Conference, 2002:517-526.
[7]李慶忠,王文錦. 甚低比特率水下視頻圖像壓縮編碼方法 [J].光電子·激光,2009, 20(10):1371-1375.
[8]J.Canny. A computational approach to edge detection.IEEE Transction on Pattern Analysis and Machine Intelligence,1986,8(6):679-689.
[9]陳洪波,王強(qiáng),徐曉蓉.用于線段特征提取的改進(jìn)Hough變換[J].計(jì)算機(jī)工程與應(yīng)用,2004,40(21):75-78.
[10]韓秋蕾,朱明,嬈志軍.基于改進(jìn)Hough變換的圖像線段特征提取[J].儀器儀表學(xué)報(bào),2004,25(S4):436-439.