基于注意力与多级特征融合的YOLOv5算法

王 瑜, 毕 玉, 石健彤, 肖洪兵, 孙 梅

(北京工商大学 计算机与人工智能学院,北京 100048)

摘 要:针对复杂场景下目标检测与识别精度较低的问题,提出了一种基于注意力与多级特征融合的YOLOv5目标检测与识别算法。该算法在传统YOLOv5s模型的主干网络中引入双空间方向的金字塔切分注意力机制,增强对特征空间和通道信息的学习能力,同时在瓶颈网络中采用多级特征融合结构,对不同分支的特征进行融合,增加特征的丰富性,提升应对复杂场景的能力。此外,利用C3Ghost模块和深度可分离卷积分别替换C3模块和普通卷积,降低网络参数量和复杂度。结果表明:与传统的YOLOv5s算法相比,所提算法在VOC2007+2012数据集的均值平均精度高达85%,在智能零售柜商品识别数据集的均值平均精度高达97.2%,表现出较好的性能。

关键词:深度学习; YOLOv5s; 目标检测; 多级特征融合; 注意力机制

目标检测与识别是计算机视觉的一个重要研究方向,在实际生活中具有广泛的应用,例如智能零售柜中的商品检测与识别、智能移动端上的人脸检测与识别以及监控系统中的目标检测与识别等。然而,这些实际应用环境多为复杂场景,该类场景存在同类目标差异大、不同类目标相似度高以及目标不同程度遮挡等特点。因此,如何在复杂场景下保证检测与识别算法既能够解决上述难题,同时满足准确和快速的需求,具有十分重要的意义。

目标检测与识别技术的发展经历了传统方法和深度学习方法两个阶段,传统方法一般应用于简单场景下的目标检测与识别,而复杂场景更适合采用深度学习方法。深度学习方法一般分为两大类,即双阶段方法和单阶段方法[1-3]

双阶段的目标检测与识别方法包括目标候选区域选择、卷积神经网络特征提取、候选区域分类和目标识别结果优化等步骤。2013年,Girshick等[4]提出区域卷积神经网络(region convolution neural network, R-CNN),初次使用深度学习方法进行目标检测与识别。2014年,He等[5]提出空间金字塔池化网络(spatial pyramid pooling networks, SPPNet),消除了网络对输入图像尺寸的限制,避免了卷积特征的重复计算。2015年,Girshick[6]提出Fast R-CNN算法,对R-CNN和SPPNet进行了融合,使网络性能进一步提高。同年,Ren等[7]又提出Faster R-CNN算法,引入候选区域生成网络(region proposal network, RPN),自动生成目标候选区域。2017年,He等[8]提出Mask R-CNN算法,解决了原图与特征图的特征位置不匹配问题。

单阶段的目标检测与识别方法是将目标检测与识别问题转换为回归问题,优化网络中候选区域的产生过程,直接在图像中预测目标的类别概率和位置坐标[9]。2016年,Liu等[10]引入多尺度识别技术,提出了单次多边框检测器(single shot multibox detector, SSD),可以一次完成定位和分类。Redmon等[11]提出了YOLOv1,运行速度快,但定位准确率较低。Redmon等[12]对YOLOv1进行改进,提出YOLO9000,提升了目标检测与识别的定位准确率和召回率。Lin等[13]提出了RetinaNet算法,解决了正负样本之间不均衡的问题。2018年,Redmon等[14]在改进基础网络的同时,结合金字塔结构,提出了YOLOv3算法,以获取更多小目标的有效信息。2019年,Zhao等[15]提出了M2Det算法,用来解决目标尺度变化的问题。Tan等[16]设计了一种多维度混合的模型放缩方法,即EfficientNet算法,并在此基础上改进,提出了EfficientDet算法[17]。此外,在YOLOv3的基础上,YOLOv4模型[18]和YOLOv5模型[19]在保持运行效率优势的同时提高了检测与识别的准确率,因此YOLO系列模型得到了广泛使用[20-22]

