改进YOLOv5的交通标志检测算法

来源:优秀文章 发布时间:2023-02-16 点击:

胡昭华,王 莹

1.南京信息工程大学 电子与信息工程学院,南京 210044

2.南京信息工程大学 江苏省大气环境与装备技术协同创新中心,南京 210044

交通标志检测的任务是在图像或视频中显示出交通标志的类别及位置。交通标志检测是智能交通系统中重要组成部分,在无人驾驶、自动驾驶等很多领域均被广泛应用。因此,交通标志检测研究有很高的研究意义和应用价值。

交通标志检测研究可划分为传统方法和基于深度学习的方法。其中,传统的方法利用外观、颜色特征进行检测交通标志[1-2],但是特征提取依赖手工,存在很多局限,不满足交通标志检测实时性、精确性的要求。2014年,R-CNN首次将卷积网络用于目标检测[3],自此以后,基于深度学习方法开始广泛应用于交通标志检测。基于深度学习的目标检测算法主要分为两个方向:基于一阶段检测与双阶段检测算法。一阶段检测算法主要有:YOLOv2[4]、YOLOv3[5]、EfficientDet[6]以及SSD[7]等。双阶段检测算法主要有Fast R-CNN[8]、Faster R-CNN[9]、SPP-Net[10]以及HyperNet[11]网络等。

Zhu等人[12]创建了新的交通标志检测基准(Tsinghua-Tencent100K,TT100K)与广泛使用的检测基准(german traffic sign detection benchmark,GTSDB)[13]相比,图像数量更多、分辨率更高、背景更加复杂,很多研究在此基准上进行。由于交通标志目标较小、分辨率低,Li等人[14]介绍了新的感知对抗网络,利用重复更新的生成器网络和鉴别器网络为小对象生成超分辨率表示,将小的交通标志分辨率增加,以提高检测性能。Liu等人[15]提出对深层特征进行反卷积,并将其与浅层特征连接起来,利用浅层特征解决由于交通标志尺寸小带来的检测困难问题。Wan等人[16]在YOLOv3基础上进行各种优化策略,包括网络剪枝、四尺度预测分支和损失函数改进,以此来解决小交通标志检测的带来挑战。Tang等人[17]基于交通标志的统计特性,提出了一种新的集成特征金字塔网络和特征聚合,从而增强网络对交通标志大小差异的鲁棒性。以YOLOv5为基础,设计了一种记忆性特征融合网络,输入采用可见标签比,利用模块增强主干网络的特征提取能力和减少模型采样损失,做到了准确和实时的交通灯检测[18]。虽然现有的检测算法在交通标志检测方面取得了较好的成绩,但是由于交通标志中小目标占比大,且小目标分辨率低,在实际检测中存在很多困难,比如:检测精度低、漏检等问题。针对以上分析,交通标志检测还待进一步研究。

由于在交通标志检测中小目标占比大,所以提高小目标检测精度这一短板,整体检测精度就能提升。本研究旨在提高交通标志中小目标检测的精度和召回率,从而提升整体的检测性能,更好地将交通标志检测用于实际生活中。本文中算法以YOLOv5[19]框架为基础进行改进,改进思路如下:

(1)在特征提取主干中引入区域上下文模块(regional context module,RCM),提高特征融合能力,充分利用周围环境有效信息,为交通标志的学习起到重要补充作用。一般来说,背景信息和目标信息具有很强的相关性。因此,该步骤有助于检测小的交通标志对象。

(2)在特征提取主干添加注意力模块(shuffle attention,SA)[20],与原C3结构结合形成特征增强模块(feature enhancement module,FEM),重新分配提取特征的权重,增强交通标志小目标的特征表达能力,提高主干的特征提取能力。

(3)在多尺度检测环节,将深层特征与浅层特征进一步融合,使输出端在获得高级语义信息的同时兼顾到浅层的位置信息,有利于小目标的位置信息学习。

YOLOv5属于一阶段检测算法,一阶段检测算法与双阶段检测算法相比少了中间负样本筛选过程,所以YOLOv5具有一阶段算法实时性的优点。而且YOLOv5检测精度在一阶段检测算法中较好,尤其在小目标检测方面。所以本文选择YOLOv5算法为基础进行交通标志检测。

