楊謝柳,門國文,梁文峰,王 丹,謝正義,范慧杰
(1.沈陽建筑大學 機械工程學院,沈陽 110168;2.中國科學院沈陽自動化研究所 機器人學國家重點實驗室,沈陽 110016)
近年來,隨著人口的不斷增加,陸地資源日漸緊缺,擁有豐富礦產、生物等資源的海洋成為各國開發的重點。由于水下環境的特殊性,人類無法長時間水下作業,因此水下機器人成為完成水下任務的主要工具。借助視覺方法自動感知水下環境、判斷目標位置和類別等信息,是水下機器人自動完成水下任務的一種重要途徑。隨著深度學習的快速發展,基于深度學習的目標檢測方法因其速度快、精度高而被廣泛應用于水下機器人。
水及水中的懸浮顆粒會對光線產生吸收和散射作用,且吸收和散射程度因波長而異,使得水下可見光圖像往往存在顏色失真、模糊、對比度低、信噪比小等問題。為恢復顏色正常且清晰的水下圖像,大量的水下圖像增強復原方法被提出。水下圖像增強復原方法雖然能夠改善圖像視覺質量、提高局部特征點匹配、輪廓檢測等低層次視覺任務的精度[1-3],但是對目標檢測和識別等高層次視覺任務的影響并不明確。因此,研究水下圖像增強復原方法對基于深度學習的水下目標檢測精度的影響是非常必要的。
本文使用10 種傳統的和4 種基于深度學習的水下圖像增強復原方法對數據集進行處理,利用3 種典型的基于深度學習的目標檢測方法(YOLOv5、SSD 和Faster R-CNN)進行目標檢測,在水下機器人采摘大 賽(Underwater Robotic Picking Contest,URPC)2018 和URPC2019 數據集上進行單域和混合域實驗,探討當訓練集和測試集均屬同一數據集時水下圖像增強復原方法對深度學習目標檢測精度影響。通過自建數據集進行測試實驗,分析跨數據集檢測時水下圖像增強復原方法對深度學習目標檢測精度的影響。
目前,提升水下圖像質量的方法可分為基于水下光學成像模型的圖像復原方法和與光學成像模型無關的圖像增強方法2 類。圖像復原方法通過逆向求解水下光學成像模型參數來獲得清晰圖像,而圖像增強方法通過調整圖像像素值來提高圖像視覺質量。
在水下圖像復原方面,為實現水下光學成像模型的逆向求解,許多先驗假設已被提出,常用的有暗通道先驗(Dark Channel Prior,DCP)[4]、紅通道先驗(Red Channel Prior,RCP,)[5]、水下暗通道先驗(Underwater Dark Channel Prior,UDCP)[6]、水下光衰減先驗(Underwater Light Attenuation Prior,ULAP)[7]、模糊先驗(Blurriness Prior,BP)[8]、最大強度先驗(Maximum Intensities Prior,MIP)[9]、圖像模糊與光吸收(Image Blurriness and Light Absorption,IBLA)先驗[10]等。隨著深度學習的不斷發展,卷積神經網絡也逐漸被用于水下圖像復原,包括利用卷積神經網絡實現深度圖的提取[11]、背景光估計及端到端的水下圖像復原[12-13]等。
在水下圖像增強方面,白平衡方法經常被用于水下圖像的色彩校正[14-15],直方圖拉伸常被用于改善水下圖像的視覺效果[16-17],通過在頻域內增強高頻信號抑制低頻信號也可提升水下圖像的視覺效果[18-19]。深度學習在水下圖像增強方面也逐漸得到應用,主要可分為基于卷積神經網絡的增強方法[20-21]和基于生成對抗網絡的增強方法[2,22-24]。
傳統的水下圖像增強復原方法原理簡單易于實現,但容易產生人工噪聲、過度增強等問題。基于深度學習的圖像增強復原方法能夠從大量數據中自動學習水下圖像與增強圖像之間的映射關系,但是理想圖像缺失是基于深度學習的水下圖像增強復原方法面臨的主要困難。
根據是否有區域候選框生成網絡,基于卷積神經網絡的目標檢測模型可分為兩階段目標檢測模型和單階段目標檢測模型。目前,典型的兩階段目標檢測模 型主要有R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN、FPN、Mask R-CNN 等,單階段目標檢測模型主要有YOLO 系列、SSD、RetinaNet、RefineDet等。其中,R-CNN、Fast R-CNN、Faster R-CNN、YOLO系列、RetinaNet 等已被用于水下目標的檢測[25-27]。兩階段目標檢測模型的檢測精度更高,一階段目標檢測模型的檢測速度更快,但YANG 等[27]在URPC數據集上進行的對比實驗結果表明,YOLOv3 的檢測精度和檢測速度均優于Faster R-CNN。
在基于深度學習的目標檢測中,水下圖像增強復原方法可通過圖像預處理方式或數據增強方式參與訓練。數據增強方式是指將增強或復原后的圖像和原圖像同時參與模型訓練。圖像預處理方式是指用增強或復原后的圖像代替原圖像進行訓練。
CHEN 等[28]對URPC 數據集中的各訓練圖像隨機使用限制對比度的自適應直方圖均衡(CLAHE)、IAASharpen、IAAEmboss 和 Random Brightness Contrast 4 種增強方法中的一種進行增強預處理,利用Faster R-CNN 進行目標檢測,發現使用增強方法進行預處理后MSCOCO 的mAP 指標提高0.3 個百分點,mAP50指標提高0.6 個百分點。
CHEN 等[29]在URPC2018 數據集上使用基于濾波和生成對抗網絡的圖像增強復原方法對圖像進行處理,使用單階段目標檢測模型SSD、RetinaNet、RefineDet 和DRN 進行目標檢測,探討水下圖像增強復原對深度學習目標檢測精度的影響。實驗結果表明,水下圖像增強復原方法無論作為圖像預處理方法還是圖像增強方法都無法提高深度學習目標檢測精度,但是實驗只在單階段目標檢測模型上對2 種水下圖像增強復原方法進行對比,更多類型的目標檢測模型和水下圖像增強復原方法是否也支持上述結論仍待進一步研究。
PENG 等[30]采 用GDCP、IBLA、Water-Net 和UWCNN 4 種水下圖像增強復原方法對URPC2019數據集進行處理,使用單階段目標檢測模型YOLOv5 進行目標檢測,研究增強復原方法對目標檢測精度的影響。其結論為圖像增強復原方法作為預處理方法不能提高深度學習目標檢測精度,但作為數據增強方法可以提高深度學習目標檢測精度。該結論與CHEN 等[29]的結論存在矛盾之處。
該部分將對實驗中所使用的水下圖像數據集、14 種典型的水下圖像增強復原方法和3 種基于卷積神經網絡的目標檢測模型進行介紹。
卷積神經網絡的訓練需要大量的數據,但現有用于水下目標檢測的數據集比較少。本文所使用的數據集 是URPC2018 和URPC2019。URPC2018 數據集共包含3 641 張圖像,包括海星、海參、扇貝和海膽4 種海洋生物。該數據集中的圖像具有較嚴重的色偏、圖像模糊且對比度低,因此,在該數據集上研究水下圖像復原與增強算法對目標檢測精度的影響是合適的。在實驗中按比例7∶1∶2 劃分數據集,2 548 張圖像用于訓練、361 張圖像用于驗證和732 張圖像用于測試。URPC2019 數據集只是在URPC2018 數據集的基礎上新增了1 056 張圖像,實驗中按比例7∶1∶2 劃分數據集,訓練集3 288 張、驗證集470 張和測試集939 張。
本文選取14 種典型的水下圖像增強復原方法進行實驗,包含6 種圖像復原方法DCP[4]、UDCP[6]、MIP[9]、ULAP[7]、GB[31]和IBLA[10],以及8 種圖像增強方 法 ICM[32]、HE[33]、CLAHE[34]、UCM[16]、UWCNN[20]、Water-Net[21]、FUnIE-GAN[23]和UIEDAL[24]。其中,UWCNN、Water-Net、FUnIE-GAN 和UIE-DAL 是基于深度學習的方法,其他是傳統方法。上述增強復原方法對水下圖像的處理結果如圖1 和圖2 所示(彩色效果見《計算機工程》官網HTML版)。Water-Net 和UCM 對色偏校正和對比度提高都有明顯效果,CLAHE 和ICM 在對比度提升方面有一定的效果,HE 能夠在一定程度上提高對比度,但同時引入紅顏色色偏。

