基于深度学习的水面无人清理船目标检测综述
2024-05-19沈靖夫SHENJingfu张元良ZHANGYuanliang刘飞跃LIUFeiyue柳淳LIUChun
沈靖夫SHEN Jing-fu;张元良ZHANG Yuan-liang;刘飞跃LIU Fei-yue;柳淳LIU Chun
(①江苏海洋大学海洋工程学院,连云港 222005;②江苏海洋大学机械工程学院,连云港 222005)
0 引言
水面无人艇(Unmanned Surface Vehicles,USV)作为一种无人操作的水面舰艇,具有体积小、航速快、机动性强、模块化等特点,可用于执行危险以及不适于有人船执行的任务[1]。其中,水面无人清理船(Unmanned Surface Cleaning Vessels,USCV)是水面无人艇的其中一个任务分支。相较于传统清理水面垃圾需要耗费大量的人力,水面无人清理船的应运而生不仅可以节省人工成本,同时提高清理效率。目前国内USCV 尚未进行大规模应用,一个重要的原因就是水面目标检测算法性能不足,而精准检测目标是USCV 自主导航、智能避障、高效作业等需求的基础。如何在保障目标检测速度的前提下提高目标检测的精度以适应复杂的水面场景,以及扩充检测目标的类别,都是水面目标识别中需要解决的问题。
USCV 用于目标检的设备主要有激光雷达和可见光相机,相较于激光雷达造价高、缺少纹理及色彩信息、能耗高等缺陷,可见光相机在目标检测领域的研究更为广泛。基于图像的目标检测研究可追溯至20 世纪90 年代,通过人工设计特征对目标的纹理及轮廓进行提取,其泛化能力较差,仅适用于特定的检测场景,对于水面较为复杂的环境,传统目标检测就变得力不从心[2]。而深度学习算法通过训练大量的数据,学习数据中存在的特征规律有效克服了传统特征的诸多缺点,已成为当下各种应用领域中目标检测任务的主流算法。
1 目标检测神经网络
基于深度学习的目标检测主要分为基于CNN 和Transformer 的两种框架。基于CNN 的目标检测器分为预生成候选框,接着进行分类和回归预测的Two-stage[3-5]和无需生成候选框,直接完成预测的One-stage[6-13]。Twostage 检测精度高,而One-stage 检测速度快。One-stage 主要基于人为预先定义锚框的Anchor-based。基于Transformer 的检测器框架(DETR)[14-18]是通过Transformer提取图像特征,代替传统的卷积神经网络,并消除非极大值抑制(NMS),实现真正意义上的端到端的神经网络。基于深度学习的目标检测具有较强的泛化能力,更加适应于较为复杂的检测场景,其网络发展历程如图1 所示。
图1 经典目标检测算法发展历程
1.1 Two-stage 目标检测算法
Two-stage 目标检测算法首先通过CNN 提取输入图像的特征,接着生成预选框,对预选框进行非极大值移植(NMS)去掉重叠度较高的框,最后对剩余的框进行分类和回归并输出最终目标检测结果。
经典的Two-stage 目标检测算法是RCNN 系列。Ross Girshick 提出的RCNN[3],通过生成候选区域,并提取图像的特征,接着通过分类器对特征进行分类得到分类结果。Fast RCNN[4]优化了RCNN 训练及测试速度慢的问题,直接将整张图像输入卷积中,避免大量重复卷积操作。同时利用特征池化操作进行尺度变换,使得输入可以是任意大小的图片。为了解决候选区域生成占据大量时间开销的问题,Faster RCNN[5]提出了RPN(Region Proposal Network)网络,利用Anchor 机制将区域生成与卷积网络联系到一起,提高了检测速度和检测精度。
1.2 One-stage 目标检测算法
相较于Two-stage 系列的网络,在对目标进行预测分类之前需要先生成候选区域,从候选区域内找寻与特征图匹配的目标框,这个过程虽然可以提高一定的检测精度,但是也削减了检测速度。而One-stage 系列的网络直接对目标进行分类和定位,去除了候选框生成这一过程,在保持检测精度的前提下,极大地提高了检测速度。
目前主流并应用于实际的One-stage 系列的神经网络当属YOLO 系列的算法。YOLO 系列的开山之作YOLOv1[6]是由Joseph Redmon 提出的,通过卷积神经网络提取特征,把提取到的特征送入两层全连接层输出检测类别和检测框。后续的YOLOv2[7]在此基础上加入了正则化,加速了收敛速度,同时提高了检测精度。YOLOv3[8]引入了残差网络模块,解决了小目标检测精度问题。YOLOv4[9]采用了很多优化策略,在数据处理中引入Mosaic 数据增强、主干网络引入CSP 结构、网络层(Neck)采用SPP 模块、激活函数替换成Mish,在检测精度上有效的提高。YOLOv5[10]加入了Focus 模块,并用SPPF 结构代替SPP 结构,使得检测精度有一定的提高。后续的YOLOv6-8[11-13]均在YOLO结构上进行不同的改进。
1.3 Transformer 目标检测算法
相较于Two-stage 和One-stage 系列的网络,其本质是通过CNN 进行特征提取,而CNN 往往会忽略掉较远特征的相似性,对全局特征的关注较低。注意力机制(Transformer)通过捕捉图像中全局位置中的相关性,有效提高了对图像全局特征的关注,但同时Transformer 对局部特征的处理不如CNN。为此,可以将Transformer 与CNN进行融合使用,在关注图像全局特征同时兼顾图像的局部特征。
DETR[14]是Facebook 团队于2020 年提出的基于Transformer 的端到端目标检器,通过Transformer 的Encoder 和Decoder 框架进行特征提取,使用二分图匹配方式替换传统卷积中的非极大值抑制(NMS),极大简化了目标检测的流程。Deformable DETR[15]利用可变形卷积,只关注目标周围的一小部分关键采样点,解决了DETR 难以收敛及检测小目标精度低的问题。Anchor DETR[16]分析了DETR 的目标查询没有明确意义,无法关注特定区域。在此基础上,设计了基于锚框(anchor)的对象查询,提高DETR 的训练收敛速度及检测精度。DINO DETR[17]通过设计了一款带有改进的去噪器box 的DETR,通过使用对比方式进行去噪训练,结合混合查询选择方法进行锚点初始化,加速DETR 的训练速度及训练精度。第一个实时端到端的目标检测器RT-DETR[18],通过高效的混合编码器及解耦尺度内交互和跨尺度融合高效处理多尺度特征(对深层特征图进行注意力特征提取,对浅层特征图做特征融合),并提出IoU 感知的查询选择,提高目标查询的初始化,解决了DETR 难以实际应用的问题。
2 无人清理船水面目标检测技术
由于水面环境复杂多变,可见光图像的图像质量会受到水面光照反射、运动模糊及水面倒影等影,这就增加了水面目标检测的难度,同时深度学习网络需要大量的数据进行训练,尤其针对水面这种较为复杂的环境,一种全面的水面目标检测数据集是水面目标检测算法的关键。
2.1 水面目标检测数据集
在水面目标检测领域,大多数研究都是根据研究任务构建的小型数据集,缺乏大规模、高质量标注的开源数据集,一定程度上制约了相关技术的发展。学者们在构建开源数据集方面进行了一系列的尝试,如表1 所示。FloWImage 数据集[19]是全球第一个无人清理船视角下的水面漂浮垃圾检测的数据集。Water Surface Object Detection Dataset(WSODD)[20]包含了多种水面目标类型,覆盖了多种天气环境和时间段,有效解决了水面环境单一的问题。Marine Image Dataset(MID)[21]涵盖了多种现实中海面常出现的障碍物,为海域目标障碍物检测提供有效信息。Singapore Maritime Dataset(SMD)[22]在不同时间段和环境下采集的新加坡海洋常出现的一些障碍物目标数据。
表1 水面目标检测公开数据集
2.2 水面目标检测算法应用
相较于路基及空域的目标检测技术,USCV 基于深度学习的水面目标检测技术起步较晚,众多学者主要在水面目标检测精度及检测速度上进行深入研究。
Huang[23]等人提出一种改进的YOLO v5 算法,通过将YOLO 网络中的C3 结构替换成transformer 编码层,同时结合卷积注意力模块(CBAM)提高对水面小目标的检测精度。Zhang[24]等人通过引入ASFF 模块对基本的YOLO v5s 模型进行改进,提高了水面目标检测的精度。Tong[25]等人在网络的深层使用空洞卷积金字塔池化模块融合目标的全局先验信息,接着通过注意力模块自适应增强目标浅层空间位置和深层语义信息特征。最后,通过多尺度特征融合提高水面小目标的检测精度。Wang[26]等人在YOLOv3中引入综合特征增加模块,并改进损失函数,提高了对船舰小目标的检测能力。Lin[27]等人在YOLOv5s 的骨干网络末端引入特征图注意力层,并通过马赛克数据增强策略,提高水面漂浮小目标的检测效果。SPMYOLOv3 目标检测算法[28]首先对改进的K-means 算法进行重新聚类,并在YOLOv3 的主干网络添加SE-PPM 模块以加强目标的特征信息,使用多向金字塔网络对不同尺度的特征图进行融合,提高水面垃圾的检测精度。
3 总结与展望
本文综合分析了当前基于深度学习的目标检测方法的发展历程以及在水面中的应用情况,对水面目标检测数据集及检测方法进行了综述。希望能够为研究人员提供资料性的参考依据以及研究思路和方法,促进相关检测方法的推广和应用。结合现有的研究现状,可以在以下三个方面开展更深入的研究工作。
①构建大规模、高质量标注的开源数据集。在水下生物目标检测领域,大多数研究都是根据研究任务构建的小型数据集,缺乏大规模、高质量标注的开源数据集,一定程度上制约了相关技术的发展。
②基于Transformer 的目标检测算法研究甚少。由于需要实际应用于水面目标检测任务中,需要算法具有实时性,而目前大部分Transformer 的目标检测算法不符合实时性要求。而RT-DETR 算法的出现解决了基于Transformer 的目标检测算法的实时性要求,未来可以在此基础上进行深入研究。
③相比较于空中的无人机与路基的无人车平台的视觉方法,水面环境光线变化较大,图像信息容易受到反射在水面上的光线影响,可以利用图像增强和去噪算法减少图像的噪声,使训练出来的效果更好。