基于改进YOLOv7-tiny的坦克车辆检测方法

2024-01-04 04:31郑陆石胡晓锋于伟国赵东志张鸿涛
兵器装备工程学报 2023年12期
关键词:损失卷积特征

郑陆石,胡晓锋,于伟国,赵东志,张鸿涛

1.中北大学 机电工程学院, 太原 030051; 2.北方工程设计研究院有限公司, 石家庄 050011; 3.北方华安工业集团有限公司, 黑龙江 齐齐哈尔 161006)

0 引言

现代战争中对于战场态势的感知十分重要,无人机(UAV)是近年来广泛应用于战场的装备之一,其可以执行战场侦察、目标监控、反侦察等多种感知任务。在侦察任务中,相比于遥感卫星和侦察机等方式,利用无人机具有如下几点优势[1]:① 飞行频率高。相对于侦察机每次执行任务前需要根据敌方雷达阵地和防空系统位置规划侦察线路,无人机可以应对掌握敌方阵地信息较少的情况,与侦察机等形成互补。② 飞行成本低。减少了对空勤人员训练和培养的昂贵费用,只需要操作员远程发送指令给无人机就能完成一系列任务。因此,利用无人机对地面坦克车辆进行拍摄并检测有着重要意义。

但是,无人机航拍在发挥其重要作用的同时也面临着目标隐蔽性大、目标尺度跨度大、与背景差别小和空中视角下目标特征不明显等困难。

随着深度神经网络(deep neural networks,DNN)的发展,其在目标检测领域的应用范围更加广泛。在深度神经网络方法出现之前,传统目标检测任务流程分为3个阶段[2]:首先采用大小不同的滑动窗口进行特征区域选择,获取可能的目标位置;其次通过方向梯度直方图[3](histogram of oriented gradients,HOG)等方法对目标的特征进行提取;最后利用支持向量机[4](support vector machine,SVM)、Adaboost[5]等分类器分类,得到各类目标的位置和置信度。传统方法对目标尺寸较为固定,窗口冗余,提取的特征鲁棒性较差。深度学习方法出现后,目标检测领域取得了重大的突破,主要有2个方向成为研究重点:① 基于回归方法的单阶段目标检测算法,如YOLO系列、SSD[6]等;② 基于区域提议的双阶段目标检测算法,如RCNN、Cascade R-CNN等。2022年WANG等[7]提出YOLOv7,其性能是目前单阶段方法中较好的一种。在工业界也提出很多方法,以提升算法的鲁棒性。刘军黎等[8]提出一种融合浅层特征图和超轻量级子空间注意模块的YOLOX-IM算法,实现了无人机对交通情况的实时检测,但无人机高度较为固定;白俊卿等[9]将MobileNetv3作为特征提取网络,实现了无人机障碍物检测,但存在因为障碍物大小变化快所导致检测精度下降的问题。钱坤等[10]对模型中多尺度特征融合层进行改进,达到对舰船目标及其关键部位的检测。

基于深度学习的目标检测技术已较为成熟,但主要针对一些常见目标的检测,对于无人机视角的坦克车辆检测研究较为不足;并且机载计算机算力有限,在保证精度不变的同时能够有更快的检测速度已经成为了当前研究的关键问题。为了解决上述问题,本文中提出了一种基于改进YOLOv7-tiny的坦克车辆检测算法。

1 YOLOv7-tiny网络结构

近几年神经网络广泛应用到图像检测领域,基于战场作战对目标检测的时效性、准确性要求,需要神经网络模型具备检测精度高、实时的特点。YOLOv7-tiny是目前较为先进的单阶段目标检测模型YOLOv7的轻量级模型,其模型大小只有12 MB左右,在保持了较高的精准度的同时进一步缩小模型大小。YOLOv7-tiny由特征提取网络Backbone、特征融合网络Neck和检测头Head构成,Backbone 和 Neck将图像分辨率减小、通道数增大,实现图像语义层面的增强;Head主要为多个解耦头,将特征信息进行解耦,得到目标在图像中的位置与类别。YOLOv7-tiny的Backbone网络由卷积层、池化层和高效长程聚合网络[11](efficient layer aggregation networks, ELAN)组成,Neck继承了YOLO系列的PA-Net(path aggregation networks)。

