关键词:
深度学习
水下目标检测
YOLOv8
模型轻量化
摘要:
近年来,目标检测技术依托于深度学习架构的革新,在理论创新与工程落地层面均实现了巨大突破。其中水下目标检测作为复杂环境感知的细分领域,因其独特的学科挑战性与重大的应用价值,迅速成为计算机视觉与海洋科学的交叉研究热点。然而,水下目标检测面临着独特的挑战和难点。一方面,水下场景复杂多变,水下目标存在着尺度各异、多目标密集相邻等问题,导致现阶段的检测算法对目标特征的提取不够充分,很容易发生漏检误检现象,从而影响检测效果;另一方面,复杂的深度学习算法模型体积庞大,计算需求较高,难以在资源受限的水下嵌入式设备上完成部署。因此针对上述问题,本文提出了基于渐进特征金字塔的YOLOv8水下目标检测算法和融合剪枝和蒸馏的轻量化水下目标检测算法,主要研究内容如下:
(1)针对水下目标存在着尺度不一、密集相邻而导致的检测精度低,易发生漏检误检现象的问题,提出一种基于渐进特征金字塔的YOLOv8水下目标检测算法YOLOv8-MPMA。首先,在YOLOv8的主干网络中设计轻量化模块MV3-C2f-MLCA来替换C2f模块,在维持检测精度的同时确保模型结构不会太过复杂;其次,在主干网络的SPPF模块中加入PSA注意力机制,增强模型对大小目标的特征提取能力;然后,设计了一种Detect_AFPN检测头,通过渐进特征金字塔网络AFPN模块捕获更丰富的上下文信息,加强模型对多尺度目标的感知能力;最后,采用MPDIo U损失替换YOLOv8中的CIo U损失,优化模型的训练过程并增强模型的鲁棒性。将算法YOLOv8-MPMA分别在URPC与RUOD数据集上进行实验,并与当前主流的目标检测算法进行可视化分析对比,实验结果表明,相较于基准算法YOLOv8n,YOLOv8-MPMA的检测精度在两个数据集上分别提升了2.6%和3.8%,同时与其它算法相比,检测性能也更加优异,可以很好地避免漏检误检现象的发生。
(2)针对水下目标检测算法YOLOv8-MPMA参数量与计算需求量大,不利于在水下嵌入式设备上部署的问题,提出一种融合剪枝和蒸馏的轻量化水下目标检测算法。首先,利用LAMP通道剪枝算法对YOLOv8-MPMA模型进行修剪,剪去不重要的通道信息和卷积核等,降低模型计算复杂度,压缩模型体积;其次,提出利用BCKD知识蒸馏的方法对剪枝后的模型进行蒸馏,减少因剪枝操作而带来的不必要的精度损失,恢复模型原有精度,提升模型检测性能。将融合剪枝和蒸馏的水下目标检测算法在URPC数据集上进行实验,并与当前主流的目标检测算法以及文献中的一些轻量化算法进行分析对比,实验结果表明,经过剪枝和蒸馏后的YOLOv8-MPMA算法参数量与计算量分别下降68%和60%,检测速度提升222帧/s,同时检测精度提升1%,能够在满足轻量化需求的同时维持高精度的检测,与其它算法相比,在模型简化、检测精度及推理速度方面都更具优势。最后,将算法部署到嵌入式开发板Jetson Nano B01上进行模型的测试实验,结果表明,该算法仍然表现出良好的实时检测性能,可以满足对于水下低配置设备的应用部署。