APP下载

改进YOLOv5的SAR图像舰船目标检测

2022-03-02谭显东

计算机工程与应用 2022年4期
关键词:舰船注意力卷积

谭显东,彭 辉

成都信息工程大学 软件工程学院,成都610225

近年来随着遥感技术的深入发展,基于遥感图像来实现舰船的检测已然成为沿海国家的重要任务。合成孔径雷达(synthetic aperture radar,SAR)是一种可以全天时全天候主动探测的微波成像传感器,对于气候变幻无常的海洋进行监测具有非常好的适应性,在检测舰船的任务中,SAR 不会受海洋天气多变的限制,可以对舰船目标进行全方位实时监测[1]。

针对SAR图像的舰船目标检测研究方法起初大多基于传统的目标检测思想,是半自动化的。在传统方法上,国内外的学者对SAR 图像舰船监测也开展了大量研究,例如提出了双参数恒虚警率(constant false alarm rate,CFAR)算法[2],并在此基础上提出了基于K 分布的CFAR算法[3],还有提出利用信息论中的熵[4]、小波变换[5]和模板匹配等方法来进行舰船目标检测[6]。这些传统方法存在依赖性很强,泛化能力和检测精度不高,检测时间长等不足。

随着人工智能技术的兴起,深度学习技术开始在各领域迅速发展,得益于深度学习的特点,不需人工耗时耗力的设计特征就可以实现有效的目标检测,因此推动了将计算机视觉领域的目标检测器在SAR图像上的应用。深度学习方法不会受到场景的限制,其具有优秀的特征自学习能力,不需要对SAR图像进行海陆分离,只需要标注好的数据集进行训练便可,其在图像处理方面具有很强优越性。

目前流行的目标检测算法大致分为两大类:一类为基于区域推荐(region proposal)的目标检测方法,其中典型的代表方法为区域卷积神经网络(R-CNN)[7]、Fast R-CNN[8]、Faster R-CNN[9]等系列算法。它的流程是首先需要利用选择性搜索(selective search)或者是区域建议网络(region proposal network,RPN)来产生建议的区域,然后在这些建议的区域中进行回归分类。另外一类为基于回归思想的方法,把目标检测问题简化为回归的问题,没有区域推荐的阶段,只需一个卷积神经网络就可直接得到不同目标的类别概率和位置坐标,代表性的算法有YOLO[10]、SSD[11]、Retina-Net[12]等。其中以YOLO 系列为代表的目标检测算法,识别速度相对其他算法普遍较快,尤其在小目标检测方面具有良好的效果,因此得到了广泛的应用。

近些年已有不少学者在这方面进行了研究。基于区域推荐的方法,顾佼佼等[13]对Faster R-CNN 的锚框个数和大小进行了重新设计,改善了目标检测中重复检测的问题。基于回归思想的方法,张晓玲等[14]利用YOLO网络,建立深度分离卷积网络,并结合通道和空间注意力机制[15]来提高舰船检测精度。基于区域推荐比基于回归思想模型更加宽和深,也更加复杂,计算程度也更繁琐,因此综合考虑,选用基于回归思想的YOLO系列目标检测算法。同时,近年来针对YOLOv5算法的改进,也已有不少学者提出了一些方法。张麒麟等[16]改进损失函数为DIOU[17],通过考虑预测框与真实框中心点欧氏距离,改善目标检测效果。马永康等[18]对骨干网络添加有效通道注意力机制(efficient channel attention,ECA),增强了特征表达能力,引入SoftPool 改进池化操作[19],保留更多特征信息。

本文以YOLO系列最新的YOLOv5为基础,针对舰船目标检测框的特点对损失函数进行优化,并结合坐标注意力机制(coordinate attention,CA),提升了网络提取特征的能力[20],在模型轻量化的同时实现对舰船目标检测的高速与高精度并存。

1 YOLOv5网络结构

YOLOv5是当前YOLO系列最新的目标检测算法,在数据输入端首先对舰船图像进行自适应的缩放,并且通过遗传算法对锚定框进行自动学习调整,使其能够更好地预测舰船目标的所在位置。

YOLOv5网络结构大致可分为4个模块:输入端、主干网络Backbone、Neck 和预测端Prediction。在输入端采用了Mosaic数据增强、自动计算锚框和图片缩放等方式对输入图像进行处理。在主干网络的开头增加Focus操作,即特殊的下采样,采用切片操作把高分辨率的特征图拆分为多个低分辨率的特征图。如图1所示,将4×4×3 的Tensor 通过间断采样分为4 份,在通道维度上拼接生成2×2×12的Tensor,Focus层将w-h平面上的信息转换到通道维度,再通过卷积的方式提取不同特征,采用这种方式可以减少下采样带来的信息损失。

图1 Focus操作图Fig.1 Focus action figure

