基于YOLOv7-RS的遥感图像目标检测研究*

2024-03-01 00:58杨晓文
网络安全与数据管理 2024年1期
关键词:卷积样本模块

梁 琦,杨晓文

(1.武警山西总队参谋部,山西 太原 030012;2.中北大学 计算机科学与技术学院,山西 太原 030051;3.机器视觉与虚拟现实山西省重点实验室,山西 太原 030051;4.山西省视觉信息处理及智能机器人工程研究中心,山西 太原 030051)

0 引言

遥感图像的目标检测任务旨在从复杂多样的遥感图像中提取用户关注的目标,并对其进行位置和类别的标注。基于遥感图像的目标检测广泛应用于城市交通[1]、应急响应[2]和国防军事[3-4]等方面。如何在海量的遥感图像中精确识别并定位目标仍是现阶段研究的重点。由于遥感图像与自然图像的成像方式不同,遥感目标尺度差异大而且具有旋转不变性,加之遥感图像背景复杂多样,使得遥感图像的目标检测任务更加具有挑战性。因此提高遥感图像的目标检测精度有着重要的研究意义。

随着卷积神经网络的发展,当前基于深度学习的目标检测算法主要分为双阶段目标检测和单阶段目标检测。YOLO系列算法是典型的单阶段目标检测算法。YOLOv1[5]在2015年首次提出来,有效解决了两阶段检测网络推理速度慢的问题。YOLOv2[6]从更快、更多、更精准三个角度进行改进,识别对象也扩展到9 000种,因此也称为YOLO9000。YOLOv3[7]引入了特征金字塔FPN和残差模块Darknet-53,支持三种不同尺度的物体检测,实现了多尺度的融合。YOLOv4[8]和YOLOv5结合加权残差连接(WRC)、跨阶段部分连接(CSP)、Mosaic数据增强等当时流行的技术,进一步提高了检测精度和速度。YOLOX[9]结合Anchor-Free网络将YOLOv5耦合检测头替换为解耦检测头,提高了网络的收敛速度,除此之外还在OTA[10]的基础上提出了正负样本匹配策略SimOTA。YOLOv6[11]是美团视觉智能部研发优化的目标检测框架,在工业界得到了广泛的应用。2022年7月YOLOv7[12]诞生,针对网络性能提出了E-ELAN架构和辅助训练模块,进一步提高了算法的速度和精度。本文根据遥感图像中背景信息复杂、目标检测困难的问题,提出了改进YOLOv7的遥感图像目标检测算法YOLOv7-RS,主要工作如下:(1)针对遥感图像背景信息复杂的问题,在骨干网络中加入SimAM;(2)提出了D-ELAN的结构,增强网络提取目标特征的能力;(3)使用SIOU损失函数替代CIOU函数,提高收敛速度;(4)优化了正负样本分配策略,改善了遥感图像中小目标密集排列时的漏检问题。

1 YOLOv7算法

YOLOv7算法根据硬件环境分为边缘GPU、普通GPU和云GPU,本文选取YOLOv7的普通GPU方案,在满足遥感图像检测精度的同时兼顾了实验室硬件环境。YOLOv7算法主要由输入端(Input)、骨干网络(Backbone)、颈部网络(Neck)和头部网络(Head)四部分组成,网络结构如图1所示。

图1 YOLOv7网络结构

1.1 Input输入端

YOLOv7的输入端采用与YOLOv4、YOLOv5一样的Mosaic数据增强。其主要原理是:随机选取4张图片,在640×640的像素范围内随机产生一个中心点,以中心点为直角坐标系依次将4张图片放置在四个象限内并将超出范围的图像进行裁剪,最终拼接成一张640×640图片作为训练集送至神经网络。Mosaic数据增强在丰富数据集背景,提高网络鲁棒性的同时减少了GPU的内存消耗,加快了训练速度。

1.2 Backbone骨干网络

YOLOv7的骨干网络由ELAN模块和MP模块组成。其中,ELAN模块是一个梯度路径最优的网络结构,通过两条分支进行特征提取,第一条分支值经过一个1×1的卷积改变通道,另一个分支经过一个1×1的卷积后再经过两组两个3×3的卷积,最后将两个1×1的卷积和两组3×3的卷积进行拼接,其结构如图2所示;MP模块通过两条分支进行下采样,一条分支经过一个Maxpool最大池化后再经过一个1×1的卷积改变通道,另一条分支先经过一个1×1的卷积改变通道后再经过一个卷积核为3×3、步长为2的卷积,最后将两条分支的结果进行拼接,结构如图3所示。