与双阶段的方法相比,单阶段的目标检测与识别方法检测与识别速度更快,更能满足实际应用场景的需要。

为进一步提升模型应对复杂场景的能力,在保持运行速度的同时提升准确率,本文提出了一种基于注意力与多级特征融合(attention and multistage feature fusion, AMFF)的YOLOv5目标检测与识别算法,具体改进思想包括:①提出双空间方向的金字塔切分注意力(dual space directions pyramid split attention, DSD-PSA)机制,并将其添加在YOLOv5s的主干网络阶段,以便更好地提取图像空间方向的位置信息和通道重要性的加权信息,对无关信息加以抑制;②提出多级特征融合(multistage feature fusion, MFF)结构,并将其添加在模型的瓶颈网络阶段,获取上下文信息,提升模型的精度;③利用C3Ghost模块替换C3模块,并使用深度可分离卷积,大幅减少模型的参数量,降低模型权重所需的存储空间,提高检测与识别的速度,满足实际应用中对实时性的需求。

1 YOLOv5算法介绍

YOLOv5包括4种模型,分别为YOLOv5s、YOLOv5m、YOLOv5l以及YOLOv5x。利用模型配置文件中的网络深度与网络宽度调节系数进行模型规模的选择,由于YOLOv5s模型的参数量最小,所以本文以YOLOv5s作为基线模型。模型分为输入端、主干网络、瓶颈网络和输出端。在输入端,该模型利用Mosaic方法[19]进行数据增强。在主干网络阶段,模型利用空间金字塔池化结构,融合各个尺度的特征信息。在瓶颈网络阶段,模型采用特征金字塔网络(feature pyramid networks, FPN),增加金字塔自注意力网络(pyramid attention network, PAN),进一步提高特征融合的能力。在输出端,模型采用非极大值抑制(non-maximum suppression, NMS)的方法,筛选保留最佳目标框。

2 算法优化

2.1 YOLOv5-AMFF的整体网络架构

本文提出的YOLOv5-AMFF模型结构如图1所示,分为输入端、主干网络、瓶颈网络和输出端。相较于原始的YOLOv5s模型,本文模型在主干网络阶段加入DSD-PSA机制,以增强模型对图像空间信息和通道重要性加权信息的学习能力。在瓶颈网络阶段采用MFF结构,以增强模型对特征的融合能力,并利用C3Ghost模块替换C3模块,引入深度可分离卷积,以降低网络的参数量。

图1 YOLOv5-AMFF结构图

Figure 1 Structure diagram of the YOLOv5-AMFF

2.2 DSD-PSA机制

在复杂场景下,目标的分布更加密集,需要提取更多的空间信息,以提高模型检测与识别的精度。本文提出的DSD-PSA机制总体结构如图2所示。DSD-PSA机制通过级联方式将XY这2个空间方向的池化卷积模块与PSA机制[23]相结合。XY池化卷积模块有利于提取XY空间方向上的图像特征,并对全局信息进行交互学习。PSA机制可以有效融合不同尺度的上下文信息,并产生像素级的注意力。首先,输入张量进入XY池化卷积模块;然后,通过SEWeight模块,判断每组通道的重要性,以便获得不同尺度特征图的注意力权值;最后,进行Softmax运算,将软分配权重与原特征图进行乘积[23],得到输出特征图。

图2 DSD-PSA机制结构图

Figure 2 Structure diagram of the DSD-PSA mechanism

该机制的XY池化卷积模块如图3所示。输入数据为URC×H×W,其中CHW分别表示特征图的通道数、高度和宽度。特征图利用池化核(H, 1)和(1, W)分别进行XY空间方向上的池化操作,得到特征图UwRC×1×WUhRC×H×1,以获取精确位置信息的远程空间交互。UwRC×1×WUhRC×H×1扩展张量到C×H×W,并与URC×H×W进行乘积操作,得到特征图VRC×H×W。然后,通道数C切分为S组,得到特征图ViRC′×H×W,i=0,1,…,S-1。每组分别进行卷积核K0为1×1、K1为5×5、K2为9×9、K3为13×13的卷积操作,得到特征图FiRC′×H×W,再进行Concat操作,输出特征图FRC×H×W,该步骤可以获取特征图不同尺度的感受野。

