高 晗,劉衛(wèi)東,高立娥
(西北工業(yè)大學 航海學院,西安 710072)
海洋環(huán)境的探測與開發(fā)越來越依賴水下機器人對周圍環(huán)境的感知能力,目前探測海洋的方法包括磁探測、聲波探測、光探測和紅外探測等等。而其中聲波探測是唯一能夠在海水介質中進行遠距離探測的方法,因此聲波探測是探測海洋的主要方法,利用聲波進行探測的設備就是聲吶,所以研究使用聲吶進行水下目標檢測對水下環(huán)境探測、作業(yè)有著重要的作用。
目前已有的研究思路大多是采用數字圖像處理技術提取目標,在此基礎上衍生出檢測、識別、分類、跟蹤等研究。歸納近些年關于水下目標檢測方法的國內外相關資料,被廣泛采用的方法有數字形態(tài)學[1]、馬爾科夫隨機場[2]、模糊邏輯理論[3]、小波變換[4]等。
基于聲吶圖像的目標檢測和參數識別的文獻有很多。Abu Avi等[5]提出了一種恒虛警率(CFAR,constant false alarm rate)檢測算法,對不同環(huán)境下的270幅真實聲吶圖像進行了檢測,結果表明該算法在接收機工作特性曲線方面較現有算法具有優(yōu)越性;Santos MMD等[6]提出了一種圖像處理技術與卷積神經網絡結合的算法,在檢測過程中融合衛(wèi)星圖像和水下聲吶圖像,以輔助部分結構環(huán)境下的水下導航;Matias Valdenegro-Toro等人提出了一種融合前視聲吶和光學傳感器信息的基于CNN的端對端目標探測方法;Gu J等[7]提出了一種可應用于 ROV 目標檢測的算法,該方法利用高頻前視成像聲吶進行自動檢測和識別,并對水下目標回波形狀或聲影形狀的分割。
我國在水下目標探測與識別領域也取得了得以穩(wěn)步發(fā)展。郭戈等人[8]中討論了基于聲吶圖像的目標檢測、去噪和圖像分割的主要進展和典型算法,提出了基于聲吶圖像的水下目標檢測的解決方案;Wenwu W等人[9]在聲吶圖像去噪后,利用相關匹配方法借助類目標模板進行目標檢測和特征提取;王濤等人[10]提出了一種結合K-均值聚類和數學形態(tài)學的海床目標輪廓自動提取算法,該算法具有較強的克服背景噪聲的能力;李海森等人[11]提出了一種基于TBD技術的SIFT特征跟蹤方法,該方法使用了多波束聲吶序列,能從潛在目標中選擇出真實目標。
本文基于前視聲吶硬件系統(tǒng)的優(yōu)勢功能,調整軟件算法,搭建了試驗環(huán)境,在水池進行了聲吶數據采集試驗,獲取相關數據,通過獲取的聲吶數據圖像,對水下目標檢測方法進行了研究,達到了檢測水下目標的目的。
水下目標的檢測主要依靠聲吶探測裝置,本文采用的聲傳感器為機械式單波束前視聲吶。聲吶數據量非常大并且通信頻率較快,需采用聲吶信息處理計算機來存儲與處理聲吶實時上傳回來的數據,通過RS232串口通信將聲吶數據傳入聲吶信息處理計算機。系統(tǒng)整體結構如圖1所示。

圖1 水下目標檢測系統(tǒng)框圖

圖3 “mtHeadData”命令格式
本文使用的聲吶為來自Tritech公司的Super Seaking DST型單波束前視聲吶。如圖2所示,為前視聲吶掃描示意圖。Super Seaking DST型單波束前視聲吶以低頻3.0°(或高頻1.5°)的開角向四周進行360°全方位掃描,最遠探測距離為300米。該聲吶可通過指令設置調節(jié)掃描范圍,在數據采集中,利用這一功能僅進行90°范圍內的掃描。當調節(jié)掃描范圍大小后,該聲吶的掃描方式變?yōu)椋好看卧谝粋€特定的方向發(fā)射聲波束,接收到回波數據后,改變角度發(fā)送新的聲波束,重復這個過程直到覆蓋整個扇區(qū),一旦到達左右角度邊界,聲吶頭便會反向旋轉繼續(xù)掃描。

