董金耐,楊 淼,謝卓冉,蔡立鵬
(江蘇海洋大學電子工程學院,江蘇 連云港 222005)
近年來,水下目標檢測技術的應用越來越廣泛,例如在水下生態監測、水下管道檢修、沉船捕撈等任務中。對于水下目標檢測的方式主要有高清視像、側掃聲吶、合成孔徑、多波束、前視聲吶和磁梯度儀等方法[1]。基于光學圖像的檢測方式分辨率較高、靈活性好,在近距離的水下目標檢測任務中具有顯著優勢。與自然環境下的目標檢測不同,水下圖像的成像與水體對不同波長光的吸收和衰減、目標距離和光源的光譜分布相關[2]。由于藍色波長較短且傳播距離長,因此,水下圖像呈現藍綠色。人工光源的使用可以增加水下可視距離,但同時也會導致圖像上亮斑存在,而且使用人工光源會導致水下懸浮物散射更加嚴重。因此,水下圖像存在以下特點:低對比度、非均勻光照、模糊、亮斑和各種復雜因素導致的高噪聲[3]。且由于水下環境復雜,水下圖像難以獲取,水下數據集相對自然環境下的數據集少。水下生物目標小且分布密集,存在重疊遮擋現象。現有的目標檢測算法在復雜的水下環境下的精確度有限[4],因此,水下目標檢測任務面臨諸多挑戰,如何在復雜的水下環境中,精準快速地檢測到目標是急需解決的問題。
近年來,國內外研究人員對基于光學圖像的水下目標探測關鍵技術進行了大量研究,水下目標檢測技術取得了快速發展,一些研究人員對檢測中的關鍵技術進行了總結。YANG M 等[5]對一系列水下的圖像增強及復原的算法進行了系統歸納,對水下場景的代表性方法進行了詳細的客觀評價和分析,HAN M 等[6]總結了水下圖像智能去霧和色彩還原算法,LIU R 等[7]對一系列水下圖像增強算法綜述。林森等[8]總結了水下光學目標探測中的關鍵技術,但沒有對數據集進行分析,目前仍缺少針對水下目標檢測數據集分析,以及針對水下目標檢測難點的算法總結。本文針對水下目標檢測存在的難點問題對水下目標檢測算法進行了總結;總結了現有的水下圖像目標檢測數據集,并對具有代表性的數據集進行分析;總結了近五年來國內外研究人員的在水下目標檢測上的研究進展;應用Faster RCNN(Region Convolutional Neural Networks) 和YOLOV3(You Only Look Once)為基本型,結合數據增強、圖像增強、高分辨率網絡等可以提升目標檢測性能的方法,比較了每種增強方法相較于基本型性能的提升;討論了水下目標檢測技術的進一步的發展方向。
對于目標檢測算法尤其是基于深度學習的目標檢測算法,需要大量的數據進行訓練,但由于水下環境復雜,水下圖像難以獲取,所以目前沒有較為完整的公開的大型水下圖像目標檢測數據集,現有的水下目標檢測數據集存在目標單一、類別分組較少等一系列問題,本節總結了學者們在水下光學目標檢測算法研究中公開采用的數據集,共包括10個數據集,對數據集的總結如表1 所示,并給出了下載鏈接。對其中具有代表性的3 個水下目標檢測數據集進行詳細分析。

表1 水下目標檢測數據集總結表
對于魚類檢測和物種分類,最常用的是Fish4Knowledge[9]數據集,該數據集包括數據集A[10]和數據集B[11]兩部分,數據集A 包含23 種魚類的27 370 張圖像。數據集B 克羅地亞魚類數據集包含12 種魚類的794 幅圖像,分辨率為1 280 × 960,包含帶邊界框的帶注釋的真值(Ground Truth,GT)和物種名稱。數據集部分示例如圖1 所示。

圖1 Fish4Knowledge 數據集示例
Lifeclef 數據集包含Fishclef2014[12]數據集、Fishclef 2015[13]數據集、Seaclef2016[14]數據集3 個魚類數據集,Fishclef2014 數據集數據來源是Fish4knowledge 水下數據集,Fishclef2014 數據集中訓練集包含285 個視頻,19 868 個魚類注釋,包含10 種魚的類別。Fishclef2015 數據集訓練數據集包括20個手動標注的視頻,共15 種魚的類別,共包含9 162 個標注,數據集部分示例如圖2 所示。Seaclef 2016 數據集基于2014Fishclef 和2015Fishclef 數據集,在兩個數據集的基礎上增加了鯨魚、海豚、海床、珊瑚等目標,訓練集包含20 個低分辨率視頻和20 000 多張樣本圖像。5 個視頻的分辨率是640×480,其余15 個視頻的分辨率是320×240。J?GER J 等[15]對Seaclef2016 數據集進行了標注。

