基于YOLO 模型的SAR 舰船目标检测方法研究

2023-09-08 07:13姜赋坤黄香诚张晓波周兴华
海洋技术学报 2023年4期
关键词:舰船卷积精度

姜赋坤,黄香诚,张晓波,周兴华

(1.山东科技大学海洋科学与工程学院,山东 青岛 266590;2.自然资源部第一海洋研究所,山东 青岛 266100)

当今社会,信息技术在人们日常生活的各方面都产生着巨大影响,而图像拥有着更大的信息量和更强的可理解性,因而以图像目标识别为典型代表的图像处理技术已体现出更为广阔的应用前景和更高的科研价值[1]。随着卫星遥感技术的发展,能够获取到的高分辨率遥感卫星影像越来越多。与此同时,随着我国海上渔业及航行运输活动增多,海上舰船遥感图像的目标识别在舰船追踪与监控、精确制导、路径规划等领域也逐渐得到应用,凭借此项技术可以有效地解决海上事故多发、我国领土及渔民权益遭到侵犯等问题。在卫星遥感领域中,SAR技术具有天气无关性、全天候性、云层穿透性等优点,可以提供高分辨率的图像,因此被广泛应用于海上目标的检测[2-3]。

早期的SAR 船舶检测方法主要基于传统特征,如纹理、形状、边缘等,可以分为3 个步骤:预处理、候选区域提取和判别。以候选区域提取算法多采用恒虚警率自适应雷达检测(Constant False Alarm Rate,CFAR)[4],其本质上是一种基于分割的算法,即根据灰度大小将像素分为两类(船舶或非船舶),然后将船舶像素区域合并为船舶区域。判别一般是通过使用人工设计的特征和训练分类器来实现。这些传统方法对参数设置和图像质量要求较高,且适应性和泛化能力较差,难以应对复杂多变的实际场景。后来,随着机器学习技术的不断发展,越来越多的基于传统机器学习算法的SAR 船舶检测方法被提出。这些方法通常利用支持向量机(Support Vector Machine,SVM)[5]、随机森林(Random Forest,RF)[6]等算法进行分类,以实现对SAR图像中船舶目标的自动识别和检测。相比于传统的手工设计算法,这些基于机器学习的方法能够更好地适应不同的数据场景和变化情况。然而,传统机器学习算法的特征提取器需要手工设计,而且对参数设置和图像质量要求较高,使得这些方法难以应对如今愈加复杂多变的实际场景。传统机器学习算法通常采用分类器进行目标检测,而分类器本身存在一定的局限性。例如,SVM 只能处理二分类问题,而RF 等算法对数据分布敏感,这限制了这些算法在处理多类别和复杂数据时的应用能力。此外,传统机器学习算法通常需要大量的手工标注数据进行训练,且训练时间较长。这使得这些方法在实际应用中面临着数据获取困难、训练时间长等问题,影响了其在实际环境下的使用。由此可见,机器学习方法对SAR 图像中的舰船目标实现自动识别仍存在诸多困难。

近年来,目标检测领域基于人工设计特征的传统检测方法逐渐被利用卷积神经网络自动学习图像特征的方法所取代。此方法能够根据算法对数据集的训练及测试结果自主调整特征提取参数,且提取到的特征具有极佳的自适应性,经过人工对测试后的参数进行合理化修改后,可极大地减少人为多次特征提取的复杂步骤[7]。因此,随着深度学习技术的发展,基于深度学习的SAR 船舶检测方法也在逐渐兴起,利用神经网络模型进行特征提取和分类,可以自动学习更加复杂、抽象的特征信息,从而实现更加准确、高效的SAR 船舶检测。该方法首先是基于候选框的两阶段(Two-stage)[8]检测算法,如R-CNN[9]、快速区域卷积神经网络(Fast RCNN)[10]和Faster R-CNN[11]等,需要先从输入的图像中生成一系列区域,用以提取特征来构造目标分类器,最终在候选区域上进行回归和分类[12],随着遥感图像识别需求的不断增加,其较低的计算效率已经难以满足要求。其次是基于免候选框的单阶段(One-stage)[8]检测算法,最典型的是YOLO[13]系列算法。作为经典的单阶段算法,YOLO 系列的算法由于省略了粗定位的过程,且可以在单阶段中一次性计算包含边界框及其所属类别的概率并输出,具有比两阶段算法Faster R-CNN 更高的检测效率[14],可以满足快速检测的需求。近年来,研究者们开始将YOLO 算法应用于SAR 目标检测任务中,并取得了一定的成果。例如一种名为Lira-YOLO 的轻量级模型结合了YOLOv3[15]和RetinaNet[16]的优点,在保证检测精度的同时大大减少了参数量和计算复杂度[17]。此外,还有一些基于YOLO 算法进行改进和优化的SAR 目标检测方法,如Anchor-free SAR Ship Detector[18]、Network slimming method[19]等。这些方法在SAR 图像中实现了较高水平的目标检测性能。