圖2 前視聲吶掃描示意圖
Super Seaking DST型單波束前視聲吶的工作方式為命令/應答模式,即工作時需要接受外部命令,不能主動向外發(fā)送掃描數據。具體工作步驟如下:
1)聲吶上電后,會通過RS232串口主動向外發(fā)送”mtAlive”信息,表明此時聲吶與信息處理計算機能正常通信。
2)聲吶和計算機正常通信后,計算機通過串口向聲吶發(fā)送”mtSendVersion”命令。
3)收到”mtSendVersion”命令后,聲吶向計算機發(fā)送確認消息”mtVersionData”。
4)確認好軟件版本信息后,計算機向聲吶發(fā)送”mtHeadCommand”命令為聲吶配置工作模式、參數等。
5)配置好掃描參數后,計算機向聲吶連續(xù)發(fā)送”mtSendData”命令,每收到一次,聲吶便按照配置旋轉一個步進角度Step并掃描當前的環(huán)境信息,打包成一個數據包”mtHeadData”通過串口上傳給計算機。
聲吶回傳給計算機的”mtHeadData”命令格式如圖3所示。
其中,白色部分為”mtHeadCommand”中的配置參數,可通過解算來校驗參數正確性,Bearing為聲吶當前掃描角度,深色部分為各個掃描線上的采樣點強度值,個數與Dbytes表示的數值相同。
為了驗證水下目標檢測算法的可靠性,在如圖4的水池環(huán)境中進行試驗;放置檢測物(由黑色方框標記),設置聲吶的掃描距離為2米,掃描范圍為90°,采樣點個數為50個,步進角度為0.9°。

圖4 水池試驗環(huán)境
水下目標檢測算法主要由數據解析、濾波處理、增強處理、二值化分割處理、形態(tài)學處理、連通域檢測目標等6個步驟構成,具體流程圖如5所示。

圖5 水下目標檢測算法流程圖
前視聲吶圖像的生成依賴于聲吶對接收到的聲波進行的映射,聲波在水中的傳輸中衰減和損耗較大,與光學圖像相比,前視聲吶圖像具有以下特點[12]:
1)聲納圖像分辨率低,圖像整體偏暗,像素灰度值分布不均,大部分為背景區(qū)和混響區(qū),目標區(qū)呈亮斑狀,分布集中并且目標細節(jié)特征較少、輪廓模糊;
2)水下環(huán)境復雜,聲吶成像易受到混響、噪聲以及水中懸浮物的影響,并且由于聲波在傳輸過程中衰減嚴重,往往導致目標被噪聲淹沒;
3)多途效應和旁瓣效應的影響,聲吶圖像上的目標可能會出現重影或者單個目標分裂成多個的情況,水中其他物體也會干擾目標的檢測;
4)在對聲吶采集的回波數據進行成像處理的過程中不可避免會有信息損失。
5)不同的水質環(huán)境對聲吶的成像效果也有影響,使用同種處理方法得出的結果也大有不同。
通過聲吶采集到的數據以灰度值的形式顯示得到原始聲吶數據圖像如圖6所示。

圖6 聲吶原始圖像
對于聲吶數據的處理可以參考傳統(tǒng)光學圖像的處理方法,對聲吶圖像的進行預處理,盡可能地降低噪聲干擾,保留目標特征信息。
聲吶圖像中充斥大量斑點、目標區(qū)域邊緣模糊等問題。為了抑制噪聲影響,需對圖像進行濾波處理,常用的圖像濾波算法有中值濾波、均勻濾波、高斯濾波等。
中值濾波是一種空間域內的非線性濾波算法[13],其基本原理是:選擇待處理像素的一個鄰域中各像素值的中值來代替待處理的像素。主要功能使某像素的灰度值與周圍領域內的像素比較接近,從而消除一些孤立的噪聲點,所以中值濾波器能夠很好的消除椒鹽噪聲。均勻濾波的基本原理:選擇待處理像素的一個鄰域中各像素值的均值來代替待處理的像素。但是均值濾波不能很好地保持圖像細節(jié),在圖像去噪的同時也破壞了圖像的細節(jié)部分,不能很好地去除噪聲點,特別是聲吶圖像存在的椒鹽噪聲。高斯濾波是一種線性平滑濾波,其基本原理為:待處理像素點的值和其鄰域內的其他像素值經過加權平均后得到的值來代替待處理的像素。對原始數據圖像進行中值濾波處理、高斯濾波處理、均勻濾波處理和圓形鄰域的均勻濾波處理,得出處理效果圖分別如圖7中(a)、(b)、(c)、(d)所示。