YOLOv5检测流程可分为四部分:输入端、Backbone主干部分、Neck颈部、输出端。输入端采用了自适应图像填充和Mosic数据增强,Mosic数据增强通过将4张图片随机裁剪、旋转、缩放等方式随机排放组成一张图像,此数据增强方式可有效提高小目标检测精度;
此外,输入端还采用了自适应锚框设计,更好地解决了不同数据集中目标大小不同问题,为数据集提供了更合适的预设锚框。主干部分采用了Focus切片操作,进行下采样,可以减少计算复杂度;
C3模块是一种残差模块组成的,有效减少计算量;
SPPF结构类似SPP结构,可以实现不同尺度融合,YOLOv5有不同版本,5.0版本采用了SPP结构,但是对于交通标志检测总体精度较低,SPPF在总体样本上精度比SPP较高,所以本文在5.0基础上将SPPF模块替换了SPP模块;
颈部采用了路径聚合PAN[21]结构,可以有效实现特征不同尺度的融合。输出端3个分支,分别用于大、中、小目标检测输出。YOLOv5结构如图1所示。

图1 YOLOv5结构图Fig.1 YOLOv5 structure diagram

改进后的YOLOv5算法在原算法的基础上加以改进,利用区域上下文信息能够更好地补充交通标志周围的有效信息,具体做法是在主干中原SPPF位置加以改进,构造成区域上下文模块RCM;
并且为了更好地提取特征的有效信息,本文在主干的最后两个原C3位置进行构造为特征增强模块;
在多尺度检测阶段,将检测输出头与主干浅层特征进行融合。改进后的YOLOv5算法结构如图2所示。

图2 改进后的YOLOv5结构图Fig.2 Improved YOLOv5 structure diagram

2.1 区域上下文模块

对于目标检测而言,待检测目标不可能单独存在,它一定会和周围的其他目标或多或少存在某种关系,这就是通常所说的上下文信息[22]。对于交通标志检测而言,周围的交通标志杆子等可以作为交通标志的有效周围信息,因此学习它们之间存在的关系,对交通标志检测起到非常重要的作用。

YOLOv5更新很快,现在已经有了6.0版本。由于6.0版本省略了Focus切片,影响交通标志检测的精度,所以本文采用了5.0版本。SPPF结构是6.0提出的,在总体样本精度上比SPP模块高,所以将SPPF模块替换了SPP模块。SPPF模块如图3所示,采用了5×5 maxpooling最大池化,最大池化虽然会扩大感受野,但是会降低特征图的分辨率,不利于网络学习。空洞卷积(dalited convolution)具有可以学习上下文信息、扩大感受野且不降低特征分辨率等优点,所以本文将不同扩张率的空洞卷积代替了最大池化。

图3 SPPF模块Fig.3 SPPF module

受RFB模块影响[23],优化后的SPPF模块包含四路分支,本文称之为区域上下文模块RCM。区域上下文模块RCM如图4所示,一共四路分支可分为两类,分别用于提取较远处上下文信息和相邻上下文信息。其中,较远处上下文信息首先通过空洞卷积扩大感受野获得,紧接着通过1×1卷积将信息细节处理;
相邻区域信息先通过1×1卷积获得,紧接着经过空洞卷积将信息局部扩大处理。这两类上下文信息中空洞卷积扩张率(dilation rate,d)选择相同,都采用了扩张率d=3与d=4,从而可以获得多个感受野信息,最后将较远处区域信息与相邻区域信息进行融合,构成了区域上下文信息模块RCM。此模块可以学习到交通标志目标周围区域的相关联信息,从而起到重要的补充作用。

图4 区域上下文RCM模块Fig.4 Regional context RCM module

2.2 特征增强模块FEM

注意力机制能够使网络更加关注重要的目标信息,抑制无关的背景影响,在神经网络学习中是一个重要的提升学习性能的组成部分。特征提取的关键环节在于网络的Backbone主干部分,所以本文将注意力模块SA加入了网络的主干。