图2 ELAN模块

图3 MP模块

1.3 Neck颈部网络

Neck网络采用PAFPN结构,包括SPPCSPC模块、ELAN-H模块、upsample模块等。其中,SPPCSPC模块能够增大感受野,使算法适应不同分辨率的图像,结构如图4所示;upsample模块使用最近邻差值的方式进行上采样;ELAN-H在ELAN模块的拼接操作中将第二条分支的两组两个3×3的卷积结果直接用4个3×3的卷积替代,结构如图5所示。

图4 SPPCSPC模块

图5 ELAN-H模块

1.4 Head头部网络

YOLOv7以CIOU_Loss作为损失函数,数值越小代表预测结果越好。网络采用加权非极大值抑制对多个目标检测框进行筛选,将最优的目标检测框作为最终结果,提高了目标检测的准确性。

2 YOLOv7-RS算法

YOLOv7-RS算法是在YOLOv7的基础上进行改进的,网络结构如图6所示。下面分别从深层次的高效层聚合网络(D-ELAN)、引入无参注意力机制(SimAM)、使用SIOU损失函数和优化正负样本分配策略四个改进的方面进行详细介绍。

图6 YOLOv7-RS网络结构

2.1 深层次的高效层聚合网络D-ELAN

YOLOv7中的高效层聚合网络(Efficient Layer Aggregation Network,ELAN)模块的设计综合考虑了硬件成本、梯度传播长度和效率,主要解决了模型缩放过程中收敛性逐渐恶化的问题,结构图如图7(a)所示。ELAN结构在考虑最大化梯度组合的过程中忽略了对第一层block的重复利用,导致网络计算成本增大。本文根据CSPNet的分割梯度流思想,重新设计了D-ELAN(Deeply-ELAN)模块。第一条分支与ELAN一致,直接经过一个1×1的卷积;第二条分支在此基础上经过三组两个3×3的卷积,最后将1×1的卷积和三组3×3的卷积结果进行拼接,结构图如图7(b)所示。

图7 ELAN模块和D-ELAN模块对比图

2.2 SimAM注意力机制

(1)

(2)

(3)

(4)

2.3 损失函数SIOU

YOLOv7使用的损失函数CIOU[14]虽然解决了GIOU[15]的退化问题,并将宽高比作为惩罚项,但没有考虑真实框和预测框之间的方向问题。本文采用SIOU[16]替代CIOU的方案来提高学习速度和效率。SIOU由角度损失(Angle Cost)、距离损失(Distance Cost)、形状损失(Shape Cost)和IoU损失四部分组成,将真实框与预测框之间的角度偏差定义为角度损失并加入了距离损失的计算中。SIOU损失函数如式(5)所示,其中Δ为距离损失,如式(6);式(6)中Λ为角度损失,如式(7);Ω为形状损失,如式(8);IoU损失函数如式(9)。式中各参数如图8所示,xgt和ygt为真实框的中心点坐标;wgt和hgt为真实框的宽和高;x和y为预测框的中心点坐标;w和h为预测框的宽和高;ch为真实框和预测框中心点的高度差;σ为真实框和预测框中心点的距离;Ch和Cw分别为真实框和预测框最小外接矩形的高和宽;θ为控制对形状损失的关注程度,参数范围为[2,6]。

图8 SIOU中真实框与预测框参数示意图

(5)

(6)

(7)

(8)

(9)

2.4 正负样本分配策略的优化

正负样本是在训练过程中用于计算损失的,其分配策略优劣是直接影响目标检测精度的核心因素。YOLOv7的正负样本分配策略是YOLOX和YOLOv5的优势结合,核心思想是将YOLOX中SimOTA策略的中心先验策略替换为YOLOv5中的正样本分配策略。YOLOv5中的正样本分配策略如图9(a)所示,将特征图划分为3×3的网格图,⑤中的圆点为GTbox中心点所处位置,首先将⑤分配为正样本。为了增加正样本数量,将②④⑥⑧定义为四个候选框,GTbox中心点位于⑤右下方,因此将⑥⑧也作为正样本进行处理。所以,⑤⑥⑧标记为3个正样本。根据遥感图像的旋转不变性,将遥感图像逆时针旋转45°,其正样本的分配结果如图9(b)中右斜线网格所示。对比旋转前的正样本,右斜线网格与⑤⑥⑧的面积重叠率仅为54%,代表同一张遥感图像经过旋转45°后,正样本有46%的概率判定为负样本。本文提出将九个网格均定义为正样本候选框,将GTbox中心点以及中心点相近的3个候选框定义为正样本,如图9(c)所示,优化后的策略即右斜线网格与⑤⑥⑧的面积重叠率达到72%,较好地解决了遥感图像由于旋转引发的正样本丢失问题。

