1、基于加强特征融合的轻量化船舶目标检测王林,汪钰婷(西安理工大学自动化与信息工程学院,西安710048)通信作者:汪钰婷,E-mail:摘要:针对基于深度学习的海上船舶目标检测任务中存在检测网络复杂且参数量大、检测实时性差的问题,提出一种加强特征融合的轻量化 YOLOv4 算法MA-YOLOv4.首先使用 MobileNetv3 替换主干网络,引入新的激活函数 SiLU 并使用深度可分离卷积代替普通 33 卷积降低网络参数量;其次加入自适应空间特征融合模块加强特征融合;最后使用 MDK-means 聚类算法得到适用于船舶目标的锚框,用 Ship7000 数据集进行训练和评估.实验结果表明,改进算
2、法与 YOLOv4 相比,模型参数量降低 82%,mAP 提高 2.57%,FPS 提高 30 帧/s,能实现对海上船舶的高精度实时检测.关键词:船舶检测;YOLOv4;MobileNetv3;自适应空间特征融合;聚类算法;目标检测引用格式:王林,汪钰婷.基于加强特征融合的轻量化船舶目标检测.计算机系统应用,2023,32(2):288294.http:/www.c-s- Ship Target Detection Based on Enhanced Feature FusionWANGLin,WANGYu-Ting(SchoolofAutomationandInformationEngine
3、ering,XianUniversityofTechnology,Xian710048,China)Abstract:AlightweightYOLOv4algorithm,MA-YOLOv4,isproposedtoenhancefeaturefusionforaddressingproblemsofcomplexdetectionnetworks,alargenumberofparameters,andpoorreal-timedetectionindeeplearning-basedmaritimeshiptargetdetectiontasks.Firstly,MobileNetv3i
4、semployedtoreplacethebackbonenetwork,andanewactivationfunctionSiLUisintroduced.Thedepthwiseseparableconvolutionisappliedtoreplacetheordinary33convolutiontoreducethenumberofnetworkparameters.Secondly,anadaptivespatialfeaturefusionmoduleisaddedtoenhancefeaturefusion.Finally,theMDK-meansclusteringalgor
5、ithmisadoptedtogettheanchorframesuitablefortheshiptarget,andtheShip7000datasetisutilizedfortrainingandevaluation.ExperimentalresultsshowthatcomparedwithYOLOv4,theimprovedalgorithmcanreducethenumberofmodelparametersby82%andincreasemAPby2.57%andFPSby30f/s,whichcanachievehigh-precisionreal-timedetectio
6、nofshipsatsea.Key words:shipdetection;YOLOv4;MobileNetv3;adaptivespatialfeaturefusion;clusteringalgorithm;objectdetection近年来,随着世界经济的发展和各国对外贸易的不断增长,海上交通运输产业得以飞速发展,保证海上交通运输安全,实现对海上目标的实时监测刻不容缓.船舶作为海上主要检测目标,准确快速检测船舶所处位置、识别船舶类型,对海上异常行为预警、保证船舶安全航行有非常重要的意义.船舶检测易受到海上恶劣天气、复杂基岸背景、海面反光及海浪尾迹等因素影响,因此在可见光图像中开展船舰检
7、测任务具有挑战性.传统目标检测方法通过人工设计的尺度不变1、方向梯度直方图2等特征来判别滑动窗口,人工设计的特计算机系统应用ISSN1003-3254,CODENCSAOBNE-mail:ComputerSystems&Applications,2023,32(2):288294doi:10.15888/ki.csa.008948http:/www.c-s-中国科学院软件研究所版权所有.Tel:+86-10-62661041基金项目:陕西省科技计划重点项目(2017ZDCXL-GY-05-03)收稿时间:2022-06-24;修改时间:2022-07-25;采用时间:2022-08-19;cs
8、a 在线出版时间:2022-11-04CNKI 网络首发时间:2022-11-16288软件技术算法SoftwareTechniqueAlgorithm征对于输入的多样性变化没有较强鲁棒性,难以应用于复杂的海洋环境感知任务.近年来,随着中央处理器(CPU)、图形处理单元(GPU)等计算机硬件的快速发展,计算机的计算能力得到了极大提高.此外,PyTorch等深度学习软件框架使得基于神经网络的目标检测算法逐渐普及,并广泛应用于各种实际工程项目中.与传统的目标检测算法相比,基于深度学习的目标检测算法能够自动提取输入图像中具有鉴别性和鲁棒性的特征,检测速度更快,检测结果更准确.基于深度学习的目标检测算
9、法主要分为两阶段目标检测算法和单阶段目标检测算法.两阶段目标检测算法主要以 R-CNN 系列3为代表,其中心思想是在第 1 阶段通过区域建议的方式产生大量候选框,在第 2 阶段将候选区域送入神经网络,对目标进行分类和定位.虽然两阶段目标检测算法精度较高,但由于其具有两个相互独立的步骤,模型结构复杂,需要更长时间生成候选框,因此检测速度慢.单阶段目标检测算法主要以 SSD4、YOLO5为代表,将目标检测任务作为回归问题来处理,使用预定义的不同尺度的锚框来定位目标,实现端到端的训练,检测速度较快,但由于结构设计简单,对小目标的检测能力较弱.自 R-CNN 问世以来,国内外学者尝试着将基于深度学习的
10、目标检测算法应用于海上船舶目标检测任务中.Zwemer 等6开发了一个使用港口监控摄像机的实时船舶检测和跟踪系统,改进的 SSD 模型能支持对船舶尺寸和长宽比极端变化的检测.Kim 等7提出了一种概率船舶探测与分类系统,该算法利用 FasterR-CNN8网络对每一帧进行处理,将检测器的置信度作为概率,根据连续图像之间的相关性对连续帧的概率进行贝叶斯融合.Shao 等9构建了一个包含 31455 张图像的大规模船舶数据集 Seaships(公开 7000 张,Ship7000),对 FasterR-CNN、YOLOv210和 SSD 模型进行了训练和测试,其中 YOLOv2 模型具有较好的检测
11、精度和计算速度.刘博等11将残差网络的思想引入Darknet 网络中提取船舶特征,在此基础上用加入了惩罚机制的 YOLOv312进行目标区域和类别预测.Li等13在 YOLOv3-tiny 的骨干网络中加入注意力模块,并使用卷积层代替最大池化层,提高了对小目标的检测精度.Liu 等14模拟了不同天气条件下的海上船舶图像,在此基础上训练神经网络以获得更加鲁棒的船舶检测模型.孔刘玲等15首先用数据增强方式解决数据集不平衡的问题,并对 YOLOv416算法提出改进,改进后算法采用 Softer-NMS17对预测框进行后处理,有效解决因船舶遮挡导致的漏检问题.上述算法虽能有效检测出船舶,但仍存在网络参
12、数量较大、实时性较差、目标定位不准确的问题.针对现有船舶检测算法的问题,本文提出轻量化 MA-YOLOv4 算法,通过最大距离 K-means 算法获得初始锚框,用 MobileNetv3 进行初步特征提取,并添加自适应空间特征融合模块(adaptivespatialfeaturefusion,ASFF)加强不同尺度的特征融合,在保证检测精度的前提下,大幅提高检测速度,有更强的应用价值.1YOLOv4 算法概述YOLOv4 算法在 YOLOv3 的基础上进一步改进,它结合了近年来优秀的算法思想,在 MSCOCO 目标检测数据集上,不降低每秒帧数(framespersecond,FPS)的前提下
13、,平均精度均值(meanaverageprecision,mAP)提高到 44%.YOLOv4 网络主要组成部分有主干特征提取模块 Backbone、特征融合模块 Neck 及检测模块 Prediction.特征提取模块将跨阶段局部网络(CSPNet)18集成到 Darknet53 中,通过截断梯度流策略,使梯度流通过不同的网络路径传播,不但防止不同网络层学习重复的梯度信息,而且消除了计算瓶颈,减少了内存消耗,促进了低层次信息的融合,获得了更强的特征提取能力.在 YOLOv4 的 Neck 部分,原有的特征金字塔网络(featurepyramidnetwork,FPN)被空间金字塔池化(spa
14、cepyramidpooling,SPP)和路径聚合网络(pathaggregationnetwork,PANet)所取代,该模块首先通过卷积核大小为(11)、(55)、(99)、(1313)的 SPP模块增大感受野,再通过 PANet 进一步提取和融合不同层的特征,在一定程度上缓解了目标位置信息和轮廓信息的特征丢失问题.检测模块使用 YOLOv3 算法中原始的检测头 YOLOhead.2改进的 YOLOv4 网络本文所提出的 YOLOv4 算法主要有 3 部分改进,一是在主干部分使用 MobileNetv3 替换 CSPDarknet53,引入新的激活函数 SiLU,并使用深度可分离卷积代替
15、普通 33 卷积,二是加入 ASFF 模块,三是使用最大距离 K-means 聚类算法得到适用于船舶目标的先验框.改进后的 MA-YOLOv4 网络结构如图 1 所示.2023年第32卷第2期http:/www.c-s-计 算 机 系 统 应 用SoftwareTechniqueAlgorithm软件技术算法289MobileNetv3Input(416,416,3)Conv2d+bneck(208,208,16)PANetConcat+Conv5Concat+Conv5Concat+Conv5Concat+Conv5DownsamplingX2X1X3ASFFASFF1YOLO headYO
16、LO headYOLO head262633131333525233ASFF2ASFF3Conv+UpsamplingConvConvConv3Concat+Conv3SPP5913bneck(104,104,24)2bneck(52,52,40)3bneck(26,26,112)6bneck(13,13,160)3Conv+UpsamplingDownsampling图 1MA-YOLOv4 网络结构 2.1 骨干网络轻量化随着人们对网络的不断深化,模型计算带来的巨大存储压力和计算负担已经开始限制了深度学习模型的应用领域.传统卷积神经网络(CNN)内存需求大,计算量大,无法在移动设备和嵌入式设备上运行.因此引入轻量级深度神经网络 MobileNetv3 作为 YOLOv4 主干特征提取网络,它是一个模型尺寸较小,可训练参数和运算量较少的 CNN,适用于移动设备.MobileNetv3 使用深度可分离卷积代替标准卷积块,深度可分离卷积由深度卷积和逐点卷积组成,这种操作极大程度减少了模型的理论参数量(params)和运算量(floatingpointoperations,FLOPs).标