图3 XY池化卷积模块结构图

Figure 3 Structure diagram of the X and Y pooled convolution module

特征图FiRC′×H×W经过SEWeight模块得到注意力权重ZiRC′×1×1,其计算过程如式(1)所示:

Zi=SEWeight(Fi),i=0,1,…,S-1。

(1)

SEWeight模块允许网络有选择地对每个通道的重要性进行加权,从而产生更多的信息。

SEWeight模块包括两个步骤。第1步为特征压缩,利用全局平均池化生成通道信息,得到特征图GCRC×1×1,其计算过程为

(2)

式中:CHW分别表示特征图的通道数、高度和宽度。

第2步为特征激励,用于自适应地重新校准信道关系。该步骤有效地组合通道间的线性信息,有利于高维和低维的信息交互。第C个通道的权重计算过程为

wC=σ(W1δ(W0(GC)))。

(3)

式中:σδ分别表示Sigmoid和Relu激活函数;均表示全连接层,其中r为用来降维的超参数。

软分配权重atti[23]的计算过程为

(4)

输出特征图Yi的计算如式(5)所示:

Yi=Fiatti,i=1,2,…,S-1。

(5)

式中:⊗表示卷积。将Yi进行Concat操作后,得到最终的输出特征图Y

DSD-PSA机制的伪代码如下所示。

输入: 输入特征图U;

输出: 输出特征图Y

Uw = self.pool_x(U)/*X方向池化操作*/;

Uh = self.pool_y(U)/*Y方向池化操作*/;

V=UUh.expand_as(U)Uw.expand_as(U)/*张量扩展,并与原特征图乘积*/;

F0 = self.Conv_0(V)/*1×1分组卷积*/;

F1 = self.Conv_1(V)/*5×5分组卷积*/;

F2 = self.Conv_2(V)/*9×9分组卷积*/;

F3 = self.Conv_3(V)/*13×13分组卷积*/;

F = torch.Concat(F0, F1, F2, F3);

F0_SE = self.SEWeight(F0);

F1_SE = self.SEWeight(F1);

F2_SE = self.SEWeight(F2);

F3_SE = self.SEWeight(F3);

F_SE = torch.Concat(F0_SE, F1_SE, F2_SE, F3_SE)/*Concat共4组特征图*/;

att = self.softmax(F_SE)/*Softmax操作*/;

Y = torch.Concat(F0att0, F1att1, F2att2, F3att3)/*特征图与软分配权重相乘*/;

结束。

2.3 MFF结构

复杂场景下目标检测与识别的难点在于无法准确提取形状、颜色等差异较大的同类目标的特征,而易将相似度较高的不同类目标划分为同种类别。因此,如何提取更加全面、有效的信息是提高算法性能的关键。

深度学习的浅层特征中包含更多位置、细节信息,但是经过的卷积少,其语义信息较少,噪声更多。而深层特征包含更多的语义信息,但是分辨率较低,对细节的表达能力较差。因此,本文提出了MFF结构,可以有效融合深层特征与浅层特征,充分利用深层和浅层特征的优势,得到包含丰富语义和位置信息的特征,从而提升目标检测与识别的准确性。

MMF结构如图4所示,具有三级结构,通过每一级结构中包含的4个Concat操作,充分融合上下文信息,在模型反复卷积得到深层信息时,以跳跃连接的方式融合浅层信息,保留更多高分辨率的细节信息,从而将提取得到的图像浅层、深层以及更深层的特征信息进行加强。

图4 MFF结构图

Figure 4 Structure diagram of the MFF