CSPDarknet53[21]作为主干网络Backbone,它的作用是对图片进行特征提取,其中还包含CBL 和SSP 操作。CBL 由三部分组成,即卷积(Convolution)、批量归一化(batch normalization,BN)和激活函数(Leaky Relu),SSP即空间金字塔池化层,采用四种不同尺寸的最大池化方式大大增加了感受野。此外,CSP(cross stage partial networks)的思想[22]大致为将梯度的变化从头到尾地集成到特征图中,减少网络参数和运算量,既保证速度和准确率,也减少模型尺寸大小。除此外还在Neck(特征聚合)中使用了CSP,加强了网络特征融合的能力。

在预测端拥有三种不同尺度的特征图,根据不同尺度下的特征对目标图像生成相应的预测框并对其进行非极大值抑制(non-maximum suppression,NMS)处理,保留局部类别置信度得分最高的预测框,抑制掉得分低的预测框。

YOLOv5的网络结构如图2所示。其中损失函数的计算是基于Objectness Score、Class Probability Score和Bounding Box Regression Score。首先采用BCELogits和二进制交叉熵损失函数(BCEloss)计算Objectness Score和Class Probability Score。如图3所示,其中实线框A表示目标的定位框,虚线框B表示预测框,M为两个框之间的交集,N则为并集,IOU就是交集与并集之比,其定义为:

图2 YOLOv5网络结构图Fig.2 YOLOv5 network structure

图3 GIOU示意图Fig.3 GIOU figure

其次,可以计算出它们的最小凸集(包围A、B的最小包围框)C。再计算闭包区域中不属于两个框的区域D占闭包区域的比重,用IOU减去这个比重得到GIOU。随后可得到GIOU的损失函数GIOU_Loss,其定义为:

GIOU 引入了预测框与真实框的最小外接矩形,改善了真实框和预测框不相交情况下无法预测两者距离的问题。GIOU_Loss作为物体边界框的损失函数,值越小则代表模型越好,表示预测框与真实框的差距就越小,预测效果就越达到期望效果[23]。

2 YOLOv5网络的改进

2.1 损失函数

GIOU_Loss作为预测框的损失函数,虽然改善了真实框与预测框不相交情况下存在的问题,但当预测框在目标的真实框内即A⋂B=B时,其损失值不会发生改变,显然无法很好地衡量预测框的位置状态。此外针对SAR图像舰船目标具有高长宽比的特点,引入EIOU_Loss将两框的重叠部分、中心点距离和长宽比都融合到损失函数的计算当中[24]。

如图4所示,由于A⋂B=B=C,令A与B的最小外接矩形C的对角线距离为c,预测框B与真实框A的中心点之间的欧氏距离r,可以求得目标框与预测框的长宽之差h和w,Ch和Cw分别是覆盖预测框和目标框的最小外接矩形的长和宽,则EIOU_Loss的定义如下:

图4 EIOU示意图Fig.4 EIOU figure

当EIOU 值越大时,说明预测框越接近真实框的位置,其损失函数值就越小,但是该损失函数在训练过程中梯度不能自适应改变,从而影响训练效果。为了解决这个问题,本文对EIOU_Loss 进一步优化,设计一种新的边框回归函数,即IEIOU_Loss,其定义为:

如图5所示,IEIOU_Loss和EIOU_Loss都随着EIOU的增大而减小,并且IEIOU_Loss 的梯度绝对值随着EIOU 的增大而减小。显然对边框回归更有利,即当预测框和真实目标框之间的距离较远时,具有更大的梯度绝对值(即更小的EIOU值)对训练过程更有利,IEIOU_Loss比EIOU_Loss的设计更加合理。

图5 EIOU_Loss和IEIOU_Loss示意图Fig.5 EIOU_Loss and IEIOU_Loss figure

2.2 坐标注意力机制

近些年来,注意力机制模块被广泛使用在计算机视觉任务中,其目的是告诉模型需要更加关注哪些内容与哪些位置,目前已经用于深度神经网络中以便提升模型的性能。然而在轻量级网络中,注意力机制的应用受到了一定的限制,原因是大多数注意力机制所带来的额外计算开销是轻量级网络所负担不起的。因此本文引入一种简单灵活且几乎不带来额外计算开销的坐标注意力机制(CA)来提升网络的精度。CA 模块的具体流程如图6所示。

图6 坐标注意力机制模块Fig.6 Coordinate attention model

输入特征图X是上一层卷积的输出,其维度为C×H×W,即通道数为C,高为H,宽为W。使用尺寸(H,1)和(1,W)的平均池化分别沿着水平坐标与垂直坐标方向对每个通道进行编码,即高度为h的第c个通道与宽度为w的第c个通道的输出,公式如下:

上式两个变换沿着两个空间方向进行特征聚合,然后级联生成的两个特征图zh、zw,并进行卷积核大小为1 的卷积运算F1,生成对空间信息在水平方向和垂直方向的中间特征图f,公式如下:

