喬鵬飛,邵 成,覃月明
(中國(guó)船舶重工集團(tuán)有限公司第七一〇研究所,湖北 宜昌 443003)
水下目標(biāo)的檢測(cè)、識(shí)別和跟蹤是近年來(lái)的研究熱點(diǎn)之一,其應(yīng)用非常廣泛,包括海床的建模與繪制、海上打撈與救助、海底管道探測(cè)等方面,在軍事上可用于水雷、潛艇、UUV等水下目標(biāo)的探測(cè)和跟蹤,具有重要的軍事戰(zhàn)略意義。水下目標(biāo)一般可通過(guò)聲吶設(shè)備探測(cè),其利用目標(biāo)對(duì)聲波的反射形成圖像?,F(xiàn)有的聲吶設(shè)備主要包括前視聲吶[1]、側(cè)掃聲吶[2]和合成孔徑聲吶[3]3種:側(cè)掃聲吶和合成孔徑聲吶通常用來(lái)采集航行器左右兩側(cè)下方的海底圖像,具有分辨率高、覆蓋范圍廣的優(yōu)點(diǎn),但其在航行器的正下方存在一定的視野盲區(qū);前視聲吶安裝在水下航行器的頭部,可以采集航行器前下方的圖像數(shù)據(jù),常用于水下航行器的自主避障和補(bǔ)充側(cè)掃及合成孔徑聲吶的盲區(qū)間隙。
傳統(tǒng)聲吶圖像識(shí)別技術(shù)的關(guān)鍵在于特征的提取、匹配,如水下目標(biāo)的形狀、紋理等特征,然而由于聲學(xué)圖像成像質(zhì)量差、對(duì)比度低、邊緣模糊、海洋環(huán)境復(fù)雜以及水下目標(biāo)的多變,這類方法已經(jīng)無(wú)法滿足水下目標(biāo)檢測(cè)和識(shí)別的要求[4]。近年來(lái),隨著人工智能技術(shù)的發(fā)展,基于深度學(xué)習(xí)的方法被廣泛應(yīng)用到目標(biāo)檢測(cè)中,并發(fā)展出一系列的檢測(cè)模型,這些模型可以自動(dòng)學(xué)習(xí)圖像中豐富的分層特征[5],在光學(xué)圖像檢測(cè)領(lǐng)域中取得巨大成功。本文將目標(biāo)檢測(cè)模型YOLOv3[6]引入聲吶圖像的檢測(cè)任務(wù)中,驗(yàn)證算法的可行性和高效性。
多波束聲吶圖像普遍存在分辨率低、噪聲和旁瓣干擾嚴(yán)重[7]等特點(diǎn),增加了探測(cè)識(shí)別的難度,需要盡可能地濾除噪聲并增強(qiáng)圖像的對(duì)比度;且多波束前視聲吶直接輸出的數(shù)據(jù)是一個(gè)M行N列的矩陣,是航行器前方扇形區(qū)域以距離—方位為二維極坐標(biāo)的回波強(qiáng)度信號(hào),如圖1(a)所示。橫坐標(biāo)為波束個(gè)數(shù)N,縱坐標(biāo)為采樣點(diǎn)個(gè)數(shù)M,每一個(gè)方格都代表一個(gè)回波點(diǎn),我們需要把二維極坐標(biāo)的回波強(qiáng)度數(shù)據(jù)在笛卡爾坐標(biāo)系下顯示才能更好地表示扇形掃描區(qū)域內(nèi)目標(biāo)的特征與分布,如圖1(b)所示。
圖1 坐標(biāo)系變換示意圖Fig.1 Schematic diagram of coordinate system transformation
1)極坐標(biāo)系轉(zhuǎn)換為笛卡爾坐標(biāo)系。設(shè)多波束前視聲吶水平視角為α,波束數(shù)為N,采樣點(diǎn)數(shù)為M,采樣間隔為 T,水中聲速為 c,假設(shè)聲吶的二維可視區(qū)域關(guān)于y軸對(duì)稱,極坐標(biāo)系的原點(diǎn)和笛卡爾坐標(biāo)系的原點(diǎn)重合,則前視聲吶的二維可視界面模型如圖2所示。
圖2 聲吶二維可視界面模型示意圖Fig.2 Schematic diagram of two-dimensional visual interface model of sonar
現(xiàn)有一點(diǎn)A位于聲吶成像矩陣的m行n列,則該點(diǎn)在極坐標(biāo)系下的坐標(biāo)為
A點(diǎn)在笛卡爾坐標(biāo)系下的坐標(biāo)為
通過(guò)坐標(biāo)系的裝換,則極坐標(biāo)系下的回波點(diǎn)(r,θ)的強(qiáng)度就可以采用笛卡爾坐標(biāo)系下(x,y)的強(qiáng)度值進(jìn)行表示,但對(duì)比圖1(a)和圖1(b),可以發(fā)現(xiàn)在角度方向,靠近扇形圓心的圖形被壓縮,遠(yuǎn)離圓心的圖形被拉伸,這會(huì)導(dǎo)致圖像中出現(xiàn)“空洞”,需要進(jìn)行數(shù)據(jù)插值來(lái)填充。本文對(duì)比了最鄰近插值(INTER-NEAREST)、雙線性插值(INTERLINEAR)、雙立方插值(INTER-CUBIC)、Lanczos插值(INTER-LANCZOS4)4種算法的圖像效果,發(fā)現(xiàn)INTER-LINEAR、INTER-CUBIC、INTER-LANCZOS4的圖像效果相似,且都比INTERNEAREST好,但I(xiàn)NTER-LINEAR算法的效率更高,所以本文采用雙線性插值算法填充圖像。
2)聲吶數(shù)據(jù)中攜帶的噪聲大部分是由海底或海面反射、水中的水汽或漂浮物影響等產(chǎn)生,大部分屬于椒鹽噪聲,本文采用中值濾波的方法去除噪聲,其能夠在平滑圖像的同時(shí),盡量減少圖像細(xì)節(jié)信息的損失,是一種簡(jiǎn)單有效的濾波降噪方法。
3)本文采用動(dòng)態(tài)亮度分配的方法增強(qiáng)圖像的對(duì)比度。動(dòng)態(tài)亮度分配[8]是將回波強(qiáng)度映射到線性灰度[0,255]的過(guò)程,可以通過(guò)優(yōu)化映射函數(shù)增強(qiáng)目標(biāo)與背景之間的對(duì)比度及圖像的亮度,其映射函數(shù)如公式(3):
式中:L為圖像回波強(qiáng)度的最小值;H為圖像回波強(qiáng)度前10%的平均值;zin為輸入的回波強(qiáng)度值;zout為輸出的灰度值;γ為映射參數(shù),用于增加圖像的對(duì)比度;λ為映射參數(shù),用于增加圖像的亮度。
YOLO(You Only Look Once)是一種基于回歸思想的CNN目標(biāo)檢測(cè)模型,其經(jīng)歷了YOLOv1、YOLOv2和YOLOv3共3個(gè)版本的改進(jìn),目前已經(jīng)發(fā)展到Y(jié)OLOv4。YOLO系列與之前的檢測(cè)模型不同,其不需要提取圖像中目標(biāo)候選區(qū)域,而是直接對(duì)整幅圖片進(jìn)行回歸訓(xùn)練,擁有更高的運(yùn)行速度(40幀/s),可以滿足聲吶識(shí)別的實(shí)時(shí)性要求。
雖然YOLOv4的識(shí)別精度與YOLOv3相比有了稍微的提升,但其網(wǎng)絡(luò)更復(fù)雜,計(jì)算耗時(shí)更長(zhǎng),并且YOLOv3具有C語(yǔ)言版本,程序運(yùn)行更快、更穩(wěn)定,適合于工程實(shí)際運(yùn)用,所以本文采用YOLOv3進(jìn)行探測(cè)識(shí)別。YOLOv3的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示:其中 DBL組件為網(wǎng)絡(luò)的基本單元,由卷積層、批歸一化和激活函數(shù)構(gòu)成;resn表示res模塊中含有 n個(gè)殘差單元。YOLOv3結(jié)合殘差網(wǎng)絡(luò)ResNet[9]中的跳躍連接和特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)等算法思想,用步幅為2的卷積層替代池化層完成對(duì)特征圖的下采樣,同時(shí)在每個(gè)卷積層后增加批量歸一化操作(Batch Normalization,BN)[10],并使用激活函數(shù) LeakyRelu來(lái)避免梯度消失及過(guò)擬合,最終形成53層的骨干網(wǎng)絡(luò)DarkNet-53來(lái)提取圖像的分層特征。在對(duì)目標(biāo)物體進(jìn)行分類時(shí),其使用多個(gè)獨(dú)立的邏輯回歸分類器,這些分類器對(duì)于目標(biāo)邊框中出現(xiàn)的物體只判斷其是否屬于當(dāng)前標(biāo)簽,即簡(jiǎn)單的二分類,這樣便實(shí)現(xiàn)了多標(biāo)簽分類。
圖3 YOLOv3的網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 Structure diagram of YOLOv3 network
在利用 YOLOv3訓(xùn)練模型及檢測(cè)目標(biāo)時(shí),其輸入的圖片都需要有固定的尺寸(416×416),然而采集到的扇形聲吶圖片一般都不符合這個(gè)尺寸(本文的聲吶圖像為2 600×1 300)。如果我們直接對(duì)大的聲吶圖片進(jìn)行縮放會(huì)導(dǎo)致圖片模糊及損失一定的特征信息,所以本文對(duì)聲吶圖片進(jìn)行了切片,如圖4所示將一張聲吶圖片分成10份,并確保每一張切片與相鄰的切片有部分的重合區(qū)域,以防止將目標(biāo)區(qū)域分開(kāi)。并且如果切片后仍不符合YOLOv3模型的輸入尺寸,則可以直接對(duì)圖片進(jìn)行縮放,因?yàn)榍衅蟮膱D片已經(jīng)接近于YOLOv3的輸入尺寸,直接進(jìn)行縮放導(dǎo)致的圖像損失較小,對(duì)識(shí)別的影響可忽略不計(jì)。如果是較大目標(biāo),雖然切片時(shí)可能會(huì)將其分開(kāi),對(duì)識(shí)別造成影響,但由于基于深度學(xué)習(xí)的方法在學(xué)習(xí)圖像的特征時(shí),學(xué)習(xí)的是圖像的本質(zhì)特征,將目標(biāo)分開(kāi)這一因素對(duì)目標(biāo)的本質(zhì)特征影響不大,并且目標(biāo)在聲吶圖像的顯示中所占的像素較少。本文切片時(shí)還預(yù)留了重疊區(qū)域,目標(biāo)分開(kāi)的概率較小,所以將較大目標(biāo)切開(kāi)對(duì)識(shí)別的影響不大。
圖4 聲吶扇形圖像的切片示意圖Fig.4 Slice diagram of fan-shaped sonar images
試驗(yàn)表明,將基于卷積神經(jīng)網(wǎng)絡(luò)的 YOLOv3模型運(yùn)用在聲吶圖像的目標(biāo)檢測(cè)中具有很高的識(shí)別率[4],但YOLO系列算法的基本思想:將輸入圖像看成一個(gè)S×S的柵格,若某個(gè)目標(biāo)的中心位置落在一個(gè)柵格內(nèi),那么這個(gè)柵格就負(fù)責(zé)檢測(cè)這個(gè)物體,如圖5所示。圖中某個(gè)目標(biāo)的中心點(diǎn)(紅色原點(diǎn))落入第4行、第3列的格子內(nèi),則這個(gè)格子負(fù)責(zé)預(yù)測(cè)該目標(biāo),即每個(gè)柵格只能用來(lái)檢測(cè)一個(gè)目標(biāo),所以如果一個(gè)柵格內(nèi)存在多個(gè)小目標(biāo),則可能存在誤檢。
圖5 YOLOv3檢測(cè)示意圖Fig.5 Schematic diagram of YOLOv3 detection
本文設(shè)計(jì)了一種降低誤檢率的方法,基本原理如下:首先,在單幀圖像中利用 YOLOv3檢測(cè)目標(biāo),將檢測(cè)出的目標(biāo)作為疑似目標(biāo)并根據(jù)水聲定位計(jì)算其經(jīng)緯度;然后判斷后續(xù)的4幀圖像序列中該經(jīng)緯度處是否都具有 YOLOv3檢測(cè)的目標(biāo),如果是,則將該目標(biāo)判斷為正確目標(biāo),反之,則為虛假目標(biāo),圖6為算法的流程圖。計(jì)算疑似目標(biāo)的經(jīng)緯度方法如下:首先根據(jù)系統(tǒng)中的水聲定位儀器我們可得聲吶的經(jīng)緯度;然后按式1、2可將圖像中檢測(cè)出的疑似目標(biāo)的位置(x,y)轉(zhuǎn)換成距離-方位形式(r,θ),則就可根據(jù)目標(biāo)距聲吶的距離和方向及聲吶的經(jīng)緯度推算出目標(biāo)的經(jīng)緯度。
圖6 算法流程圖Fig.6 Algorithm flowchart
本實(shí)驗(yàn)使用保利天同科技公司的400 d多波束前視聲吶探測(cè)水下靜態(tài)目標(biāo),整個(gè)探測(cè)系統(tǒng)如圖7所示,其將聲吶安裝在拖魚(yú)的頭部,并采用船載拖曳式的方法拖動(dòng)拖魚(yú)。我們利用該探測(cè)系統(tǒng)在水庫(kù)和海域采集了 2組數(shù)據(jù)用于訓(xùn)練 YOLOv3模型和評(píng)估算法的有效性。
圖7 水下探測(cè)系統(tǒng)示意圖Fig.7 Schematic diagram of underwater detection system
圖8左右2幅圖分別為采用中值濾波前后的對(duì)比圖,其滑動(dòng)窗口大小為 5×5,從圖中可看出椒鹽噪聲得到了去除,且保留了圖像的邊緣信息。圖9為映射參數(shù)γ=0.4,0.6,0.8,1及γ=0時(shí)的聲吶扇形圖像,從圖中可以看出隨著γ的減小,目標(biāo)和背景的對(duì)比度不斷增強(qiáng),但當(dāng)γ=0.4時(shí),過(guò)大的對(duì)比度又損失了部分細(xì)節(jié),因此選擇映射參數(shù)γ=0.6對(duì)圖像進(jìn)行預(yù)處理。
圖8 中值濾波前后對(duì)比圖Fig.8 Comparison diagram before and after median filtering
圖9 對(duì)比度增強(qiáng)效果圖Fig.9 Effect diagram of contrast enhancement
本實(shí)驗(yàn)的待測(cè)目標(biāo)為球形目標(biāo)(globoid,GL)和圓柱形目標(biāo)(cylinder,CY)2類,通過(guò)改變目標(biāo)的位置及從多個(gè)方向進(jìn)行探測(cè),共采集了1 000張具有目標(biāo)的聲吶圖片,利用圖4所示的切片方法將所有的圖片共分成了 1 000×10張圖片,其中具有目標(biāo)的圖片有1 600張,對(duì)其中的1 000張圖片利用Labelimg標(biāo)注組成訓(xùn)練數(shù)據(jù)集,剩下的600張圖片組成測(cè)試數(shù)據(jù)集。本文采用YOLO官網(wǎng)提供的基于C語(yǔ)言開(kāi)發(fā)的YOLOv3模型,使用搭配 NVIDIA 2080顯卡、CUDA9.0的計(jì)算機(jī)進(jìn)行訓(xùn)練和測(cè)試。圖 10展示了對(duì)聲吶圖像的檢測(cè)結(jié)果示例,圖中的目標(biāo)是將切片的檢測(cè)結(jié)果轉(zhuǎn)換到整幅圖像中進(jìn)行標(biāo)記顯示的,可以看到在背景噪聲較大的情況下,YOLOv3模型仍能夠準(zhǔn)確檢測(cè)出目標(biāo)。
圖10 YOLOv3探測(cè)結(jié)果示例圖Fig.10 Sample gram of YOLOv3 detection result
表1展示了第2 791~2 795幀圖片的YOLOv3檢測(cè)結(jié)果,可以看到第2 791和2 792幀中一共檢測(cè)到3個(gè)目標(biāo),但通過(guò)計(jì)算圖中3個(gè)目標(biāo)的經(jīng)緯度,且與布放目標(biāo)時(shí)記錄的經(jīng)緯度比較,可以確定第1個(gè)目標(biāo)(從上往下排列)為虛假目標(biāo),而我們通過(guò)查看第2 793~2 795幀的檢測(cè)結(jié)果,可以發(fā)現(xiàn)第1個(gè)目標(biāo)都沒(méi)有被檢測(cè)到,因此可以判斷第1個(gè)目標(biāo)為虛假目標(biāo),其與真實(shí)情況相同。
表1 第2 791~2 795幀檢測(cè)結(jié)果Table 1 Detection results of picture frame 2 791-2 795
為了驗(yàn)證所提算法的高效性,文中引入了支持向量機(jī)(SVM)結(jié)合方向梯度直方圖特征(HOG)的識(shí)別方法,HOG通過(guò)計(jì)算和統(tǒng)計(jì)圖像局部區(qū)域的梯度方向直方圖來(lái)構(gòu)成特征,HOG 特征結(jié)合SVM分類器是經(jīng)典的傳統(tǒng)圖像識(shí)別算法。3種算法的試驗(yàn)對(duì)比結(jié)果如表2所示,其中識(shí)別率為600張測(cè)試圖片中正確識(shí)別個(gè)數(shù)所占的百分比。從表中我們可以看到:采用 YOLOv3的識(shí)別率明顯高于傳統(tǒng)的 HOG+SVM方法,并且加入去除虛假目標(biāo)方法后,YOLOv3的識(shí)別率又得到了提高;在檢測(cè)速度上,YOLOv3檢測(cè)一張完整的聲吶圖片只需要0.63 s,幾乎比HOG+SVM快了一倍。
表2 不同方法對(duì)聲吶圖像的檢測(cè)結(jié)果Table 2 Detection results of sonar images by different methods
本文通過(guò)中值濾波和動(dòng)態(tài)亮度分配預(yù)處理,顯著改善了多波束前視聲吶的圖像質(zhì)量,為后續(xù)的探測(cè)識(shí)別創(chuàng)造了有利條件;將基于卷積神經(jīng)網(wǎng)絡(luò)的YOLOv3模型用于聲吶圖像的識(shí)別,試驗(yàn)結(jié)果證明該方法比傳統(tǒng)的特征提取方法更高效;對(duì)單幀圖像中有無(wú)目標(biāo)先不進(jìn)行判斷,而根據(jù)圖像序列中檢測(cè)目標(biāo)的出現(xiàn)次數(shù)進(jìn)行判斷,實(shí)驗(yàn)表明這樣可以降低識(shí)別的誤檢率。本算法不僅可以滿足民事上的運(yùn)用,也可以在軍事上運(yùn)用于水雷和UUV等相似形狀的目標(biāo)探測(cè)中,擁有廣泛的應(yīng)用范圍。