APP下载

基于改进YOLOv5的目标检测算法研究

2022-07-13邱天衡白燕娥

计算机工程与应用 2022年13期
关键词:轻量化复杂度注意力

邱天衡,王 玲,王 鹏,白燕娥

长春理工大学 计算机科学技术学院,长春 130022

目标检测是计算机视觉经久不衰的研究方向,被广泛应用在航空航天、交通、医疗、工业、农业、自动驾驶等众多领域,显著地改善着人们的日常生活。

随着大数据时代的到来以及GPU 算力的不断增强,深度学习在计算机视觉各领域中逐渐展露其优势,尤其是目标检测任务。目标检测主要分为静态图像目标检测和动态视频目标检测。文献[1]给出了近年来各种图像目标检测算法及其改进方法,视频目标检测主要以图像目标检测为基础,连接循环神经网络提取复杂的时序信息,文献[2]给出了近年来的视频目标检测方法的研究与发展。从2014 年开始,基于深度学习的目标检测网络井喷式爆发,先是二阶段网络,如R-CNN、Fast-RCNN[3]、Mask-RCNN[4]等,自2016 年文献[5]提出you only look once(YOLOv1)以来,更轻更快的单阶段目标检测网络开始进入学者们的视野,开启了单阶段目标检测网络的新纪元。文献[6-9]均是对单阶段目标检测模型改进的研究,为各研究领域提供了更快、更好的目标检测方法,也为单阶段目标检测算法的实际应用提供了重要理论保障。2020 年,YOLOv5 问世,以最高140FPS 的检测速度震惊世人,使其成为实时条件和移动部署环境上的理想候选者。

为了更好地提取检测目标的特征,许多优秀的卷积神经网络被应用于Backbone中,如VGG[10]、ResNet[11]等,但这些网络训练和预测的代价太大,用于YOLO网络的特征提取会使其失去实时性,无法满足工业应用的要求。随着移动端部署的需求不断增强和模型应用场景的多样化发展,许多轻量化深度神经网络应运而生。MobileNet[12]的基本单元是深度可分离卷积,把标准卷积拆分为深度卷积和点卷积,用较少的计算量获得了几乎无损的精度。ShuffleNet[13]在此基础上,利用组卷积和通道混洗来进一步减少模型参数量。最近,华为诺亚方舟实验室在CVPR 2020上提出了一种新型的端侧神经网络GhostNet[14],利用一些廉价的操作进行变换,在同等参数量的情况下,精度远高于之前的轻量化网络。

文献[15-18]针对特定领域,对YOLOv5进行了轻量化改进,但几种模型均没有对一般数据集,如COCO、PASCAL VOC 等进行性能验证。同时,在实际工业应用中,发现YOLOv5s对边界框的回归不够精准,使用更深的YOLOv5m、YOLOv5l 等又会受到硬件的制约,均难以满足对实时性和目标框回归准确率要求都很高的场景。为了解决这个问题,本研究基于YOLOv5提出一种针对一般数据集的轻量化和具有更高精度的目标检测模型:

(1)提出跨层加权级联的路径聚合网络(WCALPAN)。首先,为了防止浅层目标特征丢失,在PANet[19]结构中加入跨层级联的加权融合结构,将细节信息传递到深层网络;其次,为了获得更加丰富的语义信息,加深金字塔的深度,并对应增加Head部分的检测层,在四种尺度下进行检测,使锚框的铺设间隔更加合理;最后,为了削减上采样过程带来的特征损失,改进了上采样方法。

(2)提出改进CBAM 并行注意力模块(P-CBAM)。首先对特征图同时提取空间和通道注意力特征,然后进行加权融合。并行模式的CBAM注意力结构作为一个即插即用的模块,可以插入到Backbone 中的每个卷积模块后,用来提高网络的收敛速度、精确度和对目标边界的回归能力。

