改进YOLOv6的遥感图像目标检测算法

2024-03-03 11:21许德刚王再庆邢奎杰郭奕欣
计算机工程与应用 2024年3期
关键词:尺度卷积特征

许德刚,王再庆,邢奎杰,郭奕欣

1.河南工业大学 信息科学与工程学院,郑州 450001

2.河南工业大学 粮食信息处理与控制教育部重点实验室,郑州 450001

3.湖南工程学院 计算机与通信学院,湖南 湘潭 411104

近年来,随着遥感平台和图像处理技术的蓬勃发展,高分辨率的遥感图像日益增多,其蕴含的信息越来越丰富[1],遥感图像目标检测已成为遥感领域中的重要研究方向,已被广泛应用于军事安全、交通安全、应急救援、精准农业等诸多方面[2]。

从发展历程看,遥感图像目标检测技术主要可分为传统的目标检测算法和基于深度学习的目标检测算法。传统的目标检测算法主要利用滑动窗口遍历图像,提取感兴趣区域内的目标纹理、颜色、边缘等特征信息,并使用支持向量机(support vector machine,SVM)[3]、Adaboost[4]和K-means[5]等方法作为分类器,易导致耗时长、检测精度低、鲁棒性和泛化性较差。而基于深度学习的目标检测算法能够自动提取目标特征,并基于回归直接在特征图上预测目标类别和位置信息,显著提高了检测的效率与性能。根据有无候选框生成阶段可以将基于深度学习的目标检测算法分为两类,一类是以R-CNN系列(R-CNN[6]、Fast R-CNN[7]、Faster R-CNN[8]、Mask R-CNN[9])为代表的双阶段目标检测算法,另一类是以YOLO 系列(YOLOv3[10]、YOLOv4[11]、YOLOv5[12])、SSD[13]、RetinaNet[14]等为代表的单阶段目标检测算法。尽管基于深度学习的目标检测算法有较好的检测效果,但与自然场景图像不同,遥感图像通常是通过卫星和航空飞机在不同海拔高度鸟瞰视角拍摄,且图像中存在的目标物体种类较多,例如,道路、建筑物、植被、车辆等,由于这些目标物体的外观和形状存在巨大差异,对目标的检测和识别带来了干扰。因此,遥感图像背景复杂、目标普遍比较小且呈多尺度分布等特点增加了检测难度,给遥感图像目标检测带来了额外的挑战[15]。

针对以上问题,国内外学者在深度学习的基础上进行了一系列的研究。赵珊等[16]在通道分离过程中提出双注意力机制来构建深度神经网络,以解决神经网络不能自动学习特征间的重要性问题,通过添加细节提取模块与通道注意力特征融合模块来提取更多的细节特征,以解决高分辨率特征经过深度CNN后导致的信息丢失问题。贾天豪等[17]引入基于残差学习的增强特征映射块,通过通道平均和归一化处理使模型更专注于目标区域而不是背景,并使用特征映射对上下文信息敏感的特征融合块进一步增大有效特征图的感受野,将用于预测的浅特征层与深特征层进行融合,提高低分辨率下的检测性能。李坤亚等[18]通过引入通道-全局注意力机制以增强对不同尺度目标的特征提取能力和抑制冗余信息的干扰,通过引入密集上采样卷积模块扩张低分辨率卷积特征图,有效增强不同卷积特征图的融合效果。杨晨等[19]通过引入特征复用以增加特征图中的小目标特征信息,以解决下采样导致的特征图中包含的小目标信息较少或消失的问题,使用EMFFN(efficient multi-scale feature fusion network)的特征融合网络代替原有的PANet,通过添加跳跃连接以及跨层连接高效融合不同尺度的特征图信息,同时提出一种包含通道与像素的双向特征注意力机制,以提高模型在复杂背景下的检测效果,但是改进措施极大地提高了模型的参数量,模型的训练速度与推理速度存在一定程度的下降。刘涛等[20]为了强化对遥感图像的多尺度特征表达能力,通过增加一个融合浅层语义信息的细粒度检测层来提高对小目标的检测效果,但是模型对全局语义信息的感知能力以及预测框的定位能力有待提升。汪鹏等[21]通过在骨干部分引入密度连接结构,以增强对遥感图像不同尺度目标的特征提取能力,但不同特征层之间不能充分融合,从而不能有效地提取检测目标的上下文信息。Dong等[22]使用可变形卷积横向连接模块代替FPN 原有的横向连接,生成可变形感受野的特征图,并通过引入基于注意力的多级特征融合模块,自适应地集成FPN的多级输出,提升了多尺度遥感目标的检测效果,但是提升效果并不明显,同时也明显增加了模型的复杂度。Wang等[23]设计了一种自适应特征感知模块,用于对不同尺度特征图进行跨尺度深度融合,以提高模型的学习能力,减少复杂背景对遥感图像的影响,但在提高检测精度方面仍有改进的空间。

