APP下载

复杂背景下SAR舰船目标检测算法的改进

2023-11-22何旭鑫吴建平高雪豪

计算机技术与发展 2023年11期
关键词:舰船注意力损失

何旭鑫,吴建平,2,3,余 咏,高雪豪,韦 杰

(1.云南大学 信息学院,云南 昆明 650504;2.云南省电子计算中心,云南 昆明 650223;3.云南省高校数字媒体技术重点实验室,云南 昆明 650223)

0 引 言

合成孔径雷达(SAR)是一种雷达,最适合于舰船探测,因为即使在远离观测目标的情况下,其分辨率也是恒定的,在军用和民用领域对舰船、飞机、车辆目标的监控具有重要作用[1]。因此,利用SAR图像研究舰船的目标检测已经成为国内外研究的热点[2]。比如黑海舰船,桥梁被攻击,波罗的海的北溪天然气管道附近的相关船只监测等。中国是一个海防大国,拥有漫长的国界线,为了更好地管理海上秩序,因此需要不断提升舰船检测准确性。

随着互联网的发展,卷积神经网络(Convolutional Neural Network,CNN)技术在各个领域不断发展,尤其是在SAR图像舰船目标检测领域的不断应用,使得在检测舰船时的检测效果不断提升。目前在深度学习方向,主流的目标算法分为两类:一类是以R-CNN(Regions with Convolutional Neural Network features)为代表的二阶段算法,但是这类代表的算法速度比较慢,与此对应在研究舰船目标检测时不能满足实时性的要求;另一类是以SSD(Single ShotMultiBox Detector)和YOLO(You Only Look Once)为代表的一阶段算法,这种为代表的目标检测算法虽然在速度上勉强达到舰船检测的要求,但是在舰船数据集上的表现并不好,效果比较差。

Wei等[3]公开了HRSID舰船数据集,该数据集极大地丰富了SAR舰船领域的数据,使得该领域的深度学习算法得到了提升。Kang (2019)使用fast-RCNN获得初始船舶检测结果,然后采用自适应的阈值报警率调整最终结果[4],但是这种方法在复杂场景下的识别准确率不高,就像复杂海岸线和港口处就并不能很好地识别。谭显东等[5]重新考虑了检测框的长和宽,通过改变这两个参数的定义重新对损失函数进行了优化,并且在主干网络中结合坐标注意力机制,实现对舰船目标检测。文献[6]提出了一种专门用于SAR船舶检测的密集连接DetNet(DDNet),在主干子网络中,使用堆叠卷积层而不是大的下采样,以使其更适合于小型船舶检测。在预测子网络中,使用密集连接来融合不同尺度的特征,使其能够更好地处理多尺度船舶检测。文献[7]先采用IoU(Intersection over Union) K-means算法解决极宽比问题,然后用IoU K-means作为预处理步骤,从适合船舶检测的数据集中聚类出一组纵横比。其次,在网络中嵌入了软阈值注意模块(STA)来抑制噪声和复杂背景的影响。文献[8]在无锚框检测器FCOS[9]的基础上设计特征平衡和优化网络,并结合注意力机制引导金字塔网络不同层级特征的提取。

为了更好地解决复杂SAR图像对小目标舰船的识别能力和降低漏检率,该文是在主干网络中添加CBAM注意力机制,使用注意力机制来学习SAR图像舰船目标的特征。同时对于原来的特征金字塔模型FPN的结构性进行改变。首先,对于原来的FPN的三个检测探头更改为四个检测探头,增加了一个160*160的特征图,提高对小目标的检测能力。然后,将原版的PANet替换为改进的BiFPN[10],进一步强化对复杂背景下的目标特征提取。最后,选用SIoU[11]作为激活函数,SIoU进一步考虑了真实框和预测框之间的向量角度,重新定义相关损失函数,实现高精度的定位。通过多组对比实验,并对高密度小目标舰船检测和复杂环境下SAR图像舰船目标的检测结果进行分析,最终得出该算法在复杂背景下(见图1)对舰船的目标识别具有实用性和有效性。

1 YOLOv5算法

YOLOv5目标检测算法主要由四部分构成,整体结构如图2所示。第一部分输入层,其中输入图像尺寸为640×640,是最基础也是很重要的部分。第二部分为YOLOv5算法的主干网络,一共由10层组成,主要是由卷积模块和C3模块不断堆叠形成的,作用是对输入的SAR图像中的舰船目标进行初步的特征提取。第三部分是特征融合模块的PANet[12],通过自上而下的卷积路径和自下而上的上采样路径相结合,将不同路径下产生的相同大小的特征图像互相融合,融合不同位置的语义信息,极大地丰富了图像所包含的信息。第四部分为检测层,检测层中的主体部分就是三个检测器,即利用基于网格的anchor在不同尺度的特征图上进行目标检测的过程,其结构如图3所示。