2 改进的YOLOv7-tiny网络

2.1 AC-ELAN结构

为了更好地区分坦克车辆与背景信息,将YOLOv7-tiny特征提取网络中的3个ELAN结构,替换为本文中提出的AC-ELAN(asymmetric convolutions-ELAN)结构,利用文献[12]提出的非对称卷积替换ELAN结构路径上的普通卷积,构成改进的特征提取网络,非对称卷积结构如图1所示。

图1 非对称卷积结构

并列的3×1、1×3、3×3卷积核替代原本的3×3卷积核,构成非对称卷积块。利用不同大小的卷积核对输入特征图进行计算,此过程可表示为:

(1)

式(1)中:O∈RR×T×D为输出特征图;M∈RU×V×C为输入特征图;F∈RH×W×E为卷积核;R、U、H为特征图及卷积核宽度,T、V、W为高度,D、C、E为通道数;*为二维卷积运算;j为第j个卷积核;k为第k层通道。

对输出O:,:, j进行批归一化处理得到中间级输出为:

(2)

式(2)中:μj、σj为批处理数据的均值、标准差;γj、βj为缩放系数和偏移量。

最后,将中间级输出对应点位信息相加后得到最终的融合特征图。相对于普通卷积,由于并列结构的非对称卷积块增加了卷积计算次数,推理过程所耗费的时间相应增加。利用卷积的可加性,可以在不增加推理时间的前提下达到相同的效果,可加性表示为:

I*K(1)+I*K(2)=I*(K(1)⊕K(2))

(3)

式(3)中:K(1)、K(2)为2个兼容尺寸的卷积核;I为输入矩阵;⊕为按位置求和。

由此,3个大小不同的卷积核转换为一个等效卷积核,其十字中心位置权重增大,特征提取能力有所加强,并且受到图像的水平、垂直翻转影响减弱。

将非对称卷积融入ELAN结构,模型结构图如图2所示。

图2 AC-ELAN结构图

改进的YOLOv7-tiny网络中AC-ELAN通过不同长度的分支结构将输入特征图尺寸减小、通道数扩大,得到更高维和抽象的特征,并聚合浅层和深层网络输出以起到减少计算量和增强特征表达的作用。具体来说,AC-ELAN将输入特征图在通道维度等分成2个部分,下层通过1×1卷积调整通道数后直接与上层输出拼接,上层调整通道数后利用2层非对称卷积提取不同尺度的特征,每层非对称卷积输出的一部分直接进入聚合层,另一部分进入下一层提取更高维的特征信息,最后将输出特征图组合调整通道数输入下一层网络。引入了非对称卷积的特征融合块能够根据特征的重要性重新分配它们的权重,加之分支结构具有不同深度,对于不同维度的特征提取效果得到增强,同时不会增加网络复杂度和计算量。

2.2 融合跨阶段局部网络的空间金字塔池化结构

空间金字塔池化[13](spatial pyramid pooling,SPP)的提出是为了解决卷积神经网络(CNN)需要输入一个固定大小图像的问题。对此,利用SPP结构对经过卷积操作后的特征图进行不同规格的池化。其原理为:输入经过卷积操作的特征图,3种池化框通过滑动窗口的方式提取特征,利用最大池化提取一个最显著特征。本文中,输入SPP结构的特征图大小为20×20×1 024,其中20为特征图的宽高、1 024为通道数,经过大小为5、9、13的池化框池化之后,得到大小为4×4、2×2、1×1的输出特征图。然后将其展开并进行拼接,最后得到大小为(16+4+1)×1 024的一维数组,与一个跳跃连接构成4分支结构,如图3所示。大尺寸特征图具有较高水平的全局性,而小尺寸特征图可以弥补大尺寸特征图在细节方面的缺失,因此SPP结构实现了全局特征和局部特征的有效融合,扩大了网络对目标的感受野,增强了网络的鲁棒性。