(3)轻量化网络。以GhostConv 作为基本卷积模块,通过廉价的线性变换生成更多的特征图,使用GhostBottleneck替换掉原有的残差块,对整个检测网络进行轻量化处理,以更少的参数量、更快的速度获得更好的检测效果。

1 YOLOv5概述

YOLO 算法基于整个图片进行预测,一次性给出所有的检测结果。经过不断更新迭代,现已推出了YOLOv5,按照模型大小递增可分为s、m、l、x,各模型仅在网络的深度和宽度上有所不同,均由输入端、Backbone、Neck、Head四部分构成。输入端使用Mosaic数据增强、自适应初始锚框计算、图片缩放等对图像进行预处理;Backbone采用了Focus下采样、改进CSP结构、SPP池化金字塔结构提取图片的特征信息;Neck主要采用FPN+PAN的特征金字塔结构,实现了不同尺寸目标特征信息的传递,解决了多尺度问题;Head采用三种损失函数分别计算分类、定位和置信度损失,并通过NMS提高网络预测的准确度。

Conv 模块为复合卷积模块,是许多重要模块的基本组成部分,结构如图1所示。

图1 Conv结构Fig.1 Conv structure

该模块封装了卷积层、BN 层以及激活函数层。卷积层通过autopad函数实现自适应padding的效果。

Focus模块结构如图2所示。首先将输入图片按照2倍下采样切分为四部分,然后在通道维度拼接得到12维的特征图,再经过3×3的复合卷积模块进一步提取特征信息,生成32维的特征图。Focus下采样不但信息丢失少,而且通过reshape减少了卷积所带来的FLOPs,提升了网络的速度。

图2 Focus结构Fig.2 Focus structure

Bottleneck为基本残差块,被堆叠嵌入到C3模块中进行特征学习,结构如图3所示。

图3 Bottleneck结构Fig.3 Bottleneck structure

利用两个Conv 模块将通道数先减小再扩大对齐,以此提取特征信息,并使用ShortCut控制是否进行残差连接。

C3 模块是改进后的BottleneckCSP 模块,结构如图4所示。

图4 C3结构Fig.4 C3 structure

在C3模块中,输入特征图会通过两个分支,第一个分支先经过一个Conv模块,之后通过堆叠的Bottleneck模块对特征进行学习;另一分支作为残差连接,仅通过一个Conv 模块。两分支最终按通道进行拼接后,再通过一个Conv模块进行输出。

SPP 模块是空间金字塔池化模块,可以扩大感受野,结构如图5所示。

图5 SPP结构Fig.5 SPP structure

先将输入特征图经过一个Conv 模块减半通道数,然后分别做三种不同卷积核的最大池化下采样,再将三种池化结果与输入特征图按通道进行拼接,合并后的通道数为原来的两倍,以较小的代价最大限度地提升了感受野。

基于上述介绍,YOLOv5的基本架构如图6所示。

图6 YOLOv5架构图Fig.6 YOLOv5 architecture diagram

2 本文算法

2.1 网络整体结构

本研究基于YOLOv5提出了改进网络YOLO-G,使用WCAL-PAN和P-CBAM来提高网络的回归精度和收敛速度,并引入Ghost 相关模块降低网络的复杂度。模型的网络结构如表1所示。其中,“from”表示该层模块对应的输入层,−1表示上一层。“Add”表示WCAL-PAN中跨层加权相加模块,“Ghost”表示该层引入了Ghost模块。“Simple”标记的模块表示不添加P-CBAM机制。

表1 YOLO-G算法架构Table 1 Architecture of YOLO-G algorithm

2.2 跨层加权级联的路径聚合网络(WCAL-PAN)