圖1 原圖1 的增強復原圖像Fig.1 Enhancement restoration images for original image 1

圖2 原圖2 的增強復原圖像Fig.2 Enhancement restoration images for original image 2
本文將使用單階段目標檢測模型YOLOv5 和SSD,以及兩階段目標檢測模型Faster R-CNN 進行水下目標檢測。網絡模型的優化器均為SGD。網絡模型的主干網絡和參數設置如表1 所示。

表1 目標檢測模型的主要參數Table 1 Main parameters of object detection models
本文實驗所使用電腦的主要配置如下:內存32 GB、Intel?CoreTMi7-9700K CPU 和NVIDIA GeForce RTX 2070 SUPER GPU(8 GB)。第3.1 節和第3.2 節所用的數據集為URPC2018,第3.3 節所用的數據集為URPC2019。對所有的檢測模型都進行了充分訓練,均使用mAP 作為目標檢測精度的評價指標。
增強復原處理會導致圖像的數據域發生變化[29],因此本文將同類圖像作為單域圖像,如原始圖像為單域圖像,經同一增強或復原方法處理后的圖像也屬于單域圖像。訓練域和測試域不相同時稱為交叉域測試。交叉域測試示意圖如圖3 所示。根據訓練集混合方式的不同,將混合圖像數據集分為完全混合域、二類混合域和加倍二類混合域。

