APP下载

基于注意力机制与特征融合的航拍图像小目标检测算法

2024-01-08周孟然

黑龙江工业学院学报(综合版) 2023年11期
关键词:航拍注意力特征

王 正,周孟然

(安徽理工大学 1.计算机科学与工程学院;2.电气与信息工程学院,安徽 淮南 232001)

随着无人机技术的快速发展,无人机的使用成本逐渐降低,使得“无人机+目标检测”技术在诸多领域如公共安全、生态保护、智慧交通等发挥着重要作用。与水平视角自然场景的图像相比,无人机航拍视角下的图像由于飞行高度、拍摄角度、机体振动等因素的干扰,使得采集到的图像存在小尺度物体数量多、物体密集、目标纹理不清晰、背景复杂等问题[1]。此外,随着无人机高度的增加,图像中场景覆盖范围不断增加,目标尺度的变化逐渐明显,使得目标特征弱化。这些问题会使得航拍图像目标检测任务更加困难。因此,为满足实际应用场景需求设计出一种可用于航拍图像目标检测任务的算法是至关重要的。

基于深度学习的目标检测算法可分为两种:第一种是以Faster RCNN[2]为代表的基于候选区域的双阶段检测算法,检测精度高但速度过慢;第二种是以YOLO系列[3-6]以及SSD[7]为代表的基于端到端的单阶段检测算法,网络简单运行速度快,具有较高的实时性,经过适当的改进,能具有更好的检测精度和实时性。曹小喜等[8]改进主干特征提取网络,并引入空间金字塔网络,实现对目标的高精度实时检测。于晓等[9]改进C3模块以及加入注意力机制,增加了检测精度。与两阶段算法相比,一阶段算法更能满足航拍图像目标检测的需求。在航拍图像目标检测算法中,徐坚等[10]在YOLOv5网络基础上添加可变形卷积模块,设计特征平衡金字塔,利用像素重组构建底层大尺度特征,并提出交叉自注意力模块,改善严苛条件下错检漏检问题。刘树东等[11]提出一种基于倒置残差注意力的无人机航拍图像小目标检测算法模型,设计倒置残差注意力C3模块、多尺度特征融合模块以及马赛克混合数据增强方法,提升无人机航拍图像的检测精度。李子豪等[12]提出自适应协同注意力机制模块嵌入到主干网络与特征增强网络,并重新优化设计对主干网络、特征增强网络和检测头尺寸,通过大尺度检测头中数量多且密集的锚框提升定位精度。上述算法应用于航拍图像目标检测场景中,仍然存在检测精度较低、模型参数计算量较大的问题。为满足航拍图像目标检测算法的要求,准确检测出目标信息。以YOLOv5s为基础,从Backbone网络、Neck网络和Head输出层、损失函数三个方面进行改进,从而提高对小目标的检测精度。

1 YOLOv5s算法

YOLOv5算法吸取了许多优秀网络的优点,是当前具备良好检测性能的算法之一。相较于其他三个版本,YOLOv5s结构简洁,运行速度快,计算资源消耗最少,因此选择YOLOv5s作为基线网络。

YOLOv5s算法由Input、Backbone、Neck和Head四部分组成,如图1所示。输入端会对输入的图像数据进行预处理,首先对几张图像进行随机的裁剪拼接,用以充分利用数据集,提升训练速度。然后在模型训练中,会根据数据集自适应的计算出最佳的锚框。最后将图像数据调整为统一大小输入至Backbone网络中。Backbone网络主要由卷积模块CBS、特征提取模块C3和空间金字塔池化SPPF模块组成,能从输入的图像数据中提取出特征信息。Neck网络是由FPN和PAN构成的,FPN通过自深向浅的路径结构增强语义特征,PAN通过自浅向深的路径结构增强位置特征。两者将不同阶段的特征图进行特征融合,从而提升网络对目标的多尺度检测性能。Head输出层主要是对Neck层的三个输出进行卷积操作,然后在不同尺度的特征图上应用锚框进行结果的预测。

图1 YOLOv5s网络结构

2 本文算法

为提升航拍场景下目标的检测性能,提出了一种基于注意力机制与特征融合的航拍图像小目标检测算法,其网络结构如图2所示。航拍图像输入的信息较多目标小,需要获取高质量的全局信息,在Backbone网络中嵌入多头自注意力机制(Multi-Head Self-Attention, MHSA)[13],能够有效整合全局特征信息,挖掘到更多有效的特征信息;为了避免尺度不一特征信息利用不充分,在Neck网络添加小目标检测层与加权双向特征金字塔(Bidirectional Feature Pyramid Network, BiFPN)[14]实现深层语义和浅层语义的多尺度融合,再引入自适应空间特征融合(Adaptively Spatial Feature Fusion, ASFF)[15]模块,提高不同尺度特征图的识别精度;然后,在特征融合网络中添加Coordinate attention(CA)[16]注意力机制,降低背景对小目标的干扰,提升对小目标检测的精度;最后,使用损失函数MPDIoU(Intersection over Union with Minimum Points Distance)[17],改善模型对小目标检测的准确性。