深度学习的浅层网络关注细节信息,如边缘特征,在获取简单特征的基础上,可以帮助网络更准确的回归目标边界;深层网络侧重提取高级语义信息,可以提取到更加复杂的特征,能够帮助网络准确地检测出目标。FPN结构据此使用浅层特征区分简单的目标,深层特征区分复杂的目标,旨在获得鲁棒性更强的检测结果。YOLOv5的FPN结构是基于PAN的,创建了自下而上的路径增强,加速了底层信息的流动,能够很好地融合各层次的语义信息。为了进一步增强模型对浅层语义的关注度,充分融合FPN 各层所提取出的语义信息,增强网络对目标边界的回归能力,本研究对YOLOv5的FPN进行改进,称为weighted connections across layers-path aggregation network(WCAL-PAN),具体改进点如下:

(1)在同一尺寸的输入、输出节点间加入跨层加权连接[20]。跨层级联结构能够有效地将浅层的细节、边缘、轮廓等信息融入到深层的网络中,可以在几乎不增加计算量的同时,融合到目标的浅层细节信息,使网络对目标边界的回归更加精准,有效提升预测框与真实框的交并比。同时,考虑到使用跨层级联时浅层特征的融入会对深层语义信息造成一定的影响,所以采用可学习的方式进行融合。以下给出本研究所使用的两种融合方式:

在特征融合过程中,由于顶层和底层的节点信息流动速度较快,经历的卷积数目较少,所以对细节信息的损失不多,为了减小模型的复杂度,所以直接采用concat操作按通道进行特征融合,过程如图7所示。

图7 一般特征融合示意图Fig.7 Diagram of general feature fusion

对于其他层的节点,相邻路径上采用concat操作进行特征融合,不相邻路径上采用可学习权重的加权add操作进行特征融合,add操作既可以减少计算量,也可以减少无效浅层信息的融合。计算见公式(1):

式中xi表示每个要进行融合的特征图;μi是该特征图的权重系数,可通过学习进行更新,初始的权重系数设定为1,表示两层特征图对等融合;ϵ是一个很小的数字(≤10−3),可有效防止数值不稳定的情况。将权重标准化到0~1 之间,提高训练的速度的同时,可以防止训练不稳定的情况发生。依据公式(1),对于某一中间层的特征融合方式如图8所示。

图8 跨层级联示意图Fig.8 Linking diagram of across hierarchies

在图7和图8中,给定某层输入特征图F1∈Rw×h×c1,自顶向下路径对应层的特征图F2∈Rw×h×c2,自底向上路径对应层的特征图F3∈Rw×h×c3,“*”表示concat 操作,“+”表示add 操作,weight1、weight2分别是两条路径上特征图融合的权重值。

从两图中可以看出,顶层和底层输出节点的特征融合采用的是concat操作;而中间层节点的特征融合的过程中首先经历了concat操作,之后与经过通道对齐后的输入层进行加权add 操作。最终在输出节点得到的特征图是含有细节、边缘和高级语义信息的复合特征图。为了便于理解,以中间层P4 为例,各路径上输出的计算如公式(2)、(3)所示:

(2)向上加深特征金字塔深度。FPN 高层感受野大,包含的语义信息更高级,可以增加网络的学习能力,进一步提高检测精度。YOLOv5的FPN为3层,基于改进(1),本研究将其加深为4层,可以充分利用所提跨层级联结构。除此之外,为了匹配FPN 的深度,本研究增加Detect 部分的检测层,分别命名为tiny、small、medium、large,依次对P3、P4、P5、P6 输出的特征图进行目标检测,增加检测层之后锚框的铺设间隔变得更加合理,训练的稳定性以及模型的收敛速度和精度都会得到有效提升。

基于改进点(1)、(2),本文采用的FPN 结构简化版如图9所示。

图9 本文所用FPN结构Fig.9 FPN structure used in this paper

图9 中橙色虚线即为跨层级联,从图中可以看出,跨层加权融合仅仅用于两个中间层P4、P5,对于顶层P6 和底层P3,由于信息流动造成的损失不多,考虑到模型的运行效率,本研究直接将两部分特征图按通道进行拼接。为了客观给出加深金字塔对网络造成的影响,表2 给出了加深金字塔前后YOLOv5s 的效果对比,其中WCAL-PAN_1表示加深金字塔后的PAN模块。

