点上方计算机视觉联盟获取更多干货

仅作学术分享,不代表本公众号立场,侵权联系删除

转载于:作者丨南山

来源丨AI约读社

AI博士笔记系列推荐

周志华《机器学习》手推笔记正式开源!可打印版本附pdf下载链接

水下目标检测旨在对水下场景中的物体进行定位和识别。这项研究由于在海洋学、水下导航等领域的广泛应用而引起了持续的关注。但是,由于复杂的水下环境和光照条件,这仍然是一项艰巨的任务。因此近年来有多个赛事与水下目标检测相关,如近期正在进行的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

方法简述:

  1. 使用两阶段检测框架,保证精度要求;

  2. 使用FPN,增强小目标的检测效果;

  3. 使用Mixup、旋转等无损的数据增强技术,减轻网络过拟合,并提升模型泛化能力;

  4. 使用多尺度训练与预测,适应图片分辨率差异,可以让参与训练的目标大小分布更加均衡,使模型对目标大小具有一定的鲁棒性;

  5. 参考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 总结

水下目标检测目前任然还是一个具有挑战的领域, 相比于传统图像处理方法分多个步骤和环节处理检测任务, 基于深度学习的方法将其统一为端到端的特征提取和分类。虽然水下目标检测技术已经不断地从学术研究走向成熟的工业应用, 但是依然有一些需要解决的问题。

-------------------

END

--------------------

我是王博Kings,985AI博士,华为云专家、CSDN博客专家(人工智能领域优质作者)。单个AI开源项目现在已经获得了2100+标星。现在在做AI相关内容,欢迎一起交流学习、生活各方面的问题,一起加油进步!

我们微信交流群涵盖以下方向(但并不局限于以下内容):人工智能,计算机视觉,自然语言处理,目标检测,语义分割,自动驾驶,GAN,强化学习,SLAM,人脸检测,最新算法,最新论文,OpenCV,TensorFlow,PyTorch,开源框架,学习方法...

这是我的私人微信,位置有限,一起进步!

王博的公众号,欢迎关注,干货多多

王博Kings的系列手推笔记(附高清PDF下载):

博士笔记 | 周志华《机器学习》手推笔记第一章思维导图

博士笔记 | 周志华《机器学习》手推笔记第二章“模型评估与选择”

博士笔记 | 周志华《机器学习》手推笔记第三章“线性模型”

博士笔记 | 周志华《机器学习》手推笔记第四章“决策树”

博士笔记 | 周志华《机器学习》手推笔记第五章“神经网络”

博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(上)

博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(下)

博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(上)

博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(下)

博士笔记 | 周志华《机器学习》手推笔记第八章集成学习(上)

博士笔记 | 周志华《机器学习》手推笔记第八章集成学习(下)

博士笔记 | 周志华《机器学习》手推笔记第九章聚类

博士笔记 | 周志华《机器学习》手推笔记第十章降维与度量学习

博士笔记 | 周志华《机器学习》手推笔记第十一章稀疏学习

博士笔记 | 周志华《机器学习》手推笔记第十二章计算学习理论

博士笔记 | 周志华《机器学习》手推笔记第十三章半监督学习

博士笔记 | 周志华《机器学习》手推笔记第十四章概率图模型

点分享

点收藏

点点赞

点在看