YOLOv5算法的Conv模块是YOLOv5中最基础的模块,由Conv2d模块、归一化、SiLU激活函数组成。该激活函数具备无上界有下界、平滑、非单调的特性,可以有效地效抑制梯度消失现象。YOLOv5的检测层存在三种不同尺度大小的特征图,用于最终对不同尺度的分别检测,YOLOv5算法能够针对各个尺寸下的特点,默认采用非极大值抑制(NMS)算法。该文使用自适应NMS自适应地调整船舶密集布置和稀疏分布的非最大抑制(NMS)阈值,而YOLOv5则使用了自适应锚框算法,根据不同类型的目标数据集进行自行改变,自适应地计算训练集中的最佳锚框值[13]。

图2 YOLOv5网络架构

图3 YOLOv5各模块结构

2 改进的YOLOv5算法

2.1 注意力机制模型

计算机视觉的注意力机制的思想是通过寻找现有数据间的关联性突出某些重要特征,不同的注意力机制具有相同的学习方式,都是在深度学习的训练过程中,通过前后向传播,根据不同的目标特征,更新权重。对于输入的SAR舰船图像,由于舰船目标只在复杂的图像中占很小一部分,大部分为复杂的港口背景信息,在卷积的过程中,SAR舰船特征图像在不断地缩小,迭代累积,最终导致一部分特征消失,形成冗余背景信息,从而使有些小目标的舰船信息丢失,最终对小目标舰船识别率不高。为此,该文使用一种卷积注意力模块(Convolutional Block Attention Module,CBAM)[14]。

CBAM注意力机制是空间和通道结合的一种注意力机制,因为SAR图像中舰船属于小目标,为了更加突出舰船的特征,就需要在相对较小的特征图像上进行特征学习,训练注意力的权重,最终提升舰船检测的准确率。于是,该文在Backbone中的最后一个C3模块后面添加CBAM模块,让注意力机制在此处重新学习舰船图像的特征,随后重新学习过的图像通过SPPF[15],相比于SPP结构,将大的卷积核替换了多个数量的5×5卷积核,同样扩大网络的感受野,使得运算速度变快了。

(1)通道注意力模块。

利用图像特征之间的通道关系生成了新的通道特征图,方法如图4(a)。首先,原始的特征图分别经过平均池化(average-pooling)和最大池化(max-pooling)操作,生成两个不同的特征,然后这两个特征图经过共享模块。随后将产生的两个特征进行逐元素相加,通过Sigmoid函数激活得到通道注意力模块的结果Mc(F)。最后一步,将输入的原始图像与Mc(F)相乘,生成一个与原图一样大小的特征图像。CBAM的通道模块计算公式为:

Mc(F)=σ(MLP(AvgPool(F))+

MLP(MaxPool(F)))=

(1)

(2)空间注意力模块。

使用(1)中产生的特征图生成空间注意力图,方法如图4(b)。空间方向不变,在通道方向进行平均池化和最大池化操作,将生成的两个通道为1的特征拼接在一起,随后将新特征经过7×7的卷积和激活函数最终生成Ms(F)。最后一步,将输入的原始图像与Ms(F)相乘,生成一个与原图一样大小的特征图像。CBAM的空间模块计算公式为:

Ms(F)=σ(f7×7([AvgPool(F);MaxPool(F)]))=

(2)

图4 CBAM注意力模块

2.2 多尺度检测的改进

对于原版YOLOv5算法使用的是三尺度检测,与此对应的是三组对应的预先设好的对照框,当增加一个检测层时,就需要再新增一组对应的Anchor。当在输入端输入尺寸大小为640×640的图像时,经过YOLOv5的主干网络和特征融合模块后,就可以在检测层得到大小为80×80、40×40、20×20的特征图。它们分别可以用来检测大小在8×8以上的目标、16×16以上的目标、32×32以上的目标,这就导致了小尺寸的舰船目标容易被忽略,造成漏检。为了解决舰船目标漏检的情况,该文将在YOLOv5的第四部分检测层做出改进,为了更好地检测舰船,增加一个大尺度特征图,通过计算可得出是160×160大小的检测层。改进后的特征融合结构如图5所示,不只是增加了一个大尺度检测层,还对PANet进行了替换,使用与四尺度架构相匹配的改进BiFPN结构,在18层之后又新加了卷积层和二倍上采样层,再将来自第2层和20层的特征进行BiFPN二特征融合,最后形成一个新的160×160特征检测层。

