徐從營,裴承艷
(中國船舶重工集團公司第七一〇研究所,湖北宜昌443003)
UUV避碰聲吶在障礙物探測過程中會受到各種水下環(huán)境噪聲的影響,使所形成的聲吶圖像的質量變差,障礙物圖像模糊不清,障礙物目標的邊界信息不明顯,給自主障礙物檢測識別帶來極大的困難[1]。如何能讓UUV感知水下障礙物準確的輪廓、位置信息,是UUV做出避碰決策的重要前提[2]。
目前在使用閾值分割算法進行障礙物檢測時,為應對多種環(huán)境因素干擾,實現(xiàn)在不同環(huán)境下的障礙物自主檢測,圖像分割閾值選取非常困難[3-4]。由于避碰聲吶常受到淺水區(qū)域復雜地形、環(huán)境噪聲、近水面多途效應等的影響,探測信息中噪聲與偽目標成分較大[5],閾值選取過小,會把部分環(huán)境噪聲干擾當成障礙物,使障礙物區(qū)域擴大,導致需警率較高,從而使UUV頻繁執(zhí)行避碰決策,影響任務完成質量。而閾值選取過大,則會造成障礙物區(qū)域檢測不完整,障礙物區(qū)域容易形成空洞,甚至出現(xiàn)障礙物漏檢的情況,影響UUV的航行安全。同時,由于聲吶圖像質量較低,圖像中存在較大噪聲時,使用固定閾值進行分割會造成大量的噪聲點,影響后期障礙物的準確檢測。因此本文對避碰聲吶障礙物檢測方法中的聲吶圖像閾值化算法進行了改進,提出了基于分區(qū)自適應的雙閾值避碰聲吶圖像障礙物檢測算法,可很好地應對避碰聲吶圖像中存在的噪聲并能準確提取障礙物目標區(qū)域。使用837B避碰聲吶采集的湖試數(shù)據(jù)進行了驗證,表明了算法的有效性。
最大類間方差法[6](Otsu算法)是一種常用的自適應閾值確定方法,由日本學者大津(Nobuyuki Otsu)于1979年提出。在使用該算法進行自適應閾值確定時,一般會根據(jù)圖像或數(shù)據(jù)的某些特性建立統(tǒng)計直方圖,然后將直方圖分為兩類,采用遍歷的方法得到使類間方差最大的閾值。該方法計算準確并且高效,選取的閾值較為理想。
假設聲吶圖像中灰度值最高的像素值為m,則可將該圖像分為1~m級,假設計算結果為i的像素數(shù)為ni,則聲吶圖像不為零的像素總數(shù)為
各灰度值的概率為
再用T將其分成兩組C0={1~T}和C1={(T+1)~m},各組產(chǎn)生的概率如下
式中:w0、w1、u0、u1分別為C0、C1的概率及聲吶圖像的平均值;為整體圖像的灰度平均值;u是閾值為T時的灰度平均值,所以全部采樣的灰度平均值為
兩組間的方差可經(jīng)下式求出:
從1~m改變T,求使上式為最大T,即求maxδ2(T)時的T值,將其作為最佳閾值。
在實際使用時,為降低算法計算量,提高計算速度,本文對聲吶圖像使用128級直方圖進行了統(tǒng)計。算法的計算復雜度可由O(256)2降低為O(128)2,計算規(guī)模為原來的1/4,并且計算結果對檢測效果無明顯影響。
假設d(x,y)避碰聲吶圖像,使用Otsu算法對避碰聲吶圖像進行直方圖統(tǒng)計并計算二值化閾值dth。傳統(tǒng)目標閾值分割算法使用單一閾值對圖像進行二值化,容易造成目標漏檢或誤檢,因此本文采用Canny邊緣檢測算法中雙閾值化檢測的思想,提出了雙閾值目標提取算法,即設置高低閾值分別為dth1、dth2,其中dth1>dth2(一般取dth1=1.2dth,dth2=0.2dth)。 假設d[i,j]為差值圖像坐標[i,j]處的像素值,如果d[i,j]>dth1,則將其認為目標點,使用這種方法得到的只是圖像灰度變化比較明顯的區(qū)域,分割出的目標區(qū)域并不完整,目標區(qū)域偏小。為最大程度地分割出目標,采用遞歸邊界跟蹤方法,將八鄰域區(qū)域內d[i,j]>dth2的點判定為目標區(qū)域并保留。
圖1(a)為原始參考圖像,圖2(b)-(d)為對避碰聲吶圖像分別使用本文提出的雙閾值檢測算法計算得到的低閾值、高閾值及雙閾值進行閾值化的檢測結果。從圖像可以看出,低閾值檢測結果目標區(qū)域偏大,部分回波較弱的區(qū)域被當做障礙物區(qū)域,且含有較多的噪聲干擾點。而高閾值檢測結果障礙物區(qū)域不完整,只有高亮度回波區(qū)域被分割出來。本文算法提取的障礙物區(qū)域則相對完整且邊緣平滑,抑制了圖像中的噪聲,僅存在少量孤立的噪聲點。為進一步抑制圖像噪聲的影響,本文對雙閾值算法進行進一步改進,使用分區(qū)自適應閾值計算方法增強抑制圖像噪聲的能力。
圖1 單雙閾值目標檢測效果Fig.1 Target detection results of single/double-threshold
避碰聲吶在水下進行障礙物探測時,受環(huán)境噪聲及障礙物分布情況影響,聲吶圖像中必然存在亮度不均勻分布的情況。當一幅圖像中存在亮度差異時,對整幅圖像使用同一對高低閾值可能會導致出現(xiàn)障礙物漏檢或錯檢的現(xiàn)象。因此本節(jié)在雙閾值檢測算法的基礎上,提出了一種基于圖像分塊的自適應雙閾值障礙物檢測算法。即將避碰聲吶圖像均勻分為相同大小的圖像塊,對每個圖像塊使用Otsu算法確定該區(qū)域二值化的高低閾值。每個圖像塊計算的閾值更能反映其所在區(qū)域的圖像灰度變化,檢測結果既保留了障礙物目標區(qū)域的局部細節(jié),又可使用該區(qū)域計算出的高閾值判斷有無障礙物,如果高閾值較低,則認為該區(qū)域沒有障礙物,可較好的去除孤立的噪聲點。圖2為分區(qū)自適應雙閾值目標檢測算法的檢測結果。
圖2(a)為原始圖像,圖2(b)為雙閾值檢測結果,圖2(c)為分區(qū)檢測閾值,圖2(d)為分區(qū)雙閾值檢測結果。從圖2(b)中可以看出,雙閾值檢測雖然可以檢測出大部分目標區(qū)域,但對噪聲抑制能力不足,在檢測結果中仍然會存在少量的噪聲點。分區(qū)自適應閾值檢測算法將圖像分為相等的圖像塊并計算該區(qū)域的檢測閾值,由于噪聲點數(shù)量在分塊區(qū)域中所占比例極少,因此計算出的檢測閾值會很小,如圖2(c)所示。對每個區(qū)域設置合適的閾值范圍,當?shù)陀陂撝捣秶鷷r認為該區(qū)域為背景區(qū)域,從而過濾掉噪聲點。從圖(d)中即可看出圖像中的噪聲點被全部去除,并且由于分區(qū)域閾值更能體現(xiàn)出該區(qū)域的亮度變化,檢測出的目標區(qū)域邊緣更為平滑,障礙物區(qū)域的完整性未受太大影響。
圖2 分區(qū)自適應雙閾值目標檢測效果Fig.2 Target detection results of partition adaptive double-threshold
膨脹和腐蝕這兩種操作是形態(tài)學處理的基礎,腐蝕是一種消除邊界點,使邊界向內部收縮的過程,膨脹則是將與物體接觸的所有背景點合并到該物體中,使邊界向外部擴張的過程。先膨脹后腐蝕的過程稱為閉運算。該方法只適用于二值圖像,可用來填充物體內細小孔洞、連接鄰近物體、平滑其邊界,同時并不明顯改變二值圖像面積。在進行目標閾值檢測算法中,常用來對檢測的目標區(qū)域內部孔洞進行填充[7-8]。并且,與腐蝕和膨脹不同,閉運算對于結構元素的平移不具有不變性。對圖2(d)的目標檢測結果進行1次形態(tài)學閉運算后計算結果如圖3所示。
由圖3可以看出,經(jīng)過形態(tài)學閉運算處理后,聲吶障礙物分割圖像中存在的較小的孔洞及像素面積較小的區(qū)域被填充或合并到臨近的目標區(qū)域之中,較小的縫隙及斷裂的邊緣也被連接上,最終得到的障礙物區(qū)域面積未發(fā)生明顯變化并且邊緣較為平滑。但同時可以從圖中看出,該方法無法填充目標內部面積較大的孔洞,這些孔洞一部分為封閉式,一部分為開放式。對于目標內部封閉式的孔洞,我們使用區(qū)域連通性分析的方法對其進行填充,處理效果如圖4所示。
圖3 形態(tài)學濾波Fig.3 Morphological filtering
圖4 目標區(qū)域孔洞填充Fig.4 Hole filling of target area
對形態(tài)學濾波后的二值圖像使用二值連通成分標記的序貫算法分別對目標及背景區(qū)域進行連通性分析,得到若干目標及背景連通區(qū)域。如果背景連通區(qū)域被目標連通區(qū)域包含,則可認為該背景連通區(qū)域為目標孔洞,對其進行填充。從圖4三幅檢測結果可以看出,目標區(qū)域內部封閉的孔洞全部被填充上。
實驗數(shù)據(jù)來自于某湖進行的UUV避碰試驗,將避碰聲吶相關試驗原始數(shù)據(jù)提取出來,驗證提出的算法。避碰目標選擇水中小島、大壩、水下崖壁等障礙物,以及使用UUV水面航行時波浪干擾圖像測試算法抗干擾能力。UUV采用837B型多波束聲吶探測障礙物,聲吶量程設置為300 m,最大刷新頻率為2 Hz,障礙物數(shù)據(jù)處理計算機模塊為CD-6010,CPU主頻1.4 GHz,內存2 G,安裝 Windows XPE操作系統(tǒng),軟件開發(fā)平臺為 Visual Studio 2005。UUV所裝配聲吶及測試環(huán)境如圖5所示。
圖5 避碰聲吶及測試環(huán)境Fig.5 Obstacle avoidance sonar and test environment
試驗分別選取水中小島、大壩、水下崖壁等障礙物以及水面大風浪條件下典型航行實驗數(shù)據(jù)各100張圖片進行測試,各障礙物典型圖像如圖6所示。
圖6 典型干擾物圖像Fig.6 Images of typical interferences
使用本文算法分別對不同類型的障礙物或干擾圖像進行處理,處理參數(shù)如表1所示。
表1 試驗參數(shù)Table 1 Test parameters
dth表示使用Otsu算法獲取的分割閾值,dth1和dth2分別表示高低閾值。截斷閾值表示當dth≤60時判斷該區(qū)域沒有障礙物。截斷閾值選取方法為人工選擇聲吶圖像中非目標區(qū)域,計算該區(qū)域內非零圖像像素值均值,對水面、水下等不同航行環(huán)境下的數(shù)據(jù)進行統(tǒng)計,最終得出一個較為合理截斷閾值。
圖7為使用本文算法對典型障礙物圖像的處理結果,表2為對每類典型障礙圖像處理統(tǒng)計結果。對每一張?zhí)幚斫Y果進行人工比對確認,統(tǒng)計正確識別、噪聲誤識別的圖像數(shù)量。
圖7 典型干擾物圖像處理結果Fig.7 Image processing results of typical interferences
表2 試驗結果Table 2 Test results
從圖7及表2中可以看出,本文算法對不同類型的障礙物均可自適應選擇合適的閾值,準確提取出障礙物的完整輪廓信息,實現(xiàn)障礙物的準確識別,對水面航行干擾具有較強的抑制能力,可顯著降低障礙物誤判的概率,所探測出障礙物外輪廓和方位也可反映實際障礙物的輪廓和方位。障礙物圖像平均處理時間小于400 ms,滿足實時性處理要求。
針對水下環(huán)境中UUV避碰聲吶探測障礙物過程中自主選擇分割閾值進行障礙物檢測問題,提出了基于分區(qū)自適應閾值的障礙物檢測算法。該算法以Otsu算法為基礎,借鑒Canny邊緣檢測算法中雙閾值化檢測的思想,提出了雙閾值障礙物檢測算法,并根據(jù)障礙物聲吶回波圖像亮度不均勻的特點,提出了圖像分塊的思想對算法進行進一步改進,提高了算法對環(huán)境噪聲的抑制能力,顯著降低了障礙物誤判的概率。湖試數(shù)據(jù)驗證表明了本文算法對不同障礙物目標檢測的有效性。