目前,YOLO 系列算法已由YOLOv1 优化改进到YOLOv7,同时在图像识别领域已有诸多应用,例如行人检测[20]、行车障碍检测[21]等。从YOLO 系列网络结构的更新迭代过程来看,Backbone 部分结构的提升可以很大程度上决定每一代算法的性能,并且YOLOv4 及其后续算法其实都是沿用YOLOv3的框架,只是加了各自的工业上提升检测速度和精度的方法,因此基于第三代算法结构的研究方法对于后续算法的研究具有极高的价值。同时,对YOLO 历代模型的结构进行一个系统的对比分析也是十分必要的。

针对上述问题及研究现状,本文首先将YOLO系列模型进行了横向和纵向的对比分析,然后利用重新标注的SSDD[22],在精度和效率两方面,对第三代开始的YOLO 系列算法进行重点分析,并将其应用于SAR 舰船图像的识别。同时,将YOLO 系列算法与两阶段深度学习算法Faster R-CNN 的识别精度与效率进行对比。最后,在效果最好的YOLO算法基础上对网络结构进行优化修改,建立了一种基于注意力机制的舰船目标识别深度学习网络——YOLOv5.SAM,在识别精度和对密集目标的检测性能方面均实现了提升,从而证明该方法在SAR 舰船目标识别方面的有效性。

1 YOLO 系列深度学习框架结构及对比

从结构上来看,YOLO 系列的每一代算法均由前一代算法在结构方面进行添减或改进而产生,具有极强的关联性。因此,通过分析网络结构上的差异即可在一定程度上实现算法性能方面的对比。

YOLO 网络实现图像识别的核心思想就是利用整张图片作为网络的输入,将其分为N 伊N 个网格(Grid Cell),当某个物体的中心落在网格中时,此网格就用以预测对应的物体,最终在输出层回归边界框(Bounding Box)的位置及其所属的类别[13]。

网络结构方面,YOLO 主要由输入端、Backbone、颈部结构(Neck)和头部结构(Head)4 部分组成,如图1 所示,其中输入端以图片作为网络的输入对象进行分割;Backbone 部分在不同图像细粒度上聚合并形成图像特征的卷积神经网络;Neck部分将提取出图像特征进行多尺度融合;Head 部分是对图像的特征进行预测并生成边界框及类别。

图1 YOLO 系列总体结构

网络深度方面,每一代YOLO 通常有多种量级的网络结构,以S、L、M 等命名。其中S 是所有结构中网络深度最浅且训练速度最快的网络,其他结构的网络层数依次增加。

1.1 输入端结构分析

输入端部分针对不同的数据集YOLO 都需要设定不同长宽的锚点框,训练时模型在初始锚点的基础上生成对应的预测框并将其与真实框进行比较,对数据进行反向更新。YOLOv4 至YOLOv7 使用了Mosaic 数据增强操作提升模型的训练速度与精度,相当于将四张图片合成一张新的图片传入神经网络中进行学习。在测试阶段,由于输入图片的尺寸存在差异,因此算法会对图片按预定尺度进行缩放,并且自适应地补充最少的冗余信息,通过此方法将尺寸不同的图片一致化,极大地提升了算法的运行速度。

1.2 Backbone 部分结构分析

前文提到,Backbone 网络的提升之所以能很大程度上决定YOLO 每一代的提升,正是由于Backbone 作为网络的一个核心特征提取器决定了模型的特征提取精度。YOLOv1 只是把最后的特征分成了7 伊7 个网格,到了YOLOv2 就变成了13 伊13 个网格,再到YOLOv3 开始向多尺度化发展,结构愈加复杂,如图2 所示。

图2 Backbone 结构示意图