在神经网络学习中,注意力机制主要有两种:通道注意和空间注意。(convolutional block attention module,CBAM)[24]将通道与空间注意结合在一起,获得较好的性能,但是计算量大且收敛困难。SA注意力模块采用洗牌单元同时将注意通道与空间通道进行结合,如图5所示,首先将输入大小为H×W×C的特征图X沿通道尺寸进行划分为g组,这里g取64,得到矩阵[X1,X2,…,Xg],然后对每个特征图Xk(Xk大小为H×W×C/g),再沿通道划分为Xk1、Xk2(Xk1、Xk2大小都为H×W×C/2g),Xk1、Xk2分别进行通道注意channel atention与空间注意spatial atention处理。其中,通道注意是先进行全局平均池化(global averaging pooling,GAP),具体表达式如下:

图5 SA注意力模块Fig.5 SA attention module

然后进行Scale操作,具体使用参数缩放W1和移动通道向量b1,最后进行激活函数σ处理:

空间注意力操作最先不是进行的全局平均池化,而是群范数(group norm,GN),然后和通道注意执行相同操作,具体表达式如下:

这里σ是激活函数,W2是参数缩放和b2是移动通道向量,GN是群范数,W1、b1、W2、b2是超参,超参数较少,因此SA模块属于轻量级。将通道注意与空间注意进行融合,这样每个划分后的特征图上同时拥有两个方向注意机制,最后将划分后的特征图进行“洗牌”操作以实现跨组信息沿通道维度流动。

C3模块是由两个嵌套的残差模块组成的,本文将SA模块嵌入到C3模块第二个残差块中,形成特征增强模块如图6所示。由于提取特征的关键在于主干部分,所以将特征增强模块放在主干比较合适,而且在主干提取特征网络较浅处放入注意力模块可能会使交通标志检测性能降低。所以本文只将FEM模块用在了主干C3中的倒数1、2位置,即下文中所说主干C3的a、b位置。

图6 特征增强模块FEMFig.6 Feature enhancement module FEM

2.3 改进多尺度检测部分

在YOLOv5s中有3个输出检测头,当输入图片为640×640大小时,输出端输出的特征图分别为80×80、40×40、20×20大小,它们分别负责预测小目标、中等目标以及大目标。由于交通标志的目标大多是小目标,这些小目标在40×40、20×20大小的特征图中像素仅有几个像素,丢失大量位置信息,因此小目标在中等、大目标检测层的效果不好,所以改善这两个输出检测层部分很关键。

从YOLOv5结构图中可以看出,检测头位于整个结构的最后,处于较深的神经网络层中,所以它提取到的语义信息比较完善,与此同时,在特征层不断加深过程中较浅的位置信息会丢失,因此为输出层增加位置信息尤为重要。鉴于此,从浅层信息出发,获得充足的位置信息,所以考虑到将浅层的特征层与输出检测层进行融合。主干特征层位于网络的最前端,属于浅层特征层,它的输出特征图是逐渐递减的,递减的过程中有的特征图的大小恰好与检测层的输出大小相同,所以本文将主干特征层中输出大小为40×40、20×20的特征层分别与中等、大目标检测层进行融合,可以获得小目标的边界信息。改进后的网络称为M-YOLOv5,具体结构如图7所示。

图7 M-YOLOv5网络Fig.7 M-YOLOv5 network

实验环境为Windows10操作系统,计算机内存为64 GB,处理器型为i9-11900K,显卡是RTX 3080Ti,显存为12 GB,采用的深度学习框架为pytorch1.8,编程语言python3.8。

3.1 数据集

3.1.1 TT100K数据集

数据集TT100K是由清华和腾讯共同制作完成的。此数据集一共提供了100 000个图像,包含30 000个交通标志实例。图像涵盖了光照变化和天气条件变化,与其他交通标志数据集相比,种类更多、目标更小、检测难度更大。本文从中选取了45类,共9 170张图片,分为7 335张训练集和1 835张测试集。

3.1.2 CCTSDB数据集

