基于YOLO11的路口交通信号灯指引灯通行规则识别

基于YOLO11的路口交通信号灯通行规则识别(v2.0.0)

新变化

在v2.0.0版本中,我们引入了YOLO11模型,并搭配更为丰富的数据集来训练模型。这一改进带来了显著的变化:原本独立的目标检测和信号分类两个步骤得以整合。在以往的流程中,这两个步骤存在较多冗余的过滤筛选操作,而此次改进将其简化,实现了交通信号灯识别的一步到位。经过这样的优化,得到的新模型不仅在识别准确率上有了少量提升,在推理效率方面同样有所增强,并且整体部署变得更加便捷。

项目简介

本项目聚焦于路口交通信号灯通行规则的识别,整个过程分为两个关键步骤:
在这里插入图片描述

目标检测

借助YOLO11目标检测模型,精准定位图像中的交通信号灯,并识别其颜色、形状等特征。交通信号灯的形状主要包括圆形、左箭头、上箭头和右箭头。

规则解析

针对图像中检测到的交通信号灯,深入分析其所代表的通行规则,即明确车辆能否直行、左转以及右转。

在通行规则方面,圆形信号灯对三个方向(直行、左转、右转)的通行规则进行控制,但其优先级相对较低;而箭头形信号灯仅针对对应方向(如左箭头对应左转方向)的通行规则进行控制,不过优先级较高。另外,在没有明确信号指示的情况下,例如没有红色的右箭头信号灯时,默认车辆可以右转。

效果展示

在这里插入图片描述

性能评估

推理耗时:模型输入尺寸固定为640x480。在该输入条件下,使用PyTorch进行平均一张图片的推理,耗时大约为50ms;采用ONNX Runtime进行推理,平均耗时约为40ms。测试环境为:CPU为11th Intel Core i5 - 1155G7 ,主频2.50GHz,模型为YOLO11n。
目标检测准确性指标:在当前数据集下,信号灯目标检测的各项准确性指标如下:

ClassPrecisionRecallmAP50mAP50 - 95
ALL0.970.9710.9890.89
F00.9910.9950.871
F110.9810.9950.872
L00.9810.9850.9940.912
L10.98210.9950.915
S010.8170.9440.878
S110.9870.9950.885
R00.81510.9950.914
R10.99310.9950.876

需要特别说明的是,由于本项目训练所用的数据集规模相对较小,因此在真实环境中的鲁棒性可能存在一定不足。

使用说明

环境准备与模型推理部署

首先,安装项目所需的环境依赖包。目前项目采用ONNX Runtime进行模型推理,可通过以下命令安装依赖:

pip install -r requirements.txt

若希望使用GPU进行推理,则还需安装 onnxruntime-gpu

pip install onnxruntime-gpu

在这里插入图片描述

图像目录与模型权重设置

待识别的图像默认存放在 inferences/images/ 目录下,识别结果默认保存在 inferences/results/ 目录。若这两个目录不存在,请先手动创建。

将所有待识别的图像放入 inferences/images/ 目录,要求图像尺寸为640x480。您可以在本项目的Releases中下载训练好的模型权重文件,并将其解压到 inferences/models/ 目录下。

运行识别程序

完成上述准备工作后,运行 main.py 即可启动识别程序:

python main.py

配置文件说明

本项目识别程序的默认配置文件为 configs/inference.yaml,其中各属性含义如下:
precision: "fp32":推理运算精度,可选择 “fp32”(单精度)或 “fp16”(半精度)。
session-providers:ONNX Runtime Providers参数,目前默认设置为 "CPUExecutionProvider"
conf-threshold: 0.25:目标检测置信度阈值。
iou-threshold: 0.45:目标检测非极大值抑制IoU阈值。
model-path: "inferences/models/detection-fp32.onnx":模型加载路径。

自定义数据集训练模型

如果您希望使用自己的数据集训练模型,则需要安装 ultralytics 框架,并参照Ultralytics官方文档进行模型的训练。训练完成后,将模型转换为ONNX格式,即可用于部署:

pip install ultralytics

通过以上步骤,您就可以顺利使用本项目进行路口交通信号灯通行规则的识别工作 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值