受上述文献的启发,本文提出了一种改进YOLOv6的遥感图像目标检测算法。首先,引入一种坐标注意力模块,通过将遥感目标的位置信息嵌入到通道中以获得更大区域的信息,从而提高复杂背景下模型的特征提取能力和目标定位能力。其次,提出一种上下文增强模块,通过扩大模型的感受野与强化关键通道在模型的重要性,使模型获取丰富的上下文信息,进而提升模型提取多尺度目标细节信息的能力。最后,引入一种自适应空间特征融合,有效地将不同尺度的特征进行自适应融合,以提升模型的多尺度目标尤其是小目标的检测精度。

1 模型及改进

1.1 YOLOv6检测网络及改进

YOLOv6[24]是2022年6月美团视觉智能部通过研究并借鉴业界已有的先进技术,所开发的一套新的单阶段目标检测框架。根据模型的深度和宽度,可将YOLOv6细分为YOLOv6n、YOLOv6t、YOLOv6s、YOLOv6m 和YOLOv6l 等多个版本。其中,YOLOv6n 具有最小的深度和宽度,其余版本均是在其基础上增加深度和宽度。为了平衡算法的精度和速度,选择YOLOv6t 作为基准模型。YOLOv6t 的网络结构主要分为骨干(Backbone)、颈部(Neck)和头部(Head)三个部分。Backbone部分主要是采用结构重参数化风格的EfficientRep进行特征提取;Neck 部分采用特征金字塔结构Rep-PAN 进行特征融合;Head 部分采用解耦头结构分别对不同尺度的特征图进行分类及位置回归。

针对遥感图像背景复杂的特点,在Backbone 部分引入一种坐标注意力(coordinate attention,CA)[25]模块,提高了复杂背景下模型的特征提取能力以及对目标的定位能力。针对模型不能有效地提取多尺度目标信息,在Backbone 部分引入一种上下文增强模块(context enhancement module,CEM),以获得丰富的上下文信息,提升了模型对于多尺度目标细节信息的提取能力。针对遥感目标总体比较小且呈多尺度分布的特点,在Neck 部分引入一种自适应空间特征融合(adaptively spatial feature fusion,ASFF)[26],通过自适应融合不同尺度的特征,提升了多尺度目标尤其是小目标的检测精度。改进的YOLOv6t网络结构如图1所示。

图1 改进的YOLOv6t网络结构Fig.1 Improved YOLOv6t network structure

1.2 坐标注意力

遥感图像背景相当复杂,蕴含了各式各样的特征信息,然而并不是所有特征信息都值得模型关注。为了抑制背景的重要性,获取对遥感目标更关键的信息,通过在Backbone部分引入一种坐标注意力CA模块,使模型获得遥感目标的位置信息和通道间的关系,并将位置信息嵌入到通道中以获得更大区域的信息,进而提高复杂背景下模型的特征提取能力和目标定位能力。