Concat操作分为两种结构。第1种结构由3幅输入特征图叠加获得,包括2个前层的较浅特征与本层特征。第2种结构由2幅输入特征图叠加获得。两种结构的Concat操作采用了两类连接方式:一类为级内连接,即同级的前层特征与本层特征进行连接;另一类为跨级连接,即前级的特征与本级的特征进行连接,例如,三级结构跨级连接二级结构的特征、二级结构跨级连接一级结构的特征、一级结构跨级连接至主干网络中的浅层特征等,获得更多位置信息。这两类连接方式将深层信息与浅层信息进行有效融合,提升了模型检测与识别的精度。加入MFF结构之后,网络参数量大幅增加,因此,需要对网络参数进行调整。

MFF结构可根据需求调整不同的系数,该结构的伪代码如下。

输入:设主干网络中的Focus模块是第0层,输入特征图是第5层M1、第8层M2、第11层M3;

输出:输出特征图P1P2P3

x13 = self.C3Ghost(M3);

x14 = self.DPConv(x13)

x15 = self.Upsample(x14);

x16 = torch.Concat(M2, x15);

x17 = self.C3Ghost(x16);

x18 = self.DPConv(x17);

x19 = self.DPConv(x17);

x20 = self.Upsample(x18);

x21 = torch.Concat(x20, M1);

x22 = self.C3Ghost(x21);

x23 = self.DPConv(x22);

x24 = torch.Concat(x23, x18, M2);

x25 = self.C3Ghost(x24);

x26 = self.DPConv(x25);

x27 = torch.Concat(x26, x19, x14);

x28 = self.C3Ghost(x27);

x29 = self.DPConv(x28);

x30 = self.Upsample(x29);

x31 = torch.Concat(x30, x25);

x32 = self.C3Ghost(x31);

x33 = self.DPConv(x32);

x34 = self.Upsample(x33);

x35 = torch.Concat(x34, x22);

x36 = self.C3Ghost(x35);

x37 = self.DPConv(x36);

x38 = torch.Concat(x37, x32, x25);

x39 = self.C3Ghost(x38);

x40 = self.DPConv(x39);

x41 = torch.Concat(x40, x29);

x42 = self.C3Ghost(x41);

x43 = self.DPConv(x42);

x44 = self.Upsample(x43);

x45 = torch.Concat(x44, x39);

x46 = self.C3Ghost(x45);

x47 = self.DPConv(x46);

x48 = self.Upsample(x47);

x49 = torch.Concat(x48, x36);

x50 = self.C3Ghost(x49);

x51 = self.DPConv(x50);

x52 = torch.Concat(x51, x46, x39);

x53 = self.C3Ghost(x52);

x54 = self.DPConv(x53);

x55 = torch.Concat(x54, x43);

x56 = self.C3Ghost(x55);

P3 = x56, P2 = x53, P1 = x50;

结束。

2.4 网络参数调整

由于模型的网络参数量成倍增加,且单幅图像的处理时间变长,为了进一步优化网络,将瓶颈网络中的C3模块替换为C3Ghost模块,并引入深度可分离卷积。

C3Ghost模块的核心部分为GhostBottleneck模块,GhostBottleneck模块依次进行GhostConv[24]、逐通道卷积(depthwise convolution)以及第2个GhostConv操作,再与原特征图进行Add操作。

GhostConv使用计算量更低的操作,去除冗余的特征图,降低参数和运行内存,其结构如图5所示。该结构输入特征图尺寸为c×h×w,利用1×1卷积将特征图通道数c压缩至o,得到尺寸为o×h′×w′的基础特征图。每个基础特征对应1个基础特征和s-1个Ghost特征。Ghost特征是由基础特征进行线性操作Φi,i=1,2,…,k,即逐通道卷积得到的。最后将每个基础特征对应的s个特征在通道维度上进行融合,输出特征p×h′×w′,其中p=s×o。普通卷积与GhostConv参数量比r的计算过程为

(6)

图5 GhostConv结构图

Figure 5 Structure diagram of the GhostConv

式中:m×mc分别表示普通卷积中卷积核的尺寸和通道数;p为输出特征图的通道数;d为线性操作的卷积核,令dm

2.5 YOLOv5-AMFF算法流程

