问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

基于深度学习的交通标志智能检测识别系统

创作时间:
作者:
@小白创作中心

基于深度学习的交通标志智能检测识别系统

引用
1
来源
1.
https://www.bilibili.com/read/cv39546699/?jump_opus=1

交通标志智能检测与识别系统是一种利用计算机视觉和深度学习技术来自动检测并识别道路上各种交通标志的智能系统。这类系统的开发旨在提高驾驶安全性和效率,特别是在自动驾驶汽车的发展中起到了至关重要的作用。

一、系统背景与意义

交通标志智能检测与识别系统(TSR, Traffic Sign Recognition System)是现代智能交通系统的重要组成部分。该系统的主要功能在于及时提醒驾驶员注意前方的交通标志,确保驾驶员能够严格遵守交通法规,从而显著提升行车安全性。

  • 智能交通系统(ITS):该系统作为智能交通系统的重要组成部分,能够实时监控交通标志的状态,快速发现损坏或遮挡的标志,确保道路信息的畅通无阻。
  • 自动驾驶技术:在自动驾驶领域,准确的交通标志识别系统是自动驾驶汽车感知环境的关键,帮助车辆理解和遵守交通规则,使自动驾驶更加安全可靠。
  • 交通管理:交通标志识别技术可以应用于交通流量的优化控制、道路状况的监测和预警等功能,减少交通事故,降低能源消耗,减轻环境污染。
  • 导航系统:导航软件可以利用交通标志识别信息提供更加精准的路线指引,帮助驾驶者做出正确的驾驶决策,避免交通事故。
  • 驾驶辅助系统:该系统可以提醒驾驶者即将到来的交通条件变化,增强驾驶体验,提升驾驶安全性。
  • 交通数据采集与分析:通过对交通标志的识别和分析,可以了解不同路段的交通规则、交通流量分布等情况,为交通规划和管理提供科学依据。
  • 城市交通大脑:在一些城市中,交通标志识别系统与城市交通大脑相结合,实现对城市交通的全面监控和管理,提高交通系统的运行效率。
  • 公共交通管理:智能交通系统可以通过实时监测公共交通工具的运行状态和乘客流量,智能调度公共交通资源,提高公共交通的运行效率和乘客满意度。

二、系统功能与实现

通过搜集不同种类的交通标志的相关数据图片,根据目标检测技术,基于Python与PySide6开发了一款界面简洁的交通标志智能检测与识别系统,可支持图片、视频以及摄像头检测,同时可以将图片或者视频检测结果进行保存。

软件核心功能介绍及效果演示

软件主要功能:

  1. 可进行45种交通标志的检测与识别,具体交通标志名称见数据集介绍部分;
  2. 支持图片、视频及摄像头进行检测,同时支持图片的批量检测;
  3. 界面可实时显示目标位置、目标总数、置信度、用时等信息;
  4. 支持图片或者视频的检测结果保存;

(1)图片检测演示
点击图片图标,选择需要检测的图片,或者点击文件夹图标,选择需要批量检测图片所在的文件夹,操作演示如下:点击目标下拉框后,可以选定指定目标的结果信息进行显示。 点击保存按钮,会对视频检测结果进行保存,存储路径为:runs目录下。参考视频操作

(2)视频检测演示
点击视频图标,打开选择需要检测的视频,就会自动显示检测结果。点击保存按钮,会对视频检测结果进行保存,存储路径为:runs目录下。参考视频操作

(3)摄像头检测演示
点击摄像头图标,可以打开摄像头,可以实时进行检测,再次点击摄像头图标,可关闭摄像头。参考视频操作

(4)保存图片与视频检测结果
点击保存按钮后,会将当前选择的图片【含批量图片】或者视频的检测结果进行保存。检测的图片与视频结果会存储在runs目录下。参考视频操作

三、模型训练与评估

  1. 使用模型基本原理
    YOLOv8是一种前沿的目标检测技术,它基于先前YOLO版本在目标检测任务上的成功,进一步提升了性能和灵活性。主要的创新点包括一个新的骨干网络、一个新的 Ancher-Free 检测头和一个新的损失函数,可以在从 CPU 到 GPU 的各种硬件平台上运行。其主要网络结构如下:

YOLOv9在YOLOv8的网络基础上做了进一步创新,其主要专注于解决深度神经网络中信息丢失带来的挑战。信息瓶颈原理和可逆函数的创新使用是其设计的核心,确保了 YOLOv9 保持高效率和准确性。YOLOv9引入了两项关键创新概念:可编程梯度信息 (PGI):PGI 是 YOLOv9 中引入的一个新概念,用于解决信息瓶颈问题,确保跨深度网络层保存基本数据。这样可以生成可靠的梯度,促进准确的模型更新并提高整体检测性能。