YOLOv3 加深了网络层数,并引入了残差网络(Residual Network,ResNet) 中的残差思想,使得YOLOv3 将Backbone 深度大幅扩展至含有53 个卷积层的新主干网络结构(Darknet-53)。同时优化了无池化层的下采样方式,采用卷积层来实现,浮点运算更少、速度更快。如图2(a)所示,卷积块层(Convolutional Block Layer,CBL)结构包含一个卷积层一个批量归一化连接层(Batch Normalization,BN) 和一个名为带泄露的修正线性单元(Leaky Rectified Linear Unit,Leaky ReLU) 的激活函数,CBL 结构的主要作用是提取输入特征,并通过BN层进行规范化,Leaky ReLU 激活函数则可以使得网络具有更好的非线性拟合能力;残差块结构(Residual Block,Res)包含两个串联的CBL 结构及一个加法层(Addition Layer,add),后面的数字表示N 个该结构,Res 结构的主要作用是解决深度神经网络中的梯度消失和梯度爆炸等问题。

YOLOv4 中所使用的Backbone 是在YOLOv3 的基础上,将多个跨阶段部分网络结构(Cross-Stage Partial Network,CSP)进行组合设计成为新的主干网络,名为CSP Darknet-53,CSP 结构通过将输入特征图分成两个部分,分别进行卷积操作,并使用残差连接将两部分特征图进行融合,从而实现了网络的高效和稳定。同时使用了一种自正则化的非单调神经激活函数(A Self Regularized Non-Monotonic Neural Activation Function),简称为Mish 激活函数,Mish 激活函数的特点是具有自正则化的性质,可以有效地缓解神经网络中的过拟合问题,并提高模型的泛化能力。CSPDarknet-53 总共有72 层卷积层,能起到特征提取与逐步下采样的作用,从而提升模型的学习能力,降低计算瓶颈,同时提高硬件利用率,使模型轻量化,并降低模型的内存占用。如图2(b)所示,卷积块模块(Convolutional Block Module,CBM)结构包含一个卷积层、一个BN 连接函数和一个Mish 激活函数,CBM 模块的主要作用是提取输入特征,并进行规范化和非线性变换,可以有效地提高网络的性能和准确率;带有额外连接的跨阶段部分网络(Cross-Stage Partial Network with Extra Connections,CSPX)结构是由两个分支的CBM结构分别经过处理后通过连接层(Concatenate,Concat) 将两个输入张量在指定的维度上进行拼接,并输出拼接后的结果。

YOLOv5 的Backbone 同样沿用了YOLOv4 中的CSPDarknet-53。如图2(c)所示,CBL 和CSP 结构同YOLOv3;空间金字塔池化(Spatial Pyramid Pooling,SPP)结构是由CBL 结构、3 个最大池化层及Concat 连接结构组成;从第六版开始就舍弃了焦点层(Yolo-Focus,Focus) 结构改用常规卷积,其产生的参数更少,效果更好。

YOLOv5 使用的CSPDarknet-53 对于图形处理器(Graphics Processing Unit,GPU)等硬件来说会增加延迟,同时也会减小内存带宽利用率。针对此问题YOLOv6 对结构进行了重新设计,应用RepVGG style 结构(一种新型的卷积神经网络结构),提高了GPU 计算能力的同时,优化了编译特性,加强了网络表征能力。YOLOv6 的Backbone 中将普通卷积都替换成了参数重组卷积(ReparameterizedConvolution,RepConv)结构,通过参数重组来减少卷积层的计算量和内存消耗,同时,将多尺度空间金字塔特征金字塔网络(Spatial Pyramid Pooling-Feature Pyramid Network,SPPF)优化设计为更加高效的简单空间金字塔特征融合网络(Simple Spatial Pyramid Fusion,SimSPPF),增加特征重用的效率。如图2(d)所示,带有归一化的重新着色和可视化的Backbone 1 模型(Recoloring and Visualizing Backbone 1 with Normalization,RVB1_N) 结构由Rep-玉和Rep-域组成,N 表示有N 个该结构相连;Rep-玉包含两个并列的由卷积层和BN 连接层组成的卷积块(Convolutional Block,CB) 结构、add 结构和一个名为修正线性单元(Rectified Linear Unit,ReLU)的激活函数,Rep-域比Rep-玉多一个CB 结构;SPPF 即为优化后的SimSPPF。