圖7 濾波處理方法對比圖
為了判斷濾波效果的好壞,計算客觀評價指標:峰值信噪比(PSNR,peak signal to noise ratio)、均方誤差(MSE,mean squared error)、平均絕對誤差(MAE,mean absolut error),從而判斷3種濾波方法的效果。PSNR的值越大處理效果更好,MSE和MAE數值越小處理效果越好。PSNR、MSE和MAE的公式如(1)、(2)和(3)所示。
(1)
(2)

(3)
式中,M、N分別為聲吶圖像的長和寬,fm,n、gm,n分別為濾波前后圖片在點(m,n)處的像素灰度值,MAXf表示圖像中的最大灰度值。經過對PSNR、MSE和MAE等指標的計算,對比結果如表1所示。

表1 濾波效果指標
可以看出,中值濾波在PSNR、NMSE和MAE等指標上相較于高斯濾波、均勻濾波和圓形鄰域的均勻濾波,具有更好的優(yōu)越性,處理效果更好。所以采用中值濾波算法進行濾波處理,具體步驟如下:
1)如圖8所示,取聲吶圖像中點坐標為(m,n)的灰度值為a4。

圖8 3×3的正方形滑動窗口
2)對{a0,a1,a2,a3,a4,a5,a6,a7,a8}的灰度值大小進行排序,排序后為{b0,b1,b2,b3,b4,b5,b6,b7,b8},其中中值b4為點(m,n)處的灰度值。窗口如下:

圖9 排序后的滑動窗口
經過濾波后的圖像,需要對其進行增強處理,目的是為了擴大圖像中不同物體特征之間的差別,抑制不感興趣的特征,使之改善圖像質量、豐富信息量,加強聲吶圖像判讀和識別效果,滿足檢測目標的需要。
為了得到更好的圖像處理效果,需要對其灰度直方圖進行分析,如圖10所示,得到經過中值濾波處理后圖像的灰度直方圖。

圖10 濾波后圖像的灰度直方圖
圖像增強的方法一般采用直方圖均衡化的方法,它是一種有效的空間域圖像處理方法,是圖像增強、圖像壓縮和圖像識別的基礎。直方圖均衡化是利用圖像直方圖調整圖像對比度的方法。其基本思想是以圖像各灰度級概率的累積分布函數作為變換函數,將原圖映射為一幅灰度級分布較均勻的圖像。這樣就增加了像素灰度值的動態(tài)范圍,從而可達到增強圖像整體對比度的效果[14]。經過直方圖均衡化處理后的圖像如圖11(a)所示,其直方圖如圖11(b)所示
但是通過分析發(fā)現,經過直方圖均衡化的圖像并沒有將目標的數據信息增大,只是將數據圖像整體的亮度增強,對于我們后續(xù)提取目標的數據信息的作用并不明顯,于是對直方圖數據分析后得出,目標的灰度強度主要集中在0.2~0.5灰度范圍內,即50~125灰度值區(qū)間。
經過對灰度直方圖的分析,對圖像進行增強處理:將圖像中灰度值低于50的像素點和灰度值高于125的像素點去掉,再將50和125灰度值之間的像素值映射到整個灰度等級范圍,從而使圖像變得明亮[15]。經過增強處理后的圖像如圖11(c)所示,其直方圖如圖11(d)所示。