本文提出的YOLOv5-AMFF算法步骤:①将数据集划分为训练集、验证集以及测试集,并将所有数据调整为VOC格式;②利用Mosaic数据增强方法,增强训练集数据;③设计YOLOv5-AMFF目标检测与识别模型,模型包括4部分,分别是输入端、主干网络、瓶颈网络以及输出端;④设置训练模型的相关参数;⑤用测试集数据验证模型的性能,并采用客观评测方法评估模型。

3 实验结果与分析

本文实验的硬件条件为Intel(R)Xeon(R) CPU E5-2620 v3@2.40 GHz、Nvidia TITAN X GPU和32 GB内存。运行环境为Torch1.7.1+cu101、Torchvision 0.8.2+cu101和Python3.7。

3.1 数据集与数据增强

VOC2007+2012数据集为目标检测与识别算法评测时常用的数据集之一,其场景复杂,单幅图像中同类目标差异大,包含训练集16 385幅图像,验证集166幅图像,测试集4 952幅图像。

为了进一步验证提出模型在其他常见复杂场景的适用性,采用阿里天池的智能零售柜商品识别数据集,并结合部分自己收集的商品图像。该数据集场景复杂,商品之间相互遮挡,且不同类别商品的相似度高,包含113类商品,训练集4 495幅图像,验证集1 284幅图像,测试集643幅图像。

数据增强部分首先利用Mosaic数据增强方法,将4幅图像进行随机裁剪,再拼接为一幅图,然后粘贴部分标签,进行随机偏移,进一步增强输入数据的场景复杂度。

3.2 评价指标

本文实验使用精度(Precision)、召回率(Recall)、均值平均精度mAP(mean average precision)、F1分数(F1Score)以及单幅图像处理时间t,来验证提出算法的有效性和可行性。

Precision是精确性的度量,表示所有检测出的目标中检测正确的概率,计算过程为

(7)

式中:真阳性TP表示样例是真实正例,同时模型对其的预测结果也是正例的数量;真阴性TN表示样例是真实负例,同时模型对其的预测结果也是负例的数量;假阳性FP表示样例是真实负例,同时模型对其的预测结果却为正例的数量;假阴性FN表示样例是真实正例,同时模型对其的预测结果却为负例的数量。

Recall是覆盖面的度量,表示所有的正样本中正确识别的概率,计算过程为

(8)

平均精度AP(average precision)表示PrecisionRecall所形成的曲线的面积。均值平均精度mAP是所有目标检测类别AP的平均值,@后面的数表示IoU阈值,例如,mAP@0.5表示IoU阈值大于0.5的mAP,mAP@0.5:0.95表示不同IoU阈值(从0.5到0.95,步长0.05)上的mAP

PrecisionRecall通常是一对矛盾的性能度量指标。一般来说,Precision越高时,Recall往往越低。F1Score是精确率和召回率的调和平均数,最大为1,表示最好,最小为0,表示最差,计算式为

(9)

3.3 模型训练

本文模型训练的初始学习率为0.01,最终学习率为0.002,设置总迭代次数为500,采用早停法,即在验证集损失不再减小的时候停止训练。YOLOv5-AMFF模型在VOC数据集和智能零售柜商品识别数据集的损失函数没有剧烈震荡,逐渐趋于平稳,模型训练效果很好。

3.4 实验结果和分析

为了验证本文算法中添加模块的有效性,在VOC数据集上对YOLOv5s模型进行消融实验,结果如表3所示。

表3 不同改进的性能对比

Table 3 Performance comparison of different improvements

注:√表示在基线模型YOLOv5s中引入选中部分。

DSD-PSA机制MFF结构网络降参结构mAP@0.5/%mAP@0.5:0.95/%F1ScoreRecall/%参数量数据大小/MBt/ms80.157.30.7674.37 105 15313.814.7√81.259.70.7776.07 572 25314.714.9√82.762.60.7874.514 532 12128.216.3√√84.266.40.8078.77 925 83315.815.0√√√85.066.70.8080.310 160 12919.915.2