图9 正负样本分配策略示意图

3 实验结果及分析

3.1 实验环境及参数设置

实验环境基于Windows10专业版操作系统,显卡采用NVIDIA GeForce RTX 3090(24 GB),处理器采用Intel(R)Core(TM)i9-13900K 3.00 GHz,实验环境为Python3.9,CUDA11.6,PyTorch1.12.1。消融实验采用随机梯度下降算法训练300个epoch。初始学习率为0.01,batchsize为4。

3.2 数据集和评价指标

3.2.1 数据集

本文采用NWPU VHR-10[17]数据集和DOTA[18]数据集。NWPU VHR-10数据集由西北工业大学于2014年发布,图像提取自Google Earth和Vaihingen,包括飞机(PL)、船舶(SH)、储罐(ST)、棒球场(BD)、网球场(TC)、篮球场(BC)、地面跑道(GTF)、港口(HA)、桥梁(BR)和车辆(VE)10个类别,800张遥感图像(含150张背景图)。数据标注采用水平边界框(Horizontal Bounding Boxes,HBB)标注格式,共3 651个实例。从数据集中随机划分90%作为训练集,10%作为测试集。DOTAv1.0数据集来自谷歌地球、中国资源卫星数据与应用中心提供的GF-2和JL-1卫星图像,以及CycloMedia B.V提供的航空图像,包括飞机(PL)、轮船(SH)、小型车辆(SV)、大型车辆(LV)、储油罐(ST)、网球场(TC)、操场跑道(GTF)、桥梁(BR)、环路(RA)、游泳池(SP)、棒球场(BD)、篮球场(BC)、港口(HA)、直升机(HC)和足球场(SBF)15个类别、2 806幅来自不同传感器和平台的航空图像,图像大小从800×800到4 000×4 000不等,共188 282个实例。本文采用DOTA_devkit对其HBB标注方式的数据集进行预处理,将原始图像裁剪为1 024×1 024、重叠像素为200的子图像,裁剪后分辨率未达到规定像素的图像通过像素填充的方式进行填充。处理后的训练集有15 749张图片,测试集有5 297张图片。

3.2.2 评价指标

在目标检测任务中通常用mAP(Mean Average Precision)来衡量模型整体性能的好坏。mAP是数据集中多个类别的平均精度(Average Precision,AP)的平均值。每个类别可以根据Precision和Recall在0到1的坐标内绘制一条曲线,其与坐标轴围成的面积即为平均精度,如式(10)所示:

(10)

其中,精度Precision也称准确率,代表检测器中预测的正样本中TP的比例,如式(11)所示;召回率Recall代表检测器中正确预测正样本占总样本数量的比例,如式(12)所示。式中TP为真正例,FN为假反例,FP为假正例。

(11)

(12)

3.3 实验结果及分析

本文采用对比实验和消融实验两种方法对YOLOv7-RS的检测效果进行分析。其中,对比实验分为两种:一是对多种算法的实验结果对比分析;二是对可视化的实验结果对比分析。

3.3.1 NWPU VHR-10数据集对比实验结果及分析

将YOLOv7-RS算法与SSD[19]、Faster R-cnn[20]、YOLOv3[7]、YOLOv5s、YOLOv7[12]算法在NWPU VHR-10数据集上进行实验对比,结果如表1所示。

表1 不同算法在NWPU VHR-10数据集上的实验结果

由表1可知,YOLOv7-RS相比SSD、Faster R-CNN、YOLOv3、YOLOv4、YOLOv5s、YOLOv7,mAP分别提升了14.3%、10.9%、20.3%、6.3%、5.3%、2.6%。YOLOv7-RS在各个类别的检测精度均在89%以上,整体检测精度较好,在飞机(PL)、储罐(ST)的目标检测中,精度相较其他算法最优达到99.6%;相比于原始的YOLOv7,在飞机(PL)、储罐(ST)、网球场(TC)、篮球场(BC)、车辆(VE)的检测精度上有所提升。

通过大量实验对YOLOv7和YOLOv7-RS的检测结果进行对比并选取图10和图11两组可视化结果来分析。其中图(a)为YOLOv7算法的检测结果,(b)为YOLOv7-RS算法的检测结果。

