基于改进YOLOv8的交通标志检测与识别算法研究
作者: 曾海峰关键词:CBMA注意力机制;数据增强;损失函数优化;Swin-Transformer网络;交通标志检测与识别;YOLOv8
0 引言
交通标志检测与识别技术在智能交通系统(ITS) 和自动驾驶领域发挥着至关重要的作用。这些技术不仅能够提高道路安全,还能增强驾驶的便捷性和自主性。近年来,国内学者在该领域进行了广泛研究,提出了一系列创新的方法和技术,旨在提高交通标志检测与识别的准确率和鲁棒性。
1) YOLO系列的改进。文献[1]通过增加上采样和输出层数、引入注意力机制以及使用惩罚函数,提高了小目标交通标志的检测精度和定位能力;文献[2] 通过引入基于颜色衰减先验的自适应伽马变换图像预处理算法和坐标注意力机制,提高了雾霾环境下的检测精度;文献[3]通过重参数模块、注意力机制以及IoU-Aware查询选择等改进,显著提升了检测精度和效率;文献[4]通过引入Tiny Head检测头、C2f CA模块以及SIoU损失函数,增强了小目标检测能力和模型鲁棒性。文献[5]结合小目标过采样训练数据生成方法、图像分块和几何透视检测预处理,提高了全景图像中交通标志的检测精度和速度。
2) 多尺度特征融合。文献[6]设计了基于空洞混合注意力机制的多尺度注意力特征融合模块,增强了模型对小目标的检测能力;文献[7]通过不同尺度图像的特征提取,丰富了图像特征,提高了识别率;文献[8] 采用了Bi-FPN网络进行多尺度特征融合,从而提高了小目标的检测精度和效率;文献[4]使用SPPCSPC替代SPPF模块,进一步增强了网络对不同尺度特征信息的提取能力。
本文旨在设计一种基于改进YOLOv8的交通标志检测与识别算法,以提高算法在复杂场景下的识别精度、鲁棒性和实时性,为智能交通系统和自动驾驶技术的进一步发展提供技术支持。
1 交通标志检测基础
1.1 交通标志的特征及检测
交通标志作为道路安全设施的重要组成部分,具有统一性、规范性和多样性等特征。统一性:全国实行统一的道路交通标志,确保各地标志的一致性,便于驾驶人识别和遵守;规范性:交通标志的设置需符合道路交通安全和畅通的要求及国家标准,保持清晰、醒目、准确和完好;多样性:根据用途和需要,交通标志分为指示标志、警告标志、禁令标志、指路标志、旅游区标志、道路施工安全标志以及辅助标志等多种类型。
随着计算机视觉和图像处理技术的发展,交通标志的识别与检测技术日益成熟。传统的检测方案包括:1) 基于颜色的检测。不同类型的交通标志通常采用特定的颜色组合,如警告标志多为黄色背景加黑色图案,禁令标志多为红色背景加白色图案,可通过从图像中提取出特定颜色组合的区域实现识别。2) 基于形状的检测。交通标志通常具有规则的几何形状,如圆形、三角形和矩形等。通过边缘检测、形态学处理等技术,可从图像中提取出具有特定形状的区域。3) 基于多特征融合的检测。由于单一特征可能受光照、遮挡等因素影响,因此多特征融合成为提高识别准确率的重要手段,这种方法结合了颜色、形状和纹理等多种特征,通过综合评估实现对交通标志的准确识别。然而,传统的识别与检测技术往往存在识别准确率低、易受环境因素影响和泛化能力弱等问题。
1.2 卷积神经网络的应用
卷积神经网络的核心在于卷积层的使用。卷积层通过局部连接和权值共享的方式,有效减少了网络参数的数量,降低了计算复杂度,同时能够自动从输入数据中提取出层次化的特征表示。卷积神经网络通常由卷积层、池化层和全连接层等组成,通过堆叠组合,可以构建出具有强大学习能力的深度网络模型。
1.2.1 卷积神经网络在智慧交通领域的应用
1) 交通标志检测与识别。卷积神经网络通过对交通标志图像进行预处理(如灰度化、归一化等),并设计合适的网络结构,能够自动从图像中提取交通标志的特征,实现快速准确地识别。
2) 车辆检测与跟踪。卷积神经网络通过自动学习车辆的特征表示,能够在复杂多变的交通场景中实现高效的车辆检测。同时,结合循环神经网络或长短期记忆网络等序列模型,能够实现车辆的连续跟踪,为智能交通管理提供有力支持。
3) 行为分析与异常检测。卷积神经网络通过对监控视频进行分析,可以自动识别行人的行走轨迹、驾驶员的驾驶行为等关键信息,进而判断是否存在异常行为。例如,通过识别驾驶员的疲劳驾驶和分心驾驶等行为,及时发出警告,从而有效降低交通事故的风险。
1.2.2 卷积神经网络在智慧交通领域的发展
卷积神经网络在智慧交通领域的应用不断深化和拓展,其发展趋势表现为:① 轻量化与高效化。针对实际应用中的实时性要求,开发更加轻量化和高效的卷积神经网络模型,减少计算量和存储需求,提高系统的响应速度;② 多源信息融合。为了进一步提高识别的准确率和鲁棒性,将更多地融合多源信息,实现多模态数据的协同处理;③ 跨场景适应性。针对不同交通场景的特点和需求,开发具有更强跨场景适应性的卷积神经网络模型,以应对复杂多变的交通环境;④ 集成学习与知识蒸馏。通过将多个卷积神经网络模型进行集成学习,或利用知识蒸馏技术将大模型的知识迁移到小模型中,可以进一步提高模型的性能和泛化能力。
1.3 目标检测算法
目标检测旨在从图像或视频中准确识别特定类别的目标,并确定其位置。其算法主要分为单阶段检测和两阶段检测。
1.3.1 单阶段检测算法
单阶段检测算法直接从输入图像中预测目标的类别和位置,省略了候选区域生成和特征提取的中间步骤,因此具有较高的计算效率和实时性。其代表算法包括YOLO系列和SSD。
YOLO算法于2015年首次提出,其核心在于将目标检测任务视为一个单一的回归问题。YOLO将输入图像划分为S×S的网格,每个网格负责预测B个边界框及其置信度和C个类别的概率。SSD算法于2016年提出,结合了YOLO的回归思想和Faster R-CNN的锚点机制。SSD在不同尺度的特征图上预测边界框,并利用不同尺度的特征图来检测不同大小的目标。此外,SSD还采用非极大值抑制来去除重复的边界框,进一步提高了检测的准确性。然而,与YOLO系列相比,SSD在特征提取和边界框回归方面可能稍显复杂。
1.3.2 两阶段检测算法
两阶段检测算法首先将输入图像划分为一系列候选区域,然后对这些候选区域进行分类和定位,从而实现较高的检测精度,但其计算效率相对较低。其代表算法包括R-CNN、Fast R-CNN和Faster RCNN等。
R-CNN系列算法使用选择性搜索算法生成候选区域,通过精细的候选区域生成和特征提取,能够在复杂场景下实现较高的检测精度。Fast R-CNN在RCNN的基础上引入了ROI Pooling层,实现特征图的共享,显著提高了检测速度。同时,Fast R-CNN提出了区域候选网络,实现了候选区域的快速生成,进一步提升了检测速度和精度。然而,这类算法由于需要分两步进行检测,其计算效率相对较低,难以满足实时性要求较高的应用场景。
2 改进YOLOv8的交通标志检测识别模型设计
2.1 YOLOv8检测模型
1) YOLOv8的网络结构主要由三部分组成:Back⁃bone、Neck和Head。
Backbone 部分参考了CSPDarkNet 结构,采用了C2f模块替代C3模块。C2f模块通过更有效的结构设计减少了冗余参数,提高了计算效率。首先,通过Conv1层对输入tensor进行拆分,将其分成两部分:一部分直接通过Bottleneck 模块,而另一部分则通过shortcut连接。每个Bottleneck的输入Tensor的通道数仅为上一级的0.5倍,显著降低了计算量。此外,第一个卷积层的核大小改为3×3,提升了特征提取能力。
Neck部分采用了PANet结构,这是一个双向通路网络,通过自底向上和自顶向下的路径聚合增强了特征图的表达能力。与FPN相比,PANet引入了自下向上的路径,使得底层信息更容易传递到高层,从而提高了对不同尺寸目标的检测能力。YOLOv8还通过SPPF模块进行不同尺度的池化操作,进一步提高了特征提取的鲁棒性。
Head部分负责最终的目标检测和分类任务,并将回归分支和预测分支分离。这种设计使得收敛速度更快,检测效果更佳。针对回归分支,YOLOv8使用了Distribution Focal Loss 策略,将坐标预测从确定性单值转变为分布形式,解决了边界模糊的问题。此外,采用了Anchor-Free机制,减少了锚框的超参数设置,简化了训练过程。
2) YOLOv8是一种SOTA模型,旨在快速、准确且易于使用。YOLOv8优异的检测性能主要归功于其优化的网络结构和创新的损失函数设计。通过引入新的骨干网络,YOLOv8能够更有效地提取图像特征,从而提高检测精度。同时,新的检测头和损失函数的设计也使得模型在训练过程中更加稳定,收敛速度更快。
此外,YOLOv8的检测精度主要得益于其改进的特征融合策略和更精细的锚框设计。采用PANet结构进行特征融合,通过自底向上和自顶向下的路径聚合,增强了特征图的表达能力,使得模型能够更好地处理不同尺寸的目标。同时,采用Anchor-Free机制,减少锚框的超参数设置,简化训练过程,提高模型的泛化能力。
再者,YOLOv8的推理速度主要体现在其轻量级的网络设计和高效的计算策略上。通过减少网络结构中的冗余参数和计算量,提高了模型的推理速度,使其在实际应用中能够满足实时检测的需求。
2.2 CBMA 注意力机制
2.2.1 CBAM 注意力机制概述
CBAM(Convolutional Block Attention Module) 注意力机制由通道注意力模块(CAM) 和空间注意力模块(SAM) 组成。
1) 通道注意力模块(CAM) 对每个通道进行全局平均池化和全局最大池化,然后将这两个池化结果输入到一个共享的全连接层中,最后通过Sigmoid激活函数输出一个通道注意力权重向量。这个权重向量用于加权输入特征图的每个通道,以强调重要特征并抑制不重要特征。
2) 空间注意力模块(SAM) 对每个通道进行平均池化和最大池化,然后将这两个池化结果拼接后通过一个卷积层,最后通过Sigmoid激活函数输出一个空间注意力权重张量。这个张量用于加权输入特征图的每个像素,以强调重要区域并抑制不重要区域。
2.2.2 融合CBMA 机制改进YOLOv8
1) 网络结构集成。CBAM模块可以作为一个即插即用的组件,在YOLOv8的主干网络、颈部网络或检测头中的适当位置插入。本文选择将CBAM模块插入到YOLOv8颈部网络的特征融合层之后,能够在不同尺度的特征图上同时应用通道注意力和空间注意力,进一步提升特征图的表达能力。此外,可以在检测头之前插入CBAM模块,以进一步增强用于目标检测的特征图。
2) 参数与训练。由于CBAM模块引入了额外的参数和计算量,需要对模型参数进行相应的调整,如增加训练过程中的迭代次数、调整学习率等超参数,以确保模型能够充分学习并收敛到最优解。
2.3 Swin-Transformer 网络
2.3.1 Swin-Transformer 网络概述
Swin-Transformer是一种基于Transformer架构的图像分类和目标检测模型,它通过引入分层的窗口机制来处理图像,解决了传统Transformer在处理大尺寸图像时的计算和内存开销问题。Swin-Transformer网络结构包括Patch Embedding 层、多个Stage 和一个Head层。每个Stage由多个Swin Transformer Block组成,每个Block包含一个窗口化的Transformer模块和一个跨窗口的注意力模块,这种设计使其在保持高精度的同时,具有更高的计算效率和可扩展性。
2.3.2 融合Swin-Transformer 网络改进YOLOv8