沿空间维度将f分成两个单张量f h和f w,再利用两个卷积核大小为1 的卷积运算Fh和Fw将特征图f h和f w变换为与输入X同样的通道数,公式如下:

式中,σ运算是Sigmoid激活函数,经过运算得到0~1的范围数值,即代表重要等级程度。将gh和gw进行拓展,作为注意力权重,最终输出公式如下:

至此能够有效关注到有效的通道,同时关注空间位置坐标信息,如图7所示。本文将该注意力机制嵌入到Backbone 中的CBL 模块和BottleneckCSP 中的残差块,以帮助模型更能对感兴趣的目标进行特征提取。例如对靠近岸边的舰船目标更加关注,大大增强模型训练的效率。改进后的YOLOv5算法框架如图8所示。

图7 注意力机制嵌入示意图Fig.7 Attention embedded in diagrams

图8 改进YOLOv5网络结构图Fig.8 Improved YOLOv5 network structure

3 实验结果与分析

3.1 实验平台

本文实验基于Pytorch1.9.0框架,在Jupyter Notebook平台上进行,模型训练通过GPU 加速,在NVIDIA RTX2060(显存8 GB)GPU,CUDA10.2 环境下完成。YOLOv5根据不同的网络深度与宽度,由浅到深可以分为YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x四个模型。本文实验采用最轻量的YOLOv5s,在此基础上进行改进并与其原始网络作对比,最后再与其他一些改进方法进行测试对比。

3.2 数据集简介与训练策略

本文实验采用数据集为国内公开的SSDD(SAR ship detection dataset)数据集,该数据集共有1 160 张SAR图像,共含有2 456只舰船目标,且已被海军航空大学李建伟等学者标注[25],具有多种极化模式、多种分辨率、海面上和靠岸等舰船场景,能有效验证模型的鲁棒性。本文实验将SSDD数据集按照7∶1∶2的比例随机划分成训练集、验证集、测试集。在ImageNet数据集上预训练YOLOv5s 权重,使用SGD 优化器对网络参数进行迭代更新,动量参数设为0.9,批大小设为32,训练500个Epoch,采用周期性学习率进行调整和Warm-Up方法预热学习率,其中初始lr0 设为0.01,在Warm-Up阶段,采用一维线性插值对每次迭代的学习率进行更新直至0.1,之后采用余弦退火算法来更新学习率,最终下降至学习率lrf为0.002。

3.3 评价指标

本文实验使用深度学习中的评价指标,如召回率(Recall)、精度(Precision)以及平均精度均值(mean average precision,mAP)。

TP(true positives)为正确的舰船检测数目,FN(false negatives)为漏检的舰船数目,FP(false positives)为虚警的舰船数目。

召回率定义为:

精度定义为:

平均精度均值定义为:

其中,P为精度,R为召回率,P(R)为精度和召回率曲线。在本实验中,设置的IOU 为0.5,即检测阈值,当检测框与真实框的重叠区域超过50%时,就认为该检测框是正确的。

3.4 实验结果

为了验证本文改进模块对SAR舰船目标检测的影响,对各模块进行评估,结果如表1 所示。其中加粗字体表示最优结果,“√”表示添加相应模块。表中YOLOv5_1、YOLOv5_2 和YOLOv5_3 分别表示添加注意力机制模块、EIOU_Loss和改进IEIOU_Loss。可以看出,注意力机制模块对SAR 舰船目标检测有较为显著的影响,主要是因为原始算法对特征的提取不太明确,会受到陆地的干扰,而且会将多个密集舰船目标误检为一个目标,造成漏检,添加CA后的模型对舰船目标的显著特征提取更加明确。EIOU 使检测结果更加准确,因为在预测边框回归时,考虑到了两框的重叠部分、中心点距离和长宽比,考虑的因素更加综合全面,而且在损失函数中进行梯度变化的优化,对训练过程更加有利,使得最终的检测精度更高。如图9 所示,横坐标为Epoch 训练次数,纵坐标为预测边框的Loss 损失值,可以看出改进后的YOLOv5 边框损失Loss 值下降曲线收敛性更好。图10 为mAP 指标曲线图,其中mAP_0.5 表示IOU的阈值为0.5时对应的mAP。

表1 各模块精度评估对比Table 1 Comparison of mAP among different modules

图9 Loss值下降曲线Fig.9 Decline curve of Loss value

图10 mAP曲线图Fig.10 mAP curve

图11为改进后的算法在测试集上的舰船目标检测结果。其中(a)~(c)是复杂背景下靠岸舰船检测结果,(d)是深海稀疏分布的小目标检测结果。可以看出,对于岸边不同尺度的舰船和密集分布的舰船,均能有效定位,对于稀疏分布,目标较小的深海舰船也可以精确地实现定位,漏检率低。