另一个交通标志检测数据集是(CSUST Chinese traffic sign detection benchmark,CCTSDB)[25]。它一共包含15 724张训练集和400张测试集,共有3大类:警告、指示、禁止。本文将15 724张进行训练,400张进行测试,输入大小为640×640。

3.2 方案设计与评价指标

在训练之前,使用YOLOv5自带的自动锚框适应对先验框尺寸进行调整,训练集与测试集9∶1划分,在COCO[26]数据集上预先训练得到的权重进行初始化。优化函数采用了SGD,训练批次大小为16,总共训练了120次,初始学习率大小设为0.01,动量为0.937,IOU阈值为0.5。

实验评价指标采用总体样本平均精确度mAP,小目标平均精度APs、小目标平均召回率ARs。小目标指的是面积小于32×32像素的目标。

精确度(precision,P)是指预测正确的正样本的数量占所有预测为正样本数量的百分比。召回率(recall,R)是指预测正确为正样本的数量占实际为正样本数量的百分比。AP是P-R(precision-recall)曲线下的面积。mAP是所有类别的AP平均值。具体计算公式如下:

这里的TP、TN、FP、FN分别是预测为正样本实际是正样本、预测为负样本实际是负样本、预测为正样本实际是负样本、预测为负样本实际是正样本。m是样本类别数量,本文m取45和3。

模型复杂度采用参数量(parameters,Params),具体计算公式如下:

这里的Co表示输出通道数,Ci表示输入通道数,kw、kh分别表示卷积核宽、高。

检测速度指标采用FPS,代表每秒处理的帧数,单位是frame/s。

3.3 TT100K数据集实验结果分析

本文共设计了两组实验,分别是不同改进部分的消融实验和与其他主流算法对比实验。

3.3.1 消融实验

为了验证本文所提出的改进对交通标志检测的性能是否有效,设计了一组消融实验,对比分析了:(1)原YOLOv5模型;
(2)在YOLOv5基础上使用上下文模块YOLOv5+RCM;
(3)在YOLOV5基础上使用特征增强模块YOLOv5+FEM;
(4)在YOLOv5基础上加上改进多尺度检测部分YOLOv5+M;
(5)同时添加区域上下文模块、特征增强模块YOLOv5+RCM+FEM;
(6)同时添加区域上下文模块、特征增强模块和改进多尺度检测部分YOLOv5+RCM+FEM+M。在相同的实验条件下,在数据集TT100K上进行实验,输入大小为960×960,这里以及本文所有的YOLOv5是指YOLOv5s模型。具体实验性能见表1。

表1 消融实验Table 1 Ablation experiments

从表1可以看出,仅添加上下文模块,在小目标精度上增加了1.5个百分点,在小目标召回率上提升了1.9个百分点;
仅添加特征增强模块,在小目标精度上提升了0.6个百分点,在小目标召回率上提升了1.2个百分点;
仅添加改进的多尺度检测部分,在小目标精度上增加了2.2个百分点,在小目标召回率上提升了2.3个百分点。三者单独的效果不是很明显,但是将三者都添加到原算法,在小目标精度、召回率上分别提升3.5、4.1个百分点,提升效果较为明显。总体样本的平均精度略有提升,提高了大约2.6个百分点。参数量的增加主要来源于上下文模块,增加了约1.4×106。最终的FPS也会随着参数的增加而降低,由原来125 frame/s降为83.3 frame/s。

为了验证注意力机制SA的有效性,本文还与其他注意力机制(squeeze-and-excitation,SE)[27]、CBAM、(coordinate attention,CA)[28]注意力机制进行横向比较。从表2可以看出,与这些注意力机制相比,本文所用注意力机制SA在小目标精度上和CBAM相同,但是在小目标召回率、总体目标精度上是最高的,参数量最少,属于轻量化模型,速度高于其他注意力机制,所以本文采用SA注意力机制组成本文的FEM模块。

表2 添加不同注意力对比实验Table 2 Comparison experiments of adding different attentions