图3 SPP结构原理图

本文中,将YOLOv7-tiny传统的特征提取网络池化结构替换为SPPCSPC结构,如图4所示。SPPCSPC结构将空间金字塔池化与跨阶段局部网络[14](cross stage partial,CSP)相结合,CSP的提出是为了减少计算量和增强梯度表现力。特征图在通道维度分为2个部分:一部分通过卷积对梯度信息进行学习,另一部分通过直连映射跨梯度与其融合,经过并行分支结构使梯度路径数目翻倍,达到减少计算量的目的。其中Conv1_1将通道数进行调整,以便融合特征,Conv2_2、Conv2_5为3×3卷积层,提升感受野。Conv3_1、Conv2_5为过渡层,Conv3_1卷积层处在Concat操作后,其作用是使不同特征梯度信息得到重用,能够增强网络学习能力;Conv2_5处在Concat操作前,其输入的维度小于Conv3_1,有效减少了计算复杂度。

图4 SPPCSPC结构图

2.3 注意力机制

计算机视觉中的注意力机制是从人类大脑处理外界输入图像的过程中获取灵感。人类大脑会关注图像中感兴趣的区域而忽略重要性较低的背景区域。正因为有注意力机制,人脑可以获取更多目标的细节信息而抑制干扰信息。传统的注意力机制主要为通道注意力和空间注意力以及将两者并行或串行。例如由Jie Hu等[15]提出的SENet(squeeze-and-excitation networks),通过挤压、激励操作对特征图通道进行优化来提高网络的表示能力,因要为通道分配不同的权重,会带来参数量的增加。

通过SimAM[16](simple parameter-free attention module)能够提高网络性能,增强目标检测精度。其是一种用于卷积神经网络的无参数注意力模块,该模块利用人脑神经元的工作方式,通过推导能量函数确定不同神经元的重要程度,对于能量大的神经元赋予更高的权值。在训练过程中,SimAM模块能够对特征图中的关 键信息进行增强。

最小能量计算公式为

(4)

SimAM模块通过寻找拥有最小能量的神经元确定重要性最高的目标,与SENet、CBAM等注意力机制相比,具有更好的可解释性、更少的参数量。将SimAM模块引入到改进YOLOv7-tiny网络中的3个特征提取层之后,可以提高坦克车辆目标检测精度,在训练过程中提高对目标的关注度。改进后的整体网络框架如图5所示。

图5 改进网络整体框架

2.4 边界框损失函数

边界框损失函数作为目标检测任务中损失函数的重要组成部分,优良的边界框损失函数会为目标检测模型带来显著的性能提升,包括减小损失值、加快模型收敛速度等。YOLOv7-tiny的边界框损失函数为CIoU,重点考虑了边界框的几何因素,即相交面积、中心点距离等。但是坦克车辆在无人机图像中所占像素较少,在标注过程中难免出现虚标、漏标等状况,由于CIoU损失函数中的几何因素会加剧低质量标注的惩罚,从而不利于模型从中学习到内容,导致模型泛化能力降低。针对上述问题,将CIoU替换为WIoU[17],其提出了3种不同的方法来提升损失函数性能。WIoU v1同时考虑了几何因素和边界框质量,通过对权重的调整使损失函数更加关注中低质量边界框,从而达到更好的训练效果,其计算公式为:

LWIoUv1=RWIoULIoU

(5)

(6)

式(5)、式(6)中:系数RWIoU∈[1,e),其用为放大较低质量锚框的损失值;x、y为预测框坐标;xgt、ygt为目标框坐标;Wg、Hg为最小封闭框(见图6);*为将带梯度的变量转变成常量。

图6 目标最小封闭框

WIoU v2在此基础上增加了离群度β,以描述锚框的质量,离群度定义为

(7)

LWIoUv2=β0.5LWIoUv1

(8)

(9)

式(9)中,α、δ为控制梯度增益的超参数。由此得到WIoU v3边界框损失计算公式为

(10)

式(10)中,当β=δ时,使得r=1。