为了更好更快速地融合图像的特征信息,还使用了改进的加权的双向特征金字塔网络。图6展示了不同结构的特征融合模块。BiFPN是在PAN的基础上进行改进的,同样的特征融合模块,但是改进的BiFPN可以使不用层次的特征进行融合。结构如图6(c)所示,但因为不同的输入特征图像有着不同的分辨率,因此不同尺寸的特征图对最终的输出图片有着不一样的侧重信息。为了处理好每个输入的比重,在进行不同尺寸的特征融合时,给予每个输入不同的权重值,让整个网络通过训练学习各个不同输入特征的重要性,通过前后项传播得出权重,最终达到优化算法的目的。BiFPN使用的是快速归一化融合,直接用权值除以所有权值加和来进行归一化,同时将权值归一化到[0,1]之间,提高了计算速度,如式(3)所示:

(3)

其中,wi≥0,通过ReLu激活来确保数值的稳定,Ii表示输入的特征。由于标量权重是无界的,会导致训练不稳定,所以使用softmax进行归一化。BiFPN双向跨尺度连接的改进:对于图中所示的中间一列特征图像,对应的是YOLOv5上采样部分,该文删除了只有一个特征输入的节点,这一部分节点只有从主干网络提取的特征,对于特征融合金字塔作用不大,将该节点删除之后不仅没有很大影响,而且减少了运算量,简化了一部分网络结构;然后是在主干网络的不同大小的网络提取层增加一条通往输出的特征融合线,是为了增加原始特征信息在最后检测层的比重,同时融合更多的特征信息;最后,将此模块结合YOLOv5的特征融合不断重复堆叠,实现不同层次的特征融合。

图5 改进的YOLOv5网络架构

改进后的BiFPN将在Backbone提取的四种不同尺度的特征用作图6(c)右边所示的一列的输入,其中P3、P4、P6、P7分别对应改进后的YOLOv5网络中的2、4、6和10层,将它们按照不同的融合方式进行不同尺度的加权融合,最后设置20×20、40×40、80×80、160×160四种不同尺度的特征分辨率的预测分支。

图6 FPN、PANet和BiFPN结构

2.3 损失函数的改进

YOLOv5模型的损失函数定义包含矩形框、置信度和分类概率这三个部分,矩形框表示目标的大小以及精确位置,置信度表征所预测矩形框(简称预测框)的可信程度,取值范围0~1,值越大说明该矩形框中越可能存在目标,分类概率表征目标的类别,损失函数的作用为度量神经网络预测信息与期望信息的距离,预测信息越接近期望信息,损失函数值越小。由上述可以知道损失主要包含以下方面:矩形框损失、置信度损失、分类损失,其中CIoU Loss计算矩形框损失,置信度损失与分类损失都用BCE loss计算。CIoU Loss公式如式(4)所示:

(4)

其中,ρ2(b,bgt)代表预测框与目标框两个中心点的欧氏距离,d代表最小的真实框和预测框所组成的矩形对角线边长,β是计算时用来平衡比例的参数,s是用来衡量anchor框和目标框之间比例的一致性,公式如式(5)、(6)。

(5)

(6)

由于CIoU没有考虑到真实框与预测框之间的方向,导致收敛速度较慢,对此SIoU引入真实框和预测框之间的向量角度,重新定义相关损失函数,具体包含四个部分:

(1)角度损失。

(7)

结构如图7(a)所示,其中ch为真实框和预测框中心点的高度差,σ为真实框和预测框中心点的距离。

(2)距离损失。

(8)

(3)形状损失。

(9)

图7 SIoU函数损失框图

(4)IoU损失。

(10)

SIoU是一种新的损失函数,重新定义了惩罚度量,考虑了期望回归之间的向量夹角,提高了训练的速度和推理的准确性。

3 实验结果和分析

3.1 实验数据集与训练策略

HRSID数据集是电子科技大学在2020年1月发布的,HRSID是高分辨率SAR图像中用于船舶检测的数据集。该数据集共包含5 604张高分辨率SAR图像和16 951个ship实例,在该数据集上使用了预训练权重,设置bitch size为8,训练250个Epoch,使用SGD优化器进行权重更新。

3.2 实验结果及分析

对于舰船数据集的评价指标[16],选择召回率(Recall)、精度(Precision)以及平均精度均值(mAP)。对于实验部分,为了显示加入的CBAM注意力模块、改进BiFPN模块和损失函数SIoU之间不同的效果,做了6组对照实验,其结果如表1所示。为了在表中显示最好的效果,特意用加粗的字体表示,还使用了“√”表示添加相应模块。