从表3可以看出,在YOLOv5s模型的特征提取部分添加DSD-PSA机制后,由于提取的特征图包含了更加全面的空间和通道信息,因此,mAP提升了1.1百分点。在瓶颈网络部分采用MFF结构后,本文算法对图像的特征融合能力有显著提升,评价指标mAP提升了2.6百分点,F1Score提升了0.02,但是网络参数增至YOLOv5s的2.05倍。在添加MFF模块的基础上,利用C3Ghost模块和深度可分离卷积优化MFF结构,模型参数量降低了45%,模型大小降低了44%,同时mAP提升了1.5百分点,F1Score提升了0.02,证明了C3Ghost模块和深度可分离卷积的有效性。以此为基础,在特征提取阶段添加DSD-PSA机制后,模型F1Score不变,mAP提升了0.8百分点。从实验结果看,本文算法在复杂场景下目标的检测与识别的精度提升,表明DSD-PSA机制、MFF结构和网络降参结构的改进十分有效。

为了验证本文算法检测与识别的效果,在VOC数据集和智能零售柜商品识别数据集对YOLOv5-AMFF、YOLOv4、YOLOv5s、YOLOv5m、SSD(VGG)以及Faster R-CNN模型进行了多元对比分析,具体结果如表4所示。

表4 不同目标检测与识别算法的性能对比

Table 4 Performance comparison of different object detection and recognition algorithms

方法数据集mAP@0.5/%mAP@0.5:0.95/%F1ScoreRecall/%参数量数据大小/MBt/msYOLOv4YOLOv5sYOLOv5mSSDFaster R-CNN本文算法VOC2007+201280.049.20.7989.764 040 001245.039.2智能零售柜商品识别数据集96.781.10.9495.1 64 487 874246.041.3VOC2007+201280.157.30.7674.37 105 15313.814.7智能零售柜商品识别数据集96.989.10.9595.67 552 062 14.615.3VOC2007+201285.566.60.7880.921 114 41740.618.3智能零售柜商品识别数据集97.491.30.9696.021 490 23043.319.8VOC2007+201278.547.10.7787.62 285 486100.019.7智能零售柜商品识别数据集95.379.10.9595.826 732 395101.020.8VOC2007+201277.846.20.7686.828 786 578108.083.3智能零售柜商品识别数据集94.678.30.9494.928 998 090109.084.5VOC2007+201285.066.70.8080.310 160 12919.915.2智能零售柜商品识别数据集97.291.00.9696.810 410 95020.816.7

由表4可知,在VOC数据集上,本文算法的mAP@0.5:0.95高达66.7%,比基线模型YOLOv5s提升了9.4百分点,并且高于YOLOv4,YOLOv5m、SSD和Faster R-CNN。本文算法的mAP@0.5比YOLOv4提升了5百分点,比基线模型YOLOv5s提高了4.9百分点,比SSD提升了6.5百分点,比Faster R-CNN提升7.2百分点。在模型参数量、权重存储空间和单幅图像处理时间3项指标中,本文算法仅大于YOLOv5s。本文算法的F1Score比基线模型YOLOv5s提升了0.04,Recall提升了6百分点。在智能零售柜商品识别数据集上,本文算法的评价指标mAP@0.5、mAP@0.5:0.95、F1ScoreRecall均优于基线模型YOLOv5s、YOLOv4、SSD和Faster R-CNN,虽然模型精度略低于YOLOv5m,但是Recall提升了0.8百分点,模型大小仅为其48%,单幅图像的处理时间缩短了3.1 ms。本文算法单幅图像的处理时间为16.7 ms,明显优于YOLOV4、YOLOV5m、SSD和Faster R-CNN。

为了更好地验证本文算法对复杂场景下目标的检测与识别性能,在VOC数据集和智能零售柜商品识别数据集上进行了可视化实验,结果如图6所示。

图6 算法检测与识别结果

Figure 6 Algorithm detection and identification results