3 实验结果与分析

3.1 实验数据集及实验环境

由于各国军队对于航拍坦克车辆图像数据较为敏感,目前针对无人机视角的地面可见光坦克车辆图像暂无权威数据集,因此采用自建数据集的方式,数据集实例如图7所示,图7中图像来源为2个部分:利用爬虫技术爬取网络中含有“坦克”、“装甲车辆”等关键字的图像418幅;利用四旋翼无人机进行人工实地数据采集的图像150幅。在不同高度采集的图像数据分布如图8所示,分辨率设置为1 920×1 080。最终建立的数据集包含图像568幅,图像大小在1 920×1 080至600×600之间,经自适应模块缩放后统一为640×640并送入网络。将数据集中图像随机以7∶2∶1的比例划分为训练集、验证集和测试集。具体实验环境和参数设置如表1所示。

图7 数据集实例

图8 图像数据分布图

表1 实验环境配置

3.2 训练参数和评价方式

本文中网络训练优化器为 Adam,初始学习率 0.01,动量为 0.907,权重衰减因子为0.005,Batchsize 为 2,采用mosaic数据增强方式。

利用平均精度AP,准确率P评价网络整体性能,计算公式如下:

(11)

(12)

(13)

式(11)—式(13)中:真阳性(ture positive,TP)为检测正确的目标数量;假阳性(false positive,FP)为检测错误的目标数量;假阴性(false negative,FN)为漏检的目标数量。

利用每秒传输帧数FPS评价网络是否满足实时检测条件,一般认为FPS≥30即达到实时检测要求;利用参数量评价模型大小,参数量由模型结构确定,希望用更小的模型达到更高的检测精度。利用Grad-cam[18]热力图评估注意力机制效果,利用损失函数曲线评估模型收敛速度和收敛稳定状态时边界框损失值大小。

3.3 对比实验分析

为了保证实验的准确性和公平性,在pytorch框架下对不同的YOLOv7-tiny网络损失函数进行验证。分别采用CIoU、WIoU v2、WIoU v3作为损失函数,边界框损失随轮次变化曲线如图9所示。

在模型训练初期采用WIoU v2训练效果最好,平均损失值为0.034 2,分别比CIoU、WIoU v3降低15.8%、11.5%,认为与其训练初期的单调聚焦机制使模型聚焦于困难示例有关;在训练中期,CIoU、WIoU v3收敛速度明显加快,WIoU v2收敛速度放缓并且出现损失值突然增大的情况;在训练200epochs后,各损失函数接近收敛,此时损失值由大到小为:WIoU v2、CIoU、WIoU v3,分别为0.022、0.020、0.019,认为WIoU v3在训练后期重点关注普通、较低质量锚框,对于网络的训练起到关键作用。实验证明WIoU v3对于网络模型具有更高的稳定性及更小的损失值,对于模型训练和学习有提升效果,验证了损失函数改进的有效性。

图9 边界框损失值曲线

实验证明,加入simAM模块制后平均精度有所提升,由89.8%提升到90.4%,但是增加了网络复杂度,导致推理时间有所增加。为了进一步说明simAM模块的有效性,利用Grad-cam对图像进行可视化分析,提取正向传播输出的特征图,再经过反向传播得到梯度,并在宽度和高度维度上进行全局平均池化,得到能够表示特征重要性的权重,最后计算权重和梯度的加权值并经过激活函数得到Grad-cam热力图。热力图中颜色越接近红色表示加权值越大,模型对此区域的关注度越高。选取3张图像作为输入,分别提取了SimAM、SENet及传统的YOLOv7-tiny网络对应层的热力图,如图10所示。对比传统网络和加入注意力机制的热力图可以发现,注意力机制能够有效聚焦坦克车辆目标,降低对非目标区域的关注程度;由图10(a)、图10(b)可知,对比SENet和SimAM,SimAM模块对确定的坦克车辆目标关注度较高,但对类似目标的关注度低。

图10 注意力机制热力图对比

3.4 消融试验

