一种改进的YOLOv7光学遥感图像舰船目标检测算法
2024-05-09车思文汪宇玲
车思文, 汪宇玲,2
(1.东华理工大学信息工程学院,南昌 330000; 2.新南威尔士大学计算机科学与工程学院,悉尼 2052)
0 引言
光学遥感图像舰船目标检测技术被广泛应用于军用和民用领域,涉及船只搜救、海运交通监控、渔业管理和海关缉私等任务。特别是在军事领域,利用计算机从航空或卫星图像中自动识别目标,提高了军事情报的判读效率和准确性。光学遥感图像的目标检测作为航空和卫星图像分析领域的挑战性问题,近年来备受关注。光学遥感图像的传感器和拍摄角度相较于普通光学图像有较大的差异性。舰船目标通常较小、图像信噪比相对较低、目标方向和尺寸多变、目标密集排列出现、背景区域占据大部分图像等因素都增加了检测的难度。
传统舰船目标检测方法依赖手工设计特征,通过提取视觉信息(如颜色、纹理、边缘等)进行目标分类,这些方法存在诸多局限,如计算复杂度高、特征表达能力弱、鲁棒性差、难以适应多变环境等,因此,无法满足实际应用需求。相较于传统的目标检测方法,基于深度学习的舰船目标检测方法具备更强的非线性拟合能力,能够更好地适应舰船目标检测的真实复杂场景。这类方法可以根据检测思想分为两阶段检测和一阶段检测。两阶段检测模型包括Faster R-CNN[1]、Cascade R-CNN[2]和Mask R-CNN[3]等,这些模型首先生成候选区域,然后对这些区域进行分类识别,具有较高的检测精度,但速度较慢,难以满足舰船目标检测应用中对实时性的要求。与之相比,以YOLO[4]、SSD[5]和RetinaNet[6]为代表的一阶段检测算法无需区域候选阶段,直接对目标的位置和类别进行回归,检测速度更快,适合实时性较高的检测需求。为了提升模型的检测性能,研究者们提出了不同的改进方法,如增加K均值维度聚类[7]、构建多核SVM模型[8]、采用Transformer模型[9]等。周秦汉等[10]提出一种基于多尺度特征增强卷积神经网络,用于密集小目标检测任务;马梁等[11]提出一种自适应特征加权融合结构,用于提高图像特征表达的准确性。WANG等[12]提出的YOLOv7采用高效聚合网络(Efficient Layer Aggregation Networks, ELAN)、重参数化卷积等技术,相比YOLOv5在相同的计算资源条件下精度更高,检测速度更快。尽管深度学习算法实现了遥感图像中的实时目标检测,但仍存在对舰船目标检测不敏感、检测精度较低的问题。
因此,本文设计了一种基于多维注意力机制动态卷积的光学遥感图像舰船目标检测改进算法,在YOLOv7模型的基础上,通过对YOLOv7模型改进来提高舰船目标检测效果。在特征金字塔部分,设计融合多维注意力动态卷积的高效聚合网络结构,利用多维注意力机制来学习内核空间所有4个维度的注意力,以增强模型捕获丰富的上下文信息并提高特征提取能力。同时,设计多层次超大卷积核层,在特征提取网络中自适应调节感受野大小,丰富全局特征描述,利用重参数化充分融合语义信息和区域形状特征,进而提高舰船目标的检测精度。
1 光学遥感图像舰船目标检测算法
1.1 网络结构
YOLOv7网络模型由输入端、特征提取网络、特征融合网络及输出端4个部分构成。输入端图像经过裁剪、缩放等预处理操作使像素统一;特征提取网络由CBS卷积块、ELAN层以及MPConv层构成;特征融合网络使用特征金字塔PAFPN网络架构,充分融合不同层次特征信息实现多尺度学习;输出端使用IDetect检测头,根据融合后特征值归类大、中、小图像,最终输出被认定为目标的边界框及其对应的类别。
本文以YOLOv7为基准设计网络模型。首先,设计融合多维注意力机制动态卷积的特征金字塔网络,该模块沿卷积核空间的所有4个维度计算4种类型的注意力分布,根据输入特征动态加权卷积核,使卷积操作依赖于输入。另外,经过特征提取网络之后,输出的特征结果对应的感受野小,而输入图片的尺寸为640×640(单位为像素),即特征层的感受野不能完全覆盖原图,语义信息和特征信息不丰富,造成舰船目标的漏检率较高。因此,需对特征提取网络输出的结果进行感受野扩充,以丰富上下文信息,提升目标检测的召回率以及精确率。借鉴深度可分离卷积和大卷积核思想,设计多层次超大卷积核层,超大卷积核可以覆盖更大的输入区域,能够捕捉到更全局的上下文信息,帮助模型理解目标的整体形状和结构,改善目标的定位和识别。
改进的网络结构如图1所示,其中,CBS为卷积+批量归一化+SiLU激活函数,MP1和MP2为池化操作,RepLKNet为多层次超大卷积核层模块,SPPCSPC为空间金字塔池化模块,ODConv为多维注意力机制动态卷积模块,Upsample为上采样,c为通道数,(1,1)(3,1)(3,2)分别为1、3、3的卷积核和1、1、2的步长。在ELAN-H层融合多维注意力机制动态卷积模块,增强了特征融合网络捕获数据中重要特征的能力,突出目标所在区域,使得模型在训练期间能够更注重目标区域的学习,从而提高了模型的准确性。同时,设计结合多层次超大卷积核层的特征提取网络来自适应调整特征层的感受野。
图1 改进后的YOLOv7网络结构Fig.1 Improved YOLOv7 network structure
1.2 多维注意力机制动态卷积模块
遥感舰船图像中复杂干扰因素较多,采用单一的卷积操作只能保留图像的部分特征,捕捉多维度信息的准确性较差,同时也难以适应数据中的局部变化,而舰船目标的多尺度特征较为突出,细节信息的丢失会造成舰船目标的检测精度偏低。因此,利用多维注意力机制对卷积核的4个维度学习细节特征,从而提取到不同维度的特征信息显得尤为重要。
传统的动态卷积只考虑单一维度的注意力机制,忽略了其他维度的注意力,而多维注意力机制动态卷积[13]是通过并行策略沿输入通道、输出通道、空间以及内核4个维度乘以不同的注意力,对于不同的输入数据,经过卷积操作后在4个维度上具有不同的权重分配。动态卷积中采用了多个卷积核,通过充分学习多尺度的舰船图像特征进而提升模型对舰船目标的检测能力。
对于输入特征图x,其输出特征y定义为
y=(αw1·αf1·αc1·αs1·W1+…+αwn·αfn·αcn·αsn·Wn)·x
(1)
式中,αwi∈R、αsi∈Rk×k、αci∈Rcin和αfi∈Rcout分别表示沿卷积核Wi的卷积核数、空间、输入和输出4个维度的注意力权重。
多维注意力机制动态卷积模块的结构如图2所示,其中,αsi、αci、αfi和αwi是用多头注意力模块计算得出的。
图2 多维注意力机制动态卷积模块Fig.2 Multi-dimensional attention mechanism dynamic convolution module
由图2可知,具体流程是先通过全局平均池化(GAP)操作,将输入的特征图x压缩成长度为输入通道数cin的特征向量,接着,特征向量经过全连接层(FC)后映射到低维空间,最后通过ReLU 激活函数进行非线性激活操作,并将结果代入4个头部分支。每个头部分支都有一个全连接层,其输出大小分别为k×k、cin×1、cout×1和n×1,通过Sigmoid函数分别生成归一化注意力权重,并共享给所有的卷积内核。
针对遥感舰船图像中存在的提取特征信息不足问题,设计在YOLOv7的ELAN-H部分融合多维注意力机制动态卷积模块。由于其特殊的多维注意力机制,在进行特征融合操作时能充分融合多尺度信息,输出的特征图包含更多有效特征,从而达到提升检测舰船目标精度的目的。
1.3 多层次超大卷积核层模块
在舰船目标检测任务中,随着网络层数的不断加深,输出特征经过多次卷积下采样操作,语义信息表征能力增强,但容易出现空间几何特征信息丢失的情况。解决深层网络引起的浅层信息丢失问题,增强空间几何特征提取能力,才能有效提升舰船小目标检测精度。针对舰船目标的特点设计多层次超大卷积核层[14],加入多个不同大小的超大卷积核来处理不同尺度的目标,同时利用结构重参数化思想,大卷积核并联小卷积核再进行重参数化,帮助模型实现扩增有效感受野(ERF)的同时降低计算量。相比直接加深网络,采用大卷积核的设计能得到更大的有效感受野和更高的形状偏差。ERF算式为
(2)
图3 多层次超大卷积核层模块Fig.3 Multi-level super large convolution kernel layer module
多层次超大卷积核层模块包括以下3个部分:1) Stem部分作为初始层,其由通道数c1、步长为2的3×3卷积、3×3深度可分离卷积(DW)、1×1卷积和步长为2的3×3 DW卷积组成,该层目的是提取低维信息并将图像尺寸进行压缩;2) Stage层是模块核心部分,设计4个不同的Stage层,其由n个RepLK Block和卷积前向网络ConvFFN模块堆叠而成,RepLK Block由批量归一化(BN)、1×1卷积、k×kDW卷积以及残差连接组成,ConvFFN由BN层、1×1卷积、GELU激活函数、1×1卷积以及残差连接组成;3) Transition层插入在不同的Stage层之间,由通道数c2、1×1卷积和步长为2的3×3 DW卷积组成。
高层网络输出特征分辨率低,语义信息表征能力强,但缺乏几何细节信息,与小卷积核相比,大卷积核具有更大的ERF和更多的几何细节信息。网络中的特征图在经过特征提取后的分辨率较低,在低分辨率的特征映射上加入超大卷积核层可以减少计算量和内存成本。因此,在特征融合网络前加入多层次超大卷积核层,可以提高模型对多特征的表征能力,使模型更有效关注目标的几何形状特征,同时,超大卷积核可以捕捉到更多的上下文信息,有助于理解舰船目标所在的背景环境,提高目标检测的准确性。
2 实验与结果分析
2.1 数据集
HRSC2016[15]数据集是用于舰船目标检测的高分辨率遥感舰船数据集,其中包含海上舰船和近岸舰船两个场景的图像,共有1061幅有效标注的图像,划分的训练集、验证集和测试集分别为436幅、181幅和444幅。实验中,在保持长宽比的前提下将图像尺寸调整为1024×1024(单位为像素)。
DOTA[16]数据集是用于遥感图像领域目标检测的数据集,其中包含2806幅航空图像,图像分辨率为 4000×4000(单位为像素),共有188282个带有目标标注的实例,其中涵盖了飞机、舰船、储油罐等15种类型的目标。本文主要针对舰船图像目标检测任务,因此只提取了DOTA数据集中舰船的图像。由于数据集的原始图像过大,直接输入到模型中不利于模型训练,因此在图像预处理阶段,利用滑动窗口将图像大小裁剪为1024×1024(单位为像素),裁剪后划分2000幅作为训练集,500幅作为验证集,800幅作为测试集。
为验证改进算法效果,选择在HRSC2016数据集上进行训练和测试,为评估改进后算法模型的泛化能力,选择在DOTA数据集上进行验证。
2.2 实验环境配置及参数设置
本文实验均是在Ubuntu 22.04.2操作系统下进 行,CPU是Intel®Xeon®CPU @ 2.00 GHz,GPU是NVIDIATesla T4,内存是 16 GiB。所有深度学习模型均在Pytorch框架下构建,Python版本为3.10.12,CUDA版本为12.0。
本文运用迁移学习,将COCO预训练模型的权重作为初始化参数,训练轮次设置为100,batch size设置为10,训练过程中图像的输入尺寸大小为640×640(单位为像素),采用Adam优化器,初始学习率为0.01,使用余弦函数来降低学习率,权重衰减系数为0.0005。本文所有实验均在相同的实验环境配置和参数设置下进行,表中的加粗字体表示最优结果。
2.3 评价指标
实验采取平均精度均值(mAP)作为算法性能的评价指标,表示为ImAP,平均精度(AP)表示以精确率P为纵坐标,召回率R为横坐标得到的P-R曲线下的面积大小,表示为IAP,精确率P表示为被正确识别为舰船的样本在所有预测结果中正确预测为舰船样本的比例,召回率R表示被正确识别到的舰船样本数与所有舰船样本的比例。此外,漏检率(MR)和误检率(FPR)也是常用的评价指标,主要用于评估模型在舰船目标检测任务中的检测误差,具体定义为
(3)
(4)
(5)
(6)
(7)
(8)
其中:TP表示正确识别为舰船的样本数;TN表示正确识别为非舰船的样本数;FP表示错误识别为舰船的样本数;FN表示舰船被错误识别为非舰船的样本数;N表示为舰船样本的种类数。本文主要采用IoU阈值设置为0.5来评估算法性能。
2.4 消融实验
本文提出了在特征融合网络中设计融合多维注意力机制动态卷积的高效聚合结构以及在特征提取部分设计多层次超大卷积核层的改进算法。为探究设计的两个模块对原网络模型的影响,在HRSC2016和DOTA数据集上进行了多组消融实验,得到的实验结果对比如表1所示。
表1 消融实验结果对比
从表1可以看出,YOLOv7基线算法在HRSC2016和DOTA数据集上的mAP分别为91.4%和88.2%。当仅添加多维注意力机制动态卷积模块和仅添加多层次超大卷积核层模块时,检测精度都所有提升,当同时添加多维注意力机制动态卷积模块和多层次超大卷积核层模块,检测精度达到最优,这表明两种算法并不冲突。最终改进后的算法在HRSC2016 和DOTA数据集上的mAP分别达到93.4%和90.1%。
2.5 与不同算法的实验结果对比分析
为了验证本文提出算法的有效性,将其与一些现有相关研究工作进行对比,表2为本文算法与先进算法在HRSC2016数据集上的实验结果对比。
表2 本文算法与先进算法在HRSC2016数据集上的实验结果对比
由表2可知,与其他算法相比,本文算法取得更好的结果。其他算法仅关注浅层特征信息,忽略了多维特征信息的重要性,而本文设计的多维注意力机制动态卷积模块和多层次超大卷积核层模块,提高了网络捕获更多有效特征的能力。
2.6 实验结果及分析
表3所示为本文提出的算法与不同目标检测算法在HRSC2016数据集上的比较结果。
表3 不同目标检测算法在 HRSC2016数据集上的比较
由表3可知,本文所提算法mAP达到93.4%,与其他目标检测算法相比分别提高了11.3、9.1、8.5、2.8和2个百分点,漏检率、误检率也有所降低。
不同目标检测算法在HRSC2016数据集上可视化效果见图4。
图4 不同目标检测算法在HRSC2016数据集上的可视化效果Fig.4 Visualization of different target detection algorithms on the HRSC2016 dataset
由图4可知,在大小目标混合的光学遥感舰船图像中,本文算法相比YOLOv5s和YOLOv7算法可以更准确地检测出小型舰船,没有出现漏检误检的情况。
为进一步验证改进算法的泛化能力,将本文算法与不同目标检测算法在DOTA数据集上进行比较,如表4所示。
表4 不同目标检测算法在DOTA数据集上的比较
由表4可知,本文提出的改进YOLOv7算法相较其他算法,取得了更高的检测精度,mAP达到了90.1%,漏检率和误检率也取得最优的结果,同时也表明了本文算法具有较好的泛化能力。
不同目标检测算法在DOTA数据集上可视化效果如图 5 所示。
由图5可知,YOLOv5s和YOLOv7算法误将海浪标记为舰船目标,且这两种算法对小舰船目标的识别率较低。相比之下,本文所提算法可以更准确地检测出舰船目标,有效解决了因复杂背景信息干扰导致的检测精度低的问题。
图5 不同目标检测算法在DOTA数据集上可视化效果Fig.5 Visualization of different target detection algorithms on the DOTA dataset
3 结论
本文提出一种基于多维注意力机制动态卷积的改进光学遥感图像舰船目标检测算法。为了获得更丰富的遥感舰船图像特征信息,设计了多维注意力机制动态卷积模块,使特征图包含更多有效特征。针对遥感舰船目标存在的漏检误检问题,设计了多层次超大卷积核层模块,得到更大的有效感受野和更高的形状偏向,能学习多标签舰船目标之间的潜在相关特征。
基于多维注意力机制动态卷积的改进光学遥感图像舰船目标检测算法在HRSC2016和DOTA两个公共数据集上的mAP分别达到了93.4%和 90.1%,与现有主流先进算法相比,取得了更优的检测精度,特别提高了舰船小目标识别能力,为遥感舰船图像的小目标检测任务提供了良好的解决方案。