表2 加深金字塔前后YOLOv5s的效果对比Table 2 Effect comparison of YOLOv5s before and after deepening pyramid

可见,加深金字塔后,虽然模型精度mAP@0.5 和mAP@0.5:0.95 获得了大幅提升,但参数量的大幅增加使得加载网络需要更多的显存,加大了模型训练对硬件的要求,同时也影响了模型运行的速度。为了解决这样的问题,本研究引入了Ghost 系列模块对网络进行轻量化处理,在一定程度上弥补加深金字塔后网络复杂度上升所带来的负面影响。

(3)改进YOLOv5上采样方法。YOLOv5采用最邻近插值法进行上采样,该方法选用单个参考点像素值进行估计,虽然速度快、开销小,但上采样过程中会造成很严重的特征损失,降低小目标的检测精度。双线性插值法利用4 个点估计插值,得到的特征图更加细腻,细节的损失更少,于是本研究将上采样方法改为双线性插值法,二者复杂度仅仅是常数级的差距,相对于精确度的提升,带来的计算开销是可以接受的。

表3 为使用PAN 结构和两种WCAL-PAN 结构的YOLOv5s 的实验精度对比,WCAL-PAN 表示完全使用本研究所提出的FPN 结构。从表中可以看出,使用WCAL-PAN比PAN的mAP@0.5指标提升了4.9个百分点,高交并比要求下的mAP@0.5:0.95 指标提高了8.0个百分点,比加深金字塔的WCAL-PAN_1 在mAP@0.5:0.95指标上提升了1.6个百分点,证明了跨层级联结构能进一步提高网络对边界的回归精度。总的来说,WCAL-PAN结构使得网络各层次语义信息融合得更加合理充分,WCAL-PAN 的引入使网络精度有了大幅上升,尤其是高交并比要求下的精度进一步提高,证明网络从WCAL-PAN 结构中融合到了更加有效的特征信息,可以更好地回归目标的边界框,契合高交并比下的工业目标检测任务。

表3 WCAL-PAN和PAN在YOLOv5s下的效果对比Table 3 Effect comparison of WCAL-PAN and PAN in YOLO%v5s

2.3 并行混合域卷积注意力模块(P-CBAM)

注意力机制通过给不同部分的特征图赋予权重或硬性选择部分特征图,抑制无用信息,以达到选择更优特征的目的。文献[21]结合通道和空间的信息,提出了一种混合域卷积注意力模块(convolutional block attention module,CBAM),该模块首先逐通道提取全局特征,生成通道注意力特征图,并以此作为空间注意力的输入,最终生成混合域特征图,可以有效提高模型的收敛速度和检测精度。事实上,在深度卷积神经网络中,有些层更加关注通道特征,而引入空间特征则会让网络变得敏感,甚至会产生许多非像素信息;有的层更加关注空间特征,而引入通道特征容易对网络造成过拟合的情况。但CBAM空间和通道注意力串行的信息交流方式忽略了上述特点,本研究基于此进行改进。对于不同的特征图数据,由于无法预知特征图对通道和空间的关注程度,首先赋予通道注意力模块和空间注意力模块相同的优先级,然后以可学习的加权融合方式提取混合域特征信息,以此进行特征图空间和通道的信息交流,充分利用通道和空间维度的注意力信息,称为parallelconvolutional block attention module(P-CBAM),结构如图10所示。

图10 P-CBAM结构Fig.10 P-CBAM structure

对于输入特征图F∈RW×H×C,通道注意力模块和空间注意力模块输出的计算如公式(4)、(5)所示:

式中,FC和FS分别为通道和空间注意力特征图,⊗表示元素乘法,在该过程中,MC和MS被沿着通道和空间维度进行广播。Fout是对两种类型的特征图进行加权融合的结果。本研究通过ShortCut控制残差连接,使用简便的归一化除法保证训练的稳定性。P-CBAM从对等的角度获取一维通道和二维空间的注意力信息,能够更加有针对性地提取图片特征,提升图像识别效果,以下从定性定量两个角度证明P-CBAM的有效性。

表4为YOLOv5s与加入各种注意力机制后在VOC2007测试集下的精度对比,从表中可以看出加入注意力机制普遍能够提升网络的精度。原始算法在加入CBAM后造成了精度下降,而加入P-CBAM后,在mAP@0.5指标上比最优的ECA机制仅差0.2个百分点,相比原始算法提高0.6 个百分点;在mAP@0.5:0.95 指标上,P-CBAM在4种注意力机制中获得了最优的效果,相比原始算法提高1.8 个百分点,更适用于高交并比下的目标检测任务,证明赋予空间和通道注意力机制相同的优先级并以加权的方式提取注意力信息是对CBAM模块有效的改进方法。

表4 各种注意力机制与P-CBAM在YOLOv5s下的对比Table 4 Comparison of various attentional mechanisms and P-CBAM in YOLOv5s%

如图11为特征图经过各种注意力机制处理后的加权热力图。从图中可以看出,和其他3种主流注意力机制相比,加入P-CBAM 后,网络对检测目标区域的覆盖度和关注程度都获得了提升,证明P-CBAM能够帮助深度卷积网络提取到更加关键的特征信息。

图11 各种注意力机制与P-CBAM热力对比Fig.11 Thermal contrast of various attentional mechanisms and P-CBAM

此外,为了验证P-CBAM注意力机制在不同类型目标检测问题上的普适性,表5给出了加入P-CBAM前后YOLOv5s在VOC数据集、SKU-110K数据集、Argoverse数据集、VisDrone2019 数据集上的检测效果,实验结果格式为mAP@0.5/mAP@0.5:0.95。4 种数据集涵盖了各种目标分布类型,除了比较容易检测的大目标外,还包括了一些目标检测领域的重难点问题,如小目标、模糊目标、密集目标、形态多样目标等。

表5 P-CBAM在多个数据集下的检测效果Table 5 Detection effects of P-CBAM in multiple data%sets

从表中可以看出,加入P-CBAM 注意力机制后的YOLOv5s相比原始算法在所有数据集上的精度都获得了一定提升,证明P-CBAM模块对于各种目标检测任务的普适性。

2.4 网络结构轻量化

GhostNet的基本思想是根据特征图之间的联系,把一般卷积拆分为两步,图12给出一般卷积和Ghost卷积的对比示意图。

图12 一般卷积与Ghost卷积对比图Fig.12 Contrast diagram of general and Ghost convolution

Ghost 模块包含一个少量卷积、一个总体恒等映射和m×(s−1)个线性运算。首先通过一般卷积生成少量特征图,然后将第一步得到的特征图进行廉价线性操作生成Ghost特征图,最后将两组特征图按通道拼接,生成足够多的特征图以匹配给定的输出通道数。

对于输入X∈RW×H×C,一般卷积的输出Y∈RW′×H′×n可以表示为Y=X⋅f+b,其中f∈Rk×k×C×n表示卷积核大小为k×k的C×n个卷积运算,b表示偏置项。一般卷积的FLOPs可表示为W′⋅H′⋅n⋅k⋅k⋅C。Ghost卷积采用分步策略,计算如公式(9)、(10)所示:

其中少量卷积结果Y′∈RW′×H′×m表示对输入X经过一般卷积f′∈Rk×k×C×m后生成的m个特征图(m≪n);之后将m个特征图逐个进行线性操作,每个特征图均生成s个特征图,共生成n=m×s个特征图。Φi,j表示对第一步卷积中生成的第i个特征图Y′i进行第j个线性操作,Φi,s表示一个直接的特征恒等映射。为了保证CPU 或GPU 的高效性和实用性,设每个线性操作的卷积核大小均为d×d,则一般卷积和Ghost卷积的速度比可用公式(11)进行计算:

由化简结果可得一般卷积的计算量大致为Ghost卷积的s倍,同理可计算出参数量也近似为s倍。Ghost 卷积是一个更轻、更快的模块,本研究以此为基础,使用Ghost 卷积替换了YOLOv5 中的部分一般卷积,替换后的Conv、Bottleneck 和C3 这3 种主要模块结构如图13所示。

图13 Ghost系列模块Fig.13 Ghost series modules

图13 中,K表示卷积核大小,act 表示是否有非线性激活函数层,act=False 表示未含有非线性激活函数,DWConv 为逐通道卷积。轻量化后的模型在保证准确率降低最少的条件下,大大减少了参数量和计算量,提升了网络的运行速度,表6 为输入尺寸为640×640 的图像在全部使用Ghost系列模块替换后的网络与YOLOv5s模型的对比结果。

表6 YOLOv5s和YOLO-G的结果对比Table 6 Results comparison of YOLOv5s and YOLO-G

由表6可以看出,替换后网络计算量减少了52.7%,参数量减少了51.9%,模型大小减少了52%,目标检测推理速度提升了18%。实验结果证明了使用Ghost模块对网络进行轻量化的有效性,而参数量和计算量的大幅降低能够有效减小模型训练和预测对硬件的要求,使模型更适配于实际的工业应用。Ghost结构使得网络的复杂度得以降低,能够弥补P-CBAM 和WCAL-PAN 引入后所带来的计算量和参数量的上升。

3 实验结果及分析

3.1 实验环境与参数设置

具体实验环境如表7所示。

表7 实验环境Table 7 Experimental environment

所有YOLO 模型初始学习率为0.01,动量参数为0.92,最终学习率为0.2,BatchSize为64,并采用epoch为3,动量参数为0.8 的warm-up 方法预热学习率。在warm-up 阶段,采用一维线性插值更新学习率,预热结束后采用余弦退火对学习率进行更新。

3.2 数据集及预处理

本研究使用PASCAL VOC 2007 和2012 数据集进行实验,该数据集包含4个大类和20个小类。训练集选用VOC 2007 和2012 数据集中的train+val 部分,共16 551 张图片;测试集选用VOC 2007 数据集中的test部分,共4 952张图片。

首先对数据集标签格式进行转化,将PASCAL VOC格式转化为YOLO的文本格式,生成id、x、y、w、h,并进行归一化,然后把转换结果按训练集和验证集的方式进行存储。

其次,对640×640大小的图片,采用k-means算法重新对数据集中的目标框进行聚类,并对聚类产生的所有anchors使用genetic algorithm算法进行2 000轮变异,保留得到最佳召回率最大的结果,得到的最终anchors 如表8所示。

表8 聚类后的anchors大小Table 8 Anchors size after clustering

本研究使用随机增减亮度、对比度、饱和度、色调,以及随机缩放、裁减、翻转、擦除等基本方法和Mosaic方法进行数据增强。Mosaic 数据增强选取4 张经过进行上述基本方法操作后的图片进行随机编排和拼接,一方面变相地增大了BatchSize,降低显存占用率,另一方面扩充了原始数据集,防止过拟合的发生,提高了模型的整体鲁棒性,数据增强后效果如图14所示。

图14 数据增强后的效果图Fig.14 Rendering after enhanced data

3.3 评价指标

本研究使用mAP@0.5、mAP@0.5:0.95、参数量、计算量(GFLOPs)、模型大小、FPS作为目标检测模型的衡量标准。其中,mAP@0.5代表在IOU阈值为0.5时的平均AP;mAP@0.5:0.95代表在IOU阈值为从0.5到0.95,步长为0.05时各个mAP的平均值。