圖2 Fishclef2015 數據集示例
Wild Fish Marker[16]數據集是在2015 年提出的,數據來源是美國國家海洋和大氣管理局(National Oceanic and Atmospheric Administration,NOAA) 數據集,該數據集包括魚類、無脊椎動物和海床的圖像,訓練集由929 個圖像文件組成,其中包含1 005 個帶相關標注的標記魚。數據集部分示例如圖3 所示。

圖3 Wild Fish Marker 數據集示例
在海洋生物檢測中不僅僅是對魚類感興趣,另一個關鍵領域是監測底棲生物,如扇貝和珊瑚。HabCam 數據集[17-18]包含250 萬張帶注釋的圖片,主要是扇貝,也有魚類和海星。2018 年和2019 年“用于環境監測的海洋視頻自動化分析”研討會中發布了MOUSS(Modular Optical Underwater Survey System) 數據集、MBARI(Monterey Bay Aquarium Research Institute)水下數據集,這些數據集都包含目標的注釋,注釋用Bounding box 或者關鍵點標出。MOUSS 數據集包含159 副包含注釋的魚類圖像,MBARI 水下數據集包含666 副魚類圖像。
Brackish 數據集[19]于丹麥北部的海峽中拍攝,包含魚類、螃蟹和其他海洋生物,目標的位置用邊界框進行注釋,有14 518 個圖像,包含6 個類別的28 518 個標注信息,數據集部分如圖4 所示。

圖4 Brackish 數據集部分示例
URPC2021 數據集[20]是真實海底環境下拍攝的,包含海膽、海參、海星、扇貝4 種生物,共有7 600張訓練圖像和2 400 張測試圖像,數據集部分數據如圖5 所示。檢測水下目標數據集DUO[21]為URPC挑戰賽多年數據集的整合,對其中重復數據進行刪除,訓練集并且對有誤的標簽進行了重新標注。

圖5 URPC2021 數據集部分示例
數據集是訓練及提升目標算法精度的關鍵,水下目標檢測相較于自然環境中的目標檢測難度更大。由于水下特殊的成像方式,水下圖像質量的退化嚴重影響目標檢測的性能。圖6 是真實水下圖像數據集示例,水下圖像由于水質色彩顏色不同,且水下圖像對比度較低,背景與目標界限不明顯,難以區分,如圖6(a)所示。水下目標分布較為密集,不同目標之間重疊情況嚴重,如圖6(b)所示。同一種魚,由于魚的姿態發生變化,導致難以識別,如圖6(c)所示。

圖6 水下數據集特征示例
現有的水下數據集中,目標的尺寸大小不一,而且目標的樣本數量不均衡,不同種類的水下目標數據量差別大,容易導致某一種類識別效果好,另一種識別效果特別差。如圖7 所示,在URPC2021數據集中,海膽的數量占比48.3%,其他目標占比較少。Brackish 數據集中螃蟹、小魚和海星的數量占比遠遠超過其他3 種。在2015Fishclef 數據集中,網紋宅泥魚的數量比其他14 種數量多。數量的不均衡會導致模型對其中數量較多的種類訓練效果好,其他數量少的樣本效果差。

圖7 水下數據集各目標數量占比餅狀圖
在MS COCO 挑戰賽中,絕對尺寸大小的定義為:目標面積像素小于322時定義為小目標,大于322小于962時為中等目標,大于962時定義為大目標。我們對小目標尺寸的定義與COCO 數據集一致,對3 個數據集的目標面積統計如圖8 所示,在Brackish 和2015Fishclef 數據集中都是小目標,在URPC2021 數據集中小目標占比達到7.9%,小目標的存在導致目標檢測效果不佳。