YOLOv7 的Backbone 部分在YOLOv5 的基础上,使用了具有非局部块的高效轻量级架构集合(Ensemble of Efficient-Lightweight Architectures with Non-local blocks,E-LAN)代替了原来的CSPDarknet-53,同时设计了下采样卷积(Downsampled Convolution,DownC)代替普通卷积进行下采样,可以实现更丰富的梯度组合,减少计算量。同时设计了最大池化(Max Pooling,MP)结构,此结构由常规卷积与最大池化双路径组成,增加了模型对特征的提取融合能力。如图2(e)所示, 具有空间注意力机制的交叉阶段部分网络(Cross Stage Partial Network with Spatial Attention,CBS)结构包含一个卷积层、BN 连接函数和SiLU 激活函数,其主要作用是引入了空间注意力机制和交叉阶段部分网络,以提高目标检测的性能和准确率;MP1 由最大池化层和CBS结构经过Concat 连接组成。

1.3 Neck 部分结构分析

Neck 结构开始设计于YOLOv3 版本,其中的特征融合思想最初在特征金字塔网络(Feature Pyramid Networks,FPN)网络中提出,在YOLOv3中进行结构的微调,最终成为YOLO 后续系列不可或缺的部分,如图3 所示。

图3 Neck 结构示意图

很多传统的目标检测算法都只是采用高层特征进行预测,高层的特征优势在于具有大量的语义信息,但其分辨率低,目标位置粗略。高层特征图中一个像素可能对应输出小目标图像的特征,随着网络加深,此像素会存在丢失的现象。相较于高层特征,低层的特征虽然语义信息比较少,但是目标位置准确。FPN 正是将二者进行融合,进行了多尺度特征的独立预测,明显地提升针对小目标的检测效果。

YOLOv3 采用了FPN 结构,通过精细的特征网格来提高Head 部分的识别精度。如图3(a)所示,其中,N伊CBL 中的N 表示N 个该结构相连;UP 表示上采样结构;Concat 结构表示concatenate 连接运算。

YOLOv4 添加了SPP 和路径聚合网络(Path Aggregation Network,PAN)结构,SPP 结构包括3个并列的最大池化层并将得到的特征按通道融合,更有利于获得多尺度特征,提高训练速度。PAN 结构与FPN 结构共同构成了特征金字塔结构,提高特征的提取能力。在最后的特征融合部分将原来的add 操作转变为Concat,增加了特征图的通道数。如图3(b)所示,CBL 结构同YOLOv3;SPP 结构由3 个并列的最大池化层和Concat 连接结构汇总组成;UP(Up Sampling)代表上采样结构。

YOLOv5 的Neck 部分也沿用了SPP 和PAN 的特征金字塔结构,但是在PAN 模块进行融合后,将YOLOv4 中使用的常规CBL 模块替换成借鉴CSPNet 设计的CSP 结构。降低了计算和内存的成本,加强网络特征融合的能力。如图3(c)所示,其中,UP 结构代表上采样,其余结构含义同Backbone 部分。

YOLOv6 的Neck 部分基于RepVGG style 设计了可重复参数化、效率更高的可重复金字塔聚合网络(Repeatable Pyramid Aggregation Network,Rep-PAN),替换了YOLOv5 中的CSP 结构,提高了GPU计算能力的同时加强了网络表征能力。如图3(d)所示,RVB2_N 结构与RVB1 类似只是输出通道不同,N 同样代表有N 个该结构相连。

YOLOv7 的Neck 部分在YOLOv5 的SPP 模块的基础上增加了Concat 模块,并用E-LAN 模块取代了最初的CSP 模块,同时用MP2 层替换了下采样。在保留了原始梯度路径的基础上,提高了网络的学习能力。如图3(e)所示,基于空间金字塔池化和可分离金字塔卷积的上下文聚合(Spatial Pyramid Pooling-based Context aggregation via Separable Pyramidal Convolution,SPPCSPC)结构与SPP 类似,参数与计算增多;MP2 与MP1 区别在于通道数翻倍;E-LAN 结构相较于Backbone 中Concat 数不同;REP 即为RepConv,由两个卷积层和一个BN 连接层并列组成。

1.4 Head 部分结构分析

