复杂场景下基于改进YOLOv4 的小型舰船目标检测*

2023-12-13 12:12吴维林
传感器与微系统 2023年12期
关键词:舰船尺度精度

吴维林,方 健,屈 毅,张 宁,高 洁

(上海航天电子技术研究所,上海 201109)

0 引 言

随着海面各种舰船、民船以及其他目标种类、数量的日益增多,海面环境的复杂程度也越来越高。一种准确、快速的舰船检测方法不仅可以为码头管理、港口监控和安全航行提供非常重要的信息,而且在边境走私舰船的检测和海上救援中也发挥着越来越重要的作用。

传统的方法大多根据舰船的结构和形状进行手工特征设计,即使采用最优的非线性分类器对这些人工设计的特征进行分类,舰船检测的精度也不能满足实际需要。近年来,基于卷积神经网络(convolutional neural network,CNN)的目标检测算法蓬勃发展,大致可分为两类:基于区域的算法,以R(region)-CNN为代表的两阶段算法[1,2],这种算法由于具有较高的检测精度,在舰船检测中得到了广泛的应用,但检测速度不足以满足实时检测的要求;基于回归的算法,形成了以YOLO(you only look once)[3]和SSD[4]为代表的单阶段算法,这种算法将检测问题转换为回归问题,大大提高了检测速度,在舰船实时检测方面具有突出的优势。

杨龙等人[5]提出了一种多尺度特征融合的舰船检测方法,将空洞卷积和VGG相结合,设计了一个特征提取网络,且将其应用于合成孔径雷达(synthetic aperture radar ,SAR)舰船目标检测,提高了对小型舰船目标的检测能力;王健林等人[6]对传统的YOLO算法进行改进,采用网络结构改进、输入图像多尺度变换、目标帧维数聚类等方法,提高了对小目标的检测速度;文献[7]首次提出利用陆地监控摄像机网络捕获的视觉图像进行舰船实时检测,并设计了一个重要的感知CNN 框架来预测舰船的类别和位置。然而,这些方法在复杂背景下小型舰船实时检测中效果不佳。因此,为了解决在复杂海洋环境下小型舰船检测与分类精度低的问题,有必要设计一种快速、准确的舰船检测与分类算法。

综上,本文提出了一种基于改进YOLOv4 的小型舰船检测算法,该算法主要由多层特征融合(multi-layer feature fusion,MFF)模块和多层接收域块(multi-layer receiver field block,M-RFB)组成。

1 改进的方法

YOLO系列目标检测网络是单次目标检测网络中最具代表性的网络结构,其中YOLOv4[8]选择CSPDarkNet53 骨干、空间金字塔池化(spatial pyramid pooling,SPP)[9]附加模块、路径聚合网络(path aggregation network,PANet)[10]、YOLOv3的头作为算法架构。但在主干的最后一层降采样后,小目标特征会消失,降低了算法的检测精度,特别是当海面环境复杂,同时出现多艘小型舰船时,检测效果会不理想。因此,本文提出了一种基于YOLOv4的改进算法,算法的主干仍采用CSPDarknet53网络,13 ×13 特征层也使用了SPP结构,因为它显著增加了感受野,并分离出了最重要的上下文特征,而几乎没有降低网络运行速度。与YOLOv4的方法不同,该算法的颈部不仅从主干中集成了4 个不同尺度的特征层,而且还将特征提取器(feature extractor,FE)模型、MFF和M-RFB融合到一个新的结构中。具体算法结构如图1所示。

图1 改进的YOLOv4 结构

1.1 不同尺度的特征融合

随着网络结构的不断深入,小目标语义信息的丢失将越来越严重。Cao C Q等人[11]提出,当骨干网络很深时,可以通过融合更多尺度的特征层来扩展小目标的语义信息。因此将104 ×104 的特征尺度纳入改进算法的颈部。受Chen P Y等人[12]的工作启发,本文采用FE模块从4 个相邻尺度的融合特征中提取更多的上下文和语义特征,其中包含2个瓶颈(bottle neck,BN)和2 个卷积操作,前者用于减少通道数量,减少计算量,后者用于提取上下文特征。具体的结构如图2所示。