圖8 水下數據集各目標數量占比餅狀圖
評價目標檢測算法的指標主要有交并比(Intersection over Union,IOU)、檢測速度(Frame Per Second,FPS)、準確度(Precision)、召回率(Recall)、平均精確度均值(Mean Average Precision,MAP)[22]。交并比是指預測框與真值的交集與并集之比,目的是計算預測框和真實框偏離程度,預測框越接近于真實框,IOU 越接近于1。檢測速度是指畫面每秒處理幀數,FPS 是一個衡量算法檢測速度的重要指標。準確度指的是識別為正確識別為正例的數量占所有被識別為正例的比例。在目標檢測中MAP 是最直觀的描述模型的性能的體現,MAP 值越高,表現為模型的精度越高。召回率也是評價目標檢測性能的主要標準,召回率是指被正確預測為正例的數量占所有正例樣本的比例,召回率越高,表明模型正確預測的正例越高。
從1998 年提出目標檢測算法以來,產生了大量的基于手工設計特征的傳統的目標檢測算法。基于傳統特征的水下目標檢測與識別算法是手工設計目標特征,這些特征通常是低層圖像特征描述符,對于特征明顯的目標能夠很好地識別。FATAN M等[23]利用Canny 邊緣檢測法和Hough 變換檢測水下線纜,但計算量較大且無法提供直線的完整信息。SUSANTO T 等[24]使用顏色特征對水下目標進行檢測,實驗結果表明當照明條件不足或者過亮時,檢測效果差。CHENG E 等[25]采用灰度共生矩陣提取水下模糊圖像的紋理細節信息。雖然灰度共生矩陣能夠很好地提取圖像的紋理特征,但也存在計算量大、耗時較長的缺點。由于單一特征難以對目標進行完整描述,STRACHAN N J C 等[26]使用顏色和形狀特征識別傳送帶上的魚類。SPAMPINATO C 等[27]利用顏色特征和紋理特征進行檢測。由于水下生物多樣性,基于傳統特征的目標檢測算法沒有針對性,而且需要人為設計目標特征,難以滿足對復雜水下環境下檢測的需求。
卷積神經網絡發展于2012 年,隨著圖形處理器(Graphic Processing Unit,GPU)算力的提升,近年來逐漸成熟。由于深度學習的目標檢測算法提取特征魯棒性強,檢測實時性好,相較于傳統的目標檢測算法精度和速度都有了較大的提升。基于深度學習的目標檢測技術,在網絡結構上可以分為一階段框架和兩階段框架。兩階段框架的第一級網絡用于候選區域提取,第二級網絡對提取的候選區域進行分類和精確坐標回歸,兩階段網絡包括R-CNN[28]、Fast RCNN[29]、Faster RCNN[30]等。一階段網絡的方法摒棄了候選區域提取這個步驟,只用一級網絡就完成了分類和回歸兩個任務,一階段網絡包括YOLO[31]、SSD(Single Shot MultiBox Detector)[32]等系列框架。LI X 等[33]將Fast RCNN[29]應用于水下,在Lifeclef 數據集上進行訓練和測試,相對于先前的R-CNN[28]網絡MAP 提升了11.2%,且檢測速度超越了先前的R-CNN。之后LI X 等[34]又將Faster RCNN 應用于水下目標檢測,性能超過Fast RCNN。ZHANG J 等[35]利用多尺度特征結合的SSD 算法對水下目標進行檢測,同時引入了注意力機制,在URPC 數據集上訓練和測試,使小目標的檢測性能顯著提升。SUNG M 等[36]將YOLO 應用于水下目標檢測,并在NOAA 水下數據集上對該方法進行訓練和測試,分類準確率為93%。CAI K 等[37]和YANG H等[38]將改進的YOLOV3 應用于水下目標檢測中,進一步提高了目標檢測精度和速度。CHEN L 等[39]將改進的YOLOV4 檢測網絡應用于水下,IOU 閾值大于0.5 的平均精確率AP50 相較于基礎模型提升了0.11。
目前的水下目標檢測算法主要針對3 個方面展開研究:①數據集數量少。②圖像質量差導致識別效果差的問題。③水下目標遮擋、小尺寸等問題。研究人員提出的算法的總結在表2 中展示。

