基于机器深度学习的交通标志目标识别

news2025/2/28 6:43:38
在线工具推荐: 三维数字孪生场景工具  -  GLTF/GLB在线编辑器  -  Three.js AI自动纹理化开发  YOLO 虚幻合成数据生成器  -  3D模型在线转换  -   3D模型预览图生成服务

智能交通系统(ITS),包括无人驾驶车辆,尽管在道路上,已经逐渐成熟。如何消除各种环境因素造成的干扰,进行准确高效的交通标志检测和识别,是一个关键的技术难题。然而,传统的视觉对象识别主要依赖于视觉特征提取,例如颜色和边缘,这存在局限性。卷积神经网络(CNN)是针对基于深度学习的视觉对象识别而设计的,成功克服了传统对象识别的缺点。

在本文中,我们基于我们的交通标志识别 (TSR) 数据集实施了一个实验来评估最新版本的 YOLOv5 的性能,本项目中的实验利用UnrealSynth虚幻合成数据生成器 生成了试验的数据集。

1、介绍

近年来,随着人工智能(AI)的爆发,车载辅助驾驶系统更新了以往的驾驶模式。通过获取实时路况信息,系统及时提醒驾驶员进行准确操作,从而防止因驾驶员疲劳而发生车祸。除了辅助驾驶系统外,自动驾驶汽车的开发还需要从数字图像中快速准确地检测交通标志。

交通标志识别(TSR)是从数字图像或视频帧中检测交通标志的位置,并给出特定的分类。TSR方法基本上利用了视觉信息,例如交通标志的形状和颜色。然而,传统的TSR算法在实时测试中也存在一些弊端,例如容易受到驾驶条件的限制,包括照明、摄像头角度、障碍物、行驶速度等。实现多目标检测也非常困难,由于识别速度慢,容易遗漏视觉对象。

随着计算机硬件的不断完善,人工神经网络的局限性得到了很好的缓解,使机器学习进入了发展的黄金时期。深度学习是一种机器学习方法。深度神经网络模型在处理信息时模拟我们人脑的神经结构。利用该神经网络模型从道路图像中提取有效特征,远优于传统的TSR算法,具有提高算法鲁棒性和泛化性的潜力。

TSR的研究成果不仅避免了交通事故,保护了驾驶员,还有助于高效准确地检查道路上的交通标志,从而减少了不必要的人力和资源。此外,它还为无人驾驶和辅助驾驶提供技术支持。因此,基于深度学习的研究工作具有巨大的意义,对我们的日常生活具有不可估量的价值。

在本文中,我们主要研究如何实现基于深度学习的准确实时TSR模型。我们的贡献体现在三个方面。首先,我们收集并扩充样本图像,为我们的交通标志形成一个新的数据集。其次,关于最新版本的YOLOv5,我们实现了我们的实验,并基于我们的数据集评估了TSR性能。

2、TSR

TSR一直是近年来的研究热点。为此,研究了TSR对复杂图像场景中的交通标志区域和非交通标志区域的检测,TSR提取了通过交通标志模式表示的特定特征。现有的TSR方法基本上分为两类:一类是基于传统方法,另一类是与深度学习方法有关。

基于给定图像的颜色和形状的TSR方法的主要步骤是提取候选区域中包含的视觉信息,捕获和分割图像中的交通标志,并通过图案分类正确标记标志。尽管 TSR 需要颜色和形状信息,但用于提高识别准确性。交通标志的照度变化或褪色问题,以及交通标志的变形和遮挡,仍是未解决的问题。传统的机器学习方法通常选择指定的视觉特征,并利用这些特征对交通标志的类别进行分类。具体特征包括类似 Haar 的特征、HOG 特征、SIFT 特征等。

传统的TSR方法基于模板匹配,需要提取和利用交通标志的不变和相似视觉特征,运行匹配算法进行模式分类。这些方法的特征表示需要很好地指定,由于交通标志的变化,这是一个很难准确描述视觉特征的问题。

神经网络、贝叶斯分类器、随机森林和支持向量机(SVM)被用作分类器。然而,传统机器学习方法的性能取决于指定的特征,它们容易遗漏关键特征。此外,对于不同的分类器,需要相应的特征描述信息。因此,传统的机器学习方法存在局限性,其实时性相对来说没有可比性。