CA 模块结构如图2 所示,主要通过坐标信息嵌入和坐标注意力生成两个阶段来编码通道关系和长距离依赖关系。在坐标信息嵌入阶段,分别使用空间范围为(H,1)和(1,W)的平均池化对输入特征图的每个通道沿水平和垂直方向进行编码,以上操作可公式化为:

图2 CA模块结构Fig.2 CA module structure

其中,(w)表示宽度为W的第c个通道的输出,(h)表示高度为H的第c个通道的输出,二者是一对具有方向感知的特征图,允许注意力模块捕获沿一个空间方向的长距离依赖关系,并保留沿一个空间方向的精确位置信息,有助于模型更准确地定位感兴趣的目标。

在坐标注意力生成阶段,首先将上述具有方向感知的特征图进行拼接,并经卷积、标准化和非线性激活生成中间特征图,如式(3)所示:

其中,[⋅,⋅]表示沿空间维度的拼接操作,F1是为卷积变换,δ为SiLU激活函数,f∈ℝC/r×(H+W)为中间特征图,r为通道缩减比。然后沿着空间维度将f分解为两个独立的张量f h∈ℝC/r×H和f w∈ℝC/r×W,并分别经卷积和非线性激活生成高度注意力权重gh和宽度注意力权重gw,以上操作可公式化为:

其中,Fh和Fw为卷积变换,σ为Sigmoid 激活函数。最后,将输入特征图分别与高度和宽度注意力权重进行相乘,得到注意力特征图yc,如式(6)所示:

1.3 上下文增强模块

在目标检测中,待检测目标通常与周围的其他目标或多或少存在某种关系,即为上下文信息。在遥感图像目标检测中,周围的环境可以作为遥感目标的有效周围信息,通过学习目标周围区域的相关联信息,能够对模型起到重要的补充作用。受空洞空间卷积池化金字塔(atrous SPP,ASPP)[27]启发,提出了一种上下文增强模块CEM,其结构如图3 所示,主要通过不同空洞率的空洞卷积来获取不同感受野的上下文信息,并使用一种改进的有效的通道注意力(improved efficient channel attention,IECA)机制强化关键通道在模型中的重要性,进一步增强上下文信息,有助于提升模型对于多尺度目标细节信息的提取能力。

图3 CEM结构Fig.3 CEM structure

考虑到ECA(efficient channel attention)[28]中仅使用平均池化不易提取最突出的特征信息,故IECA 使用平均池化和最大池化并行的方式压缩特征。具体地说,IECA首先分别使用平均池化与最大池化对输入特征图x压缩尺寸,其次分别经过一维卷积变换得到具有通道交互信息的特征图,然后将两个分支的特征图进行Add操作,并经Sigmoid 激活后得到通道注意力权重W,最后将输入特征图与通道注意力权重相乘,即可获得通道注意力增强的特征图f。以上操作可公式化为:

其中,Fconv1D表示一维卷积变换,AvgPool表示平均池化操作,MaxPool表示最大池化操作。

CEM首先使用1×1卷积对输入特征图x进行通道压缩,得到特征图f1。其次,考虑到基准模型中的Sim-SPPF 模块采用池化操作会降低特征图的分辨率,容易丢失细节信息,不利于网络学习,同时也为了避免模型参数量急剧增大,故分别使用空洞率为2、4、6的3×3空洞卷积构成的多分支结构替代池化操作。再次考虑到通过不同空洞率的空洞卷积得到的特征会在不同的通道上具有相似性,故使用由IECA 生成的通道注意力权重W对特征的各通道进行约束,并在通道维度上进行拼接。最后,使用1×1卷积对拼接后的特征进行通道压缩,即可得到输出特征图f2,以上操作可公式化为:

1.4 自适应空间特征融合