图2 改进后的YOLOv5s网络结构

2.1 Backbone网络的改进

在航拍图像中,存在着背景复杂、目标密集且小目标较多等问题,不利于网络对航拍图像特征信息的提取。近年来计算机视觉逐渐成熟,注意力机制模块通过融合不同卷积核的特征,让模型集中在需要关注的区域,能够大大提高基线模型在目标检测中的性能。基于此,在YOLOv5s的Backnone网络中嵌入多头自注意力模块(MHSA),集合了CNN和自注意力机制各自的优势,利用卷积进行空间下采样,将注意力机制集中在低分辨率上,具有捕获大范围图像特征信息的能力,能够更好地利用全局上下文信息,高效地提取特征信息。

多头注意力机制如图3所示。将输入的特征图分别进行1×1的逐点卷积,从而得到查询矩阵q、键矩阵k和值矩阵v;同时引入垂直和水平方向上的相对位置编码Rh和Rw,进行矩阵求和运算,得到位置矩阵r,使用相对位置编码的注意力操作可以将位置感知与目标之间的信息相关联;然后,将键矩阵k和位置矩阵r逐个与查询矩阵q进行矩阵乘法运算,得到含有不同注意力信息的矩阵qkT和qrT。再对矩阵qkT和qrT经过求和操作后,使用softmax函数运算处理,将得到的结果与值矩阵v做乘积,得到输出。通过使用MHSA模块,可以让网络在密集的场景中检测效果更好,检测精度也能得到进一步的提高。

图3 MHSA多头自注意力机制

2.2 Neck网络与Head输出层的改进

2.2.1 添加小目标检测层和BiFPN

航拍图像检测大部分是小目标,因此目标的类别与位置对于小目标检测至关重要。在浅层分辨率较高的特征图中,往往保留着更丰富的小目标位置信息;在深层分辨率较低的特征图中,往往保留着大目标特征复杂的语义信息。所以在YOLOv5s的原有基础上添加小目标检测层,通过增加卷积和上采样操作,使特征图进一步扩大,同时也增强不同尺度之间特征图的关联,加深更浅层的位置信息与深层的语义信息的结合,使网络对特征图的小目标更加敏感,进而得以提升对小目标特征信息的利用率。

YOLOv5s的Neck网络部分采用FPN和PAN的组合结构,FPN结构通过自深向浅的路径结构实现深层特征图到浅层特征图的语义融合,PAN结构通过自浅向深的路径结构使得预测特征图同时包含语义信息和位置信息,大大提高了目标的检测精度。在特征融合过程中虽然PAN对输入的不同尺度特征是同等对待的,但是事实上它们对于最终输出的贡献是不同的。并且PAN结构的输入大部分是FPN处理后的特征信息,没用从Backbone网络中获取原始的特征信息,可能会造成模型的优化方向出现偏差,影响最终的检测效果。因此,引入一种新的特征融合方法BiFPN。首先,BiFPN会删除只有一个输入特征图的节点来简化结构,并将删减节点的输入特征图作为下一级特征图的输入;然后,在相同尺度的两个节点之间通过添加更浅层的特征图,以融合不同尺度的特征。BiFPN结构如图4所示。

图4 BiFPN结构

BiFPN通过对权重的控制来把控不同输入特征信息的学习程度,考虑到训练性能的差异,采用快速归一化法,将权值归一化到0~1之间,训练速度快、效率高,如式(1)所示。

(1)

式(1)中,wi、wj表示经过网络训练的权重,ε用于保持整体结果的稳定性,为一个常数,Ii为图像输入的特征,Out为融合结果,从而实现对不同尺度特征图进行加权特征融合。

在添加小目标检测层后,相应的检测层输出也会增加一个,大小分别为160×160、80×80、40×40和20×20,从而可以获取更大的特征图用于小目标检测。

2.2.2 自适应空间特征融合

自适应空间特征融合(ASFF)是一种采用数据驱动的金字塔特征融合方式,学习了空间过滤冲突信息用以抑制梯度反传时不一致,从而增强了特征的尺度不变性,且不会过大的增加计算开销。不同尺度特征的不一致性会降低特征金字塔的有效性,干扰训练过程中的梯度计算。航拍图像背景复杂且不断变化,会带来较大的背景噪声。因此,模型网络需要一个功能强大的特征融合模块。在特征金字塔网络输出端后引入ASFF模块,对输出的多尺度特征图进一步融合,能改善不同尺度下目标的检测效果。ASFF结构在改进的YOLOv5s模型中的融合示意图,如图5所示。