参数量和计算量指标分别从时间和空间上衡量模型的复杂度,mAP@0.5主要用于体现模型的识别能力,mAP@0.5:0.95 由于要求的IOU 阈值更高,主要用于体现定位效果以及边界回归能力,前5个评价指标的值均与检测效果呈正相关,FPS 表示每秒检测图像的数目,值越大检测速度越快。

mAP 计算中的AP 即P-R 曲线下方面积,具体计算基于公式(12)~(14):

式中,TP代表IOU大于等于设定阈值的检测框数目,FP代表代表IOU 小于设定阈值的检测框数目,FN 代表漏检的目标数目。

3.4 定量评价

为了验证所提算法YOLO-G 的有效性,本研究将其与一些轻量化检测模型和主流的单阶段、二阶段目标检测模型进行了比较,实验结果如表9 所示。可见,YOLO-G相比大部分网络不仅复杂度更小,而且精度上也有着显著优势,尤其是mAP@0.5:0.95 指标,几乎是所有对比模型中最优的;相比于相同Baseline的轻量化的网络YOLOv5-mobileNet、YOLOv5-ShuffleNet,虽然模型复杂度稍大,但是检测精度方面有着明显的优势;改进后的网络在GPU下的FPS达到51.3,由于WCAL-PAN模块、P-CBAM模块的加入,以及轻量化depth-wise卷积的大量引入,使得YOLO-G 的检测速度未达到最优,但也可以满足实时检测任务的需求。而网络参数量和计算量的进一步优化,使得模型时间、空间复杂度大大减少,让模型训练和检测时对硬件的要求更低,可以被广泛应用于一些低成本的工业检测问题。在13组对比实验中,YOLO-G 在模型复杂度升序中位列第3,在mAP@0.5 指标降序排列中位列第3,与top1 仅仅相差0.9个百分点,在mAP@0.5:0.95指标降序排列中位列第2,与top1仅仅相差0.3个百分点。结合模型复杂度和实际应用效果,从总体上看,在高交并比需求的工业任务中,YOLO-G在众多模型中的表现更加出色。

表9 对比实验Table 9 Contrast experiments

3.5 定性评价

本研究还使用了3 组场景的图片对YOLOv5 和YOLO-G的检测效果进行定性评价,所有实验输入图片大小均为640,置信度阈值为0.25,NMS 阈值为0.45,实验结果如图15所示。

图15 YOLOv5和YOLO-G效果对比Fig.15 Comparison of YOLOv5 and YOLO-G effects

第1组实验图片的先验目标数量较少,此时YOLOv5出现了大量漏检的情况,而YOLO-G检测出了更多正确的目标,证明YOLO-G 能提取出更丰富的特征;第2 组实验图片中的目标较密集、遮挡较严重,YOLOv5 漏检的数量进一步增多,且出现了一定的误检框,而YOLO-G的检测精度并未下降;第3组图片中部分目标的特征较为模糊,识别很困难,但YOLO-G 的检测效果依然比较出色。总体来说,YOLO-G对正确预测框的置信度和交并比都普遍高于YOLOv5,证明网络提取到了更加丰富的语义信息,表现出了更好的性能。

3.6 消融实验

为了进一步验证本研究所提算法的检测性能,探究各个改进方法的有效性,在YOLOv5s的基础上设计了8组消融实验,每组实验使用相同的超参数以及训练技巧,实验结果如表10所示。

表10 消融实验Table 10 Ablation experiments

其中,WCAL-PAN 代表所提FPN 结构,P-CBAM 代表本研究所提注意力机制,Ghost代表引入Ghost系列模块,“√”代表引入模块,组别7中WCAL-PAN下“√”代表不引入跨层加权连接结构。由于引入Ghost模块是为了进行网络轻量化,所以不对单独引入Ghost 模块后的网络计算mAP。