遥感目标总体比较小且呈多尺度分布,而小目标的语义信息集中存在于浅特征层中,且相邻特征层只以简单的拼接方式进行特征融合,模型不能充分利用不同尺度特征,同时也很难提取到小目标的特征。因此,在Neck部分引入一种自适应空间特征融合ASFF,其结构如图4所示,通过自适应方法调整不同特征层之间的融合权重,在空间上过滤冲突信息以抑制梯度反向传播时的不一致,提高了特征的尺度不变性,同时也能将不同尺度的特征进行自适应融合,进而提升多尺度目标尤其是小目标的检测精度。

图4 ASFF结构Fig.4 ASFF structure

以ASFF-2 计算融合为例,Level1、Level2 和Level3分别是经Backbone 与Neck 部分后所提取的特征图,其维度信息分别为192×20×20、96×40×40、48×80×80。首先,Level1 通过卷积变换将通道压缩为96,通过上采样将尺寸扩大为40×40,以获得与Level2相同维度的特征图x1→2。其次,Level3通过卷积操作将通道提升至96,通过下采样将尺寸压缩为40×40,进而获得与Level2相同维度特征图x3→2。然后,Level2 进行卷积变换维度不发生变化,进而获得特征图x2→2。最后,使用softmax函数处理这三个特征图,以生成其权重系数α、β与γ,并使用下式进行ASFF融合计算:

2 实验与分析

2.1 实验数据集

为评估本文提出算法的有效性,在遥感图像公开检测数据集DOTA-v1.0[29]上进行实验验证。

DOTA-v1.0 是一个由各种机载传感器和空间传感器收集的大型遥感图像数据集,包括15个类别,2 806张图像和188 282 个已标注的实例。由于其图像像素从800×800到4 000×4 000不等,故将其切片为608×608像素,最后将得到的12 092张图像作为训练集,3 024张图像作为测试集。

对训练集中所有标签的宽、高及中心点分布进行统计,如图5所示。图5(a)中横纵坐标代表在yolo坐标格式下标签真实框的中心点横纵坐标,可以看出基本上每个点颜色都较深,这表明训练集中目标均匀地分布在中心点附近。图5(b)中横纵坐标代表在yolo坐标格式下标签真实框的宽度和高度,可看出左下角和中间部分聚集了更多的点,说明两个数据集包含大量小尺度和中等尺度目标,也存在少量大纵横比的目标,符合实际场景中遥感图像的特点,与本文研究的背景和问题相契合。

图5 训练集中所有标签大小的分布Fig.5 Distribution of all tag sizes in training set

2.2 实验环境及参数设置

本文实验基于Ubuntu 18.04操作系统,实验环境为Python3.8,CUDA11.4及PyTorch1.8,使用NVIDIA Tesla T4 GPU 加速模型训练。实验设置优化器为随机梯度下降算法(stochastic gradient descent,SGD),初始学习率为0.01,权重衰减系数为0.000 5,动量为0.937,最大迭代轮数为400,图片大小统一调整为640×640。

2.3 评价指标

本文实验使用参数量(params)、复杂度(GFLOPs)、检测速度FPS(frame per second)与COCO 评价指标中的AP、AP50、AP75、APS、APM、APL等指标衡量模型的检测性能。其中,AP表示根据IoU阈值从0.5至0.95以0.05为步长,10种情况下对所有目标类别的平均检测精度。AP50、AP75 表示IoU 阈值分别在0.5、0.75 情况下的检测精度。一般来说,高IoU 阈值下的检测指标越高,模型的检测结果也就越准确。APS、APM和APL分别表示小、中和大目标的检测精度。

2.4 消融实验

为了验证所提的三项改进对遥感图像目标检测的优化作用,以YOLOv6t为基准模型,使用DOTA-v1.0数据集在测试集上对各模块进行消融实验,其实验结果如表1所示。

表1 各模块消融实验结果Table 1 Ablation results of each module 单位:%