从图6可以看出,在面对相似物体干扰、遮挡等复杂场景时,本文算法比基线模型YOLOv5s检测与识别出了更多的目标,且精度更高,验证了本文算法的优良性能。

4 结论

为了更准确地对复杂场景下的目标进行检测与识别,本文在传统YOLOv5s模型的主干网络部分加入了DSD-PSA机制,获得了双空间方向的信息交互,加强了通道信息的学习,得到了更加鲁棒的特征。在瓶颈网络部分,采用MFF结构,提高了模型的精度,同时使用C3Ghost模块和深度可分离卷积进行网络降参,降低了权重所需的存储空间和单幅图像的处理时间。在VOC2007+2012和智能零售柜商品识别数据集的相关实验验证了所提方法的有效性和可行性。未来工作将聚焦于研究如何在无数据标签的情况下将本文算法拓展到更多复杂场景中,提升模型的泛化能力。

参考文献:

[1] 李柯泉, 陈燕, 刘佳晨, 等. 基于深度学习的目标检测算法综述[J]. 计算机工程, 2022, 48(7): 1-12.

LI K Q, CHEN Y, LIU J C, et al. Survey of deep learning-based object detection algorithms[J]. Computer Engineering, 2022, 48(7): 1-12.

[2] 包晓敏, 王思琪. 基于深度学习的目标检测算法综述[J]. 传感器与微系统, 2022, 41(4):5-9.

BAO X M, WANG S Q. Survey of object detection algorithm based on deep learning[J]. Transducer and Microsystem Technologies, 2022, 41(4):5-9.

[3] 赵永强, 饶元, 董世鹏, 等. 深度学习目标检测方法综述[J]. 中国图象图形学报, 2020, 25(4): 629-654.

ZHAO Y Q, RAO Y, DONG S P, et al. Survey on deep learning object detection[J]. Journal of Image and Graphics, 2020, 25(4): 629-654.

[4] GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]∥2014 IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2014: 580-587.

[5] HE K M, ZHANG X Y, REN S Q, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916.

[6] GIRSHICK R. Fast R-CNN[C]∥2015 IEEE International Conference on Computer Vision (ICCV). Piscataway: IEEE, 2016: 1440-1448.

[7] REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[C]∥IEEE Transactions on Pattern Analysis and Machine Intelligence. Piscataway:IEEE, 2016: 1137-1149.

[8] HE K M, GKIOXARI G, DOLLR P, et al. Mask R-CNN[C]∥2017 IEEE International Conference on Computer Vision (ICCV). Piscataway: IEEE, 2017: 2980-2988.

[9] CHEN L K, YE F Y, RUAN Y D, et al. An algorithm for highway vehicle detection based on convolutional neural network[J].EURASIP Journal on Image and Video Processing, 2018, 2018(1): 1-7.

[10] LIU W, ANGUELOV D, ERHAN D, et al. SSD: single shot multibox detector[C]∥European Conference on Computer Vision. Cham: Springer, 2016: 21-37.

[11] REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2016: 779-788.