YOLOv10 的架构建立在以前 YOLO 模型的优势之上,通过消除非最大抑制 (NMS) 和优化各种模型组件, 实现了最先进的性能,并显著降低了计算开销。

模型网络结构由以下组件组成:

  • 主干网:YOLOv10 中的主干网负责特征提取,使用增强版的 CSPNet(Cross Stage Partial Network)来改善梯度流并减少计算冗余。
  • 颈部:颈部被设计成聚合来自不同尺度的特征,并将它们传递到头部。它包括 PAN(路径聚合网络)层,用于有效的多尺度特征融合。
  • 一对多头:在训练过程中为每个对象生成多个预测,以提供丰富的监督信号,提高学习准确性。
  • 一对一头:在推理过程中为每个对象生成一个最佳预测,消除对 NMS 的需求,从而减少延迟并提高效率。

YOLOv10创新点如下

  • 无 NMS 训练:利用一致的双重分配来消除对 NMS 的需求,从而减少推理延迟。
  • 整体模型设计:从效率和精度两个角度对各种组件进行全面优化,包括轻量级分类头、空间通道解耦下采样和秩引导块设计。
  • 增强的模型功能:整合大核卷积和部分自注意力模块,可在不增加大量计算成本的情况下提高性能。
  1. 数据集准备
    本文使用的数据集为交通标志数据集,选取其中每类样本数大于100的交通标志图片进行模型训练,并将原始标签转换为yolo格式标签。最终一共包含9738张图片,其中训练集包含6793张图片,验证集包含1949张图片,测试集包含996张图片.部分图像及标注如下图所示。最终共有45种交通标志参与模型训练,中英文名称对照如下:

模型训练时,使用的名称对照表如下:
其中训练的45个交通标志类别中文名称为:
在项目目录中新建datasets目录,同时将检测的图片分为训练集与验证集放入交通标志类45类目录下。 同时我们需要新建一个data.yaml文件,用于存储训练数据的路径及模型需要进行检测的类别。具体内容如下:

path: /home/test/projects/Projectpractice/yolov9-main/datasets/交通标志类45类
train: images/train
val: images/valid
test: images/test
nc: 45
names: ['pl80', 'p6', 'p5', 'pm55', 'pl60', 'ip', 'p11', 'i2r', 'p23', 'pg', 'il80', 'ph4', 'i4', 'pl70', 'pne', 'ph4.5', 'p12', 'p3', 'pl5', 'w13', 'i4l', 'pl30', 'p10', 'pn', 'w55', 'p26', 'p13', 'pr40', 'pl20', 'pm30', 'pl40', 'i2', 'pl120', 'w32', 'ph5', 'il60', 'w57', 'pl100', 'w59', 'il100', 'p19', 'pm20', 'i5', 'p27', 'pl50']

数据准备完成,准备开始训练。

  1. 训练结果评估
    深度学习中,我通常用损失函数下降的曲线来观察模型训练的情况。在训练时主要包含三个方面的损失:定位损失(box_loss)、分类损失(cls_loss)和动态特征损失(dfl_loss),在训练结束后,可以在runs/目录下找到训练过程及结果文件,如下所示:

各损失函数作用说明:

  • 定位损失box_loss:预测框与标定框之间的误差(GIoU),越小定位得越准;
  • 分类损失cls_loss:计算锚框与对应的标定分类是否正确,越小分类得越准;
  • 动态特征损失(dfl_loss):DFLLoss是一种用于回归预测框与目标框之间距离的损失函数。在计算损失时,目标框需要缩放到特征图尺度,即除以相应的stride,并与预测的边界框计算Ciou Loss,同时与预测的anchors中心点到各边的距离计算回归DFLLoss。 当然还存在其他损失函数进行调节训练。此处展示了yolov8的损失函数, 具体的训练结果如下所示:

我们通常用PR曲线来体现精确率和召回率的关系,本文训练结果的PR曲线如下。mAP表示Precision和Recall作为两轴作图后围成的面积,m表示平均,@后面的数表示判定iou为正负样本的阈值。mAP@.5:表示阈值大于0.5的平均mAP,可以看到本文模型45类目标检测的mAP@0.5平均值为0.85,结果还是很不错的。

  1. 检测结果识别
    模型训练完成后,我们可以得到一个最佳的训练结果模型best.pt文件,在runs/trian/weights目录下。我们可以使用该文件进行后续的推理检测。图片检测代码如下:

这就是交通标志智能检测与识别系统的原理与代码介绍。基于深度学习模型,用python与pyside6开发了一个带界面的软件系统,即文中第二部分的演示内容,能够很好的支持图片、视频及摄像头进行检测,同时支持检测结果的保存。

视频频参考链接:https://www.bilibili.com/video/BV1N5yZYREVZ/?pop_share=1&vd_source=57a174b19efc43c207675a3a9964ec71

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号