图11 NWPU VHR-10第二组检测效果对比

图10(a)中误将黄色地标检测为飞机,图11(a)中大桥漏检。YOLOv7-RS能够准确检测出目标,可见YOLOv7-RS有效提升了复杂背景下的检测效果。

3.3.2 NWPU VHR-10数据集消融实验结果及分析

以YOLOv7为基准在NWPU VHR-10数据集上进行了消融实验,验证YOLOv7-RS的有效性,实验结果如表2所示。

表2 YOLOv7-RS在NWPU VHR-10数据集上的消融实验结果

由表2实验结果可知,将YOLOv7的损失函数CIOU替换为SIOU,mAP提升了1%;在骨干网络中加入SimAM,mAP提升了1%;将正负样本匹配策略进行优化后,mAP提升了0.4%;将网络中的ELAN替换为D-ELAN,mAP提升了0.9%。当四种改进方法同时加入后,mAP整体提升了2.6%。

3.3.3 DOTA数据集对比实验结果及分析

将YOLOv7-RS算法与SSD、Faster R-CNN、YOLOv3、YOLOv5s、YOLOv7算法在DOTA数据集上进行实验对比,结果如表3所示。

表3 不同模型在DOTA数据集上的结果对比

由表3可知,YOLOv7-RS相比SSD、Faster R-CNN、YOLOv3、YOLOv4、YOLOv5s、YOLOv7,mAP分别提升了21.7%、32.1%、9.6%、5.7%、4.6%、2.4%。YOLOv7-RS在棒球场(BD)、桥梁(BR)、大型车辆(LV)、足球场(SBF)、环路(RA)的检测精度相较其他算法最优;相比于原始的YOLOv7,除了网球场(TC)、篮球场(BC)、储油罐(ST)三个类别的检测精度上有0.1%~0.2%的下降之外,其余均有明显提升。

通过大量实验对YOLOv7和YOLOv7-RS的检测结果进行对比并选取图12和图13两组可视化结果来分析。

图12 DOTA第一组检测效果对比

图13 DOTA第二组检测效果对比

图12(a)中检测到5个港口,图13(a)中检测到153辆小车和3辆大车。YOLOv7-RS在图12(b)中检测到5个港口和6辆小车,在图13(b)中检测到272辆小车和4辆大车,可见YOLOv7-RS有效改善了复杂背景和小目标密集排列情况下的漏检问题。

3.3.4 DOTA数据集消融实验结果及分析

以YOLOv7为基准在DOTA数据集上进行了消融实验,验证YOLOv7-RS的有效性,实验结果如表4所示。

表4 YOLOv7-RS在DOTA数据集上的消融实验结果

由表4实验结果可知,将YOLOv7的损失函数CIOU替换为SIOU,mAP提升了1.2%;在骨干网络中加入SimAM,mAP提升了1.9%;将正负样本匹配策略进行优化后,mAP提升了0.6%;将网络中的ELAN替换为D-ELAN,mAP提升了1.6%。当四种改进方法同时加入后,mAP整体提升了2.4%。

4 结论

针对遥感图像中背景复杂、目标检测难度大和小目标排列密集的问题,本文分别从网络结构、损失函数和正负样本分配策略三方面进行改进,提出了YOLOv7-RS算法。在YOLOv7网络结构的基础上融合了SimAM并使用D-ELAN替换YOLOv7中的ELAN;采用SIOU损失函数替换CIOU;优化了正样本分配策略。实验结果表明,YOLOv7-RS有效提升了检测精度,更适合遥感图像的目标检测任务。但是,本文方法也存在一定的局限性:(1)相较于YOLOv7,YOLOv7-RS网络结构复杂,在提升遥感目标检测精度的同时增加了网络的推理时间,导致检测速度下降;(2)本文采用的HBB标注方式对于长宽比较大的目标(例如桥梁、港口)会引入大量的背景噪声而且忽略了具有方向性目标(例如飞机、车辆)的朝向信息。下一步将优化骨干网络并结合倾斜边界框(Oriented Bounding Boxes,OBB)标注方式对遥感目标的方向进行研究,应用于遥感目标的识别任务场景中。

猜你喜欢
卷积样本模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
基于3D-Winograd的快速卷积算法设计及FPGA实现
用样本估计总体复习点拨
从滤波器理解卷积
推动医改的“直销样本”
基于傅里叶域卷积表示的目标跟踪算法
随机微分方程的样本Lyapunov二次型估计
村企共赢的样本
一种基于卷积神经网络的性别识别方法