圖3 交叉域測試示意圖Fig.3 Schematic diagram of cross-domain test
在本實驗中,通過在單域圖像上訓練、在同域及交叉域圖像上測試,驗證增強復原方法對目標檢測精度的影響。
1)使用YOLOv5、Faster R-CNN 和SSD 3 種目標檢測模型在原始圖像和各增強復原方法處理后的單域圖像上分別進行模型訓練,得到3×(14+1)=45 個訓練模型。
2)圖4 所示為YOLOv5 模型在示例圖像上的檢測結果。對上述45 個訓練模型進行同域測試,記為實驗A,實驗結果如表2 所示。為簡化表示,將原始圖像訓練模型同域測試的mAP 記為mAP_baseline。在3 種目標檢測模型上mAP_baseline 分別為75.1%、74.2%和71.1%,高于所有增強復原圖像訓練模型同域測試的mAP。

表2 單域訓練同域測試結果Table 2 Results of single-domain training and same-domain test %

圖4 YOLOv5 同域檢測結果的對比Fig.4 Comparison of YOLOv5 in the same-domain detection results
3)使用原始圖像測試集對上述45 個訓練模型進行交叉域測試,記為實驗B,實驗結果如表3 所示。對于原始圖像訓練的模型,該實驗依然為同域測試實驗,因此結果與表2 相同。從表3 可以看出,在交叉域測試實驗中所有訓練模型的mAP 較同域測試的mAP 有大幅下降,也均低于mAP_baseline。

表3 單域訓練原始圖像交叉域測試結果Table 3 Results of single-domain training and original image cross-domain test %
4)在原始圖像訓練的模型上對各增強復原圖像測試集進行交叉域測試,記為實驗C,結果如表4 所示。MIP增強復原方法在3種目標檢測模型上的mAP分別為74.6%、71.6%和69.6%,但仍低于mAP_baseline。

表4 原始圖像訓練模型增強復原圖像交叉域測試結果Table 4 Results of original image training model and enhancment restoration image cross-domain test %
為更加全面地研究水下圖像增強復原對目標檢測算法性能的影響,本文采用原始圖像和增強復原圖像組成不同類型的混合域圖像數據集,對3 種目標檢測算法進行訓練和測試。
3.2.1 完全混合域
從原始圖像訓練集和14 種增強復原圖像訓練集中各隨機選取1/15 的圖像,從每個數據集中選取的圖像不重復,組成1 個圖像數量不變的混合訓練集,稱為完全混合域圖像。本文采用完全混合域對上述3 種目標檢測模型進行訓練,對原始圖像測試集及各增強復原圖像測試集分別進行測試,記為實驗D,測試結果如表5 所示。從表5 可以看出,與單域訓練交叉域測試相比,由于完全混合域的訓練圖像類型更多,其測試mAP 更加集中,因此mAP 最小值遠大于單域訓練交叉域測試中mAP 的最小值。3 種目標檢測模型在原始圖像測試集上的mAP 分別為73.4%、71.3%和69.7%,仍高于所有增強復原圖像測試集的結果,但完全混合域訓練的模型在各類測試集上的mAP 均低于測試集所在域的單域訓練同域測試mAP。

表5 在完全混合域上的測試結果對比Table 5 Comparison of test results on fully mixed-domains %
3.2.2 二類混合域
由于YOLOv5、Faster R-CNN 和SSD 3 種深度學習目標檢測模型在前述實驗中的表現是基本一致的,因此后續僅使用YOLOv5 進行實驗。
將原始圖像訓練集中的圖像隨機選取1/2,再分別從14 種增強復原圖像的訓練集中各選取1/2(與原始圖像訓練集中選取的圖像不重復),將原始圖像中選取的圖像分別與14 種增強復原圖像中選取的圖像進行混合,組成14 個混合訓練集,每個訓練集稱為1 個二類混合域。本文分別使用這14 個二類混合域對YOLOv5 進行訓練,采用與訓練集圖像類型相同的2 種測試集分別進行測試,記為實驗E,結果如表6 所示。