表2 基于深度學習水下目標檢測算法總結
針對水下目標檢測數據集的圖像數量少的問題,LIU H 等[40]提出了水背景轉換(Water Quality Transfer,WQT)的方法,原理是將一種目標轉換到八種不同的背景下,增加了水下數據集的大小,且提升了目標檢測算法在不同水下環境的檢測性能。YEH C H 等[41]利用隨機剪切裁剪的方式對水下圖像進行數據增強,從一幅有目標的水下圖像中提取出目標,對目標進行尺度、顏色調整,然后隨機粘貼到新的水下背景中生成新的圖像。CHEN L等[39]提出了e-mosaic 數據增強的方式,原理是對4 幅水下圖像進行拼接生成新的訓練圖像,AP50 相較于未使用增強的模型提升了0.05。上述方法增加了數據集的圖像的數量,解決了水下數據量少的問題。ZENG L 等[42]將遮擋網絡與Faster RCNN 結合,檢測網絡與遮擋網絡相互對抗,以獲得更好的目標檢測魯棒性,在水下數據集上MAP 提升了0.04。
針對水下圖像質量差的問題,CHEN W 等[43]對水下圖像進行增強,采用了多種增強方法,對比度限制自適應直方圖均衡(Contrast Limited Adaptive Histogram Equalization,CLAHE)、IAAEmboss、I AASharpen、Random Brightness Contrast,多種增強方法的使用相較于基本模型MAP 提升了0.3。YANG M 等[44]提出了一種新的水下圖像恢復模型,以提高邊緣細節的清晰度和輸出圖像的色彩豐富度,水下目標檢測效果提升。
針對水下目標遮擋、小尺寸等特點,PAN T S等[45]提出了多尺度的目標檢測算法M-ResNet,在預處理階段,采用了生成對抗網絡(Generative Adversarial Network,GAN)進行增強的方法,對檢測網絡選擇3 個尺度特征圖,并且在每個尺度中的每個網格設置3 種比例的anchor,實驗結果表明在小目標檢測的效果表現好,但是對于一些微小的及隱藏的目標檢測效果一般。LIN W H 等[46]提出的ROIMIX方法模擬目標的重疊現象,利用RPN(Region Proposal Network) 網絡從不同圖片中生成建議框,將兩個建議框按照比例進行融合,創建新的增強樣本進行訓練,該增強方法提高了目標檢測網絡對于重疊目標的檢測性能。CHEN L 等[47]提出一個名為SWIPENet 神經網絡,它充分利用了多個Hyper Feature Maps 來改善小物體檢測。PENG F 等[48]提出了S-FPN(Shortcut Feature Pyramid Network),通過在傳統的特征金字塔網絡中加入一些基于殘差學習的快捷連接路徑,卷積網絡的底層空間位置特征和上層語義特征可以相互補充,彌補了多次操作后丟失的信息,從而提高檢測性能。
本節基于Faster RCNN 兩階段和YOLOV3 單階段目標檢測網絡,在URPC2021 數據集上進行訓練和測試,對比了馬賽克增強方法、圖像增強方法、高分辨網絡方法,比較了每種方法相較于基本型MAP的提升。本實驗平臺的操作系統為Ubuntu18.04、CUDA 11.0、CUDNN 8.0.3,硬件為Intel Core i7-11700 CPU (2.5 GHz)、顯卡為Nvidia GeForce RTX 3080ti(12 GB 顯存)、32 GB 內存。
本實驗采用的數據集為URPC2021 數據集,該數據集共包含7 600 幅帶有標簽的水下圖像,共包含海膽、海參、海星和扇貝4 種目標。本實驗按照8 ∶2 的比例隨機將數據集進行劃分,80%用作訓練,20%用作測試。設置迭代次數為20 個epoch,初始學習率為0.001,分別在迭代10 次、15 次時下降學習率,評價指標為MAP(0.5 ∶0.05 ∶0.95) 和召回率AR。實驗結果如表3 所示。