从表10 中可以看出,Ghost 系列模块的引入,使网络计算量减少了52.7%,参数量减少了51.9%,是有效的轻量化手段;加入P-CBAM模块后mAP@0.5提升0.6个百分点,mAP@0.5:0.95 提升1.8 个百分点,虽然对网络精度提升不多,但其几乎不增加网络的参数量和计算量。同时在引入Ghost 模块降低模型复杂度后,虽然mAP@0.5 指标下降了0.8 个百分点,但是mAP@0.5:0.95 依然比之前提升了0.5 个百分点,证明P-CBAM 模块的引入,提高了模型对目标边界的回归能力,使预测出的目标框更加贴合物体的轮廓,对于一些对IOU要求较高、需要更准确定位物体的任务来说,加入P-CBAM是非常有效的;其次,WCAL-PAN对网络精度的提升是最多的,mAP@0.5提升4.9个百分点,mAP@0.5:0.95提升8个百分点,但网络结构比原始YOLOv5s复杂,对硬件的要求较高,并且牺牲了一些实时性,引入Ghost模块后,在mAP@0.5提升2.0个百分点,mAP@0.5:0.95提升4.0个百分点的情况下,不仅使网络参数量有所降低,并且使计算量减少为原来的50.3%;无论是P-CBAM或者WCAL-PAN 都会增加网络复杂度,尤其是使用WCALPAN后,网络的参数量增加了44.9%,而引入Ghost可以有效降低网络复杂度,大大地减少计算量,达到速度和精度两方的平衡,最终改进后的模型相比YOLOv5s,参数量减少了4.7%,计算量减少了47.9%,而mAP@0.5提高了3.1个百分点,mAP@0.5:0.95提高了5.6个百分点,模型对目标框的拟合能力进一步加强,且网络运行时对硬件要求更小,可以被广泛应用于一些对目标框IOU要求较高,需要定位得更加准确的工业任务。

另外,针对比较难分辨的小目标,设计了4 组消融实验,结果如表11 所示,表中实验结果格式为mAP@0.5/mAP@0.5:0.95。从表中可以看到,WCAL-PAN 对小目标提升效果较大,mAP@0.5 提高了3.3 个百分点,mAP@0.5:0.95 提高了5.1 个百分点,而P-CBAM 的作用更多的体现在边框回归精度的上,mAP@0.5:0.95 提升了1.3个百分点。最终本文所提模型YOLO-G在小模型检测上,mAP@0.5 提高了2.6 个百分点,mAP@0.5:0.95 提高了2.7 个百分点,使模型对小目标检测效果也得到了有效提升。

表11 小目标消融实验Table 11 Small target ablation experiments %

4 结语

本文研究基于YOLOv5 提出了一种改进的目标检测算法YOLO-G。采用WCAL-PAN、P-CBAM 结构对网络的精度和目标框边界的回归能力进行提升;使用Ghost模块对网络进行轻量化处理,填补WCAL-PAN和P-CBAM 模块引入后对网络实时性能造成的损失。YOLO-G和YOLOv5s相比,参数量减少了7.9%,计算量减少了49%,而mAP@0.5 提高了3.1 个百分点,mAP@0.5:0.95提高了5.6个百分点。但为了减少模型复杂度,实现移动端目标检测,接下来将对网络进行剪枝、蒸馏等处理,进一步对模型进行轻量化;另外,Head 阶段中上采样部分仍可继续改进,如果使用一些复杂度较低的图像超分算法,可以更好地检测出小目标。

猜你喜欢

轻量化复杂度注意力
让注意力“飞”回来
汽车轻量化集成制造专题主编
一种轻量化自卸半挂车结构设计
一种低复杂度的惯性/GNSS矢量深组合方法
“扬眼”APP:让注意力“变现”
求图上广探树的时间复杂度
A Beautiful Way Of Looking At Things
瞄准挂车轻量化 锣响挂车正式挂牌成立
某雷达导51 头中心控制软件圈复杂度分析与改进
用户:轻量化挂车的使用体验