圖11 增強處理及其直方圖
可以看出,經過增強處理后的數據圖像,目標的信息被有效的放大,從而使得目標凸顯了出來。
圖像經過增強后,就需要對其進行分割處理,圖像分割是通過對圖像某種特征的分析,將圖像分割成不同的區(qū)域,根據相似度特征提取有用目標的過程[16],目的是通過減少冗余信息來簡化圖像。常用的分割特征有像素灰度、紋理、形狀、邊緣輪廓、直方圖、空間頻譜等[17]。
圖像分割的方法一般有大律法和迭代法,大津法是全局閾分割算法之一,其核心思想是遍歷整個圖像,根據圖像的灰度特征把圖像分為目標和背景兩部分,通過類間方差確定合適的閾值,使得目標與背景兩部分之間的灰度值方差差異最大[18]。迭代法屬于自適應的閾值確定方法,可根據圖像中的灰度分布自動選取分割閾值,其核心思路是通過多輪迭代運算來一步一步逼近最佳閾值。經過大律法和迭代法處理后的圖像分別如圖14(a)和14(b)圖所示。
本文通過采用一種改進的迭代法對圖像進行分割處理。
改進的迭代法實現步驟如下:
1)先求取灰度圖像的最大灰度值Zmax和最小灰度值Zmin,通過最大、最小灰度值得到初始迭代閾值:T1=(Zmax+Zmin)/2;
2)根據得到的初試閾值T1,將圖像分為背景和目標兩個集合,小于初試閾值的集合為背景集合,大于初試閾值的集合為目標集合,通過式(4)和式(5)求取兩集合的灰度均值分別為μ0和μ1。
(4)
(5)
其中:pi=ni/(M×N),M×N代表灰度圖片大小,ni為灰度值為i的像素點個數。
當聲吶圖像的環(huán)境亮度與水下目標的亮度不具有明顯區(qū)別時,使用迭代法確定閾值,會得到比較差的二值化結果,經過迭代法取得的閾值,與較亮的背景區(qū)域的像素值比較接近,導致較亮的背景區(qū)域也被誤劃分為水下目標。下面我們對迭代法進行改進,使其求得的閾值更接近水下目標的像素值,從而與較亮背景區(qū)域的像素值區(qū)分開來。迭代法的閾值更新公式為每次取μ0與μ1之和的一半來更新閾值:
T1=μ0*0.5+μ1*0.5
(6)
但是為了使閾值更接近μ1,需對上述公式進行修改,增大μ1的比重,同時減小μ0的比重,則公式更改為:
T1=μ0*(1-K)+μ1*K
(7)
要增大μ1的比重,同時減小μ0的比重,就要對K值進行合適的選擇,本文提出一種自適應的K值選擇方法來選取最佳的K值。
關于如何自適應的選取K值,需要引入一個參數,即結構相似性(SSIM,structural similarity),它是一種衡量兩幅圖像相似度的指標。SSIM的公式如(8)所示。
(8)

其算法核心為:遍歷的求取不同K值下的SSIM值,求取SSIM值最大時的K值,即是最佳K值。算法流程圖如圖12所示。

圖12 自適應K值算法流程圖
3)設置迭代最小誤差值ε,若|T1-T|≤ε則停止迭代,T1為最佳分割閾值,二值化圖像;否則令T1=T,返回第2)步繼續(xù)迭代。
改進后的迭代算法流程圖如圖13所示。

圖13 改進的迭代法流程圖
經過經過改進的迭代法處理后的圖像如圖14(c)所示。

圖14 圖像分割算法處理
為了驗證改進后的迭代法的優(yōu)越性,求取大律法、迭代法、改進迭代法的PSNR、MSE、NMSE、MAE和SSIM等指標,其中,MSE、NMSE、MAE的數值越小,處理效果越好,PSNR、SSIM的數值越大,處理效果越好。表中由灰色標注的為改進迭代法的指標,對比結果如表2所示。

表2 分割算法評價指標
改進后的迭代法的MSE、RMSE、MAE、NMSE相較于大律法和未改進的迭代算法顯著降低,SSIM、PSNR顯著增大,在圖像處理的客觀評價指標的效果上得到顯著增強。
經過圖像分割后,目標已被大致提取出來,但目標輪廓不夠清晰,內部仍有不連續(xù)的孔洞,且背景區(qū)存在少量孤立噪聲點。進行目標篩選之前,有必要對圖像進行簡單的形態(tài)學處理。數學形態(tài)學主要應用于幾何形狀和結構的分析,其組成元素為形態(tài)學代數算子,常用的形態(tài)學代數算子有腐蝕、膨脹、開運算和閉運算[19]。
閉運算是對圖像先膨脹后腐蝕的操作,可以進一步減少背景噪聲干擾,并填充目標內部的孔洞、不連續(xù)部分得到連續(xù)[20]。閉運算的定義如下式:
I·se=(I⊕se)Θse
(9)
式中,se為處理圖像的結構算子,⊕為膨脹運算,Θ為腐蝕運算。
對圖像進行特征提取就是要找出可以表征圖像主要特征的信息[21]。本文采用連通域標記法對閉運算之后的聲吶圖像進行目標標記,并通過目標面積特征進一步剔除假目標和噪聲。
基本的8-鄰域連通域查找法則如圖15所示,8-連通域通過查找某一像素點與其周圍八個位置的像素點是否為1來劃分區(qū)域。圖15(a)為二值化后,待分割的圖像,目標區(qū)為1,背景區(qū)為0;圖15(b)為經連通域查找標記后的圖像,同一區(qū)域的目標用相同的標識符標記,與其他不連通的區(qū)域劃分開。經過連通域查找處理后的圖像如圖16所示。