YOLO 系列的Head 部分负责预测框的回归与后处理,其结构主要包括基于先验框的预测头部分、损失函数部分和后处理优化策略部分。目标检测任务的损失函数一般由分类损失函数(Classificition Loss)和回归损失函数(Bounding Box Regeression Loss) 两部分构成。在目标检测的后处理过程中,针对很多目标框的筛选,通常需要非极大值抑制(Non-Maximum Suppression,NMS)操作,从算法保留的多个预测框中通过对交集比率(Intersection Over Union,IoU) 的重叠度进行多次比较,选取一定阈值下可能性最高的目标,如图4 所示。

图4 不同网络的Head 结构示意图

YOLOv3 在Neck 部分的基础上融合了3 个尺度,并对融合后的特征图进行独立检测。如图4(a)所示,Conv 代表卷积层。

YOLOv4 Head 部分沿用了YOLOv3 的整体结构。如图4(b)所示,各结构与YOLOv3 Head 相同。

损失函数采用完整的交并比损失函数(Complete Intersection over Union Loss,CIoU_Loss) 的回归方式,同时改进了传统的非极大值抑制操作,在

CIoU_Loss 的基础上采用DIoU_nms 的方式。

CIoU_Loss 回归函数同时考虑到了重叠面积、中心点距离、长宽比,解决了传统的IoU 无法优化两个无重叠目标框的比值的问题,通过相交尺度的衡量方式弥补了此项的不足,可以更好地度量任意两个目标框,使得预测框回归具有更高的精度与速度。使用距离交并比(Distance-IoU,DIoU) 作为非极大值抑制的标准,可以同时考虑重叠区域和中心点距离,用以检测被遮挡的目标,进而达到在不增加运算成本的基础上提高针对所有目标的检测精度的目的。

YOLOv5 的Head 部分在YOLOv4 的基础上引入了自适应先验框(Auto Learning Bounding Box Anchors)和邻域正负样本分配策略。YOLOv5 的先验框是自适应于训练数据的,会根据不同的训练数据进行自动学习适配。相较于YOLOv4 中一个真值只能匹配一个正样本,YOLOv5 能够在多个grid cell中都分配到正样本,有助于训练加速和正负样本平衡。如图4(c)所示,CONV 结构代表卷积层。

YOLOv6 Head 部分不同于YOLOv5,其分别对3 层输出进行预测,借鉴了解耦头设计,并进行了改进。每一层结构如图4(d)所示。

回归损失方面,YOLOv6 采用了标准化交并比损失函数(Standardized Intersection over Union Loss,SIoU_Loss)。每个分支上先对特征图进行卷积和特征融合,之后再分成两个分支:一个分支通过两个卷积完成分类任务,另一个分支卷积后再分成两个分支,最后通过Concat 结构进行通道融合。进一步加快了网络收敛,提高了回归精度,在进行后处理后即可得到最终结果。

YOLOv7 的Head 侧使用了和YOLOv5 一样的损失函数,引入RepVGG style 改造了Head 网络结构,并使用了辅助头(Auxiliary head) 训练及相应的正负样本匹配策略。加入了深度监督(Deep supervision)和标签分类器(Label assigner),利用多种tricks(一些实用的技巧和方法,用于优化和提高深度学习模型的训练和性能) 结合来提升推理速度与精度。如图4(e)所示。

1.5 YOLO 系列深度学习模型结构总体对比

基于上文YOLO 系列算法的结构叙述,本文对各模型总体结构进行归纳总结,如表1 所示。

表1 YOLO 系列各部分结构对比

2 基于舰船图像的深度学习数据集的构建

众所周知,YOLO 系列深度学习模型属于监督学习的范畴,其特点是需要依靠数据集实现深度神经网络的训练和测试。本文为实现遥感图像中舰船的识别,构建了基于SAR 舰船图像的深度学习数据集。

2.1 数据集样本来源

实验所使用的数据集样本来源于已有的SSDD数据集。SSDD 是国内外公开的第一个专门用于SAR 图像舰船目标检测的数据集,共有1 160 个图像和2 456 个舰船,平均每个图像有2.12 个舰船[22]。该数据集类别只含有舰船,且目标尺度多样,背景复杂程度不一,既包含简单背景下的小尺度目标,也包含背景复杂的港口环境,可以满足深度学习算法对目标样本的训练需求。因此,SSDD 数据集的出现意味着SAR 图像舰船检测领域进入了深度学习时代。但由于SSDD 数据集发布时间较早,其标注的准确度有限,且训练集和测试集的划分模糊,因此我们对该数据集中的样本目标进行了重新标注并实现格式转换。