[12] REDMON J, FARHADI A. YOLO9000: better, faster, stronger[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2017: 6517-6525.

[13] LIN T Y, GOYAL P, GIRSHICK R, et al. Focal loss for dense object detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020, 42(2): 318-327.

[14] REDMON J, FARHADI A. YOLOv3: an incremental improvement [EB/OL].(2018-04-08)[2022-12-23]. https:∥arxiv.org/pdf/1804.02767v1.

[15] ZHAO Q J, SHENG T, WANG Y T, et al. M2Det: a single-shot object detector based on multi-level feature pyramid network[J]. Proceedings of the AAAI Conference on Artificial Intelligence, 2019, 33(1): 9259-9266.

[16] TAN M X, LE Q V. EfficientNet: rethinking model scaling for convolutional neural networks [EB/OL]. (2020-09-11)[2022-12-23]. https:∥arxiv.org/pdf/1905.11

946v5.

[17] TAN M X, PANG R M, LE Q V. EfficientDet: scalable and efficient object detection[C]∥2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2020: 10778-10787.

[18] BOCHKOVSKIY A, WANG C Y, LIAO H M. YOLOv4: optimal speed and accuracy of object detection [EB/OL].(2020-04-23)[2022-12-23]. https:∥arxiv.org/abs/2004.10934.

[19] JOCHER G. YOLOv5 [EB/OL]. (2020-06-17) [2022-12-23]. https:∥github.com/ultralytics/YOLOv5.

[20] ZHANG C X, KANG F, WANG Y X. An improved apple object detection method based on lightweight YOLOv4 in complex backgrounds[J]. Remote Sensing, 2022, 14(17): 4150.

[21] HONG W W, MA Z H, YE B L, et al. Detection of green asparagus in complex environments based on the improved YOLOv5 algorithm[J]. Sensors, 2023, 23(3): 1562.

[22] 贾云飞, 郑红木, 刘闪亮. 基于YOLOv5s的金属制品表面缺陷的轻量化算法研究[J]. 郑州大学学报(工学版), 2022, 43(5): 31-38.

JIA Y F, ZHENG H M, LIU S L. Lightweight surface defect detection method of metal products based on YOLOv5s[J]. Journal of Zhengzhou University (Engineering Science), 2022, 43(5): 31-38.

[23] ZHANG H, ZU K K, LU J, et al. EPSANet: an efficient pyramid squeeze attention block on convolutional neural network[C]∥Asian Conference on Computer Vision. Cham: Springer, 2023: 541-557.

[24] HAN K, WANG Y H, TIAN Q, et al. GhostNet: more features from cheap operations[C]∥2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Piscataway: IEEE, 2020: 1577-1586.

Object Detection and Recognition Algorithm Based on YOLOv5 and the Fusion of Attention and Multistage Features

WANG Yu, BI Yu, SHI Jiantong, XIAO Hongbing, SUN Mei

(School of Computer and Artificial Intelligence, Beijing Technology and Business University, Beijing 100048, China)

AbstractTo tackle the problem of low accuracy of detection and recognition for object in complex scenes, YOLOv5 object detection and recognition algorithm based on attention and multistage feature fusion(AMFF) was proposed in this study. The main ideas included adding the proposed dual space directions pyramid split attention (DSD-PSA) mechanism to the backbone network of the traditional YOLOv5s model to enhance the learning of the feature map space and channel information, adopting multistage feature fusion(MFF) structure in the bottleneck network to fuse the features of different branches, increasing richness of the feature and improving the ability to cope with complex scenes. In addition, C3Ghost module and depthwise separable convolution were used to replace C3 module and common convolution to reduce the number of parameters and the complexity of network. Compared with the traditional YOLOv5s algorithm, the mean average accuracy of the proposed algorithm in the VOC2007+2012 data set reached 85%, and the mean average accuracy of the smart retail cabinet commodity identification data set reached 97.2%, which verified the effectiveness and feasibility of the proposed algorithm.

Keywordsdeep learning; YOLOv5s; object detection; multistage feature fusion; attention mechanism

中图分类号:TP391

文献标志码:A

doi:10.13705/j.issn.1671-6833.2023.06.009

收稿日期:2023-05-08;修订日期:2023-06-09

基金项目:北京市教委-市自然科学基金联合资助项目(KZ202110011015)

作者简介:王瑜(1977—),女,吉林长春人,北京工商大学教授,博士,博士生导师,主要从事图像处理、模式识别、计算机视觉研究,E-mail:wangyu@btbu.edu.cn。

引用本文:王瑜,毕玉,石健彤,等. 基于注意力与多级特征融合的YOLOv5算法[J]. 郑州大学学报(工学版),2024,45(3):38-45,95.(WANG Y, BI Y, SHI J T,et al. Object detection and recognition algorithm based on YOLOv5 and the fusion of attention and multistage features[J]. Journal of Zhengzhou University (Engineering Science),2024,45(3):38-45,95.)

文章编号:1671-6833(2024)03-0038-08