表6 在二類混合域上的測試結果對比Table 6 Comparison of test results on two-class mixed domains %
從表6 可以看出,原始圖像測試集的mAP 依舊高于增強復原圖像測試集的mAP,與完全混合域訓練模型測試的mAP 相比,無論是增強復原圖像還是原始圖像,二類混合域的mAP 均有提升。
3.2.3 在URPC2018 數據集上的加倍二類混合域
將原始圖像訓練集分別與14 種增強復原圖像的訓練集進行合并,組成14 個圖像數量加倍的混合訓練集,稱為加倍二類混合域。同時,將原始圖像訓練集原樣復制,生成圖像數量加倍的原始圖像訓練集。訓練和測試過程與二類混合域相同,記為實驗F,測試結果如表7 所示。一方面,二倍原始圖像訓練集的測試mAP 比單倍原始圖像訓練集的mAP 有所下降,說明訓練數據重復對提高檢測精度無益;另一方面,與二類混合域訓練模型測試的mAP相比,在加倍二類混合域訓練的模型上,增強復原圖像測試的mAP 除CLAHE 方法以外,其他方法的mAP 均有提升,原始圖像測試的mAP 除DCP、ULAP和Water-Net 方法以外,其他方法測試mAP 也均有提升。在所有14 種增強復原方法的加倍二類混合域訓練模型中,只有MIP 方法的訓練模型在原始圖像上的測試mAP 略高于單倍原始圖像訓練模型的同域測試mAP,提高0.1 個百分點。

表7 在加倍二類混合域上的測試結果對比Table 7 Comparison of test results on doubling the two-class mixed domain %
本文將在URPC2019 數據集上驗證上述加倍二類混合域實驗結論,為減少計算量,在上述14 種增強復原方法中隨機選取9 種對數據集進行處理,包 括Water-Net、IBLA、UWCNN、MIP、ICM、GB、CLAHE、UCM 和UDCP,然后與原始圖像訓練集組成9 個加倍二類混合域,用YOLOv5 進行訓練和測試,記為實驗G,結果如表8 所示。YOLOv5 在單倍原始圖像訓練集上的同域測試mAP 為83.7%,可見,二倍原始圖像訓練集的測試mAP 相比單倍原始圖像訓練集的測試mAP 有所下降,同時,在所有9 種增強復原方法的加倍二類混合域訓練模型中,只有UCM 和UDCP 方法的訓練模型在原始圖像上的測試mAP(83.9%、84.1%)略高于單倍原始圖像訓練模型的同域測試mAP,分別提高0.2 和0.4 個百分點。

表8 在URPC2019 數據集上加倍二類混合域上的測試結果對比Table 8 Comparison of test results on the doubling the two-class mixed domain on the URPC2019 dataset %
為研究增強復原處理方法對跨數據集檢測精度的影響,本文從網絡中搜集570 張水下圖像并進行標注,建立了跨數據集測試集,示例圖像如圖5 所示(彩色效果見《計算機工程》官網HTML 版)。該測試集包括海星317 個、海 參251 個、扇 貝55 個、海 膽244 個。與URPC2018 數據集相比,該測試集中模糊、色偏等退化現象較輕,每幅圖像包含的目標個數較少,目標相對較大。

圖5 跨數據集測試圖像示例Fig.5 Example of cross-dataset testing images
3.4.1 單域訓練同域測試
本文在URPC2018 數據集中單域訓練的15 個YOLOv5 目標檢測模型上進行跨數據集同域測試,記為實驗H,結果如表9 所示。從表9 可以看出,原始圖像訓練模型同域測試的mAP 為49.6%,14 個增強復原方法同域測試的結果中,有9 種方法測試的mAP 高于49.6%,5 種方法測試的mAP 低于49.6%,其中最高為MIP 方法,mAP 為56.7%;最低為FUnIE-GAN 方法,mAP 為38.6%。與實驗A 中表2 的數據相比,跨數據集的測試精度比同數據集的測試精度下降了約34 個百分點。

表9 在跨數據集測試實驗中的單域訓練同域測試結果Table 9 Results of single-domain training and same-domain test in cross-dataset test experiment %
3.4.2 加倍二類混合域測試
在URPC2018 數據集的原始圖像與增強復原圖像組成的加倍二類混合數據集訓練的15 個YOLOv5檢測模型上進行跨數據集測試,記為實驗I,結果如表10 所示。從表10 可以看出:1)與跨數據集測試中單域訓練同域測試mAP(見表9)相比,加倍二類混合域訓練模型的測試mAP 大幅度提升;2)在14 個模型(不包含2×original 模型)中有12 個模型在原始圖像上的測試mAP 高于在增強復原圖像上的測試mAP;3)在原始圖像上,14 個模型中有13 個模型的測試mAP 高于2×original 模型,最高mAP 為63.2%,與同數據集測試mAP(75%)的差距大幅縮小。