图2 FE模块

1.2 MFF

改进算法包括MFF 和MFF-s 模块2 种组合。MFF 模块用于特征层,比例为26 ×26,图3 清楚地说明了MFF 模块集成了3个相邻的比例特征层。其输入是F13×13,F26×26和F52×52,输出是F′26×26。该模块主要通过CONCAT1、CONCAT2两个级联操作融合多层特性。其中,CONCAT1 通过SPP、FE和上采样(Upsampling)2D将当前特征层(26 ×26)与深层特征(13 ×13)连接起来。CONCAT2 通过下采样将来自CONCAT1的特征与浅特征(52 ×52)连接起来。该模块集成了主干网络3个相邻尺度的特征,MFF 模块的输出可以表示为

图3 MFF模块

MFF-s 模块应用于特征层,尺度为52 ×52,输入F13×13,F26×26,F52×52和F104×104,输出F′52×52。结构如图4所示。

图4 MFF-s模块

MFF-s 模块还通过2 个连接操作,即CONCAT1、CONCAT2,集成多层特性。CONCAT1 连接MFF 模块和FE 模块的当前特征(52 ×52)和深度特征(26 ×26),CONCAT2分别通过SPP、FE 和上采样(Upsampling)4D,CONCAT1 和Conv2D,最大池化(Maxpooling)2D连接不同尺度的3 个特征层,分别是更深特征(13 ×13),当前特征(52 ×52),浅层特征(104 ×104)。MFF-s模块集成了4个相邻尺度的特征信息,MFF模块的输出可以表示为

1.3 M-RFB

当小目标的特征在主干的最后一层逐渐消失或变成单一像素时,沿着自上而下路径融合小目标特征是不可能的。因此,设计M-RFB模块是为了进一步扩展不同区域的接受域,获得更多的语义特征。RFB 主要用于处理FE 模块的特征层,该特征层通过添加自底向上的路径从浅层尺寸引入语义特征。具体细节如图5所示。

图5 M-RFB 模块

M-RFB 模块输入的3个特征层,首先通过1 ×1 或3 ×3的卷积运算减少它们的通道数量,从而减少计算量。然后对特征层的接受域进行扩张卷积运算,扩张率分别为1,3,5。最后进行串接操作,使浅层特征与当前特征融合,进一步扩大特征层的感受野。M-RFB的输出表示为

2 实验结果

2.1 数据集的介绍

新加坡海事数据库集(Singapore Maritime Dataset,SMD)提供佳能70D相机在岸上和移动船上拍摄的视觉识别系统(visual identity system,VIS)和近红外视频。它包含81个视频文件,包括10 个不同类别的240 842 个目标标签,可以训练本文的模型,并且对舰船进行准确的检测和分类。根据文献[13]中提出的数据集划分方法,本文从SMD中构造了一个数据集,从数据集中提取的图像及其对应的标签如图6所示。

图6 部分数据集图像

2.2 训练效果与性能检测

本文实验是基于64 位的Windows10 操作系统,Intel®CoreTMi7-7800XCPU-@ 3. 5 GHz 处理器,16 GB 内存,NVIDIA GeForce GTX1080Ti 11GB显卡,采用深度学习框架为TensorFlow,主要使用软件工具为Pycharm,Python 3.6。

在整个训练过程中,为了快速优化训练,每4张图片设为1 个batch,优化器为Adam,学习率使用回调方式,当2个迭代完成时,损失值不下降,学习率降低为原来的1/2,训练分3次进行,模型首先在ILSVRC CLS-LOC 数据集[14]上预训练;第二次训练,设置网络前20层参数不参与训练,初始学习率为0.000 5,迭代设为50,第三次网络所有层参数都参与训练,初始学习率为0.000 1,迭代设为100,为了减少训练时间,本文加入早停(early-stopping),每次训练4个迭代后损失值不下降就结束本次训练。