图11 改进YOLOv5实验结果Fig.11 Improved YOLOv5 experimental results

3.5 实验对比分析

为了进一步验证算法的检测性能,将改进的方法与原YOLOv5进行对比的同时,与主流的基于深度学习的目标检测算法YOLOv3、SSD、Faster R-CNN 在精度和速度方面进行比较,结果如表2 所示,其中加粗字体表示各列最优结果。

表2 实验结果对比Table 2 Comparison of experimental results

可以看出,本文方法在SSDD数据集上的精确度最高。此外,由于在预测边框损失函数上做了曲线化计算操作,增加了部分计算量,导致算法的检测效率有所下降,但是总的来看,本文方法在速度上仍具有巨大优势,能够满足实时检测的基本需求。

如图12 所示,本文选择复杂样本对原YOLOv5、SSD与本文改进方法进行检测实验对比。可以看出,三种方法都能有效地检测舰船目标,但是SSD算法对于密集排列的舰船目标的定位精度较差,容易造成漏检。对于原始YOLOv5而言,舰船目标容易受到海岸陆地的影响,造成较高的虚警率。本文改进方法明显降低了深海区域舰船小目标的漏检率,同时也能有效区分密集排列的舰船目标,提高了靠岸舰船的检测精度。原因在于本文方法对特征提取进行了改进,使其能提取到更专注的舰船目标特征,从而准确地定位到舰船目标。

图12 改进实验结果对比Fig.12 Comparison of improved experimental results

为了进一步分析本文所提出的改进方法对YOLOv5算法的影响,将本文改进方法与其他一些改进方法进行检测实验对比。改进1算法使用DIOU计算预测框的损失值[17];改进2 算法对特征提取网络添加卷积注意力机制模块CBAM[15];改进3 算法使用有效通道注意力机制模块ECA 替换[18];改进4 和改进5 算法分别将DIOU 与CBAM、ECA 混合使用,并且固定各注意力机制模块的添加位置。这些方法对YOLOv5 神经网络的影响效果如表3 所示,其中加粗字体表示各列最优结果,“√”表示使用相应方法。可以看出,DIOU 将计算预测框与真实框的交并比替换成中心点之间的欧氏距离来判断两框接近的程度,相比于原GIOU而言[23],虽然提高了舰船检测的精确度,但依然存在没有考虑预测边框的长宽信息等不足。而本文方法的IEIOU则考虑更加全面,不仅综合考虑边框的长宽信息,而且进行了曲线优化,对检测精度的提升更为明显。此外,对于注意力机制模块,CBAM分为两个步骤,先通过通道注意力机制得到有效通道,然后再利用空间注意力机制得到这些通道上的重要位置信息。过程显得稍微复杂且进行了降维操作,导致特征信息不能全面有效利用。ECA 则通过使用一维卷积避免了降维操作,但是只考虑到通道信息。CA 模块明显比CBAM与ECA提升更大,这是由于CA不仅考虑了通道信息与空间位置信息,还将它们融合到一起,使其特征提取得更加合理且高效。如图13 所示,本文选取混合效果最好的改进4和改进5算法与本文方法作对比,虽然改进4 和改进5 算法对于靠岸舰船的检测效果相比于原方法有所提升,降低了虚警率,但检测精度仍然不太理想,并且针对密集舰船目标,依然容易出现漏检。

图13 不同改进方法实验结果对比Fig.13 Comparison of experimental results of different improvement methods

表3 不同改进方法对性能的提升Table 3 Improvement of performance by using different improvement methods

4 结束语

针对当前目标检测模型复杂、检测效率较慢且效果不够理想的问题,根据SAR 图像中舰船目标靠岸与深海中稀疏小目标的分布特点,提出了改进的YOLOv5网络模型的目标检测方法。该方法泛化性强,对于靠岸且密集的舰船目标的检测效果较好,相比其他改进方法具有更高的检测精度,并且检测时间较短,在实时性SAR应用领域具有一定的现实意义,最终得到的模型权重大小仅13.8 MB,这样的轻量模型将有助于未来的硬件移植。

但是本文方法依然存在一定的局限性,目前只针对SSDD 数据集进行实验,实验数据量相对较少,缺少普遍性。此外,不同方位的舰船目标对IOU 取值存在影响。在未来的工作中,将使用更大的高分辨率SAR 舰船图像数据集训练神经网络,进一步优化网络结构,提高舰船目标检测效率。同时对目标检测框进行研究,使其能分辨不同方位的舰船目标,提高检测精度。

猜你喜欢

舰船注意力卷积
舰船通信中的噪声消除研究
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
舰船测风传感器安装位置数值仿真
如何培养一年级学生的注意力
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
A Beautiful Way Of Looking At Things
舰船腐蚀预防与控制系统工程