深度学习利用多层神经网络自动提取和学习视觉对象的特征,在图像处理方面具有重要意义。CNN 模型是 TSR 最流行的深度学习方法之一。TSR算法是基于区域建议的,又称两阶段检测算法,其核心思想是选择性搜索,其优点是检测定位性能好,但代价是计算量大,计算硬件性能高。

CNN 模型封装了 R-CNN、Fast R-CNN 和 Faster R-CNN。Faster R-CNN结合了边界框回归和目标分类,采用端到端的方法检测视觉对象,不仅提高了目标检测的准确性,而且提升了目标识别的速度。道路标志通常是从驾驶员的角度来检测的,在本文中,我们从卫星图像的角度来观察这些标志。在中,对输入图像采用引导图像滤波来去除图像伪影,如雾和雾。将处理后的图像导入到建议的网络中进行模型训练。

视觉目标检测由分类和定位两个任务组成。在YOLO出现之前,这两个任务在视觉对象检测中是不同的。在YOLO模型中,目标检测被简单地转换为回归问题。此外,YOLO遵循用于视觉目标检测的神经网络的端到端结构,通过一个图像输入同时获得预测边界框的坐标、目标的置信度和目标所属类别的概率。

3、方法论

YOLO系列机型已更新至YOLOv5。视觉目标检测的准确性不断更新;回归始终被采用为核心思想。在本实验中,我们以最新版本的 YOLOv5 作为 NZ-TSR 模型之一。YOLOv5 算法的结构与 YOLOv4 非常相似。整个网络模型分为输入层、骨干层、颈部和预测层四个部分。在图中详细介绍了 YOLOv5 的网络结构。

figure 1

图1

在输入部分,YOLOv5 和 YOLOv4 都利用马赛克方法来增强输入数据。该算法需要将输入图像归一化为固定大小,图像的标准大小为 608 × 608 × 3。此外,网络训练基于初始锚定框,通过与实际注释框进行比对,并迭代更新网络模型参数,得到预测框。

骨干部分包含焦点模块和CSP模块。对焦模型的关键步骤是通过切片操作压缩输入图像的高度和宽度。对图像进行拼接,将图像尺寸信息(即宽度和高度)整合到通道信息中,以增加输入通道。在CSP模块方面,YOLOv5设计了CSP模块的两个分支,分别是CSP1_X和CSP2_X。其中,CSP1_X模块主要用于骨干网,CSP2_X主要用于颈部网络。

YOLOv5 中的颈部部分模仿 YOLOv4,采用 FPN+PAN 结构。特征金字塔网络(FPN)从上到下工作,利用上采样操作来传输和融合信息,以获得预测的特征图。相比之下,PAN(路径聚合网络)是一个从下到上的特征金字塔。

4、实验

数据采集

本实验选取了多类具有较高认知度、重要安全意义的交通标志。由于真实数据的采集的成本高昂,且采集难度大耗时较长。在本文中,将使用UnrealSynth虚幻合成数据生成器 来生成训练所需要的数据集,用户只需要将在UnrealSynth虚幻合成数据生成器中搭建虚拟场景,经过对虚拟场景的简单配置就可以自动生成YOLO模型训练数据集,非常的简单方便:

1. 场景准备

  • 将模型导入到场景。
  • 配置场景先关参数,如:生成的图片数据集的图片分辨率、生成的图片的数量等。

2. 生成数据集

设置参数后,点击【确定】后会在本地目录中...\UnrealSynth\Windows\UnrealSynth\Content\UserData 生成本地合成数据集,本地数据包含两个文件夹以及一个 yaml 文件:images、labels、test.yaml 文件;images中存放着生成的图片数据集,labels中存放着生成的标注数据集。

images和labels目录下各有两个目录:train 和 val,train 目录表示训练数据目录,val 表示验证数据目录,标注数据的格式如下所示:

0 0.68724 0.458796 0.024479 0.039815
0 0.511719 0.504167 0.021354 0.034259
0 0.550781 0.596759 0.039062 0.04537
0 0.549219 0.368519 0.023438 0.044444
0 0.47526 0.504167 0.009896 0.030556
0 0.470313 0.69537 0.027083 0.035185
0 0.570052 0.499074 0.016146 0.040741
0 0.413542 0.344444 0.022917 0.037037
0 0.613802 0.562037 0.015104 0.027778
0 0.477344 0.569444 0.017188 0.016667