YOLOv4、YOLOv4 +MFF、YOLOv4 +MFF +M-RFB 算法的损失下降曲线如图7所示。3 种模型的损失值都随着迭代的增加而逐渐减小,并最终收敛到一个较低的常数,展示了此次训练收敛速度快且效果好。值得注意的是,YOLOv4 +MFF +M-RFB在训练开始时的初始值远低于其他两种算法,说明本文算法的权值可以以更低的时间代价进行训练,训练效率高于其他两种。消融实验如表1。改进的YOLOv4算法的均值平均精度(mean average precision,mAP)值比YOLOv4算法高0.116,两种算法的帧数是一致的,因此前者的检测性能优于后者。

表1 YOLOv4 和改进的YOLOv4 不同指标的对比

图7 3 种算法的损失下降曲线

YOLOv4算法与本文算法的检测结果如表2 所示。该算法的mAP值比YOLOv4 高11.64%,帧数略有降低。可以看出,所提出的算法对3种目标对象都有较好的性能,如表2所示。对于船、皮艇、飞鸟/飞机等在图片中一般较小或容易聚类的对象,所提算法的3 种目标对象的AP 值比YOLOv4均有不同程度的提升,特别是船的平均精度高出0.4左右,皮艇与改进前高出0.1 左右,飞鸟/飞机比改进前也高出0.11,原因在于改进后的算法采用了多层特征融合和扩张卷积,说明把浅层的细节特征和高层的语义特征融合起来能够提高算法对小目标的检测。

表2 3 种小目标的平均精度对比

2.3 检测效果图

图8(a)~(d)分别列出了在不同环境条件下YOLOv4和本文算法的检测结果。在摄像机抖动等干扰情况下,该算法仍能准确检测到距离内的小型舰船(图8(a)~(d)用虚线圈标记),并且不但能正确区分出目标的类别,对目标的置信度也高于YOLOv4,而YOLOv4有较多的错检和漏检情况,并且对小目标的检测精度也不高,实验结果证明了该算法在不同环境下抗干扰能力更强,对舰船的检测精度和鲁棒性更高。

图8 YOLOv4 算法与改进的YOLOv4 算法检测结果对比

2.4 与其他主流算法的比较

在相同数据集和硬件配置条件下,将所提算法与其他主流的比如Faster-RCNN +ResNet50、Faster-RCNN +Res-Net101、SSD、SSD +MobileNet[9]和YOLOv3 等智能算法进行了比较,结果如表3所示。

从表3中看出,本文算法的mAP值最高,为76.39%达到了最好的检测精度,比YOLOv4 提高了11.64%,该算法的检测帧数为9.22,略低于SSD-MobileNet,但检测精度要高得多,而与Faster-RCNN +ResNet50[15]相比,虽然mAP只高出2.71%,但检测帧数要远远高于Faster-RCNN +Res-Net50,说明本文算法检测速度更快,更能满足实际应用场景的需求,应用性更高。综上所述,该算法对SMD 具有较强的检测能力,在舰船检测的实际应用中表现良好。

3 结 论

提出了一种基于YOLOv4 的改进算法,用于复杂海洋环境下小型舰船的检测。本文算法将MFF和M-RFB模块集成到YOLOv4的颈部,使YOLOv4 能够融合多尺度特征,充分增强上下文语义特征,扩大感受野,提高了对小型舰船的检测精度。利用新加坡海事数据集获得的真实图像对算法进行训练,实验结果表明,该算法优于YOLOv4,整体而言具有更优越的性能,适合复杂场景下舰船的目标检测。

猜你喜欢
舰船尺度精度
舰船通信中的噪声消除研究
舰船测风传感器安装位置数值仿真
财产的五大尺度和五重应对
基于DSPIC33F微处理器的采集精度的提高
宇宙的尺度
GPS/GLONASS/BDS组合PPP精度分析
舰船腐蚀预防与控制系统工程
改进的Goldschmidt双精度浮点除法器
9
巧用磨耗提高机械加工精度