数据集部分样本如图5 所示,分别为简单背景图像、复杂背景图像和靠岸舰船图像。

图5 数据集图样

2.2 数据集的制作

在数据集SSDD 样本的基础上,在开源网站Make Sense(https://www.makesense.ai/)中进行舰船目标的手动标注,并导出为YOLO 格式。标注过程如图6 所示。

图6 数据集标注

为保证实验数据的泛化性,在训练集和测试集的划分方面,本文将数据集按9 颐1 的比例随机划分出训练集与验证集,用以训练模型。在模型测试时,均采用同一份样本。如图7 所示,其背景复杂,目标大小方向各异,具有更强的说服力。

图7 测试图样

2.3 数据集对比

SSDD 所包含的目标相比较于其他SAR 数据集具有其独特的优势,本文选取了两个以舰船为主要目标的数据集进行对比,分别为高分辨率卫星影像人工结构目标检测数据集(High-Resolution SAR Images Dataset,HRSID)[23]和空中合成孔径雷达舰船数据集1.0 版(AIR-SARShip-1.0)[24]。

2.3.1 经典舰船数据集的简介

HRSID 是由电子科技大学发布的高分辨率数据集。大多用于舰船检测、语义分割和实例分割任务。该数据集共包含5 604 张高分辨率SAR 图像和16 951 个舰船实例,SAR 图像的分辨率分别为0.5 m、1 m 和3 m。

AIR-SARShip-1.0 数据集均由高分三号卫星获取。图像场景复杂,包含港口、岛礁及不同等级海况的海面,目标覆盖十余类近千艘舰船,图像分辨率包括1 m 和3 m。

2.3.2 数据集信息的对比

数据集信息对比如表2 所示,SSDD 数据集相较于其他数据集而言,具有复杂的场景、多样的目标尺寸、完善的信息标注和更大的分辨率范围,更有利于SAR 舰船目标检测算法的训练与测试。因此本文数据集的样本采用SSDD 数据集。

表2 数据集信息对比

3 深度学习算法应用于舰船目标识别的性能对比

目前深度学习已经广泛应用于目标识别领域,且YOLO 系列算法的发展日渐成熟。为验证两阶段深度学习算法和YOLO 系列算法在舰船目标识别方面的性能,以及YOLO 系列算法中哪一代更适合应用于SAR 图像中舰船目标的识别,本文基于上述数据集针对YOLO 系列算法和Faster R-CNN 算法开展了对比实验。

由于当今社会对于目标识别的精度与速度的需求与日俱增,因此本文的评价指标及实验记录的数据主要包括识别精度和训练效率两个方面。本文也将在此实验的数据基础上对实验的算法进行评估。

在得到效果最好的模型后,本文对其网络结构进行优化修改,将注意力机制与其结合,以使YOLO模型在SAR 目标检测领域中达到更高的精度。

3.1 两阶段深度学习算法与YOLO 系列的对比实验

实验的软硬件环境方面如表3 所示。

表3 实验环境

在上述环境下,基于前期构建的数据集,首先对YOLO 系列的v3~v7 每一代算法及Faster R-CNN进行参数调试,以达到最优的训练效果。然后进行各算法的对比实验,以相同的图片尺寸和批处理量训练迭代400 次(epoch),得到的精度数据如表4所示。其中,P(Precision)代表的是准确率,R(Recall)代表的是召回率,AP(Average Precision)是一种用于评价目标检测算法性能的指标,它是对不同置信度下的准确度-召回率曲线(Precision-Recall Curve)进行积分得到的平均精度。在本实验中,将置信度下IoU 值从0.5 到0.95 按照0.05 的间隔进行划分,并计算每个IoU 阈值下的精度和召回率,然后根据这些数据绘制出准确度-召回率曲线,并计算其下面积作为AP@0.5 颐0.95 值,同理AP@0.5 指的是IoU 为0.5 时的AP 值。平均精度均值(mean Average Precision,mAP) 则是对多个类别或多个测试集进行平均化得到的AP 值,在只有一个类别时,mAP 值等于AP 值。本实验使用mAP@0.5、mAP@0.5 颐0.95、P 和R 作为精度的评价指标。

表4 各网络精度数据

同时对训练时间进行记录,如表5 所示。

表5 各网络训练时长

最后,对每一种算法以同一张图片进行验证,以验证算法在实际环境下的适用性,得到结果如图8 所示。

图8 各算法实际识别效果图

3.2 实验结果对比分析

从检测精度的角度来看,YOLO 系列算法在舰船目标检测任务上取得了较高的精度,其中mAP在0.5IOU 下几乎都在0.9 以上。通过分析检测结果图片可以清晰地看出,YOLO 系列算法对舰船目标的检测置信度基本达到0.8 以上。实验过程中,即使在复杂的背景下,YOLO 系列算法也很少出现漏检或误检情况,完全可以满足当前海上舰船目标检测的精度需求。其中,YOLOv3 的检测精度最高,与Faster R-CNN 算法相比,提高了近20%。

在训练速度方面,YOLOv4 及其之后的算法与两阶段检测方法相比,提高了近一倍。YOLOv7 的训练速度与前几代算法相比提高了近50%,大幅降低了模型训练的时间成本。通过实验数据可以清晰地看出,YOLO 系列模型的训练效果优于Faster R-CNN算法。在YOLO 系列模型中,YOLOv5 具有与YOLOv3相近的检测精度,但在训练时间上有明显的优势,因此YOLOv5 更适用于海上舰船目标检测。

总之,从检测精度和训练速度两个方面综合考虑,YOLO 系列算法特别是YOLOv5 在海上舰船目标检测任务上,与Faster R-CNN 算法相比更加优秀,更加适用于实际应用。YOLOv5 可以充分满足当前海上舰船目标检测的精度需求,且其训练过程更快、成本更低。

综上,YOLOv5 是一种高精度且高效的深度学习目标检测算法,在舰船目标检测领域具有广阔的应用前景。其高精度的检测性能可以为海上目标跟踪等提供准确可靠的检测结果,这为进一步研究海上目标跟踪和行为分析等相关内容打下了基础。

4 YOLOv5 模型优化

实验中虽然YOLOv5 模型在SAR 图像舰船识别方面达到了较高的检测精度,但在多个小目标以及复杂场景下仍会出现错检漏检的情况,针对该问题,我们对YOLOv5 模型的结构进行了优化,引入了

SimAM(Simple, Parameter -Free Attention Module)注意力机制[25]。SimAM 是一个简单而高效的卷积神经网络注意力机制。它不需要添加额外的参数,通过推断特征图的3D 注意力权重来实现。该模块通过优化能量函数来确定每个神经元的重要性,可以方便地应用于任何网络。

本文将该注意力机制应用在了YOLOv5 模型的Backbone 部分,添加在SPP 模块之前,构建了YOLOv5.SAM 模型。通过注意力机制来实现特征权重的优化,增强网络对重要特征的关注,以达到提高检测精度的目的。

4.1 常规YOLOv5 与YOLOv5s.SAM 的对比实验

在上文提到的数据集的基础上,通过参数的调整使两个模型达到了最佳的训练效果,并对二者在同一环境下进行了测试实验。

首先,在训练过程中,对两个模型的训练时间及精度进行了记录,评价指标与上文相同。记录的数据如表6 所示。

表6 两模型训练精度对比

从表6 中可以看出,在同样不进行预训练的前提下,添加了SimAM 注意力机制的YOLOv5.SAM的训练精度明显高于常规的YOLOv5 模型,在原本模型较高的精度上实现了一个较大的提升。其中各项指标均有提高,较大的提升体现在mAP@0.5 颐0.95上,两模型的对比曲线如图9 所示。

图9 两模型mAP@0.5 颐0.95 对比图

其次,本文采用相同的SAR 图像对训练好的模型进行测试,得到的效果如图10 所示,样本图原图如图11 所示。

图10 两模型识别效果对比图

图11 样本原图

4.2 实验结果对比分析

从图11 可以看出,图10(a)和图10(b)所框选的两个位置是YOLOv5 模型在检测时存在的误检和漏检情况。在图10(a)左上角,YOLOv5 模型错误地将港口识别为舰船目标,产生了误检。在图10(b)右下角,3 个舰船位置YOLOv5 模型仅识别出两个目标,出现了漏检。而改进的YOLOv5.SAM 模型在这两处检测难点上表现出较好的检测性能。同时,在目标的置信度方面,YOLOv5.SAM 模型也更高,展示出了更高的精确度。

由此可见,YOLOv5.SAM 模型在密集目标和复杂环境下的误检率和漏检率都低于常规的YOLOv5模型,且具有更高的精度,很好地弥补了常规YOLOv5 模型在密集目标和复杂背景下难以实现精确检测的缺陷。

具体来说,在图10(a)中,YOLOv5 模型把港口错误检测为舰船目标,而YOLOv5.SAM 模型没有此误检,表现出更高的准确率。在图10(b)中,常规YOLOv5模型漏检了一个舰船目标,而YOLOv5.SAM 模型检测出全部3 个舰船目标,错检率和漏检率更低。此外,YOLOv5.SAM 模型给出的置信度更高,表明其检测结果更加精确可靠。

总体来说,YOLOv5.SAM 模型在复杂场景和密集目标检测方面,具有更高的精度、更低的误检率和漏检率,可以更好地弥补YOLOv5 模型在SAR检测目标识别方面的不足,为SAR 舰船目标检测提供更精确和可靠的检测结果。

5 结 论

随着海上交通业业务需求的不断增加,如何对SAR 图像中的舰船目标实现准确高效的自动识别是目前社会亟待解决的问题。针对现有的识别算法,本文对YOLO 系列算法之间及其与两阶段目标识别算法Faster R-CNN 在舰船目标识别领域从效率和精度两方面进行了对比,并对YOLOv5s 模型进行了优化。研究成果主要包括以下几部分。

(1)本文归纳总结了当前基于深度学习的目标检测算法的研究现状,并且按结构汇总了YOLOv3至v7 各部分的改进之处,从原理上说明了YOLO系列每一代算法在不断提高效率与精度的同时都发展出了相应的独特之处,在不同领域内各有所长。

(2)在数据集样本选取方面,本文选取了应用广泛且极具代表性的几个舰船遥感图像数据集,经过综合对比后选定了类别单一、分辨率范围广并且目标尺寸多样的SSDD 数据集作为本文数据集构建的样本来源,通过对样本中的舰船目标进行手动标注构建出了更适合YOLO 模型训练的数据集。

(3)针对本实验中的以舰船为目标的数据集识别效果而言,在YOLO 系列模型中,YOLOv3 具有更高的检测精度,但训练时间较长;YOLOv7 算法作为YOLO 系列的最新之作展现出了极高的训练效率,但识别精度不高;YOLOv5 计算精度和效率的综合效果最优。通过实验数据的直观对比,在舰船检测方面,YOLO 系列算法具有较快的训练速度和较高的训练精度,明显优于两阶段目标检测方法。

(4)基于本文所建立的SAR 舰船图像数据集的实验结果表明,原YOLOv5 模型对密集目标的识别精度有待提升。因此本文建立了一种基于注意力机制的舰船目标识别深度学习网络——YOLOv5.SAM,并将其与常规的YOLOv5 模型进行了对比试验。从对比结果来看,本文提出的YOLOv5.SAM 模型在识别精度和对密集目标的检测性能方面均实现了提升,其mAP 值达到0.79,从而证明该方法在SAR舰船目标识别方面的有效性。

基于上述结论,YOLO 方法完全可以满足当前对于海上舰船目标识别的需求,并且可以根据对速度与精度需求的不同来选取更合适的版本。同时,在统合了注意力机制后可以更好地检测小目标与复杂背景下的目标,具有极佳的可塑性。因此,YOLO 方法在SAR 舰船目标识别领域具有极高的研究价值与广阔的应用前景。

目前海上舰船目标的精确识别领域仍然存在诸多亟待解决的问题,如雷达性能限制导致SAR 图像成像质量不佳;海上恶劣的气象条件对于图像清晰度的干扰;SAR 图像数据量大,质量复杂,需要进行预处理和后处理等问题。说明目前的数据来源及检测方法仍具有较大的提升空间,以上的问题也将是日后研究的重点方向。

猜你喜欢
舰船卷积精度
舰船通信中的噪声消除研究
基于3D-Winograd的快速卷积算法设计及FPGA实现
舰船测风传感器安装位置数值仿真
从滤波器理解卷积
基于DSPIC33F微处理器的采集精度的提高
基于傅里叶域卷积表示的目标跟踪算法
GPS/GLONASS/BDS组合PPP精度分析
舰船腐蚀预防与控制系统工程
改进的Goldschmidt双精度浮点除法器
一种基于卷积神经网络的性别识别方法