水下目標檢測旨在對水下場景中的物體進行定位和識別。這項研究由于在海洋學、水下導航等領域的廣泛應用而引起了持續的關注。但是,由于復雜的水下環境和光照條件,這仍然是一項艱巨的任務。因此近年來有多個賽事與水下目標檢測相關,如近期正在進行的2021全國水下機器人大賽,接下來我們將介紹在水下目標檢測領域的深度學習方法概述。
01 水下目標檢測的關鍵問題
1.1 水下圖片模糊
在水下場景中,由于光照影響大大降低了水下圖像的質量,從而導致了可見度損失,弱對比度和紋理失真,顏色變化等問題(如下圖所示),并且在水下場景中環境復雜,這導致水下目標檢測更加困難。
1.2 小目標檢測
水下環境中的目標物體通常很小,如:海膽,扇貝,海參等,而當前基于深度學習的目標檢測器通常無法有效地檢測小物體,或者對小目標物體的檢測性能較差。
02 水下目標檢測的深度學習方法
緩解水下圖片模糊主要是通過對水下圖片進行增強,去噪,復原等方法,對于小目標檢測的問題可以通過數據擴增和改進網絡的方式來緩解,接下來我們將介紹近年來解決水下目標檢測問題的深度學習方法。
Underwater object detection using Invert Multi-Class Adaboost with deep learning
論文鏈接: https://arxiv.org/pdf/2005.11552.pdf
代碼鏈接: https://github.com/LongChenCV/SWIPENet
主要方法:文中提出了一種用于水下目標小樣本檢測的SWIPENet,網絡中提出了一種樣本重加權算法IMA(Invert Multi-Class Adaboost),IMA會減少missed objects(丟失對象)的權重,以減少這些“干擾”樣本的影響。并且在SWIPENet中引入了具有RELU的空洞卷積層(dilated conv)它們可以在不犧牲特征圖分辨率的情況下獲得大的接受區域。
IMA算法:首先順序訓練多個基本分類器,并根據其錯誤率Em分配權重值α。然后,將由前面的分類器分類錯誤的樣本分配較高的權重,從而使后面的分類器專注于學習這些樣本。最后,將所有弱基礎分類器組合在一起,形成具有相應權重的整體分類器。IMA還訓練了M次SWIPENet,然后將它們整合為一個統一模型。不同的是,在每次訓練迭代中,IMA都會減少丟失對象的權重,以減少這些“干擾”樣本的影響。
實驗結果:達到URPC 2017的冠軍結果,45.0map,冠軍為45.1map。
SWIPENet的網絡結構圖:
RoIMix: Proposal-Fusion among Multiple Images for Underwater Object Detection
論文鏈接: https://arxiv.org/abs/1911.03029
主要方法:URPC 2019水下目標檢測競賽冠軍方案:多圖像融合增強,針對水下場景重疊和遮擋(水下生物喜歡聚在一起)、模糊(水中沉淀物導致)的問題,提出一種基于候選框融合的圖像增強方法,以生成模擬重疊、遮擋、模糊的訓練樣本,從而提高模型的mAP和魯棒性。RoIMix算法使用RPN產生ROI,并以隨機的比例混合它們。該比例是根據Beta分布產生的,然后,使用混合樣本來訓練模型。
下圖中:
即為用RoIMix圖像增強方法生成的模擬遮擋+模糊的訓練樣本
RoIMix的網絡結構圖:
實驗結果:達到URPC 2019的冠軍方案,ROIMIX和BaseLine之間的最大性能差異為9.05%個mAP值。
An Underwater Image Enhancement Benchmark Dataset and Beyond
論文鏈接: https://arxiv.org/abs/1901.05495v1
代碼鏈接: https://github.com/Li-Chongyi/Water-Net_Code
主要方法:文中提出了一個新的具有950張水下圖片的數據集UIEBD,包含各個水下場景,以及水下各種特征退化(光線不足、霧)的情況,用數據集UIEBD對12種現階段主流的水下圖片增強算法進行評測和驗證。并且提出基于fusion的水下圖片增強模型DuwieNet。
12種水下數據擴增方法比較:
DUIENet: 基于所構建的UIEBD數據集,作者提出了一種用于水下圖像增強的CNN模型,稱為DuwieNet。DuwieNet是—種門控融合網絡,它將輸入與預測的置信度圖融合以獲得增強的結果。首先通過FTUs將輸入轉換為精確的輸入,然后預測置信度圖。最后,將改進后的輸入與相應的置信度圖進行融合,得到增強后的結果。其結構圖如下所示:
實驗結果:
03 水下目標檢測比賽的開源方案
在去年的2020年全國水下機器人(湛江)大賽水下目標檢測比賽眾多,部分選手公開了他們的參賽方案,他們在比賽中的經驗這對我們研究水下目標檢測具有很大的參考價值,下面我根據使用的檢測框架進行分類,簡單介紹其中的幾個開源方案
3.1 mmdection
和鯨社區Kesci 水下目標檢測算法賽(光學圖像賽項)三等獎 單模方案
代碼鏈接:https://github.com/milleniums/underwater-object-detection-mmdetection
方法簡述:
使用兩階段檢測框架,保證精度要求;
使用FPN,增強小目標的檢測效果;
使用Mixup、旋轉等無損的數據增強技術,減輕網絡過擬合,并提升模型泛化能力;
使用多尺度訓練與預測,適應圖片分辨率差異,可以讓參與訓練的目標大小分布更加均衡,使模型對目標大小具有一定的魯棒性;
參考ResNet論文,使用Global Context ROI為每個候選框添加上下文信息,充分利用數據分布特點,提升了檢測精度。
消融實驗:
和鯨社區Kesci 水下目標檢測算法賽(光學圖像賽項)30(A榜) / 31(B榜)
代碼鏈接: https://github.com/Wakinguup/Underwater_detection
方法簡述:
1、數據增強:
采用Mixup、實例平衡增強、模糊(Median Blur和 Motion Blur)、Retinex、泊松融合、標簽平滑。
2、模型框架:mmdetection代碼庫中的Cascade R-CNN模型,其中backbone是ResNeXt101-64x4d (64是基數Cardinality,X101的一個block的group數量。而4d是指bottleneck的寬度)。模型同時也搭配了FPN[3],增強模型對小目標的檢測能力。
3.2 EfficientDet
EfficientDet訓練水下目標檢測數據集
代碼鏈接: https://github.com/DataXujing/EfficientDet_pytorch
方法簡述:
這個使用EfficientDet進行水下目標檢測,僅是baseline無任何tricks,Step by Step演示如何訓練最近開源的相對SOTA的Pytorch版的EfficientDet的訓練,評估,推斷的過程。像paper中提到的一樣,我們并沒有使用任何數據增強或模型融合等后處理的trick來提高模型的精度,如果你想增加數據增強的策略可以在efficientdet/dataset.py中實現;
3.3 YOLOV5
我們團隊這次也參加了2021年全國水下機器人(湛江)大賽,為大家開源了YOLOV5檢測的baseline
代碼:https://github.com/wangdongdut/Underwater-Object-Detection
04 總結
水下目標檢測目前任然還是一個具有挑戰的領域, 相比于傳統圖像處理方法分多個步驟和環節處理檢測任務, 基于深度學習的方法將其統一為端到端的特征提取和分類。雖然水下目標檢測技術已經不斷地從學術研究走向成熟的工業應用, 但是依然有一些需要解決的問題。
編輯:jq
-
機器人
+關注
關注
210文章
28231瀏覽量
206614 -
數據
+關注
關注
8文章
6909瀏覽量
88849 -
目標檢測
+關注
關注
0文章
205瀏覽量
15590
原文標題:一文梳理水下目標檢測方法
文章出處:【微信號:cas-ciomp,微信公眾號:中科院長春光機所】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論