图5 ASFF结构在改进网络结构的应用

X1、X2、X3、X4分别为从YOLOv5s的Backnone网络中提取到的特征图,Level1、Level2、Level3、Level4分别为从BiFPN结构中获得特征图。以ASFF-2计算融合为例,通过利用ASFF算法融合得到ASFF-2。首先,对特征图Level1进行卷积得到与特征图Level2相同的通道数;然后对与特征图Level2相同通道数的特征图进行上采样,得到X1→2。对特征图Level3、Level4通过卷积和下采样操作调整通道数和尺度大小与Level2相同,得到X3→2、X4→2。对于特征图Level2根据通道数调整,得到X2→2。再利用softmax函数对4个特征图进行处理后,分别得到X1→2、X2→2、X3→2、X4→2的空间重要性权重α、β、γ、δ,最后进行ASFF融合计算,如式(2)所示。

(2)

2.2.3 CA注意力机制

坐标注意力机制(CA)是一种即插即用的灵活高效的注意力机制,该机制将位置信息嵌入到通道注意力中,让模型集中在需要关注的区域,从而避免过多的计算开销,CA注意力机制结构如图6所示。

图6 CA结构

为了改善2D全局池化导致的位置信息丢失,CA将2D全局池化操作替换为两个并行的1D特征编码过程。具体而言,对于输入特征图分别使用两个池化核,在水平和竖直方向进行全局平均池化,进而得到在宽度和高度两个维度的特征。然后将宽高维度的两个特征图进行拼接融合操作后再进行卷积运算,生成过渡的特征图。对过渡的特征图进行归一化和非线性激活函数处理后,再次分为两个单独的特征图;再使用卷积核大小为1×1的卷积调整通道数后,进行sigmoid函数处理,得到宽高维度上的注意力情况,最后与输入特征图相乘输出,从而帮助网络更准确地定位和识别目标区域信息。

针对航拍图像特点,在特征融合网络中C3的Bottleneck结构后,添加CA注意力机制形成C3_CA模块,结构如图7所示。该模块可以有效抑制不必要的特征,保证浅层特征图的特征信息并加强网络对特征的提取能力,从而提高对小目标的检测精度。

图7 C3_CA结构

2.3 损失函数的改进

通过上述改进措施,提高了航拍图像目标检测精度和整体识别效率。但是如果航拍图像中目标出现密集现象,则整体检测精度会降低。因为密集目标检测的锚框相互重叠、遮挡,在进行非极大值抑制处理时部分重叠会被去除,从而导致漏检情况。在以往的研究中,YOLOv5s采用CIoU loss[18]作为衡量边界框的损失来解决这一问题。CIoU损失计算考虑到了边界框的重叠面积、中心点距离和长宽比,但是对于长宽比仍然是一个模糊值。因此,本文选用MPDIoU作为边界框回归的损失函数。

MPDIoU采用边界框几何特性思想,利用边界框的左上点和右下点确定预测框。MPDIoU计算过程如式(3)-式(5)所示。

(3)

(4)

(5)

(6)

使用MPDIoU作为边界框回归的损失函数,边界框回归的所有因素都可以由预测框与真实框的左上点和右下点这四个点坐标确定,简化了计算过程,从而改善边界框回归的训练效果,提高收敛速度和回归精度。

3 实验与结果分析

实验使用Windows10操作系统,GPU为NVIDIA GeForce RTX 3060,CPU为12th Gen Intel(R) Core(TM) i7-12700H,学习框架为torch 1.8.0+cu111。

3.1 评价标准与实验数据集

实验选取精确率(Precision)、网络的参数量(Params)、FPS和整体平均精度均值(mAP)作为评价指标,通过数据对比和分析评估算法的有效性。AP为单个类别的平均精度,NC为类别总数,mAP体现算法对所有目标类别的综合检测能力,以下实验中mAP值是以IoU为0.5进行的。AP的计算与精确率、召回率相关,精确率和召回率由式(7)和式(8)计算得到,AP值相加再除以类别数得到mAP,AP和mAP计算过程由式(9)和式(10)得到。

(7)

(8)

(9)

(10)

式(7)-(10)中,TP是被预测为正样本的正样本,FP是被预测为正样本的负样本,FN是被预测为负样本的正样本,NC为类别个数。

实验采用公开数据集VisDrone2019-DET用于改进算法模型的训练和测试。该数据集是由天津大学AISKYEYE团队利用无人机在国内14个城市进行拍摄。其中训练集6471张图像,验证集548张图像,测试集1610张图像,主要标注了人和常用交通工具等10个类别,分别为雨棚三轮车、面包车、人、卡车、自行车、汽车、三轮车、行人、公交车和摩托车,部分数据集示例如图8所示。