本文中一共提出了4个模型改进点,为了验证各改进点单独及组合后算法整体的优化提升性能,采用消融实验进行分析,从网络模型的AP、FPS进行对比,结果如表2所示。

表2 消融实验结果

传统的YOLOv7-tiny作为消融实验的baseline,采用相同的预训练权重、超参数等训练条件,依次将simAM模块和AC-ELAN结构、SPPCSPC结构和改进的损失函数加入baseline。分析表2数据发现,各改进点均对算法AP有所提升。首先SimAM+AC-ELAN结构提升效果最好,提升1.9个百分点,说明基于能量函数的SimAM模块和基于非对称卷积的AC-ELAN结构共同提高了对坦克车辆目标的关注程度,并且没有过多增加推理时间。其次为加入SPPCSPC结构,AP提升1.4个百分点,但是由于网络结构变复杂,导致FPS下降1.1帧/s。最后,将损失函数替换为WIoU对AP和FPS的影响较小。

3.5 不同算法结果分析

为了进一步客观验证改进算法的有效性,主要选取参数量在10 M以下轻量级算法Att-YOLOv4-tiny 、YOLOX-tiny 、YOLOv5s和YOLOv7-tiny和2种中量级算法SSD、SE-DenseSSD作为对比,利用训练好的模型权重对验证集中图像进行检测,结果如表3所示。由于SSD算法对于小目标不敏感,改进算法对比以VGG-16为骨干网络的SSD算法 AP提升9.2%,FPS提高39帧/s,在无人机计算平台算力有限情况下,也能够满足实时检测要求;对比几种轻量级算法发现,在没有进一步扩大参数规模的情况下,改进算法平均精度为几种算法中最高,达到94.3%,分别比Att-YOLOv4-tiny 、YOLOX-tiny 、YOLOv5s和YOLOv7-tiny提升3.2%、9.8%、6.6%、5.0%,且在GPU下检测帧率达到71帧/s。

为了展现改进算法训练过程的性能,将模型训练过程与传统的YOLOv7-tiny对比,在分析结果时发现某些轮次的准确率突然下降,造成原因是数据集中低质量图像导致的噪声,训练过程的准确率曲线如图11所示。

表3 不同算法性能对比结果

图11 准确率曲线

在训练前期2种算法准确率差别较小,从第40轮次开始改进算法准确率上升明显,且准确率曲线一直位于YOLOv-tiny算法之上。随着学习率的不断降低,准确率没有发生较大波动,改进模型在训练过程中体现了较好的稳定性和学习能力。

4 结论

针对基于深度学习的坦克车辆目标检测算法实时性差、无人机飞行高度不统一、坦克车辆与背景难以区分等问题,构建了具有针对性的数据集,并创新性地提出了基于YOLOv7-tiny的改进算法。

1) 提出了AC-LEAN结构并融合simAM模块,使算法对目标的特征提取能力增强, 有效降低了图像中复杂背景的干扰;

2) 引入SPPCSPC结构,提升了算法感受野并减少改变结构带来的计算量增加;

3) 优化损失函数,利用利群度对锚框质量进行划分,在训练不同时期关注不同质量锚框,提升了模型收敛速度。

实验结果表明,提出的基于YOLOv7-tiny改进算法在自建数据集下平均精度达到94.3%,比传统的YOLOv7-tiny提升5.0%,在GPU下检测帧率达到每秒71帧。但是,由于数据集规模较小,实际应用中还存在不确定性。未来将进一步扩大坦克车辆目标数据集,使改进深度学习网络的学习能力、泛化能力得到提升,并将其部署到无人机机载计算机中进行性能检测,完成实时坦克车辆目标检测任务。

猜你喜欢
损失卷积特征
基于3D-Winograd的快速卷积算法设计及FPGA实现
胖胖损失了多少元
如何表达“特征”
从滤波器理解卷积
不忠诚的四个特征
玉米抽穗前倒伏怎么办?怎么减少损失?
基于傅里叶域卷积表示的目标跟踪算法
抓住特征巧观察
一般自由碰撞的最大动能损失
损失