注意力机制模块对SAR图像有较大的影响,从上表可知只在主干网络里面加入CBAM注意力,就可以加强对图像特征的提取能力,有效地提升了精度P和mAP。这是因为原始的算法特征提取能力不强,对复杂背景下的舰船小目标容易漏检。改变YOLOv5的损失函数为SIoU后,可以明显发现精度P相比于原始算法提升了1.3百分点,这是因为在预测边框回归[17]时,引入真实框和预测框之间的向量角度,重新定义相关损失函数考虑的因素更加综合全面,对训练过程更加有利,最终的检测精度更高。在加入改进BiFPN模块后,由原始的三尺度检测变为四尺度检测,增加了一个新的检测层,更加注意SAR图像的小目标舰船,使得精度P、召回率R和mAP都得到了不同程度的提高。改进6加入了CBAM注意力和改进BiFPN,通过这两个模块的结合可以得知,主干网络的注意力机制加强了网络对舰船目标特征的学习能力,而最后检测层增加的大尺度检测层则是增强对小目标的检测能力。同时,主干网络关注一些小特征信息,导致了精度P的下降,这时引入新的损失函数SIoU,可以改变真实框和预测框之间的定义关系,从而达到提升精度P的目的,最终成为该文改进的YOLOv5目标检测算法。图8展示了不同方法的mAP指标曲线。

表1 各模块结果对比

图8 mAP曲线

为测试文中算法的效果,将复杂背景下的SAR舰船图像输入到不同的改进网络中和真实值进行对比,实验效果如图9所示。

图9 实验效果

通过观察上面的实验效果图可以发现,相比于原始算法,改进6是加入CBAM和改进BiFPN模块,提升了对小目标的检测率,降低了漏检率。但是同时面临着舰船小目标容易受到复杂背景的影响,导致一些海岸边的建筑被识别成为舰船目标,从而造成较高的虚警率。为了改进这种算法的缺点,在改进6的基础上引入了新的损失函数SIoU,最终形成文中方法。从上面的图片中可以明显看出,该方法有效地区分了复杂背景与真实舰船,最终达到提升精准率P和mAP的目的。

3.3 实验对比分析

为了进一步证明文中算法的优越性,不仅与原YOLOv5算法进行对比,而且还与一些经典的目标检测算法Faster R-CNN、Cascade R-CNN、RetinaNet、SSD和一些最新的论文在同样的HRSID数据集上进行比较,评价指标和表1一致。同时又加入了检测时间Times,用来表示不同模型的检测速度,最后得到不同模型的数据,如表2所示。最好的结果使用加粗字体表示。

表2 实验对比

可以看出,文中方法在HRSID数据集上的各项指标均最高。此外,由于在特征融合模块增加了上采样层,使得最后的检测层变为四尺度检测,增加了一部分的计算量,导致网络的复杂度增加。与此同时检测的时间一定会增加,这是提升精准度P、召回率R和mAP所带来的不可避免的负面影响。但是这种时间的增加并不大,相比于其他的像Faster R-CNN这样的目标检测算法,文中方法检测速度还是远远快于它们,在SAR舰船图像的实际应用方面,还是具有一定的可靠性。

4 结束语

针对当前对SAR图像中的舰船目标检测效果不佳和复杂背景下漏检率较高的问题,根据SAR图像中舰船目标分布在复杂的海岸线和密集的特点,提出了一种基于YOLOv5网络模型的改进BiFPN目标检测方法。

该方法针对复杂背景下的舰船目标具有较好的检测效果,对比其他的改进目标检测算法,该方法在mAP上大幅提升,虽然相对于YOLOv5检测算法检测时间变长,但是其检测效果变得更好。算法为解决复杂海岸背景对舰船的干扰,引入CBAM注意力,加强对图像的特征提取能力。同时为了防止丢失小目标信息,检测层的四尺度检测避免漏检,在这样的特征增强下,可能会导致目标信息过于丰富而注意到某些不存在的目标信息,于是引入新的损失函数SIoU来重新定位检测框与真实框的关系。对于该改进方法只在数据集HRSID进行测试并且表现良好,可能不具有泛化性,为了使该方法具有普适性,将使用更多的舰船数据集训练网络,并且不断优化,以提高精准度。

猜你喜欢

舰船注意力损失
舰船通信中的噪声消除研究
让注意力“飞”回来
胖胖损失了多少元
舰船测风传感器安装位置数值仿真
玉米抽穗前倒伏怎么办?怎么减少损失?
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
舰船腐蚀预防与控制系统工程
一般自由碰撞的最大动能损失
损失