synth.yaml是数据的配置文件,数据格式如下:

path:
train: images
val: images
test:
names:
 0: traffic sign

4,4 实验结果

YOLOv5模型在结果中具有出色的可视化功能。首先,我们直观地显示其数据集的最终识别结果,如图5图4、我们清楚地观察到 YOLOv5 实验中的 TSR 非常准确。

figure 4

图4

最后,YOLOv5 在数据集中的所有具体评估指标如图5所示, 特别是,第二列和第三列分别是用于视觉目标检测和分类的训练数据集和验证数据集的损失函数的平均值。该值越小,模型的识别性能越好。

figure 5

图5

通常,评估实验结果最方便、最直接的方法是准确性。在本文中,我们利用PR曲线来证明模型TSR性能的准确率和召回率之间的权衡。

5 结论和今后的工作

本项目旨在基于交通标志数据集,探究TSR的准确性和速度。因此,本文选择了YOLO系列算法的最新版本,即YOLOv5,来评估其性能。在这个实验中,我们使用UnrealSynth虚幻合成数据生成器 ,通过搭建虚拟场景的方式,生成了交通标志的数据集。然后,我们基于具有非常强计算能力的Google Colab平台实现了精心设计的实验。从实验结果来看,YOLOv5在所有类中的准确率均高达97.70%,各类的平均精度均在90.00%以上。

未来,我们将继续扩展我们的数据集,以涵盖所有类别的交通标志。同时,将包括更多新开发的视觉对象识别模型,如Mask R-CNN、CapsNet和Siamese神经网络。胶囊神经网络(CapsNet)已被用于有效识别一类具有空间关系的交通标志。

