融合注意力机制的YOLOv5 交通标志目标检测算法
2024-05-19朱春燕ZHUChunyan
朱春燕ZHU Chun-yan
(西安培华学院智能科学与工程学院,西安 710125)
0 引言
随着智能交通系统的迅速发展,交通标志智能检测技术在道路交通安全中扮演着重要的角色。交通标志检测算法已经成为无人驾驶、辅助驾驶、自动驾驶和车辆安全领域的研究热点之一。因此,设计一种在交通标志检测领域具备优异检测性能的算法具有重要意义和应用价值。
目前国内外基于深度学习的一阶段目标检测算法包括SSD 和YOLO 系列等,它们具有较高的检测精度和较快的检测速度[1]。其中,YOLOv5 是一种检测精度较高的算法,在目标检测中受到广泛关注[2]。近年来,对于小目标交通标志的检测,注意力机制在深度学习领域受到广泛关注和运用。文献[3]使用改进的YOLOv5 算法通过改进特征金字塔深度等方法提升了检测精度,但实时检测速度下降。文献[4]中采用自适应关注模块,降低特征图生成过程中的信息遗失,优化模型在检测小尺度交通标志方面的性能。尽管上述方法在提高交通标志检测准确性方面取得了进展,但目前的算法仍存在不同环境条件下,小目标交通标志的检测难度增加,容易出现不易检测或错检问题。
为了提高小目标的检测精度,并兼顾模型大小和检测速度,本文开发了一种基于融合注意力机制的改进YOLOv5 方案,用于交通标志小目标的检测,具体包括以下三个内容:①在主干网络融入CBAM 卷积注意力模块,利用其通道和空间注意力子模块来增强特征提取的效果,进而提升目标检测的性能。②在颈部网络特征融合模块中,引入加权双向特征金字塔网络BiFPN,以融合不同尺度的特征并综合位置与语义信息,进一步提升检测性能。③采用SIoU 损失函数,着重关注高质量的分类样本,以提高算法对不同环境下样本的学习能力进一步提升检测性能。
1 YOLOv5 模型原理
YOLOv5 是一种单步目标检测算法,它通过改变深度和宽度来分为YOLOv5s、YOLOv5m、YOLOv5l 和YOLOv5x不同的模型,可应用于各种检测需求[5]。该网络结构包含输入端、主干网络、颈部网络和输出端四个部分。
2 改进的YOLOv5 算法
2.1 卷积注意力机制CBAM
卷积注意力机制CBAM(Convolutional Block Attention Module)是由包括通道注意力模块CAM(Channel Attention Module)和空间注意力模块SAM(Spatial Attention Module)构成的一种卷积注意力机制[6]。应用于主干网络中,用于增强特征提取过程中的通道和空间信息,如图1 所示。
图1 卷积注意力机制CBAM
通道注意力模块CAM 可以自适应地调整不同通道的权重,让模型更加关注重要的通道特征,从而增强模型的表示能力,CAM 模块如图2 所示。在CAM 模块之后,空间注意力模块SAM 则利用卷积操作在特征图上实现空间感知,图3 说明了计算过程。本文通过将CBAM 添加到骨干网络的最后,并用其替换第一个C3 结构,提高网络的特征提取效果和模型识别准确度。
图2 通道注意力模块CAM
图3 空间注意力模块CAM
2.2 加权双向特征金字塔结构BiFPN
FPN(Feature Pyramid Network)利用特征金字塔结构,有助于整合高级语义信息和底层细节信息[7],如图4(a)所示,原始的金字塔结构通过自顶向下的特征传递来提取更准确的特征表示。然而,多次下采样操作会导致图像中的细节和低层次信息丢失,影响小尺寸目标的检测效果。为了解决这个问题,YOLOv5 采用了PANet(Path Aggregation Network)结构,如图4(b)所示,该结构在FPN 的基础上引入了上采样和下采样分支,通过自上而下和自下而上的路径传递特征来提高目标检测效果。为了进一步提高特征金字塔网络在交通标志检测中的表现,改进模型在YOLOv5的Neck 网络引入了加权双向BiFPN(Bi-directional Feature Pyramid Network),通过加权处理不同尺度的特征并同时进行自顶向下和自底向上的信息传递,以优化模型在不同尺度目标上的检测效果。如图4(c)所示,为实现双向跨尺度特征融合,删除了PANet 中只有一个输入的节点,并将连接原始输入与同级输出实现跨尺度的特征融合,提高检测算法的准确性。
图4 YOLOv5 特征金字塔结构
2.3 损失函数SIoU
在目标定位领域,为了解决预测框与真实框之间的角度匹配问题,本文引入了一种新的损失函数——SIoU(Scale-Invariant Intersection over Union)[8]。该损失函数的设计考虑了距离、形状和角度等多个因素,并由预测框与真实框的角度、距离和形状以及传统IoU 的四部分损失组成,以实现在不同尺度和大小下预测框与真实框之间的准确匹配。通过采用SIoU 损失替代传统的CIoU 损失函数,可以更加专注于真实框与预测框的角度和位置信息,从而增强目标检测算法在更为复杂和多变的场景中的适应性,提高算法的准确性、鲁棒性和稳定性。
2.4 改进后算法
为了提高交通标志的识别准确率和定位精度,提出了一种改进的交通标志检测方法,基于CBMA 注意力机制和BiFPN 的改进后的YOLOv5 模型展示在图5 中。
图5 改进后的YOLOv5 模型
3 实验与结果分析
3.1 实验环境
实验设置可以参考表1。
表1 实验环境配置
3.2 数据集
为了验证本文改进算法的效果,选择中国交通标志检测数据集(CCTSDB)作为实验的数据来源[9]。该数据集包含来自中国部分城市道路和高速公路的交通标志图片,涵盖了不同的尺度、角度、光照条件,以及标注不明显的情况。总共收录了15,724 张图片。为简化实验过程,本文从中选取了5000 张图片作为实验数据集,其中4000 张用于训练,另外1000 张用于测试。经过划分,实验数据集被分为了三个不同的类别:Mandatory、Prohibitory 和Warning。
3.3 实验评价指标
本文主要采用两个评价指标来评估算法的性能:检测精度和检测速度。其中,检测精度用于评估算法在目标准确定位和分类方面的能力,主要通过计算精确率(P)、召回率(R)和平均精度均值(mAP)来衡量模型的检测能力。对于检测速度,通常使用每秒传输帧数(FPS)作为性能指标进行评估。
3.4 实验结果分析
3.4.1 消融实验结果与分析
为了验证基于YOLOv5 的交通标志检测算法的有效性,在CCTSDB 数据集上进行了消融实验,以评估不同的改进方式对交通标志检测算法性能的影响。通过对实验结果的统计分析,能够得出对于YOLOv5 等交通标志检测算法,不同的改进方式对模型性能的有效性进行评估。具体数据见表2。对比YOLOv5 算法后,发现原算法存在检测性能低、误检和漏检等问题。为此,本文提出了多种改进方法,并在相同的实验条件下进行对比。首先,将卷积注意力模块CBAM 引入到YOLOv5 模型中,改进后的模型相较于原模型,在mAP 值上提升了5.5%。在YOLOv5 的特征金字塔模块引入了BiFPN 模块,改进后的模型在mAP 值上获得了0.6%的提升,同时略微减少了参数量。最后,通过优化损失函数SIOU,将模型的mAP 值提升了0.5%,而对参数量和检测速度没有显著影响。综合以上改进方法,本文提出的改进的YOLOv5 模型相较于原模型,在相同的实验条件下,mAP 值提升了6.7%,参数量减少了0.86×106,检测速度为63.13FPS。这一改进使得交通标志检测算法具备更少参数、更高平均精度和更快速度的特点。
表2 消融实验
3.4.2 与其它算法对比分析
研究使用CCTSDB 数据集进行了改进后模型与其他网络模型在交通标志识别性能方面的对比实验。实验包括了Faster R-CNN、YOLOv4、YOLOv8、SSD 等主流算法,以及参考文献中提及的其他模型(文献[10]和文献[11])。根据表3 展示的实验数据,与YOLOv4 相比,本文改进的算法在mAP 上提升了9%,并且参数量减少了2.77×106。此外,改进后的算法在检测速度方面也有显著提升。相较于SSD模型,新的算法在指标方面有所提升,同时达到了实时检测的要求。此外,优化的模型在在mAP 和参数量方面取得了最佳表现,分别达到了93.6%和6.34×106,并且处理速度高达63.13FPS,展现出优异的性能。因此,该模型非常适用于路标的识别,并可有效运行在嵌入设备上。
表3 不同算法检测交通标志性能对比
3.4.3 检测效果对比
为了评估改进算法在交通标志检测方面的性能,本文从网络中随机选择了不同尺寸的交通标志图片,并进行了比较。此外,还将检测场景考虑到了不同的天气条件下,包括白天晴朗、夜晚雨雪以及白天雾霾,检测效果对比部分实验结果如图6 所示。
图6 不同尺寸交通标志的检测效果
通过比较结果得出,当涉及到不同尺寸的目标时,改进模型展现了更高的置信度,尤其在大目标和中目标的检测中,无论是简单目标检测还是多目标检测,两种模型都能够正确识别目标,改进模型在置信度方面稍微优于原始YOLOv5。在不同天气环境下的实验中,在白天晴朗的情况下,两种模型都能够准确检测出交通标志,改进模型的置信度相对更高。在白天雾霾天气下,改进模型能够检测出更多的标志,而原始模型存在一定的漏检和误检。最后,在夜晚雨雪条件下的检测中,改进模型没有产生误检,而原始模型存在误检的情况。
4 结束语
针对现有交通标志检测方法存在的问题,本文提出了一种改进的交通标志检测算法,利用了YOLOv5 作为主干网络,并引入了CBAM 注意力机制进行特征融合。此外,网络还采用BiFPN 结构和IoU 损失函数来加强检测头部的性能,有效解决了错检、漏检和低精度等问题。通过在CCTSDB 数据集上训练,实现了性能的显著提升,实验结果显示,优化后的算法在mAP 表现较好,达到了93.6%,同时保持着稳定的检测帧率为63.13FPS,参数量为6.3×106,表现令人满意。相较于主流目标检测模型,改进模型具有模型体积小、检测精度高、推理速度较快等优势,能够满足实时交通标志检测的需求。未来的工作将会将本文方法搭载在嵌入式平台上,并应用于实际交通标志检测工程中。