安 平,王亭亭,趙 淵,胡 寧
(中國航天空氣動(dòng)力技術(shù)研究院,北京,100074)
自主水下航行器(autonomous undersea vehicle,AUV)是水下無人裝備平臺(tái)的典型代表,具有高機(jī)動(dòng)性和大范圍水下巡航能力等優(yōu)點(diǎn),在海洋探測(cè)、定位與跟蹤、深海采樣、打撈與救助等各類民事與軍事應(yīng)用中扮演重要角色。對(duì)于長期執(zhí)行水下作業(yè)任務(wù)的AUV,需要通過回收來完成能源補(bǔ)充、數(shù)據(jù)下載、任務(wù)指令更新以及設(shè)備檢修等操作。水下自主對(duì)接和回收技術(shù)主要通過導(dǎo)引定位的方式使AUV 與固定或移動(dòng)的對(duì)接裝置實(shí)現(xiàn)歸航、接近、對(duì)接及鎖緊等動(dòng)作,具有自主、無人等優(yōu)勢(shì),對(duì)于提高水下無人裝備續(xù)航能力和作業(yè)效率具有重大意義,具有廣泛的發(fā)展和應(yīng)用前景。
AUV 與對(duì)接裝置的水下對(duì)接與回收過程主要包括遠(yuǎn)距離導(dǎo)航階段和末端導(dǎo)引階段[1-2]。在遠(yuǎn)距離導(dǎo)航階段,對(duì)導(dǎo)航精度的要求較低,通過使用水聲定位方法或融合慣性導(dǎo)航和多普勒計(jì)程儀等傳感器以組合導(dǎo)航的方式接近對(duì)接裝置[3];在末端導(dǎo)引階段,AUV 距離對(duì)接裝置較近,則需采用精度更高的近距離導(dǎo)引定位方式,提供對(duì)接裝置與AUV 之間的相對(duì)位置及姿態(tài)關(guān)系。末端導(dǎo)引定位是完成水下對(duì)接和回收任務(wù)過程中的關(guān)鍵環(huán)節(jié),主要導(dǎo)引方式有聲學(xué)導(dǎo)引、光學(xué)導(dǎo)引、視覺導(dǎo)引和電磁導(dǎo)引等。
視覺導(dǎo)引方法中,AUV 通過檢測(cè)對(duì)接裝置上安裝的藍(lán)綠導(dǎo)引光源確定對(duì)接裝置位置,在隱蔽性、通用性和精度上具有一定優(yōu)勢(shì)[4]?;趥鹘y(tǒng)檢測(cè)方法的視覺導(dǎo)引技術(shù)主要依據(jù)導(dǎo)引目標(biāo)光源在攝像機(jī)下的成像特征,如幾何、色彩和紋理等,通過與已知特征進(jìn)行比對(duì)進(jìn)而計(jì)算出AUV 與對(duì)接裝置的相對(duì)位置[5-7]。姜言清[6]使用改進(jìn)Hough變換對(duì)圖像進(jìn)行圓形檢測(cè)提取參考光源,但對(duì)于在非直射狀態(tài)下導(dǎo)引光源在圖像中呈橢圓形的情況,可能導(dǎo)致對(duì)光源中心的誤判。張夢(mèng)輝[7]提出基于仿射不變矩特征的非線性支持向量機(jī)(support vector machine,SVM)圖像分類方法,利用仿射不變矩作為SVM 分類器的特征量,對(duì)水下基站進(jìn)行檢測(cè)。然而,由于受到水下成像環(huán)境復(fù)雜性的限制,水下圖像往往存在噪聲干擾多、光照不均、對(duì)比度較低及紋理特征模糊等諸多問題,對(duì)水下視覺導(dǎo)引檢測(cè)造成干擾,這使得傳統(tǒng)的檢測(cè)方法無法滿足應(yīng)用需求。
隨著深度學(xué)習(xí)技術(shù)的成功應(yīng)用,尤其是在圖像目標(biāo)檢測(cè)領(lǐng)域取得的重大進(jìn)展,為水下無人裝備智能識(shí)別系統(tǒng)的發(fā)展提供了新的思路[8]。同時(shí)AUV 可搭載算力資源的提升,為在AUV 中部署和應(yīng)用深度學(xué)習(xí)模型提供可能。深度學(xué)習(xí)模型通過對(duì)大量的標(biāo)注樣本進(jìn)行訓(xùn)練,來獲得對(duì)圖像的分析處理能力,以卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)[9-10]為代表的深度學(xué)習(xí)模型在準(zhǔn)確率和檢測(cè)速度上均優(yōu)于傳統(tǒng)的圖像處理方法。但由于水下無人裝備平臺(tái)搭載算力有限以及作業(yè)的實(shí)時(shí)性、魯棒性要求,目前深度學(xué)習(xí)模型在水下場(chǎng)景應(yīng)用較少[11]。
目前基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法主要分為兩階段檢測(cè)算法和一階段檢測(cè)算法。兩階段檢測(cè)算法,如R-CNN(region-CNN)[12]、Fast-RCNN[13]和Faster-RCNN[14]算法,需要通過獨(dú)立的網(wǎng)絡(luò)分支生成大量的候選區(qū)域,再對(duì)其進(jìn)行分類與回歸。該算法檢測(cè)精度高,但是網(wǎng)絡(luò)結(jié)構(gòu)較為復(fù)雜導(dǎo)致速度較慢,很難滿足實(shí)時(shí)的目標(biāo)識(shí)別檢測(cè)。另一種基于回歸的一階段檢測(cè)算法,如單步多框目標(biāo)檢測(cè)(single shot multiBox detector,SSD)[15]、YOLO(you only look once)[16]等算法,在生成候選區(qū)域的同時(shí)進(jìn)行分類和回歸。其檢測(cè)精度有所降低,但模型復(fù)雜度低,推理速度更快。該類方法檢測(cè)準(zhǔn)確率優(yōu)于傳統(tǒng)圖像處理模型,且滿足水下AUV 自主對(duì)接任務(wù)的實(shí)時(shí)性要求,具有較大的應(yīng)用潛力。
針對(duì)此,文中提出一種基于深度學(xué)習(xí)的水下視覺導(dǎo)引檢測(cè)方法,通過提取水下圖像特征中的有效信息,利用深度學(xué)習(xí)模型YOLOv5 檢測(cè)并提取出導(dǎo)引光源及對(duì)接裝置中心坐標(biāo),并進(jìn)行坐標(biāo)轉(zhuǎn)換解算出對(duì)接裝置與AUV 之間的相對(duì)位置。該方法有效提高了AUV 水下自主對(duì)接與回收的成功率,滿足AUV 智能化發(fā)展的要求,具有實(shí)際應(yīng)用價(jià)值。通過對(duì)AUV 采集的水下圖像進(jìn)行試驗(yàn),驗(yàn)證了該方案在具體距離信息下的解算精度與實(shí)時(shí)性。
通過對(duì)相關(guān)工作的分析,目前水下裝備在實(shí)際作業(yè)中需進(jìn)行實(shí)時(shí)性檢測(cè),但搭載算力資源有限,并且由于水下環(huán)境復(fù)雜多樣,限制了水下裝備實(shí)際目標(biāo)檢測(cè)效果。文中使用YOLOv5 模型完成視覺導(dǎo)引檢測(cè)任務(wù),并結(jié)合AUV 水下對(duì)接與回收任務(wù)中水下檢測(cè)的特點(diǎn)進(jìn)行改進(jìn)。YOLO 系列算法利用回歸的思想,采用端到端的訓(xùn)練方式,更容易學(xué)習(xí)目標(biāo)的泛化特征,能夠更好地適應(yīng)不同場(chǎng)景中的目標(biāo)檢測(cè)任務(wù)。同時(shí)選用網(wǎng)絡(luò)深度最小、特征寬度最小的YOLOv5s 模型,適當(dāng)降低檢測(cè)精確度獲得較快的檢測(cè)速率,以滿足AUV 水下圖像實(shí)時(shí)檢測(cè)需求。
YOLO 系列深度學(xué)習(xí)檢測(cè)算法利用一階段的神經(jīng)網(wǎng)絡(luò)直接完成檢測(cè)目標(biāo)位置定位和目標(biāo)物體分類。該算法將輸入圖像I 分成N×N的網(wǎng)格,每個(gè)目標(biāo)中心所在的網(wǎng)格負(fù)責(zé)預(yù)測(cè)B個(gè)邊界框(bounding box)以及對(duì)應(yīng)的置信度,預(yù)測(cè)輸出為x,y,w,h和c。其中: (x,y)表示預(yù)測(cè)的邊界框中心點(diǎn)坐標(biāo);w,h分別為預(yù)測(cè)邊界框的寬度和高度;c為預(yù)測(cè)結(jié)果的置信度,表示有目標(biāo)條件下的分類準(zhǔn)確度。YOLOv5 的網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1 所示。
圖1 YOLOv5 模型網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Network structure of the YOLOv5 model
YOLOv5 模型主要分為4 個(gè)部分,分別為輸入端(input)、基準(zhǔn)網(wǎng)絡(luò)(backbone)、頸部(neck)和輸出層(prediction)。
在輸入端,輸入待檢測(cè)圖像I,通過采用Mosaic數(shù)據(jù)增強(qiáng)、自適應(yīng)錨框計(jì)算和自適應(yīng)圖片縮放方式對(duì)輸入圖像進(jìn)行處理,進(jìn)行數(shù)據(jù)增強(qiáng)。由于YOLO 算法的下采樣一般是32 倍,需要將輸入的水下圖像尺寸變換成32 的倍數(shù),一般選擇輸入數(shù)據(jù)尺寸為608×608,但考慮到檢測(cè)的實(shí)時(shí)性問題,文中調(diào)整為512×512。
基準(zhǔn)網(wǎng)絡(luò)用于對(duì)水下圖像進(jìn)行特征提取,主要包含F(xiàn)ocus 結(jié)構(gòu)、跨階段局部網(wǎng)絡(luò)(cross-stage partial network,CSP)和空間金字塔池化層(spatial pyramid pooling,SPP)[17]。Focus 結(jié)構(gòu)主要用于對(duì)圖片進(jìn)行切片操作,其主要思想是通過切片(slice)操作對(duì)輸入圖像進(jìn)行裁剪,其卷積核為1×1。如圖2 所示,給定圖像512×512×3 接入Focus 結(jié)構(gòu)中,通過切片操作變?yōu)?56×256×12 的特征圖,然后通過一個(gè)通道數(shù)為32 的卷積層,最終輸出256×256×32 的特征圖。
圖2 Focus 結(jié)構(gòu)示意圖Fig.2 Diagram of the Focus structure
CSP 結(jié)構(gòu)借鑒了CSPNet[18]的思路,用于從網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)的角度解決推理中計(jì)算量太大的問題,YOLOv5 模型設(shè)計(jì)了2 種CSP 結(jié)構(gòu),即CSP1_X和CSP2_X。其中,CSP1_X 結(jié)構(gòu)主要應(yīng)用于基準(zhǔn)網(wǎng)絡(luò),CSP2_X 結(jié)構(gòu)主要應(yīng)用于Neck 結(jié)構(gòu)。隨后,SPP 使用不同大小的卷積核進(jìn)行最大池化操作,再將不同尺度特征進(jìn)行拼接,大大增加了網(wǎng)絡(luò)的感受野,分離出上下文的重要特征,且對(duì)推理速度影響較小。卷積層的卷積核大小都是3×3,增加了網(wǎng)絡(luò)的非線性表達(dá)能力。
頸部結(jié)構(gòu)中采用了特征金字塔網(wǎng)絡(luò)(feature pyramid networks,FPN)與路徑聚合網(wǎng)絡(luò)(path aggregation network,PAN)的結(jié)構(gòu)進(jìn)行多尺度特征融合,具體結(jié)構(gòu)如圖3 所示。上層特征由于網(wǎng)絡(luò)層數(shù)較深,往往包含較強(qiáng)的語義信息;而下層特征網(wǎng)絡(luò)經(jīng)過的卷積操作較少,包含較多的位置信息。由此,FPN 結(jié)構(gòu)自頂向下利用上采樣的方式對(duì)信息進(jìn)行傳遞融合,獲得包含更多語義信息的特征圖。PAN 采用自底向上的特征金字塔進(jìn)行下采樣,其中包含2 個(gè)PAN 結(jié)構(gòu),使得頂層特征包含目標(biāo)的強(qiáng)位置信息。最后通過將2 種特征進(jìn)行融合,得到不同尺寸的具有強(qiáng)語義信息、強(qiáng)位置信息的特征,以保證對(duì)不同尺寸目標(biāo)的準(zhǔn)確預(yù)測(cè)。
圖3 FPN+PAN 結(jié)構(gòu)示意圖Fig.3 The structure of FPN and PAN
輸出層包括邊界框損失函數(shù)和非極大值抑制(non-maximum suppression,NMS)。YOLOv5 中 使用GIOU_Loss 作為損失函數(shù),來估算邊界框的識(shí)別損失[19],有效解決了邊界框不重合時(shí)的問題。在目標(biāo)檢測(cè)預(yù)測(cè)結(jié)果處理階段,通過采用加權(quán)NMS操作對(duì)出現(xiàn)的眾多邊界框進(jìn)行篩選,以獲得最優(yōu)邊界框。
文中通過基于YOLOv5 的深度學(xué)習(xí)視覺導(dǎo)引檢測(cè)模型對(duì)導(dǎo)引光源及對(duì)接裝置進(jìn)行檢測(cè)與定位,在自主對(duì)接與回收的末端導(dǎo)引階段向AUV 反饋其與對(duì)接裝置的相對(duì)位置。
在末端導(dǎo)引階段,將AUV 水下視覺導(dǎo)引檢測(cè)過程分為2 個(gè)階段: 在距離對(duì)接裝置較遠(yuǎn)時(shí),AUV 航行至與對(duì)接裝置相同的深度,并在此高度作定深運(yùn)動(dòng),通過檢測(cè)得到的導(dǎo)引光源中心位置坐標(biāo)對(duì)AUV 進(jìn)行反饋和引導(dǎo),使AUV 逐步接近對(duì)接裝置;在AUV 頭部進(jìn)入對(duì)接裝置后,引導(dǎo)光源失效,則通過檢測(cè)對(duì)接裝置的通道中心坐標(biāo)解算相對(duì)位姿,對(duì)AUV 進(jìn)行姿勢(shì)調(diào)整并鎖定目標(biāo),在視覺導(dǎo)引下繼續(xù)航行,直至完全進(jìn)入對(duì)接裝置。
AUV 通過搭載NVIDIA jetson Xavier NX 開發(fā)板來運(yùn)行深度學(xué)習(xí)模型,進(jìn)行視覺導(dǎo)引檢測(cè)??紤]到所搭載開發(fā)板的算力有限,且需要滿足對(duì)水下導(dǎo)引光源檢測(cè)的實(shí)時(shí)性要求,將水下檢測(cè)圖像尺寸調(diào)整為512×512,并選取YOLOv5s 模型進(jìn)行檢測(cè)。同時(shí),通過使用高性能計(jì)算機(jī)對(duì)深度學(xué)習(xí)模型進(jìn)行訓(xùn)練,再將訓(xùn)練好的最優(yōu)模型參數(shù)拷貝到開發(fā)板中進(jìn)行實(shí)時(shí)檢測(cè),減小了開發(fā)板訓(xùn)練復(fù)雜模型的壓力,降低了模型訓(xùn)練的時(shí)間復(fù)雜度。
在訓(xùn)練階段,通過多次模擬AUV 自主對(duì)接與回收過程,采集水下視覺導(dǎo)引樣本。通過拍攝不同角度的水下導(dǎo)引光源及對(duì)接裝置圖像作為正樣本,進(jìn)行人工標(biāo)注導(dǎo)引目標(biāo)區(qū)域,并收集沒有導(dǎo)引目標(biāo)的水下圖像作為負(fù)樣本。將水下視覺導(dǎo)引圖像數(shù)據(jù)集分為訓(xùn)練數(shù)據(jù)集、驗(yàn)證數(shù)據(jù)集和測(cè)試數(shù)據(jù)集,使用訓(xùn)練數(shù)據(jù)集訓(xùn)練檢測(cè)模型,并使用驗(yàn)證數(shù)據(jù)集對(duì)模型進(jìn)行預(yù)測(cè),當(dāng)檢測(cè)準(zhǔn)確達(dá)到精度要求時(shí),完成訓(xùn)練。
實(shí)時(shí)檢測(cè)階段,在NVIDIA jetson Xavier NX開發(fā)板中基于機(jī)器人操作系統(tǒng)(robot operating system,ROS)對(duì)AUV 回收與對(duì)接過程中水下相機(jī)采集的水下圖像進(jìn)行實(shí)時(shí)檢測(cè)。其檢測(cè)過程主要包括圖像數(shù)據(jù)實(shí)時(shí)獲取、導(dǎo)引光源與對(duì)接裝置檢測(cè)與定位、位置解算與反饋等。首先將水下相機(jī)封裝在AUV 頭部段,通過訂閱image 話題實(shí)時(shí)獲取水下圖像數(shù)據(jù);然后將高性能計(jì)算機(jī)訓(xùn)練得到的模型參數(shù)拷貝到開發(fā)板,并通過調(diào)用YOLO 服務(wù)對(duì)水下圖像進(jìn)行實(shí)時(shí)檢測(cè),得到邊界框坐標(biāo)、類別及置信度,輸出邊界框中心點(diǎn)坐標(biāo)作為被檢測(cè)目標(biāo)位置信息;最后通過位置解算,將檢測(cè)得到的邊界框中心點(diǎn)坐標(biāo)轉(zhuǎn)化到AUV 相機(jī)坐標(biāo)系下,得到AUV 與對(duì)接裝置的相對(duì)位置信息,反饋至AUV的任務(wù)和規(guī)劃算法,引導(dǎo)AUV 與對(duì)接裝置進(jìn)行自主對(duì)接。
由于相機(jī)鏡頭的設(shè)計(jì)缺陷與鏡頭前的玻璃防水工裝,使得相機(jī)在水下采集的圖像存在畸變和變形的問題。因此,檢測(cè)得到的導(dǎo)引光源中心點(diǎn)坐標(biāo)存在較大誤差,需要通過相機(jī)標(biāo)定獲得相機(jī)的畸變參數(shù)及內(nèi)參數(shù)矩陣進(jìn)行校正[20]。首先,根據(jù)畸變參數(shù)求得消除畸變的中心點(diǎn)坐標(biāo),隨后通過坐標(biāo)轉(zhuǎn)換將水下圖像的中心點(diǎn)坐標(biāo)從圖像坐標(biāo)系轉(zhuǎn)換到相機(jī)坐標(biāo)系。最終解算出AUV 與對(duì)接裝置之間的相對(duì)位置。
1.3.1 相機(jī)坐標(biāo)系轉(zhuǎn)換到圖像坐標(biāo)系
以相機(jī)的光心Oc為坐標(biāo)原點(diǎn),并以相機(jī)到目標(biāo)點(diǎn)M的方向?yàn)檎较?即相機(jī)的光軸,建立相機(jī)坐標(biāo)系。在相機(jī)坐標(biāo)系下理想的單目視覺模型如圖4 所示。圖中,Xc軸與圖像的橫軸平行,Yc軸與圖像的縱軸平行,Zc軸與成像平面垂直,單位為mm。在相機(jī)坐標(biāo)系中,目標(biāo)點(diǎn)M(Xm,Ym,Zm)在理想無畸變的情況下,對(duì)應(yīng)在圖像坐標(biāo)系中的成像點(diǎn)為P(Xp,Yp,f)。
圖4 理想單目視覺模型Fig.4 Ideal monocular vision model
根據(jù)針孔成像模型原理,從相機(jī)坐標(biāo)系轉(zhuǎn)換到圖像坐標(biāo)系,有如下關(guān)系
式中,f為焦距,引入齊次坐標(biāo)系可得
1.3.2 圖像坐標(biāo)系轉(zhuǎn)換到像素坐標(biāo)系
對(duì)于數(shù)字成像圖像,通常需要建立圖像像素坐標(biāo)系進(jìn)行圖像處理。其中,像素坐標(biāo)系的坐標(biāo)原點(diǎn)O0位于圖像的左上角,像素坐標(biāo)系以圖像中的像素點(diǎn)作為基本單位。每個(gè)像素點(diǎn)的坐標(biāo)采用對(duì)應(yīng)圖像像素矩陣中的行數(shù)和列數(shù)來表示,即用(u,v)表示該點(diǎn)以像素為單位下的坐標(biāo)。成像平面的像點(diǎn)經(jīng)過放大處理得到數(shù)字圖像,圖像點(diǎn)(u,v)為成像點(diǎn)P轉(zhuǎn)換的圖像點(diǎn),如圖5 所示。
圖5 圖像像素坐標(biāo)系Fig.5 Coordinate system of image pixel
定義ax為成像平面到圖像平面在X軸方向的放大系數(shù);ay為成像平面到圖像平面在Y軸方向的放大系數(shù);(u0,v0)為光軸與成像平面的交點(diǎn),則有
由式(3)、式(4)及式(1)可得
令kx=ax f為X軸方向的放大系數(shù),ky=ay f為Y軸方向的放大系數(shù),則
1.3.3 畸變校正
攝像頭的畸變主要有徑向畸變和切向畸變。其中,徑向畸變以光軸中心點(diǎn)圖像坐標(biāo)為參考點(diǎn),正比于圖像點(diǎn)到參考點(diǎn)距離的平方。只考慮2 階徑向畸變,模型公式為
式中: (ud,vd)為理想圖像坐標(biāo);r為圖像點(diǎn)到參考點(diǎn)之間的距離;ku為u方向2 階畸變系數(shù);kv為v方向2 階徑向畸變系數(shù)。
該模型在畸變較小的高清攝像頭成像中適用,在文中僅考慮消除2 階徑向畸變對(duì)圖像的影響。
相機(jī)標(biāo)定參數(shù)的精確性是單目視覺位置檢測(cè)能夠?qū)崿F(xiàn)的前提,通過相機(jī)標(biāo)定獲得相機(jī)的畸變參數(shù)及內(nèi)參數(shù)矩陣,以消除鏡頭造成的畸變和變形,并獲得不同坐標(biāo)系間的轉(zhuǎn)換關(guān)系。
相機(jī)標(biāo)定過程主要包括通過使用封裝在AUV頭部段的水下相機(jī)從不同的角度拍攝標(biāo)定板,獲得25~30 對(duì)標(biāo)定板的圖像(如圖6 所示);隨后將圖像導(dǎo)入到MATLAB R2018a 自帶的Camera Calibrator工具箱中,以獲得相機(jī)內(nèi)參數(shù)及幾何畸變系數(shù),其結(jié)果如表1 所示。
表1 攝像機(jī)內(nèi)參數(shù)和幾何畸變系數(shù)Table 1 Inside parameters of the camera and geometric distortion coefficients
圖6 棋盤格圖像Fig.6 Checkerboard image
為驗(yàn)證基于深度學(xué)習(xí)的AUV 水下視覺導(dǎo)引檢測(cè)和定位方法的可行性及有效性,對(duì)文中方法的檢測(cè)效果進(jìn)行量化仿真分析,并進(jìn)一步通過某AUV 平臺(tái)在近海區(qū)域進(jìn)行自主對(duì)接與回收海試,驗(yàn)證該方法的實(shí)際應(yīng)用效果和實(shí)時(shí)性。
通過某AUV 平臺(tái)在近海區(qū)域采集水下導(dǎo)引光源及對(duì)接裝置圖像,用于深度學(xué)習(xí)模型進(jìn)行訓(xùn)練。首先將單目水下相機(jī)封裝在AUV 頭部段,并布放對(duì)接塢站,其中對(duì)接塢站有4 個(gè)導(dǎo)引光源。預(yù)先設(shè)置AUV 距離塢站15 m 處開始進(jìn)行視覺導(dǎo)引,模擬AUV 與對(duì)接塢站的對(duì)接與回收過程。通過使用封裝在AUV 頭部段的單目水下相機(jī)在水下采集導(dǎo)引光源及對(duì)接裝置的圖像。
為降低低質(zhì)量圖像對(duì)模型訓(xùn)練的影響,對(duì)采集到的水下圖像數(shù)據(jù)進(jìn)行人工篩選并對(duì)待檢測(cè)目標(biāo)進(jìn)行標(biāo)注。采用labelImg 工具進(jìn)行目標(biāo)類別和目標(biāo)位置信息的框選標(biāo)注,標(biāo)注格式采用YOLO 格式,標(biāo)注文件以txt 作為后綴,文件名和圖片名稱一致,導(dǎo)引光源標(biāo)注范例如圖7 所示。最終得到的水下導(dǎo)引光源圖像數(shù)據(jù)集共包含1 100 幅目標(biāo)圖像和200 幅背景圖像,其中檢測(cè)目標(biāo)種類分為水下導(dǎo)引光源圖像(light)和對(duì)接塢站(dock)兩類。將圖像數(shù)據(jù)集按照8∶1∶2 的比例劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。
圖7 導(dǎo)引光源標(biāo)注范例Fig.7 The annotation example of guide light source
通過某AUV 平臺(tái)搭載NVIDIA jetson Xavier NX 開發(fā)板來運(yùn)行深度學(xué)習(xí)模型,進(jìn)行實(shí)時(shí)導(dǎo)引光源檢測(cè),如圖8 所示。AUV 試驗(yàn)環(huán)境使用15 W 6CORE 電源模式,Ubuntu18.04 操作系統(tǒng),CUDA10.2 GPU 驅(qū)動(dòng),Pytorch 深度學(xué)習(xí)框架。為減輕開發(fā)板運(yùn)算壓力,圖像大小調(diào)整為512×512。在模型訓(xùn)練階段使用NVIDIA GeForce RTX 3090 顯卡進(jìn)行訓(xùn)練,迭代批量(batch-size)設(shè)置為6,訓(xùn)練迭代次數(shù)為200,預(yù)設(shè)初始學(xué)習(xí)率為0.01,動(dòng)量為0.94,衰減系數(shù)0.000 5。
圖8 實(shí)驗(yàn)用AUV 平臺(tái)照片F(xiàn)ig.8 Picture of the experimental AUV platform
采用GIOU_Loss 作為損失函數(shù)來估算對(duì)邊界框的識(shí)別損失[17]。試驗(yàn)得到的訓(xùn)練和驗(yàn)證階段的損失函數(shù)變化曲線如圖9 所示。
圖9 損失函數(shù)變化曲線Fig.9 Curves of loss function
試驗(yàn)結(jié)果表明,損失函數(shù)收斂效果較為理想,隨著訓(xùn)練迭代次數(shù)的不斷增加,損失函數(shù)值平穩(wěn)下降。在模型迭代到200 次時(shí),損失函數(shù)穩(wěn)定在0.02 左右。
文中采用的模型評(píng)估指標(biāo)為查準(zhǔn)率(precision)、召回率(recall)、平均精度均值(mean average precision,mAP),通過對(duì)檢測(cè)模型進(jìn)行評(píng)估驗(yàn)證,評(píng)估結(jié)果如圖10 所示。
圖10 檢測(cè)模型評(píng)估結(jié)果Fig.10 Evaluation results of detection model
準(zhǔn)確率又稱查準(zhǔn)率,指被預(yù)測(cè)為正樣本的樣本中實(shí)際為正樣本的概率,即
式中:NTP表示實(shí)際為正樣本且被預(yù)測(cè)為正樣本的樣本數(shù);NFP表示實(shí)際為負(fù)樣本但被預(yù)測(cè)為正樣本的樣本數(shù)。由試驗(yàn)結(jié)果可知,在模型迭代到200 次時(shí),數(shù)值接近于0.7。
召回率又稱查全率,指實(shí)際正樣本被預(yù)測(cè)正確的概率,即
式中,NFN表示實(shí)際為正樣本但被預(yù)測(cè)為負(fù)樣本的樣本數(shù)。由試驗(yàn)結(jié)果可知,在模型迭代到200 次時(shí),數(shù)值接近于0.8。準(zhǔn)確率和召回率越高,則視覺導(dǎo)引檢測(cè)效果越好。
mAP 為所有類別精確度的平均值,是同時(shí)考慮準(zhǔn)確率和召回率的量化指標(biāo),mAP 越高,則視覺導(dǎo)引檢測(cè)效果越好。從圖10 中可以看出,當(dāng)模型迭代到200 次,交并比(intersection over union,IoU)閾值為0.5 時(shí),mAP 接近于0.8;IoU 閾值從0.5 到0.95 時(shí),mAP 接近于0.5。
從對(duì)該模型的評(píng)估結(jié)果可以看出,基于深度學(xué)習(xí)的水下視覺導(dǎo)引檢測(cè)方法可以學(xué)習(xí)到更多的圖像特征,在針對(duì)水下場(chǎng)景中的視覺導(dǎo)引目標(biāo)檢測(cè)任務(wù)中具有較好的性能。
通過海試驗(yàn)證文中檢測(cè)方法在實(shí)際AUV自主對(duì)接與回收過程中的應(yīng)用效果和實(shí)時(shí)性。AUV 入塢試驗(yàn)過程如圖11 所示。
圖11 AUV 入塢試驗(yàn)過程Fig.11 Test process of AUV docking
在進(jìn)行海試時(shí),共進(jìn)行5 次AUV 自主入塢試驗(yàn),均成功入塢,其中3 次入塢過程的檢測(cè)結(jié)果如圖12 所示,包含白天及夜晚不同光照條件下的水下環(huán)境。對(duì)水下視覺導(dǎo)引的實(shí)際檢測(cè)準(zhǔn)確率為97.9%,檢測(cè)單幀耗時(shí)45 ms。由于連續(xù)對(duì)AUV 進(jìn)行位置信息反饋,減小了誤檢、漏檢對(duì)入塢的影響,提高了系統(tǒng)的魯棒性。海試結(jié)果表明,該方法在AUV 實(shí)際自主對(duì)接與回收中可以有效檢測(cè)到導(dǎo)引光源及對(duì)接塢站,并對(duì)AUV 的位置和姿態(tài)進(jìn)行調(diào)整,滿足檢測(cè)的精確度及實(shí)時(shí)性要求。
圖12 入塢試驗(yàn)水下圖像實(shí)時(shí)檢測(cè)結(jié)果Fig.12 Real time detection results of underwater image of docking test
在實(shí)際對(duì)接過程中,文中方法對(duì)傳統(tǒng)目標(biāo)檢測(cè)方法難以檢測(cè)的復(fù)雜樣本也具有較好的檢測(cè)效果。例如,當(dāng)水下圖像中存在其他光源或水面光斑時(shí),檢測(cè)目標(biāo)不完整,以及水質(zhì)較為渾濁時(shí),易對(duì)檢測(cè)結(jié)果造成干擾。如圖13 所示,文中方法可以較好地對(duì)真實(shí)導(dǎo)引光源進(jìn)行判別,這主要是由于深度學(xué)習(xí)模型可以更好地提取圖像特征,有效提升檢測(cè)性能,且具有一定的魯棒性。
圖13 復(fù)雜樣本實(shí)時(shí)檢測(cè)結(jié)果Fig.13 Real time detection results of hard samples
文中提出的基于深度學(xué)習(xí)的水下視覺導(dǎo)引檢測(cè)方法可以應(yīng)用于航行器水下自主對(duì)接技術(shù),滿足對(duì)導(dǎo)引光源檢測(cè)的實(shí)時(shí)性、高精確性和魯棒性等要求。首先通過使用基于YOLOv5的深度學(xué)習(xí)視覺導(dǎo)引光源檢測(cè)方法對(duì)引導(dǎo)光源以及對(duì)接裝置進(jìn)行檢測(cè);并將所得位置信息及目標(biāo)類別信息進(jìn)行坐標(biāo)轉(zhuǎn)換,結(jié)算出AUV 與對(duì)接裝置的相對(duì)位置;最終對(duì)AUV 進(jìn)行視覺導(dǎo)引,實(shí)現(xiàn)AUV的自主對(duì)接與回收。試驗(yàn)及海試結(jié)果表明,基于深度學(xué)習(xí)的水下視覺導(dǎo)引檢測(cè)方法可以有效檢測(cè)到導(dǎo)引光源并對(duì)AUV 的位置和姿態(tài)進(jìn)行調(diào)整,滿足水下對(duì)接精度及實(shí)時(shí)性要求。下一階段將探索時(shí)序信息與文中方法相結(jié)合在視覺導(dǎo)引檢測(cè)任務(wù)中的應(yīng)用。