羅逸豪 劉奇佩 張 吟 周河宇 張鈞陶 曹 翔
①(宜昌測試技術研究所 宜昌 443003)
②(軍事科學院系統工程研究院 北京 100141)
③(長沙學院 長沙 410022)
隨著工業及軍事應用中智能化水下探測的需求增多,水下圖像目標檢測相關研究日益活躍,涉及水生物探測、水環境勘探、海床建模、打撈救助、海底管道探測、反水雷、反潛等眾多項任務[1]。由于水下環境復雜多變、信號衰減失真、信號獲取傳輸成本高,水下圖像目標檢測也是計算機視覺和圖像處理領域中最具挑戰性的應用研究之一[2]。目前國內水下無人探測尚未進行大規模應用,一個重要的原因就是檢測算法性能不足,多數情況需要人工進行干預。如何提高算法精度和速度、豐富水下圖像數據集、增強應對復雜環境的魯棒性、提高算法的泛化性、降低模型計算復雜度,均是該領域中亟需解決的關鍵問題。
目標檢測需要對圖像中的目標進行分類和定位,早期依賴人工提取圖像特征。然而面對各式各樣的應用場景和復雜的環境干擾,傳統的人工特征已經無法滿足日益增長的需求。隨著2012年A lexNet[3]采用卷積神經網絡(Convolutional Neural Network, CNN)在ImageNet[4]大規模圖像分類數據集上取得的突破性效果,深度學習被逐步應用于計算機視覺領域中的各項應用。深度學習利用大數據對網絡模型進行端到端訓練,克服了傳統方法的諸多缺點。在水下圖像目標檢測領域,深度學習方法借助數據驅動的優勢,已在魚類圖像數據集Fish4-Know ledge、全國水下機器人大賽(Underwater Robot Professional Contest, URPC)等開源可見光圖像數據集和一些非公開聲吶圖像數據集中實現了更優的效果[2,5]。
系統性、模塊化地分析通用目標檢測算法框架,對水下圖像目標檢測的應用研究具有十分重要的指導意義,而目前的相關綜述較為陳舊。數年前就有文獻[6]對早期基于深度學習的通用目標檢測(comm on ob ject detection)研究進行了分類與總結,并與傳統方法進行了對比,體現出深度學習的杰出效果。近幾年深度學習算法研究呈井噴式增長,克服了模型設計和訓練過程中的諸多難題,精度已接近早期深度學習方法的兩倍。然而,較新的綜述[7,8]依舊沿用早期的模型分類方法(2階段與1階段檢測),未對較新的研究進行歸納。針對水下圖像應用領域,林森等人[9]對光學圖像中目標探測關鍵技術進行了總結,文獻[1,5]對聲吶圖像目標檢測研究進行了總結,但他們梳理的文獻較舊,并且對深度學習方法提及過少。Fayaz等人[10]著重介紹了早期通用目標檢測算法,未對水下相關應用研究進行詳細梳理。
基于此,本文第2節對基于深度學習的通用目標檢測算法框架進行了系統性梳理,分類總結了最新研究工作;第3節從數據集構建及方法研究兩方面總結了水下可見光圖像目標檢測最新進展;第4節對前視、側掃、合成孔徑3種聲吶圖像目標檢測研究進行了歸納分析;第5節進行總結與展望。
2013年—2019年處于深度學習目標檢測算法早期研究階段,人們主要根據是否存在顯式的候選框提取過程,將目標檢測模型分為2階段(two-stage)和1階段(one-stage)。2階段檢測模型通過候選框提取方法首先篩選感興趣區域(Region of Interest,Ro I),然后再進行識別與定位,精度更高,代表作是R-CNN家族[11—13]。1階段檢測模型直接使用固定的錨框(anchor)進行識別定位,速度更快,代表作包括SSD(Single Shot Detector)系列[14]和YOLO(You Only Look Once)家族[15—17]。隨著研究的深入,人們提出了更多類型的檢測模型,比如根據是否需要顯式定義先驗錨框,可以分為基于錨框(anchor-based)和無錨框(anchor-free)方法,后者可以避免人工預先設置錨框,通用性更強,代表作為CenterNet[18]和FCOS(Fu lly Convolutional One-Stage object detection)[19]。大部分2階段模型屬于基于錨框的方法,而1階段模型則兩者皆有。最近,T ransformer[20]目標檢測模型又開辟了基于目標查詢和集合預測的新范式,不同于常規CNN。因此,僅以2/1階段檢測模型類別來概括現有方法已不再合適。
借鑒開源項目MMDetection[21]的代碼實現方式,本文將深度學習通用目標檢測算法框架總結為6個要素:骨干網絡、頸部模塊、檢測頭部、訓練算法、推理策略、數據集。其中前3項要素屬于模型設計過程,以構成目標檢測網絡模型,如圖1所示。本節將總結每個要素的功能、存在問題及最新的算法研究工作,為解決水下圖像目標檢測應用難題提供支撐。
圖1 基于深度學習的目標檢測模型
骨干網絡作為圖像特征提取模塊,可以提取層次化、模塊化、抽象化的特征信息,是深度學習模型最重要的組成部分之一。大多數在圖像分類領域中具備良好效果的骨干網絡也可在目標檢測中獲得較高精度。在A lexNet[6]開啟CNN研究熱潮之后,許多研究致力于對網絡模型進行加深加寬,但這會引起計算成本增長與梯度消失問題。2017年ResNet[22]通過殘差學習和跳躍連接(skip connection)緩解了梯度消散問題,可以構建上百層甚至更深的網絡,廣泛應用于眾多視覺任務,并不斷被改進優化,比如DenseNet[23]等。近年來,許多不同于常規CNN卷積濾波核的骨干網絡被提出,比如可變形卷積(Deformable Convolutional Network, DCN)[24]、多層感知機(M u ltiLayer Percep tron, M LP)[25]和Transformer[26],它們的性能不弱于CNN。
隨著嵌入式環境中目標檢測任務需求日益上升,人們對目標檢測算法的實時性要求也水漲船高。由于精度提升往往伴隨著模型規模和參數量大幅增長,許多研究工作致力于在保證精度的同時設計輕量化骨干網絡。M obileNet系列模型[27]深度可分離卷積,將標準CNN分解成深度(dep thw ise)卷積和逐點(pointw ise)卷積,大幅降低了模型參數量與運算量。輕量化的骨干網絡設計可以確保系統運行的實時性,適用于缺陷檢測、水下探測等眾多工業應用項目。
頸部模塊提取多尺度特征,以提高模型檢測精度。深度神經網絡理論認為模型中不同的層具備不同的功能,即捕捉不同感受野(receptive field)的信息。通常來說,淺層網絡提取的高分辨率特征具有更豐富的空間、邊緣等信息,其較小的感受野更適合檢測小尺寸的目標;深層網絡提取的低分辨率特征具有更豐富的語義信息,其較大的感受野更適合檢測大尺寸的目標。為解決單張特征圖對大、中、小目標適應性差的問題,特征金字塔網絡[28](Feature Pyram id Network, FPN)以自頂向下的方式將不同層級的骨干網絡輸出特征逐級融合,再對各個尺度執行獨立的預測。FPN由于簡單的結構設計和優越的性能,成為頸部模塊的標準范式。然而FPN結構本身也存在一定的缺陷,比如高層特征通道信息衰減、特征融合過程中的信息稀釋和混疊歧義。
為了改善這些問題,PAFPN[29]在FPN原有的自頂向下結構后,又增加了自底向上的連接,使得各層特征都能較好地融合其他層的信息,實現更加豐富的多尺度特征表示。之后以RCNet[30]為代表的諸多研究工作嘗試堆疊更多的特征圖節點與連接來增強特征,并引入注意力機制優化特征表達。然而復雜的特征堆疊會使FPN的計算復雜度急劇上升。因此,以NAS-FCOS[31]為代表的方法權衡模型精度與推理效率,在保證不引入復雜計算量的情況下設計了更為健壯的FPN結構。
水下圖像目標檢測應用場景對小目標檢測和實時性要求較高,因此頸部模塊需要兼顧精度與速度。
檢測頭部通常包含采樣、分類器和回歸器,一般也是多尺度的,在提取的各尺度特征圖上進行正負樣本的采樣,然后將其輸入到分類器和回歸器網絡模型(通常為CNN)中進行預測,得到最終的檢測結果。
采樣過程包含樣本生成和類別分配,這也是2階段、1階段、無錨框、T ransformer檢測模型的主要區別所在。2階段檢測模型[11—13]采用區域推薦網絡(Region Proposal Network, RPN)提取一定數量的正負樣本;1階段模型[14—17]將特征圖上的每一個坐標點都視作具有潛在目標,以固定錨框長寬比和數量生成訓練樣本;無錨框方法[18,19]不需要人工設定錨框,直接預測目標框的關鍵點,或是以坐標點是否落入真實框內來區分正負樣本,并額外設計適用于無錨框的輸出分支;T ransform er[20]設計基于目標查詢的可學習位置編碼,通過解碼器生成一定數量的預測框。而隨著各類研究的不斷深入,不同類型的檢測模型在通用目標檢測數據集上的效果沒有較大差異,性能差異主要體現在精度與速度的權衡。
為了獲得更精確的定位結果,以SABL(Side-Aware Boundary Localization)[32]為代表的研究利用語義特征來引導高質量錨框生成,同時適用于1階段檢測器和2階段檢測器的RPN。在此基礎上,W u等人[33]重新思考了分類分支和回歸分支模型結構的并行設計,并根據它們的相關性設計了交互相關的模型結構,不再將它們看作為獨立的并行結構。延續該思路,TOOD(Task-aligned One-stage Object Detection)[34]等工作進一步挖掘分類任務和回歸任務的關聯性,共同優化了分類和回歸分支。
目標檢測訓練算法為每個輸出分支設計相應的損失函數對比樣本預測值和真實值(標簽)以產生損失值,通過迭代最小化損失使得預測結果逼近真實值。在早期研究階段,分類損失通常采用交叉熵函數進行計算,回歸損失通常采用Smooth L1函數或預測框與真實框交并比(Intersection over Union,IoU)計算。目前目標檢測模型在訓練階段面臨3個主要問題:正負樣本不平衡、樣本框質量低、任務優化失衡。
在一幅圖像中待檢測目標面積通常只占小部分,因此在采樣過程中會出現大量的背景負樣本。目前主流的思想就是依據重要性對訓練樣本進行加權,以平衡正負樣本對梯度的影響。早期難樣本挖掘(Hard-exam p le m ining)方法認為難樣本(產生較大損失值的樣本)對訓練更加重要,比如Focal Loss[35]和Libra R-CNN[36]巧妙地減弱簡單樣本的權重并加大難樣本的重要程度。最近的研究重新思考了何為重要樣本,以IQDet(Instance-w ise Quality Distribution sam p ling detector)[37]為代表的方法引入概率得分作為樣本重要性的依據,ATSS(Adap tive T raining Sam p le Selection)[38]等方法則是根據IoU設計自適應的樣本選擇策略。除此之外,OTA(Optimal T ransport Assignment)[39]將樣本分配問題看作運輸優化問題,以最小運輸成本求解最優運輸計劃;基于AP-Loss[40]的方法利用平均精度設計損失函數,將分類任務替換為排序任務。
樣本框質量低可以在檢測頭部模型設計中得到一定改善(2.3節)。在訓練階段主要體現在優化回歸損失函數。Libra R-CNN[36]設計了平衡的L1損失函數來減少異常值和離群值對回歸損失的影響;Dynam ic R-CNN[41]采用動態訓練方法來調整訓練過程中損失函數的閾值,逐步提高錨框的質量。由于預測框與真實框的IoU可以直觀反映其質量高低,基于IoU的回歸損失[42]也被廣泛研究。
訓練過程同時對分類任務和回歸任務進行優化,屬于多任務學習(multi-task learning)。梯度較大的任務將會占據訓練優化的主導地位,造成任務優化失衡的問題[43]。因此,以SWN(Sam p le W eighting Network)[44]為代表的方法通過同方差不確定性為分類和回歸損失設置權重。后續GFL(Generalized Focal Loss)[45]等方法研究梯度、分布、質量等分類和回歸的相關性因素,巧妙地設計了可以進行協同優化的總體損失函數。
除此之外,訓練過程中還可以采用數據增強方法來達到提升模型精度的目的。通常而言,訓練數據越龐大、樣本越豐富,模型泛化能力更好。數據增強方法包括翻轉、旋轉、裁剪、變形、縮放等幾何變換操作,以及顏色和空間變換[17]。在水下圖像數據缺乏時,數據增強方法至關重要。
訓練結束的目標檢測模型用于推理,通常會輸出數量繁多的預測框,需要后處理方法刪除冗余的預測框以得到精準的結果。目前最常用的方法是非極大值抑制(Non-M axim um Suppression, NMS),通過迭代算法刪除冗余框。當同類目標分布密集且存在遮擋時,NMS極易產生漏檢。Soft-NMS[46]在后處理過程中不是粗暴地刪除IoU大于閾值的預測框,而是降低其置信度,在密集目標檢測任務中效果優越。
由于NMS的獨立性,目標檢測算法并不是嚴格意義上的端到端結構。NMS-Loss[47]致力于NMS與檢測模型的共同優化訓練。最近,Sparse R-CNN[48]和POTO(Prediction-aware OneTo-One)[49]顛覆性地提出了稀疏性目標檢測新結構,拋棄了常規的大量候選框提取和NMS過程,取得了較高的檢測精度,但尚未在工業界廣泛應用。
在水下圖像應用場景中,如果需要檢測密集的水下生物,比如魚群、珊瑚群,可以借助Soft-NMS方法得到更精確的結果。如果需要在廣闊海域中搜尋個別物體,比如水雷、潛艇,不需要大量的候選框提取過程,可以嘗試類似Sparse R-CNN的端到端新架構。此外,圖像預處理在推理過程中也至關重要,諸如圖像增強、超分辨率[50]等方法能改善水下圖像質量,以獲得更準確的結果。
隨著模型規模和參數量越來越大,深度神經網絡對于訓練數據的依賴也越高,為提升并驗證模型精度以及泛化性,建立大規模數據集至關重要。最常用的通用目標檢測數據集是PASCAL VOC(Pattern Analysis, Statical m odeling and Com putA tional Learning V isual Ob ject C lasses)[51]和MS COCO(M icroSoft Comm on Objects in COntext)[52],分別包含20類與80類常見目標,共計接近200 000張可見光圖像。基于這兩個數據集的目標檢測模型與訓練/推理算法研究常具備較好的泛化性,被廣泛應用于醫學圖像檢測、紅外目標檢測等具體應用場景[7]。不同的目標檢測應用任務的主要區別在于圖像風格差異,而檢測模型與算法類似。當訓練集和測試集圖像風格差異較大時(比如用可見光圖像訓練,在聲吶圖像上測試),模型檢測精度通常很低。
因此在水下可見光、聲吶圖像目標檢測應用中,首要任務是構建各自的大規模數據集,防止深度神經網絡訓練欠擬合或過擬合,同時便于不同的網絡模型進行精度對比。然后,再基于數據集及圖像的特性,對通用目標檢測模型與算法進行優化。
水下可見光圖像信息量較為豐富,在近距離的水下目標探測任務中具有突出優勢。然而,由于受水下特殊成像環境的限制,可見光圖像往往存在顏色失真、噪聲多、邊緣紋理模糊、可見度低等眾多問題,比通用目標檢測更具挑戰性。遵循第2節概括的檢測框架,本節從數據集發展、模型設計、訓練算法3個方面總結了水下可見光圖像目標檢測研究進展。
水下場景環境具備多樣性,在不同水域/海域采集的圖像具有不同的圖像質量與目標種類。為了面對不同類型的探測需求,研究者構建了種類繁多的水下數據集。表1按照3個部分歸納了目前一些可用于水下可見光圖像目標檢測的公開數據集,其中表示標注信息未公開,“-”表示未專門劃分測試集。
表1 可用于水下可見光圖像目標檢測的數據集
針對水下機器人自主抓取所需的感知探測技術,中國連續數年舉辦了全國水下機器人大賽[53](Underwater Robot Professional Contest, URPC),采集海參、海膽、扇貝、海星等近海底常見目標構建數據集。URPC2017存在大量相似或重復的圖像,精簡后的URPC2018常用于算法的對比,后續的版本在前一年的圖像庫中逐漸增加新圖像。美中不足的是,URPC的部分數據缺少海星標簽,容易出現錯誤或標簽缺失,并且測試集圖像的標注沒有公開。RUIE(Real-time Underwater Image Enhancement)[54]數據集構建了目標檢測子集,但是圖像數量不多。為了解決上述問題,UDD(Underwater open-sea farm object Detection Dataset)[55]收集了高清海底圖像并進行了精細的標注;UWD(Under-W ater Dataset)[56]收集了URPC及大量互聯網圖像,構建超過一萬張圖像的大型數據集進行模型訓練。DUO(Detecting Underwater Objects)[57]基于相關數據集進行收集和重新注釋,并公平比較了十余種通用目標檢測模型的效果,為后續研究提供了重要實驗數據支撐。
為了研究海洋生態與動物,Fish4Know ledge[58]構建了目前最大的海底魚類目標檢測數據集,包含23種不同的魚類以及密集、遮擋、模糊等干擾情況;Brackish數據集[59]擴充了水母、螃蟹等更多的海洋生物。為了研究海洋污染問題,Fulton等人[60]引入了塑料垃圾和人為目標兩種大類,與海洋生物進行區分;T rashCan數據集[61]將海底垃圾和海洋生物進行了更加細致的分類,并且對目標包含的像素點進行了標注。為了應對海底打撈與救助任務,海洋與機器人研究者標注了SUIM(Segmentation of Underwater IM agery)[62]水下圖像語義分割數據集。
還有一些用于其他視覺任務的水下圖像數據集,經過處理或轉換之后可以用于目標檢測。日本海洋地球科學技術廳提供了大型深海海洋生物分類數據集Kyutech10K[63],由于圖像中海洋生物清晰可辨,可以對包含的動物進行定位標注。用于水下圖像增強算法評估的UIEB(Underwater Image Enhancem ent Benchm ark)數據集[64],圖像可見度及分辨率高,也可以進行目標標注。MUED(M arine Underwater Environment Database)數據集[65]包含8 600張圖像上430個目標的顯著性像素點標注,將目標類別合并之后可以用于目標檢測訓練。UOT32[66]和UOT 100[67]是用于海底目標跟蹤的數據集,部分單目標視頻標注可以直接用于檢測模型訓練。
早期的大型水下可見光圖像目標檢測數據集較少,因此相關研究并不火熱。2017年前后,研究者[68—70]分別將當時最受歡迎的3種通用目標檢測模型(YOLO[15], SSD[14], Faster R-CNN[12])直接應用到魚類檢測,優于傳統算法。這說明當訓練數據和計算資源充足時,深度神經網絡也可以在水下目標檢測任務取得良好效果。隨著更多水下數據集的建立,越來越多的研究將通用模型運用到水下目標檢測,并不同程度地改進了骨干網絡、頸部模塊和檢測頭部。
YOLOv3模型[16]由于運行速度快且易于部署實現深受歡迎。Knausg?rd等人[71]利用SE(Squeezeand-Excitation)模塊改進了YOLOv3的骨干網絡,取得了更高的魚類檢測精度。葉趙兵等人[72]以YOLOv3-SPP骨干網絡為基礎,增加網絡預測尺度以提高URPC數據集[53]中小目標檢測性能,同時利用K-Means++聚類算法篩選最佳的錨框。張艷等人[73]基于通道注意力突出不同通道特征圖的顯著性,提高了骨干網絡對水下圖像高頻信息的提取能力,并且優化了頸部模塊多尺度特征融合過程,在URPC上取得了較大提升。
無錨框能夠避免人工預先設置錨框,通用性更強,可以改進水下目標漏檢問題。王蓉蓉等人[74]改進了CenterNet[34]的骨干網絡,降低了模型參數量以提升網絡推理速度,同時引入空間注意力和通道注意力,使骨干網絡和頸部模塊關注重要目標特征信息,在URPC上取得了良好效果。蔡達等人[75]設計了自適應加權融合特征金字塔優化FCOS[19]模型,實現多尺度空間特征選擇,同時借鑒了基于空間特征解耦的檢測頭部,實現了中心和邊界區域的特征選擇。
兩階段模型由于運行速度較慢,未被廣泛應用于水下可見光圖像目標檢測。為了改進此問題,喻明毫等人[76]設計了一種輕量級檢測器,首先使用高效卷積池化來獲取不同特征表達,然后在稠密連接結構的基礎上增加兩路稠密連接以提高網絡表征能力,在RUIE[54]和M arine Litter數據集[60]上實現了較高精度和速度的平衡。除此之外,Liang等人[77]借鑒了特征解耦、位置編碼和注意力機制優化Ro I特征,設計了一種通用的檢測頭部,在2階段和1階段檢測器中均實現了較大的精度提升。
盡管最近研究者構建了諸多水下可見光圖像數據集,它們離MS COCO的規模大小仍相去甚遠。因此許多工作在模型訓練過程中引入數據增強方法,充分挖掘模型擬合能力。早期的數據增強方法通常對單個圖像進行操作,Lin等人[78]研究了用于模擬重疊、遮擋和模糊對象的增強策略,提出了Ro IM ix方法,從不同圖像中提取的目標混合在一起創建新的訓練圖像。與此類似,史朋飛等人[79]設計了一種數據增強方法以模擬水下生物重疊、遮擋等顯示不完全的情形,增強了網絡模型魯棒性。除了直接針對圖像操作的數據增強方法,Li等人[80]提出了一種多任務訓練方法,引入自監督去模糊子網絡以獲得高質量圖像,同時設計了基于視角變換的改進空間變換網絡,自適應豐富網絡內的圖像特征。上述方法均在URPC上實現了精度提升。
正負樣本不平衡問題在水下應用中也十分嚴重,因此一些方法延用了重要樣本加權的思想。SW IPNET(Sam ple-W eIghted hyPEr NETwork)模型[81,82]引入了一種噪聲魯棒的訓練范式CMA,首先在每個訓練迭代中減少未檢測到的目標的損失權重,因為它們很可能是噪聲數據,然后在模型趨于收斂時增加難例正樣本的權重值,直至模型收斂。類似地,Boosting R-CNN模型[83]設計了多級RPN,并引入boosting reweighting難樣本挖掘方法,在RPN錯誤地計算了樣本的對象先驗概率時,增加樣本在檢測頭部的分類損失值,同時減少具有準確估計先驗的簡單樣本的損失,在水下數據集Brackish[59]和通用目標檢測數據集上均取得了性能提升。
可見光圖像僅在近距離水下探測時具有較高清晰度,在船舶海洋業應用中限制極大。成像聲吶能夠在低可見度條件下可靠運行,是目前最常用的水下探測手段。成像聲吶設備主要包括前視聲吶、側掃聲吶、合成孔徑聲吶、干涉合成孔徑聲吶等,其中前三者最為常用[1]。成像聲吶通常安裝在水下航行器或水面船只拖曳設備上,在行進過程中不斷發射和接收聲信號,根據回波信號成像。聲吶圖像的自主目標識別(Autonom ous Target Recognition,ATR)即目標檢測,對可疑目標進行定位并確定類別。海水介質的非均勻性會造成聲信號的衰減和畸變,同時各種漂浮物和顆粒都會增大聲波傳輸過程中的多徑效應[5],使得聲吶圖像目標檢測難度遠大于可見光圖像。隨著深度學習技術的成熟,越來越多的研究者借助深度神經網絡解決聲吶圖像目標檢測難題。本章從聲吶圖像特點與數據集發展、模型設計和訓練算法方面總結了前視、側掃、合成孔徑聲吶圖像目標檢測相關研究。
前視聲吶使用1個或多個波束對前方扇形區域進行掃描,需要擴大探測區域時通常轉動波束或增加波束數量。其優點是可以使用多個頻率的波束進行探測,能耗較低且尺寸較小,因此在民用和軍事領域中被廣泛應用;缺點是圖像分辨率低,扇形圖像包含的目標信息量少且對噪聲敏感,旁瓣干擾嚴重。
側掃聲吶基于目標物對入射聲波的反向散射原理,將回波數據逐行排列以生成圖像,能夠直觀地反映水下目標物形態。其優點是圖像分辨率高,左右聲吶生成的矩形圖像探測覆蓋面大,因此常被用于大面積海域的勘探、搜救、探雷等任務;缺點是圖像質量較低,難以從大圖上辨識小目標輪廓。
合成孔徑聲吶是將合成孔徑雷達原理推廣到水聲領域而形成的一種新型高分辨率水下成像聲吶[1],通過小孔基陣移動而在不同位置接受回波信號。其優點是圖像分辨率和精度高,相比于側掃聲吶減弱了探測距離對圖像質量的影響;缺點是數據處理量極大,對設備要求高,因此合成孔徑聲吶設備往往價格高昂。
由于前視聲吶使用成本較低,研究者多在仿真環境或小型試驗場地自采數據集進行算法驗證。Im age Gallery數據集[84]是由搭載在水下機器人上的前視聲吶采集而成的,共有1 500幅圖像,包含魚、鯊魚、沉船、管道、人等10類目標的位置標注。Singh等人[85]也使用此設備在室內模擬的海洋環境中捕獲了1868幅前視聲吶圖像,包含瓶子、罐頭、鏈條、掛鉤等11類海洋垃圾目標的像素點標注,可以用于檢測與分割模型訓練。盡管如此,1 000多張圖像的訓練集規模依然很小,易造成訓練欠擬合或過擬合問題。
側掃和合成孔徑聲吶圖像風格類似,因為難以在室內及小型試驗場地中進行采集,湖試海試成本高昂,同時涉及軍事保密問題,所以目前公開的數據集十分有限,現有的研究工作多在各自采集的非公開數據集上進行訓練和測試。Barngrover等人[86]提供了一些真實水雷的側掃聲吶圖像和合成圖像,用于自主目標識別算法的訓練。SeabedOb jects-KLSG數據集[87]用于側掃聲吶圖像分類任務,含有沉船殘骸圖像385張、溺水受害者36張、失事飛機62張、水雷129張、海底圖像578張,如需用于目標檢測模型訓練,還需在原始聲吶圖像上進行矩形位置標注。最近,聲吶常見目標檢測數據集(Sonar Common Target Detection dataset, SCTD)[88]收集了497張分辨率較高的圖像,包含水下沉船、失事飛機殘骸、遇難者3類典型目標的位置標注,共計596個樣本。這些樣本以側掃聲吶圖像為主,還包含了一些合成孔徑聲吶圖像、干涉合成孔徑聲吶圖像、前視聲吶圖像。雖然SCTD 1.0圖像數量較少,但它填補了開源的側掃、合成孔徑聲吶圖像目標檢測數據集的空白。
基于深度學習的聲吶圖像目標檢測模型設計大致可分為3類:特征提取與分類模型、通用目標檢測模型、語義分割模型。
早期訓練數據相對匱乏時,研究者通常采用傳統方法和深度學習相結合的思路設計目標檢測算法,以借鑒深度學習模型提取圖像特征的優勢。2016年左右CNN被應用到前視聲吶目標識別任務中[89]。在此基礎上,Valdenegro-Toro[90]使用共享CNN提取的128維圖像特征向量進行邊界框和類標簽的訓練,與R-CNN[11]類似采用SVM作為分類器,分為多個步驟實現目標檢測。Palomeras等人[91]采用CNN提取聲吶圖像特征,將檢測器、分類器與概率網格圖相結合,通過概率圖過濾誤報信息并與檢測結果相組合,極大限度地提高了算法檢測精度。Zhou等人[92]首先采用FCM和K-m eans聚類方法對聲吶圖像進行全局聚類,以獲得更多的Ro I,然后使用CNN提取特征,經過非線性變換器和Fisher判別器得到分類結果。該方法的檢測精度和實時性較好,不亞于一些深度學習方法。
將CNN用于側掃、合成孔徑聲吶圖像切片分類也可實現定位效果。Gebhard t等人[93]采用CNN提取側掃聲吶海底圖像中水雷的特征并進行分類,Hoang 等人[94]借助DenseNet[23]識別合成孔徑聲吶圖像中的未爆炸彈藥。由于側掃聲吶探測面積廣,目標只占據圖像中極小部分,因此他們將原始圖像切片逐一分類,可以得到粗略的定位結果。雖然此類方法得到的定位框并不能緊密包含目標,但相較于高分辨率的海底聲吶圖像,此定位誤差可以忽略不計。
隨著端到端模型訓練的成熟,許多研究將通用目標檢測模型應用到水下檢測任務。相比于較易采集的水下可見光圖像,3種聲吶圖像均缺少大型開源數據集,深度神經網絡易在小規模數據集上訓練會產生參數冗余和過擬合的問題,這極大限制了聲吶圖像目標檢測的應用研究。因此,許多工作使用輕量化設計的骨干網絡緩解此問題,其中YOLO系列模型[15—17]被頻繁采用。
對于前視聲吶圖像,Fan等人[95]利用殘差模塊構建了32層骨干網絡,取代了Mask R-CNN[13]中的Resnet50/101,在保證檢測性能的同時大幅減少了網絡的訓練參數,這對實時性和嵌入式部署具有重要意義。類似地,Fan等人[96]對YOLOv4[17]中的骨干網絡進行改進,以減少模型參數和網絡深度;同時,他們借鑒了自適應空間特征融合模塊(ASFF)優化了頸部模塊PAFPN,以獲得更好的特征融合效果。Zhang等人[97]也優化了YOLOv5骨干網絡以提高檢測速度。最近,Zhu等人[98]結合了Sw in T ransformer[26]和DCN[24]設計了骨干網絡和檢測頭部,構建了一種無錨框檢測模型STAFNet,在自采前視聲吶數據集上對受害者、船只、飛機3類目標達到了優越的檢測性能,領先于YOLOv5,Faster R-CNN,FCOS等經典模型。
對于側掃、合成孔徑聲吶圖像,W ang和Li等人[99,100]直接將YOLOv3應用于該任務即可實現較好的檢測效果。陳禹蒲等人[101]改進了YOLOv3模型檢測頭部的采樣過程,設計了一種超參數錨框映射關系對聚類后的錨框進行拉伸變換,改進了檢測精度。雖然他們耗時數月采集了26 689張側掃聲吶圖像,但由于大量區域是海底背景,最終符合要求的圖像僅有237張,由此可見側掃聲吶數據的采集成本極高。為了應對側掃圖像目標稀疏和特征貧乏的特點,Yu等人[102]將T ransformer[20]的自注意力機制引入到YOLOv5s的骨干網絡和頸部模塊,提高模型在全局圖像中檢測小目標的能力。Fu等人[103]也采用了空間和通道注意力模塊來改善YOLOv5的頸部模塊。李寶奇等人[104]設計了一種可擴張、可選擇的輕量化CNN,改進了SSD[14]的骨干網絡,在中國科學院聲學研究所采集的高頻合成孔徑聲吶圖像數據上取得了優越的檢測效果。Zhang等人[105]提出了一種具有靈活搜索空間和內存高效的可差分結構搜索算法(FL-DARTS),自動設計輕量CNN處理雷達或聲吶圖像,在SCTD1.0和合成孔徑雷達船舶檢測數據集SSDD[106]上實現了良好的性能。
此外,基于語義分割的深度學習模型也可以用于聲吶目標檢測。W u 等人[107]設計編碼器-解碼器結構對側掃聲吶圖像進行像素級分類,連續大面積的前景類別像素點構成目標。MB-CEDN模型[108]設計多分支網絡,通過級聯的方式細化合成孔徑聲吶圖像分割結果。然而此類方法容易受到海底地形的影響,降低小目標檢測精度,在實際應用中性能可能不佳。
為緩解聲吶圖像數據不足、樣本不均衡等問題,許多工作采用遷移學習或圖像生成等方法,隱式或者顯式地擴充訓練數據。
Fuchs等人[109]預先使用來自不同領域的數據訓練網絡模型,以學習通用特征,再通過遷移學習的方法將模型應用到前視聲吶數據上。Lee等人[110]采用CNN設計了一種端到端的前視聲吶圖像合成方法,通過風格轉換使仿真數據逼近真實數據,然后使用從水箱和海水中獲得的真實水下聲吶圖像測試仿真圖像。Lou等人[111]借鑒了顯著性特征可視化方法和生成對抗網絡(Generative Adversarial Networks, GAN)[112]學習光學圖像和聲吶圖像之間的轉換關系,來解決目標檢測CNN欠擬合的問題。然而使用模擬生成的前視聲吶圖像訓練的模型并未在實際場景中得到驗證。Jegorova等人[113]基于Pix2Pix[112]引入了一種馬爾可夫策略,旨在真實模擬聲傳感器、物體高度和環境因素的特定偽影,定量評估結果表明生成的圖像與真實數據幾乎沒有區別。凡志邈等人[114]借鑒了合成孔徑雷達圖像轉換思路,基于CycleGAN[115]實現光學圖像到合成孔徑聲吶圖像的風格遷移,利用生成圖像訓練的Mask R-CNN[13]能夠在真實環境中良好應用。
遷移學習和圖像生成方法也可結合使用。盛子旗等人[116]首先根據側掃聲吶成像機理建立水雷目標的仿真模型進行樣本生成,然后采用開源數據集Im ageNet[4]對深度卷積神經網絡進行預訓練,再分別用仿真和真實水雷樣本對骨干網絡進行微調,最后,將骨干網絡嵌入Faster R-CNN, YOLOv3等目標檢測模型,使用真實水雷樣本進行訓練。該方法分3步實現整個訓練過程,大幅提高了模型檢測精度。
水下圖像目標檢測技術在工業及軍事應用中有著巨大的發展前景,受到越來越多研究者的關注。近年來隨著深度學習的發展,該領域取得了較大突破,但仍存在一些問題,總結如下:
(1)水下復雜多變的環境使得圖像信息易衰減失真,目標檢測難度高。近幾年基于深度學習的通用目標檢測算法在骨干網絡、頸部模塊、檢測頭部、訓練算法、推理策略方面均取得了眾多研究成果。然而水下圖像目標檢測研究相對滯后,許多工作僅將數年前的深度學習模型稍加改動進行簡單應用,對于該領域的特點和困難進行針對性的研究較少,比如在水下可見光圖像中目標極易發生密集、遮擋、模糊等情況,在水下聲吶圖像中目標具有分布稀疏、特征匱乏等特點。
(2)水下可見光圖像目標檢測數據集眾多,然而大部分數據集只包含少量類別的水下目標,一味地擴充圖像數量并不能增加深度學習模型在更多類別目標中的通用性。同時,眾多的數據集使得不同算法模型之間的公平對比存在困難。
(3)水下聲吶圖像由于采集成本高昂、涉及軍事秘密等原因,公開數據集較少,限制了深度學習模型的應用。遷移學習、數據增強、圖像生成等訓練方法能夠在一定程度上改善數據量不足的問題。現有研究工作的訓練集和測試集規模小,雖然取得了良好的推理精度,但模型的泛化能力未能驗證。
結合深度學習最新研究,對水下圖像目標檢測的未來研究做出如下展望:
(1)大規模數據集構建與T ransform er模型研究。通過大規模數據訓練的深度學習模型具有更好的精度和泛化性,因此構建大規模的水下可見光圖像和聲吶圖像目標檢測數據集是未來重要的發展方向。此外,CNN在處理圖像數據中更關注局部信息,注重空間上的緊密元素,限制了數據集規模的上限。T ransform er模型關注圖像全局信息,計算復雜度更低,還能避免深層特征過度平滑,在大規模數據集上表現出更優越的性能。
(2)基于圖像修復與目標檢測的多任務模型研究。為了應對水下可見光圖像模糊、聲吶圖像失真等問題,一些工作采用圖像預處理方法[1,9],但效果并不突出。深度學習領域中的多任務學習可以令一個網絡同時學習多項任務,旨在不同任務之間能夠協同優化,實現“1+1>2”。因此,將圖像修復和目標檢測作為子任務,設計端到端的多任務網絡模型,可以更好地應對圖像信息受損的問題。
(3)小樣本學習相關訓練算法研究。水下聲吶圖像數據量少,用于訓練深度學習模型屬于小樣本學習任務。同時已有數據可能存在標注缺失、類別不明確、標注錯誤等問題。除了人工擴充數據與標注,研究數據增強、無監督、弱監督、半監督等訓練算法,可以充分利用已有的少量聲吶圖像數據提高目標檢測模型精度,也是重要的研究方向之一。
(4)多模態融合算法研究。多模態學習即是從多個模態表達或感知事物,比如通過兩種不同成像原理的設備采集的數據進行協同與融合分析。未來在水下探測任務中,可以同時使用可見光相機、前視聲吶、側掃聲吶采集圖像數據,研究多模態數據特征之間的關聯關系,有助于提高數據的利用率,構建魯棒的算法系統。