一文梳理水下目标检测方法相关推荐

  1. 一文梳理水下检测方法

    编辑丨AI约读社 水下目标检测旨在对水下场景中的物体进行定位和识别.这项研究由于在海洋学.水下导航等领域的广泛应用而引起了持续的关注.但是,由于复杂的水下环境和光照条件,这仍然是一项艰巨的任务.因此近 ...

  2. 一文梳理缺陷检测方法

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 近年来,随着深度学习的快速发展,基于卷积神经网络(CNN)的计算机视觉技术在工业领域得到了广泛的应用. ...

  3. 一文览尽LiDAR点云目标检测方法

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 转载于 :计算机视觉之路,作者:山涧一壶酒 / 导读 / 自动驾驶中的激光雷达点云如何做特征表达,将基 ...

  4. 一文览尽基于激光雷达点云(lidar)的目标检测方法

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文来源:计算机视觉之路,作者:山涧一壶酒,编辑:智车科技 / 导读 / 上周文章:自动驾驶中的激光雷 ...

  5. 异常检测方法梳理,看这篇就够了!

    本文收集整理了网络上一些常见的异常检测方法(附资料来源和代码),可以说是非常全面了,内容有点长,不着急,先收藏起来,每天学习一点点就是领先的开始. 一.基于分布的方法 1. 3sigma 基于正态分布 ...

  6. 计算机视觉-深度学习图像检测方法梳理

    计算机视觉-深度学习图像检测方法梳理 由于之后要转方向啦,趁这段时间整理手中硕士研究方向的一些阅读笔记,这是一篇关于计算机视觉的基础知识梳理 先搞清一些小知识点 首先我们要弄清楚图像分类.目标定位.语 ...

  7. 水下目标检测算法赛方法总结与思路分享(已开源)

    水下目标检测算法赛方法总结与思路分享 我们团队在此分享下在 "2020年全国水下机器人(湛江)大赛 - 水下目标检测算法赛" 这一比赛中的实验过程及心得体会.不足之处,还望批评指正 ...

  8. 水下目标检测之数据集和数据增强方法

    水下目标检测之数据集和数据增强方法 通过之前对yolov5的简单学习,发现yolov5的训练和调试都比较方便,因此希望将其运用到水下目标检测的任务中.那么首要任务就是寻找比较合适的数据集作为训练样本, ...

  9. 从数据集到2D和3D方法,一文概览目标检测领域进展

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:深度学习这件小事 目标检测一直是计算机视觉领域中一大难题 ...

最新文章

  1. HDU2544(Bellman-ford算法和Floyd算法)
  2. 嵌入式四大通信接口的解释
  3. BZOJ 1012 最大数
  4. winform调用webservice增删查改_教你分别用数据库与云函数实现“增删查改”
  5. 可变数组NSMutableArray
  6. 2020CCPC威海
  7. python中webdriver_Python自动化学习--Webdriver中的常用方法
  8. tina中信号带宽_如何评测示波器带宽
  9. Ext中namespace的作用
  10. linux 重启oracle实例_Oracle实战(二)-Oracle概述
  11. Android游戏开发的开源框架
  12. 【测试基础】Linux文本编辑vi命令
  13. java中抽象类继承抽象类_邮政编码作为Java中抽象类的示例
  14. 【渝粤题库】陕西师范大学209020 史记研究 作业(专升本)
  15. c++ dicom图像切割_老司机带你解锁ImageJ三维图像分析
  16. VNCTF2021 几个题解writeup
  17. 2019西湖论剑网络安全技能大赛(大学生组)部分WriteUp
  18. 《 指数基金投资指南 》by 银行螺丝钉 - 笔记 - 4 - 第二部分
  19. boot版本是什么 cent os_Cent OS 7系统目录结构
  20. 网络三维虚拟展馆开发优势

热门文章

  1. 【script】python字符串相似度匹配
  2. java实现远程系统控制_java实现电脑远程控制完整源代码
  3. 华为鸿蒙搭载哪些手机,华为鸿蒙系统支持哪些手机 可以装华为鸿蒙系统手机...
  4. JSW Java_java服务安装(一):使用java service wrapper及maven打zip包
  5. Win10 取消桌面快捷键图标
  6. 日志log4j配置详情,日志log具体到你想不到
  7. 调试 Dockerfile - 每天5分钟玩转 Docker 容器技术(15)
  8. CSS3 Transitions, Transforms和Animation的使用
  9. 信息安全系统设计基础第八周期中学习总结—20135227黄晓妍
  10. 2015年创业中遇到的技术问题:141-150