转载:基于机器深度学习的交通标志目标识别 (mvrlink.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1278246.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OrangePi 5:ROS2 Humble中使用激光雷达

OrangePi 5:ROS2 Humble中使用激光雷达 文章目录 OrangePi 5:ROS2 Humble中使用激光雷达1、硬件准备2、ROS2 Humble安装2.1 使用集成脚本安装2.2 按ROS2官方指导安装2.3 ROS2安装验证 3、YDLIDAR X2激光雷达驱动安装3.1 YDLIDAR X2激光雷达介绍3.2 YDLID…

go第三方包发布(短精细)

1、清除其他依赖项 $ go mod tidy # 清除不必要的依赖依赖清除完成后,查看go.mod文件配置是否规范 module github.com/fyupeng/rpc-go-netty go 1.19 require ( )2、本地版本创建 $ git tag v0.1.0 # 本地 创建标签3、版本提交 $ git push github v0.1.0 # 推送…

Programming Contest 2023(AtCoder Beginner Contest 331)D题 Tile Pattern --- 题解

目录 D - Tile Pattern 题目大意: 思路: 代码: D - Tile Pattern D - Tile Pattern (atcoder.jp) 题目大意: 给你一个n和q,n为局部棋盘大小(n*n) 并且给出局部棋盘中黑白子位置的放置情况,q为查询次数…

Docker部署Plik临时文件上传系统并且实现远程访问

文章目录 1. Docker部署Plik2. 本地访问Plik3. Linux安装Cpolar4. 配置Plik公网地址5. 远程访问Plik6. 固定Plik公网地址7. 固定地址访问Plik8. 结语 本文介绍如何使用Linux docker方式快速安装Plik并且结合Cpolar内网穿透工具实现远程访问,实现随时随地在任意设备上…

深入解析JVM内存结构:Metaspace、堆与垃圾收集器

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

Flask使用线程异步执行耗时任务

1 问题说明 1.1 任务简述 在开发Flask应用中一定会遇到执行耗时任务,但是Flask是轻量级的同步框架,即在单个请求时服务会阻被塞,直到任务完成(注意:当前请求被阻塞不会影响到其他请求)。 解决异步问题有…

C语言--每日选择题--Day32

如果大家对读研究生和就业不知道如何抉择,我的建议是看大家的经济基础,如果家里不是很需要你们工作,就读研提升自己的学历,反之就就业;毕竟经济基础决定上层建筑; 第一题 1. 下面代码的结果是:…

Paxos 算法

Paxos 算法 介绍 Paxos 算法是第一个被证明完备的分布式系统共识算法。共识算法的作用是让分布式系统中的多个节点之间对某个提案(Proposal)达成一致的看法。提案的含义在分布式系统中十分宽泛,像哪一个节点是 Leader 节点、多个事件发生的…

百马百担c语言编程

以下是一个百马百担问题的C语言编程实现&#xff1a; #include <stdio.h>int main() { int n, m, k; scanf("%d%d%d", &n, &m, &k); int a[n], b[m], c[k]; for (int i 0; i < n; i) { scanf("%d", &a[i]);…

LangChain 18 LangSmith监控评估Agent并创建对应的数据库

LangChain系列文章 LangChain 实现给动物取名字&#xff0c;LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储&#xff0c;读取YouTube的视频文本搜索I…

ELK高级搜索,深度详解ElasticStack技术栈-下篇

前言&#xff1a;ELK高级搜索&#xff0c;深度详解ElasticStack技术栈-上篇 14. search搜索入门 14.1. 搜索语法入门 14.1.1 query string search 无条件搜索所有 GET /book/_search结果&#xff1a; {"took" : 969,"timed_out" : false,"_shar…

大数据湖项目建设方案:文档全文101页,附下载

关键词&#xff1a;大数据解决方案&#xff0c;数据湖解决方案&#xff0c;数据治理解决方案&#xff0c;数据中台解决方案 一、大数据湖建设思路 1、明确目标和定位&#xff1a;明确大数据湖的目标和定位是整个项目的基础&#xff0c;这可以帮助我们确定项目的内容、规模、所…

Mybatis 分页查询的三种实现

Mybatis 分页查询 1. 直接在 sql 中使用 limit2. 使用 RowBounds3. 使用 Mybatis 提供的拦截器机制3.1 创建一个自定义拦截器类实现 Interceptor3.2 创建分页查询函数 与 sql3.3 编写拦截逻辑3.4 注册 PageInterceptor 到 Mybatis 拦截器链中3.5 测试 准备一个分页查询类 Data…

算法工程师面试八股(搜广推方向)

文章目录 机器学习线性和逻辑回归模型逻辑回归二分类和多分类的损失函数二分类为什么用交叉熵损失而不用MSE损失&#xff1f;偏差与方差Layer Normalization 和 Batch NormalizationSVM数据不均衡特征选择排序模型树模型进行特征工程的原因GBDTLR和GBDTRF和GBDTXGBoost二阶泰勒…

报错:执行sudo gedit时 No protocol specifiedUnable to init server: 无法连接: 拒绝连接

1.问题描述 在执行sudo gedit编辑文件时&#xff0c;报错连接不上服务&#xff1a; 2.问题解决 2.1先安装Vncserver sudo apt-get update sudo apt-get install tightvncserver2.2执行 vncserver 按提示输入密码&#xff0c;不宜过短 2.3若出现提示warning 则按提示执行&…

打印元素绘制协议Java实现

我一直提倡的面向接口和约定编程&#xff0c;而打印元素绘制协议一直是我推荐的打印实现方式&#xff0c;我以前只是强调按打印元素绘制协议输出数据就行了&#xff0c;有实现程序按协议控制打印&#xff0c;说是可以用任何语言实现客户端程序而不影响打印业务&#xff0c;那么…

C++——初始化列表

初始化列表&#xff1a;一一个冒号开始&#xff0c;接着是一个以逗号分隔的数据成员列表&#xff0c;每个“成员变量”后面跟一个放在括号中的初始值或表达式。 #include <iostream> using namespace std; class Date { public:Date(int year, int month, int day): _ye…

国标GBT 27930关键点梳理

1、充电总流程 整个充电过程包括六个阶段:物理连接完成、低压辅助上电、充电握手阶段、充电参数配置阶段、充电阶段和充电结束阶段。 在各个阶段,充电机和 BMS 如果在规定的时间内没有收到对方报文或没有收到正确报文,即判定为超时(超时指在规定时间内没有收到对方的完整数据包…

Hdoop学习笔记(HDP)-Part.06 安装OracleJDK

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …

酷开科技 | 酷开系统,让家庭娱乐方式焕然一新!

在这个快节奏的社会&#xff0c;家庭娱乐已成为我们日常生活中不可或缺的一部分&#xff0c;为了给家庭带来更多欢笑与感动&#xff0c;酷开科技发力研发出拥有丰富内容和技术的智能电视操作系统——酷开系统&#xff0c;它集合了电影、电视剧、综艺、游戏、音乐等海量内容&…