为了验证添加区域上下文模块对于周围特征提取是否有效,特征增强模块对特征提取是否有增强效果,本文使用特征图可视化中间结果进行对比,如图8所示,其中图(a)为交通标志原图,图(b)为原SPPF模块输出的特征图,图(c)为添加RCM后输出的特征图,图(d)为原C3模块输出的特征图,图(e)为添加RCM、FEM模块后特征图,这里C3位于主干中最后,即C3下面所说的a位置。

图8 交通标志原图与中间特征图Fig.8 Original and intermediate feature diagrams of traffic signs

经过特征图可视化对比,可以看出加入上下文模块后感受野增大,特征图显示了目标周围的信息,说明上下文确实起到补充有效信息的作用。加入特征增强模块后,交通标志的特征相比于原来更加清晰,说明特征增强模块对于特征的学习是有效的。

本文实验对比了RCM中空洞卷积的选取对交通标志检测性能的影响,从表3可以看出,空洞卷积取值3、4时小目标交通标志检测性能最优,当空洞卷积取值3个不同值时,这样会增加计算量,性能还不如3、4时好,所以本文最终将空洞卷积的扩张率分别选取为3和4。

表3 RCM、FEM部分对比实验Table 3 RCM and FEM partial contrast experiments单位:%

确定了RCM的最优后,以RCM扩张率3、4为基础,本文就FEM在主干的位置进行了实验对比,其中主干中有4个C3,从下到上分别记C3的位置为a、b、c、d,其中由于在位置d处加入SA注意力模块,通道数不兼容,所以无法构成本文的特征增强模块。一共进行了3组实验对比,分别是YOLOv5+FEM(a)、YOLOv5+FEM(a+b)、YOLOv5+FEM(a+b+c)。FEM依次累计加入主干,这3组分别代表a处加入FEM、a、b处加入FEM、a、b、c处加入FEM。具体性能见表3,可以看出在a处性能较好,然后加入b处,性能最优,最后添加c处性能会下降,由此可见并不是加入越多越好,在较浅处进行特征增强,会降低检测效果。

3.3.2 与主流算法对比实验

为了验证本文改进算法检测性能,将本文改进的算法与主流算法YOLOv3、YOLOv4[29]、SSD、Faster R-CNN、Faster RCNN+EFPN[30]、文献[12]算法、文献[31]算法、文献[32]算法、文献[33]算法进行比较,其中后面的算法是最近的交通标志算法在TT100K数据集上的实验。Faster RCNN+EFPN是2021年提出的较新算法在TT100K上进行的实验。这里的Faster R-CNN主干是ResNet-101,SSD主干是ResNet-50;
输入大小是宽高相同的。对比结果见表4。

从表4可以看出,检测精度与输入尺寸成正相关,尺寸越大,效果越好,但是FPS是负相关的。从表中可以看出,参数量与检测速度成反比。在这些算法中,YOLOv5参数量最少,仅7.2×106,速度最快。在尺寸为640时,FPS达到了130 frame/s,改进后的算法在增加了约1.7×106的参数后,速度会降为83.3 frame/s,但是在这些算法中速度也是比较优越的,可以达到实时性检测。在分析精度,输入尺寸都是640时,YOLOv5无论在精度上优于YOLOv3、YOLOv4,SSD虽然尺寸300,但是精度不及YOLOv3的一半,所以SSD效果不太好。Faster RCNN在输入尺寸为1 400时性能较好,但是在精度上不及输入尺寸为960的YOLOv5。在这些先进算法中,Faster RCNN+EFPN,它的输入尺寸比本文的要大,由于实验条件有限,本文采用的输入尺寸是960×960,改进后的YOLOv5也是优于Faster RCNN+EFPN的,在小目标平均精度、平均召回率上分别提高大约5.5、1.9个百分点。在总体目标上平均精度也是优于文献[33],大约提高了5.2个百分点。综上所述,本文改进后的算法在交通标志检测数据集TT100K上,不论精度还是速度都存在一定优越性。

表4 与先进算法对比Table 4 Contrast with advanced algorithms

3.4 CCTSDB数据集实验结果分析