由表1可知,YOLOv6t-CA表示在Backbone部分引入CA,模型的AP提升了0.3个百分点,表明CA的引入能够提升模型的特征提取能力,进而提升模型的检测精度。YOLOv6t-ASFF 表示在Neck 部分引入ASFF,模型的AP、AP50、AP75、APS、APM 均有了提升,其中,APS和APM 分别提升了0.7 和0.9 个百分点,提升了多尺度目标尤其是中小目标的检测精度。YOLOv6t-CEM 表示在Backbone 部分引入CEM,模型的APS、APM、APL均有提升,表明CEM 的引入有助于提升模型提取多尺度细节信息的能力,进而提升模型的检测精度。Improved YOLOv6t表示采用了所提三项改进方法的组合,相较于基准模型,AP、AP50与AP75分别提升了1.4、2.3 与1.2 个百分点,APS、APM 与APL 分别提升了0.7、1.3与0.9个百分点,表明改进后的模型对遥感图像中多尺度目标有着更好的检测能力。

为了进一步验证改进算法的有效性,改进算法与基准算法训练过程的类别损失cls_loss与边界框回归损失iou_loss以及验证过程的AP50及AP变化情况对比如图6所示。从图中可以看出,两种算法的cls_loss与iou_loss均随着迭代次数epoch 的增加而下降,AP50 与AP 均随着epoch的增加而增加,但改进算法均能比基准算法更先收敛,表明改进算法在收敛速度和收敛精度方面均优于基准算法,证明了改进模块的有效性。

图6 损失与平均精度变化对比Fig.6 Comparison of loss and average precision change

2.5 对比实验

2.5.1 注意力模块对比实验

为了进一步验证CA 的有效性,分别将其与其他注意力机制SA(shuffle attention)[30]、ECA[28]、CBAM(convolutional block attention module)[31]以及基准模型进行横向比较,实验结果如表2 所示。由表2 可以看出,CA仅在增加较少的参数量和计算量的前提下,模型的AP、AP50、AP75、APS 与APL 等五个指标是最优的,而其余注意力机制只在个别指标有提升,甚至还会出现明显掉点的情况。

表2 不同注意力模块对比结果Table 2 Comparison of different attention modules

另外,使用热力图分别对YOLOv6t 和引入CA 后的YOLOv6t-CA 的检测结果可视化,如图7 所示,颜色越深说明模型对此区域的特征信息关注度越高。图7(a)中目标中心及周围背景均有被关注,而图7(b)中目标中心具有更高的关注度,这表明CA的引入能够减少复杂背景的干扰,更加关注遥感目标的特征和位置信息,提升了复杂背景下模型的特征提取能力以及目标定位能力。

图7 YOLOv6t与YOLOv6t-CA特征图可视化对比Fig.7 Visual comparison of YOLOv6t and YOLOv6t-CA feature maps

2.5.2 上下文增强模块对比实验

为了进一步验证CEM 的有效性,分别将CEM 和ASPP 模块加入到基准模型中,并与基准模型的SimSPPF模块进行横向比较,实验结果如表3所示。由表可以看出,CEM 的引入能够使模型的AP、AP50、APS、APM与APL等五个指标同时带来增益,但同时也增加了较少的参数量与计算量。

表3 SimSPPF、ASPP、CEM模块对比结果Table 3 Comparison result of CEM,ASPP,and SimSPPF modules

使用热力图分别对YOLOv6t 和引入CEM 后的YOLOv6t-CEM 进行特征图可视化,如图8 所示。相较于图8(a),图8(b)中大多数中小尺度目标中心被给予高度关注,这主要由于CEM 的引入通过扩大模型的感受野,使模型学习到目标与周围环境相关联的信息,进而获取丰富的上下文信息,并通过强化关键通道在模型的重要性,强化上下文信息,帮助模型精准定位目标所在区域,从而提升模型提取多尺度细节信息的能力。

图8 YOLOv6t与YOLOv6t-CEM特征图可视化对比Fig.8 Visual comparison of YOLOv6t and YOLOv6t-CEM feature maps