表3 水下目標檢測算法實驗結果對比
本實驗采用了單階段目標檢測網絡YOLOV3 和雙階段目標檢測網絡Faster RCNN 兩種網絡模型,檢測效果如圖9 所示。Faster RCNN 直接用于檢測時MAP 為0.429,單階段目標檢測網絡YOLOV3 直接應用于檢測時MAP 為0.399,雙階段目標檢測網絡由于存在候選特征提取部分,檢測效果優于單階段目標檢測網絡,但是檢測速度低于單階段目標檢測網絡。YOLOV3 為了檢測小目標,在3 個不同尺寸的特征圖上進行預測,YOLOV3 在小目標的檢測效果APS 值相較于Faster RCNN 提高了0.011。本文采用的圖像增強方法為色彩補償、色彩校正和伽馬校正,采用圖像增強的Faster RCNN 算法MAP 相較于基礎模型降低了0.004,采用圖像增強的YOLOV3 算法MAP 相較于基礎模型降低了0.023,分析其原因,首先在URPC 數據集訓練圖片中存在一定的標注噪聲。在原始數據集中,由于背景與目標界限不明顯,存在未標注、誤標注的情況,如圖10(a)紅色框所示,在增強之后目標界限明顯,目標檢測網絡檢測出目標,但標注信息中不存在,如圖10(c)所示。數據集標注有噪聲,導致MAP 下降。其次考慮到圖像增強可能會導致目標細節信息丟失,導致檢測效果不佳。Faster RCNN 和高分辨率網絡算法結合相較于基本模型提升了0.009,YOLOV3 結合高分辨率網絡的算法相較于基本模型提升了0.004,同時提升了檢測的召回率,提高了檢測到的目標數量。高分辨率網絡結合了多種尺度的特征圖,能夠較好地對多種尺度的目標進行特征提取,所以MAP 提升較為明顯,尤其是小目標,Faster RCNN 結合高分辨網絡的APS 提升了0.016,YOLOV3 結合高分辨網絡的APS 也提升了0.016,達到了0.199,為幾種算法中小目標檢測效果最好的。在Faster RCNN 基礎上增加mosaic 增強的方法,該數據增強方法是在YOLOV4 中提出來的,是將4 幅圖像進行隨機縮放、隨機裁剪、隨機排布的方式進行拼接。該方法對小目標檢測有提升,但對于中等目標和大目標檢測效果不佳。

圖9 水下目標檢測網絡檢測效果對比

圖10 水下數據集噪聲數據示例
水下目標檢測技術對于海洋信息探索中具有重要的意義,受到越來越多學者的關注,通過對國內外水下目標檢測算法的調研總結,雖然基于光學圖像的水下目標探測關鍵技術取得了許多研究成果,但仍存在一些問題需要進一步探討,可以從以下幾個方面入手。
(1)生成大規模的水下數據集
自然環境下的目標檢測算法發展迅速,一些在自然環境下的解決思路可以應用于水下環境中解決水下目標檢測過程的問題。例如在解決數據集數量較少的問題時,傳統的目標檢測技術通常都需要大量的樣本,并且需要大量的時間訓練,促進了少樣本學習的發展,研究人員開發出零樣本學習(Zeroshot Learning)、一樣本學習(One-shot Learning)、少樣本學習(Few-shot Learning)[49-54],FAN Q 等[55]將少樣本學習應用于自然環境中的目標檢測過程中,結合注意力機制和多關系檢測器,并在FSOD 自然環境下的數據集上進行驗證,最優的檢測效果相較于基本模型AP50 提升了0.125,效果提升明顯。水下目標檢測用數據集存在樣本數量較少的問題,可以將少樣本學習應用于水下,提升水下目標檢測算法性能。由于數據量較少,可以利用GAN 網絡生成仿真的數據集[56],提升模型的魯棒性,但是實驗表明,利用GAN 網絡進行數據增強,只有在數據量特別少的情況下,對目標檢測性能有提升,對于大部分目標檢測任務,提升不大甚至降低了目標檢測性能。
(2)進一步研究深度學習網絡
基于傳統的水下目標檢測技術泛化能力差,更換檢測目標時,需要重新設計特征,難以進行突破,基于深度學習的目標檢測技術可以大大提升目標檢測的性能,但深度學習算法可解釋性差,在預處理過程中,發現一些基于深度學習的水下圖像復原或增強技術,增強效果可視性較好,或者評價指標較高,但是對于目標檢測性能并沒有提升甚至對性能有所影響。在這方面還需進一步研究,例如研究針對目標檢測性能提升的圖像增強技術,以及對無監督算法、自監督算法和動態神經網絡的研究。在基于深度學習的目標檢測算法中,算法對于訓練集類似的環境中檢測效果好,但是在不同失真類型環境下檢測效果差,如何學習生物視覺的處理方式,學習人類的思考方式,也是一個可以考慮的提升目標檢測性能的方向。
(3)將自然環境中的目標檢測技術應用到水下
自然環境下的目標檢測技術發展迅速,目前較為先進的自然環境中的目標檢測算法,例如基于Tranformer 的DETR[57]、Cascade RCNN[58]、YOLOF[59]、Varifocalnet[60]等目標檢測網絡,如何克服水下環境的局限,將自然環境下的目標檢測算法遷移到水下,并且能夠滿足實時檢測的需求,對于水下目標檢測技術的發展具有重要的意義,這是我們以后的工作。