为了进一步验证本文改进的YOLOv5检测算法对其他交通标志的鲁棒性,在数据集CCTSDB进一步实施相关实验,由于CCTSDB与TT100K相比,其中的交通标志大多是大目标或中目标类型,小目标类型的交通标志只占极小部分,所以对它的精度评价指标只用了mAP。具体实验结果见表5。

从表5可以看出,本文算法与原YOLOv5算法相比,精度大约提升了2.0个百分点,增加了大约1.7×106参数,速度略微降低。与CCTSDB数据集上主流算法T-YOLO[34]、改进的YOLOv3-tiny[35]、文献[36]进行对比,本文算法在精度上也是略高0.3个百分点,在速度上也可以达到实时性检测。表明本文所改进的算法在其他交通标志数据集上具有鲁棒性。

表5 CCTSDB与先进算法对比Table 5 CCTSDB contrast with advanced algorithms

3.5 定性检测结果对比

本节抽取部分TT100K数据集进行识别效果对比如图9所示,对比了两组改进前后检测结果,从图9(a)、(b)对比可以看出,在i5检测目标上检测精度分别是83%、90%,精度提升了大约7个百分点,在ph4.5上检测精度分别是88%、89%,精度也高于原YOLOv5;
在图9(c)、(d)可以看出,在i5上原算法和本文算法精度分别是87%、91%,在pl40上精度分别是85%、86%,分别提升了4.0个百分点和1.0个百分点。综上所述,说明本文算法对于交通标志检测是有效的。

图9 部分检测效果对比图Fig.9 Comparison diagrams of part detection effects

CCTSDB数据集检测选取了比较特殊的几类图片,分别是夜晚大雨、大雪、大雾条件下交通标志检测。检测效果如图10所示。从检测图中可以看出,与原算法对比,在夜晚大雨条件下,如图10(a)所示原算法未检测出待检测的目标,改进的算法在图10(b)可以检测出原算法漏检的目标,提高了漏检率;
大雾条件下,改进的算法在图10(f)中的禁止驶入这一检测目标精度为83%,原算法为图10(e)的77%,大约提升了6个百分点,且较远处目标在原算法上存在漏检,改进的算法可以检测出。在特殊复杂环境下检测仍可以保持较好精度,说明本文改进的算法具有一定鲁棒性。

图10 特殊环境检测效果对比图Fig.10 Comparison diagrams of special environmental detection effects

针对交通标志检测中小目标占的比例较多,本文在YOLOv5上进行三方面改进:利用区域上下文信息补充特征信息、利用特征增强模块强化特征信息、利用改进的多尺度检测部分融合浅层的位置信息。优化后的算法在精度上改善了交通标志检测效果,通过实验定量分析、交通标志检测定量分析证明本文改善的算法在检测精度上有一定提升,在速度上可以达到实时性检测。下一步研究可以围绕将算法优化应用于工程中交通标志检测。

猜你喜欢 交通标志主干精度 基于双向特征融合的交通标志识别汽车实用技术(2022年9期)2022-05-20抓主干,简化简单句广东教育·高中(2022年1期)2022-03-16热连轧机组粗轧机精度控制一重技术(2021年5期)2022-01-18超高精度计时器——原子钟中学生数理化·八年级物理人教版(2019年9期)2019-11-25分析误差提精度中学生数理化·八年级物理人教版(2019年12期)2019-05-21基于DSPIC33F微处理器的采集精度的提高电子制作(2018年11期)2018-08-04左主干闭塞的心电图表现中华心脏与心律电子杂志(2017年2期)2017-10-20血管内超声在冠心病左主干病变介入诊疗中的指导价值研究中国心血管杂志(2016年4期)2016-09-15交通标志小课堂小天使·一年级语数英综合(2016年8期)2016-05-14全国主干公路网交通安全监控信息共享平台构建研究中国交通信息化(2015年2期)2015-06-05推荐访问:交通标志 算法 改进
上一篇:止嗽化痰颗粒联合复方磺胺甲恶唑片,对艾滋病合并肺孢子菌肺炎患者的疗效探讨
下一篇:结合知识图谱的变分自编码器零样本图像识别

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有