2.5.3 主流算法对比实验

为了验证改进算法的性能,在DOTA-v1.0数据集上将其分别与RetinaNet[14]、Faster RCNN[8]、Mask RCNN[9]、TOOD[32]、DDOD[33]、YOLOv3[10]、YOLOXs[34]、YOLOv5s[12]和YOLOv6t[24]等目前的一些先进目标检测算法进行对比实验,实验结果如表4 所示。从表可看出,相较于基准算法YOLOv6t,改进算法在参数量增加1.8×106,复杂度增加2.02 的前提下,同时为AP、AP50、AP75、APS、APM和APL六个指标带来了增益,分别提升了1.4、2.3、1.2、0.7、1.3与0.9个百分点,FPS减少了32,说明其在牺牲一定检测速度的前提下,明显地提高了遥感图像多尺度目标的检测精度,但仍能满足实时性检测的需求。而相较于其他目标检测算法,改进算法具有最优的AP、AP50、AP75、APM、APL和FPS。其中,相较于RetinaNet、Faster RCNN、Mask RCNN、TOOD、DOOD、YOLOv3,改进算法在参数量和复杂度较低的前提下,AP 分别提升了12.4、2.4、2.3、2.3、2.6、22.5 个百分点。而相较于YOLOXs 与YOLOv5s,虽然改进算法增加了较少的参数量和复杂度,但其AP与FPS均最优。对于APS指标,Mask RCNN表现最佳,达到了37.5%,说明其小目标的检测能力最为优异,但是其参数量与计算量相对较大。总的来说,改进算法在参数量、计算量、精度和速度的平衡上更具优势。

表4 不同目标检测算法对比实验结果Table 4 Comparative experimental results of different object detection algorithms

从DOTA-v1.0测试集中选取部分图像,分别使用检测精度较高的YOLOXs、YOLOv5s、YOLOv6t 与改进算法进行检测,检测效果对比如图9 所示。可以看出,YOLOXs、YOLOv5s与YOLOv6t算法对于像大汽车、飞机等目标会经常性地出现误检的情况,而对于像小汽车这种目标较小的类别会经常性地出现漏检的情况,主要由于这些算法对于目标特征提取不足,在复杂背景下对难分类目标关注度不够,并无法解决遥感图像目标尺度差异大的难题。而改进算法通过引入CA、CEM 与ASFF,增强了复杂背景下多尺度目标的定位能力与特征提取能力,从而生成更加精准的检测框,在一定程度上缓解了误检和漏检的情况。

图9 部分算法检测效果对比Fig.9 Part of algorithm detection effect comparison

3 结束语

为解决由于遥感图像背景复杂、目标普遍比较小且呈多尺度分布所导致的目标检测精度较低的问题,基于YOLOv6 目标检测算法,通过在Backbone 部分嵌入CEM 与CA 模块,在Neck 部分引入一种ASFF,提出了一种改进YOLOv6 的遥感图像目标检测算法。在遥感图像公开数据集DOTA-v1.0 上进行测试,实验结果显示,改进算法的收敛速度与收敛精度均优于基准算法,且其AP 值远高于基准算法与一些其他目前先进的目标检测算法,表明其具有优异的多尺度目标检测能力。但是,改进算法在目标检测精度上尤其是小目标检测精度仍有着极大的提升空间,另外,由于引入了新模块,增加了算法的参数量和复杂度,一定程度上影响了其检测速度,尽管能满足遥感实时检测的需求,但未来仍要考虑通过优化模型结构以提升算法的检测精度与检测速度。

猜你喜欢
尺度卷积特征
基于3D-Winograd的快速卷积算法设计及FPGA实现
财产的五大尺度和五重应对
如何表达“特征”
从滤波器理解卷积
不忠诚的四个特征
基于傅里叶域卷积表示的目标跟踪算法
抓住特征巧观察
宇宙的尺度
9
一种基于卷积神经网络的性别识别方法