表10 在跨數據集實驗中加倍二類混合域上的測試結果Table 10 Results of doubling the two-class mixed domain test in the cross-dataset experiment %
訓練和測試的域差異對測試mAP 的影響:由實驗A、實驗B 和實驗C 可以看出,當測試集與訓練集不在同一域時,測試mAP 大幅下降。為定量描述,本文采用各增強復原圖像訓練集與原始圖像訓練集的平均結構相似度(SSIM)表示各增強復原圖像域與原始圖像域的接近程度,SSIM 計算結果如表11 所示。
計算交叉域測試實驗B 和實驗C 中各增強復原方法對應的mAP 與SSIM 的相關系數如表12 所示。平均SSIM 與交叉域測試mAP 有較高的正相關性,說明訓練和測試圖像之間的亮度、對比度和結構等特征差距越小,交叉域測試mAP 越高。由表11 可以看出,HE、UIE-DAL 和FUnIE-GAN 3 種增強復原方法處理后的圖像與原圖像的SSIM 最小,因此交叉域測試時的域差異最大,導致其檢測精度降低。

表12 交叉域測試mAP 與平均SSIM 的相關系數Table 12 Correlation coefficient between mAP and average SSIM for cross-domain test
訓練域數目對測試mAP 的影響:在實驗A、E 和D 中,實驗訓練域數目分別為1、2 和15。表13 所示為對比這3 組實驗中YOLOv5 模型在增強復原測試集上的測試mAP(表中2 類和original 對應點的mAP見表6)。除Water-Net 方法以外,其余13 種增強方法的測試mAP 隨著訓練域數量的增加而降低。因此,在訓練集圖像數量相同的情況下,訓練域數目的增加并不能提高深度學習目標檢測模型的檢測精度。

表13 訓練域數目對測試mAP 的影響Table 13 Effect of training domain number on test mAP %
訓練集圖像數目對測試mAP 的影響:在實驗E和實驗F 的混合域訓練實驗中,訓練域的數目相同,但實驗F 中訓練圖像數是實驗E 的2 倍,從表7 可以看出,實驗F 中增強復原測試集14 個mAP 中有13 個高于實驗E 中對應mAP,原始圖像測試集14 個mAP中有11 個高于或等于實驗E 中對應的mAP。因此,訓練集圖像數目的增加在一定程度上有利于mAP的提高,但簡單的數據重復是無用的。
預處理方式和數據增強方式對測試mAP 的影響:在單數據集實驗A、B、D 和E 中,圖像增強復原方法是作為圖像預處理方法參與的實驗,而在實驗F和實驗G 中,圖像增強復原方法是作為數據增強方法參與的實驗。雖然數據增強方式得到的測試mAP優于圖像預處理方式,但是與原始圖像訓練和測試相比,目標檢測精度的提升并不明顯(本文實驗中mAP 的最大增長量為0.4 個百分點)。當訓練集和測試集均屬同一數據集時,水下圖像增強復原方法無論是作為數據增強復原方法還是圖像預處理方法,對深度學習目標檢測模型檢測精度的提高效果均不明顯。在跨數據集測試實驗H 中,圖像增強復原方法作為圖像預處理方法參與了實驗,9/14 的增強復原方法對目標檢測精度的提升有效;在跨數據集測試實驗I 中,圖像增強復原方法作為數據增強方法參與了實驗,在原始圖像上13/14 的增強復原方法對目標檢測精度的提升有效,且mAP 提升最高可達12.4 個百分點。
本文在URPC 數據集上進行大量的對比實驗,詳細深入地探討了圖像增強復原方法對深度學習目標檢測模型精度的影響。實驗結果表明,盡管數據集存在較嚴重的圖像退化現象,但是在單數據集實驗中,水下圖像增強復原方法無論作為圖像預處理方法還是數據增強方法,對深度學習目標檢測精度的提升都無明顯效果,而在跨數據集實驗中,增強復原方法作為圖像預處理方法和數據增強方法,能有效提升檢測精度,作為數據增強方法時的提升效果更優。因此,在跨數據集目標檢測應用中,將水下圖像增強復原方法作為數據增強方法參與檢測模型的訓練,以提升目標檢測精度。然而,本文僅在有限的數據集上進行實驗,水下圖像增強復原方法在其余數據集上的表現是本文研究的重點方向。