图8 部分数据集示例

相较于其他数据集,VisDrone2019-DET数据集由于无人机远距离拍摄使得每张图像中物体数量多、存在遮挡且小目标数量占比高,更适合用于反映无人机在实际应用场景的一般情况。

3.2 消融实验

为验证提出的在YOLOv5s算法中嵌入MHSA模块,添加小目标检测层和BiFPN,使用ASFF结构,添加CA以及将损失函数替换为MPDIoU改进算法模型的性能有效性,通过消融实验在同等实验条件下,验证不同模块对目标检测算法的影响。实验选用YOLOv5s作为基线算法。使用输入图像的分辨率为640×640,在训练300个epoch后,结果如表1所示。

表1 消融实验结果

航拍图像中检测目标大多较小,在YOLOv5s主干网络中嵌入MHSA模块后,能够更好地利用全局上下文信息,提高小目标特征提取能力,精确率提升了2%,mAP提升了1%;在网络结构中添加小目标检测层和BiFPN,并使用ASFF结构优化网络结构,航拍图像的检测精度提升较为显著,精确率提升了3.5%,mAP提升了5.9%;在算法网络结构更改后的特征融合网络处的C3中添加CA注意力模块,抑制不必要的特征保证浅层信息融合到特征图中从而提升小目标特征图融合能力,精确率提高了5.9%,mAP提高了6.7%;损失函数的改进在保证模型参数量不变的情况下,精确率提高了0.7%,mAP提高了1.3%。综上所述,改进后的算法绝大多数指标都有优势,其中精确率提高了6.5%,mAP提高了7.8%,能够证明改进后的算法在YOLOv5s的基础上大幅提高了检测精度。

3.3 对比实验

为了验证改进YOLOv5s算法所具有的优势,选择与多种主流算法在VisDrone2019-DET数据集上进行对比,主要测试算法的检测精度,结果如表2所示为各种算法对VisDrone2019-DET测试集10类目标的mAP值。改进后的算法的整体平均精度均值mAP40.5%,相较于原YOLOv5s算法mAP值提高了7.8%,检测精度得到了较大的提高;相较于单阶段的目标算法MixedYOLOv3-LITE[19],双阶段的Faster R-CNN[20]以及anchor-free的CornerNet[21]、CenterNet[22],检测精度都有所提高;根据对比实验可知,改进的算法能够有效提高对航拍图像小目标的检测精度,使得算法在处理无人机航拍场景下目标检测任务时具有更大的优势。

表2 对比实验结果

3.4 算法有效性分析

为了验证改进算法在实际应用场景中的检测效果,选用VisDrone2019-DET测试集中背景复杂、目标密集、小尺度目标较多的具有挑战性和代表性的图像进行测试,并进行可视化对比,检测效果如图9所示。

(a)原始YOLOv5s(b)改进YOLOv5s图9 检测效果对比

通过图9(a)组和(b)组第1行对比,能够看出改进后的算法对航拍图像中不同类别目标的检测精度都有所提升;通过对比图9(a)组和(b)组第2行能够发现,在夜晚和目标密集的场景下,相比于原始YOLOv5s算法,改进后的算法对图像中小目标漏检和误检更少。通过对比图9(a)与(b)组的第3行图像,可以看出改进后的算法对背景复杂场景下小尺度物体检测效果更好。通过以上检测效果分析,改进后的算法相比于原始YOLOv5s算法具有明显的优势,检测效果更好,展现出了良好的适应性和性能。

结语

针对航拍图像背景复杂、目标密集且小尺度目标较多等问题,在原算法基础上通过在Backbone网络中嵌入MHSA模块,更好地利用全局上下文信息,提高网络的检测精度;然后更改网络结构,添加小目标检测层与BiFPN结构减少语义信息和位置信息的丢失,再使用ASFF模块,对输出的特征图进行再融合,提高特征的融合效率;在特征融合网络中加入CA注意力机制形成C3_CA模块,用以替换原C3模块,增强网络对特征的提取能力;引入MPDIoU函数,改善边界框回归的训练效果,提高回归框的准确性。实验证明,改进后的算法在VisDrone2019-DET数据集上相较于其他算法具有一定的优势,但由于网络结构的更改,增加了训练后模型推理的时间开销。因此下一步工作将会放在更高效和轻量化地实现对小目标的检测,在保证速度的前提下更好地应用在不同环境中。

猜你喜欢

航拍注意力特征
让注意力“飞”回来
航拍巴彦呼硕
如何表达“特征”
不忠诚的四个特征
航拍,苍穹下的醉美视角
难忘的航拍
抓住特征巧观察
《航拍中国》美得让人想哭
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things