圖15 8-鄰域連通區(qū)域標記示意圖

圖16 連通域標記圖
如圖15(b)所示,經過連通域查找后,不同的目標區(qū)域被打上了不同的標簽,累加每個標簽的個數來近似確定面積大小,并計算每個目標的面積與聲吶掃描扇區(qū)內的像素總個數的面積比εi來濾掉不符合目標尺寸的假目標。
(10)
式中,areasi為第i個連通域內的目標像素個數,Ssec為聲吶掃描扇區(qū)內的像素總個數,ε為面積比較閾值,若εi<ε,則認為第i個目標為假目標或者噪聲而剔除。
通過面積特征剔除假目標的步驟如下:
1)創(chuàng)建連通域增長隊列,按從左向右、從上到下的順序依次掃描所有像素點,當找到一個灰度值不為0的像素點時,將其入隊列,并標記為label(label從1開始),當前目標像素個數加1;
2)檢查隊列是否為空,若不為空,從隊列中彈出一個像素點,依次驗證該點左、上、右、下4個鄰域內的像素點,若這些點的值為1并且未被標記過,則該點入隊列并標記為label,當前目標像素個數加1,重復步驟2)。當隊列中所有的像素點都被彈出時,說明這個連通域查找完畢;
3)檢查當前目標像素個數與聲吶掃描扇區(qū)總像素個數的比值,若εi<ε,則清空隊列,該區(qū)域的標記作廢,label-1;
4)繼續(xù)檢測下一個未被標記過的像素點是否為0,若不為0則將其入隊列并標記為label+1,目標像素個數加1,重復2)~3)步驟直至圖像遍歷完畢。
經過面積特征篩查處理的圖像如圖17所示。

圖17 水下目標檢測結果圖
在如圖18所示的水池環(huán)境中,由聲吶采集水池中的環(huán)境信息數據,再通過RS232串口連接到信息處理計算機存儲,聲吶處理計算機如圖19所示,最后利用MATLAB平臺將采集到的聲吶數據做算法處理。

圖18 水池試驗環(huán)境圖

圖19 聲吶處理計算機
通過對不同目標的檢測,如圖20(a)和圖20(b)所示,分別是以水桶和黑箱為目標進行聲吶數據的采集。

圖20 目標信息檢測圖
將采集到的聲吶數據在MATLAB平臺里生成圖像后(距聲吶0.2 m的死區(qū)范圍內像素灰度值置0)。對其進行灰度處理、中值濾波、二值化、連通域查找等一系列聲吶數據操作后,再通過面積特征進行目標篩選,得到如圖21所示的檢測結果,圖中由虛線標記出來的為檢測物,星號表示檢測物的質心。

圖21 水下目標檢測結果圖
試驗結果表明,該水下目標檢測算法在識別指定目標的時候具有很強的優(yōu)越性,其根據檢測物的物理特征做出了很好的檢測效果,但是由于實驗環(huán)境限制測試遠距離的檢測效果,因此還需進一步的完善。
本文首先對實驗場景進行了搭建,利用聲吶設備進行了聲吶數據的采集,利用目標檢測計算機存儲聲吶數據;然后進行了水下目標檢測算法研究,對采集到的聲吶數據進行處理,完成了對數據圖像的濾波、增強等操作,并通過對迭代法的改進實現對聲吶圖像的有效分割,之后通過面積特征進行目標篩選,成功識別出待檢測的目標。實驗結果表明本文所研究系統(tǒng)和算法的有效性。