自动驾驶中的交通标志识别原理及应用

自动驾驶中的交通标志识别原理及应用

image

附赠自动驾驶学习资料和量产经验:链接

概述

道路交通标志和标线时引导道路使用者有秩序使用道路,以促进道路行车安全,而在驾驶辅助系统中对交通标志的识别则可以不间断的为整车控制提供相应的帮助。比如禁止类标志可以帮助系统提前进行危险预判;警告类标志可以帮助系统提前进行在某些情况下进行提前避障处理;指示类标志可以帮助系统进行控制预处理,以确保行车遵循道路指示。故对于交通标示的正确识别及精准应用可以为驾驶辅助系统甚至自动驾驶提供更加完美的助攻。本文将从两方面进行描述,分别详述交通标志识别的原理及应用方法。

交通标志识别原理

交通标志识别又称为TSR(Traffic Sign Recognition)是指能够在车辆行驶过程中对出现的道路交通标志信息进行采集和识别,及时向驾驶员做出指示或警告,亦或者直接控制车辆进行操作,以保证交通通畅并预防事故的发生。在安装有安全辅助驾驶系统的车辆中,如果车辆能够提供高效的TSR系统,及时为驾驶员提供可靠地道路交通标志信息,有效提高驾驶安全性和舒适性。

image

image

如下将介绍一种典型的道路交通标志识别的方法。

TSR是根据人类视觉系统辨识物体的特性,其识别原理是利用道路标志丰富的颜色信息和固定的形状信息进行特征识别。具体可将识别过程分为“分隔”和“识别”两个步骤。其中分隔是指在获取的图像中发现候选目标,并进行相应的预处理,其次是交通标志识别,包括特征提取和分类等,最后进一步判定目标的真实性。

image

1、交通标志分隔

交通标志分隔实际是需要快速从复杂的场景图像中获取可能是交通标志的感兴趣区域。然后采用模式识别的方法对感兴趣区域进行进一步辨识,定位其具体位置。由于交通标志功能是起到指示性、提示性和警示性等作用,他们设置都具有醒目、颜色鲜明、图形简洁、意义明确等特点。因此感兴趣区域通常是利用其颜色和形状进行的。

如下举例说明利用颜色如何进行分隔。

交通标志的颜色无疑具有显著性特征,以颜色进行检测和识别的方法有很多,包括对颜色空间的各个通道或其组合进行阈值分割或聚类,区域分裂,颜色边缘检测等,用经过训练的人工神经网络作为分类器识别颜色,以颜色为索引,将目标在直方图与模板库中图像的直方图进行匹配,找出可能的若干模板,为下一步形状分析做准备。

目前,在交通标志识别中常用的彩色空间包括RGB、HIS、CIE几种,而RGB作为图像处理中常用的三基色,是构建其他各种颜色的基础,其他颜色表示方式可以用RGB变换得到。

image

image

我们知道,对于交通标志而言大都颜色比较单一、固定,比如红色标志一般表示禁令,蓝色标志一般表示指示类,黄色标志一般表示警告类,这里正好利用RGB的三基色红、黄、蓝加以识别匹配来表示,但由于对于驾驶辅助系统功能TSR通常是一个动态交互识别的过程,其对于光照、气候以及阴影等干扰的影响反应较为敏感,而RGB信息不仅代表色彩,也代表亮度,并且三基色之间存在着很大的相关性,因此,为了消除RGB颜色本身包含的亮度信息,可在RGB空间将颜色值R、G、B将在亮度上进行归一化,从而将一个三维空间降到二维空间表示的颜色信息,这样RGB三基色颜色之间的亮度相关性就减小了。

由于颜色空间更多的还包含了饱和度等信息,故为了更好区分颜色与亮度信息,研究人员更多采用适合人类视觉特性的色彩模型HSI模型来处理交通标志识别,H表示不同颜色,S表示颜色深浅,I表示明暗程度,HSI其最大的特点是H、S、I之间相关性极小,在HSI空间中的每个彩色图像都对应着一个相对一致的色调H。

image

2、交通标志识别

当在试车环境中分割出来交通标志信息的感兴趣区域后,需要采用一定的算法对其进行判别,以便确定它属于哪一种具体的交通标志,一般的判别方法包括模板匹配法、基于聚类分析法、基于形状分析方法、基于神经网络分析法、基于支持向量机的方法。

2.1 基于模板匹配法

模板匹配法是对交通标志建立相应的模板库,当系统分割出感兴趣区域时,通过像素遍历的方式与模板库中的形状进行匹配,通过统计校验误差值,选择误差值最小的模板库中的标志作为匹配到的实际交通标志,该方法简单,但运算量大、适应能力差、效果不一定如预期。

2.2 基于聚类分析法

聚类算法是一种建立在统计基础上的算法,抗噪声能力强,适用于自然场景的图像处理,聚类算法检测识别主要用在对颜色的识别上,由于交通标志的颜色是固定的,因此初始聚类中心是已知的,这就能达到很好的分类效果。也可通过对已经聚类完成的区域进行二次聚类,这样就能进一步去除噪声,达到更好的效果。

2.3 基于神经网络的方法

神经网络是模拟人脑神经细胞元的网络结构,由大量神经元相互连接而成的非线性动态系统,对于交通标志认知而言,利用该方法建议一个三层神经网络,分别对应于RGB空间三通道,另外通过建立一个控制单元,网络作为一个相关检测器,如果目标区域存在交通标志,网络输出相应的高频信号,否则输出低频信号。

2.4 支持向量机的方法

支持向量机是一种典型的前馈神经网络方法,用于解决模式分类和非线性问题,其主要思想是建立一个最优决策超平面,使得该平面两侧距平面最近的两类样本之间的距离最大化,为分类提供更好的泛化能力。对于非线性可分模式分类问题,需要将负责的模式分类问题非线性的投射到高维特征空间,因此只要变换是非线性的且特征空间维数够高,则原始模式空间能变成一个新的高维特征空间,在该空间中,其模式以较高的概率变得线性可分。其中变换过程要求生成一个核函数进行卷积,相应典型的核函数表示如下:

高斯函数:

image

用于径向集函数分类器

内积函数:

image

用于高阶多项式集分类器;

Sigmoid核函数:

image

用于实现一个单隐层感知器神经网络;

交通标志识别应用

目前交通标志的识别技术还无法做到较高的灵敏、稳定和准确性,特别是针对受到不同季节、天气条件影响下的光照条件有所不同导致采集到的图像复杂多样;而道路交通情况的复杂性可能造成交通标志污损、颜色、形状发生变化,而树木、建筑物的遮挡又可能导致其无法被及时的识别到位,同时在高速驾驶过程中,由于车辆行驶抖动等因素,可能造成图像帧匹配过程中出现误差,从而无法稳定地识别出相应的交通标志。因此交通标志识别目前在驾驶辅助领域还未能得到广泛的应用,较为成熟的应用方案有如下几种:

1、基于限速标志的自动限速

基于限速标志的自动限速主要是利用识别到的限速标志显示的限速值,自车提前进行预判,这里我们设置几种不同的速度值进行比较。

VReal表示本车当前实际巡航车速,Vtarget表示本车目标巡航速度,Vlim表示限速值信息,Vfront表示识别到的前车车速。

image

根据自身车速这一敏感信息进行如下不同程度的限速策略:

1.1 本车定速巡航:

  • 当检测到本车VReal>Vlim且Vtarget<Vlim时,系统自动根据目标巡航车速进行减速控制,此时需考虑限速值大小,发送较大的减速度确保本车减速到限速标志时,其速度不大于限速标志;

  • 当检测到本车VReal<Vlim且Vtarget>=Vlim时,系统自动根据识别到的限速值Vlim进行减速;

  • 当检测到本车VReal<Vlim<Vtarget时,系统控制本车加速度斜率,确保本车通过限速牌时其速度值不大于限速值;

  • 当检测到本车VReal<Vtarget<Vlim时,可按照正常的加速逻辑加速至目标车速,此时需考虑加速度斜率不能出现加速过猛引起的驾驶恐慌;

1.2 本车跟随前车行驶:

  • 当检测到本车VReal>VFront>Vlim时,系统在确保本车不与前车碰撞的情况下进行自动减速控制;

  • 当检测到本车VReal<Vlim<VFront时,系统在确保本车在识别距离内不超过限速值的情况下进行适当加速控制;

  • 当检测到本车Vlim<VReal<Vtarget时,系统控制本车在一定识别距离内减速到限速值,不跟随前车进行加速;

  • 当检测到本车VFront<Vlim<VReal时,本车既可以按照目标前车进行减速控制,也可以按照限速值进行控制,输出的减速度值大小需确保在一定距离处自动减速到限速值处;

1.3 通过限速牌后控制逻辑

以上本车进行自动限速后,当车辆行驶通过限速牌,同时识别到新的限速牌时需要重新进行速度控制,如新的限速牌限速值比当前值小,则根据1)2)中的逻辑进行进一步限速,如新的限速牌限速值比当前值大,则需要根据当前更新后的本车实际车速、前车车速、本车目标巡航车速进行加速度重分配,确保限速和碰撞优先考虑的同时进行适当控制。

2、 基于并道策略的提前并道

image

image

对于车辆行驶在高速路情况下来说,驾驶车辆需要考虑在不同场景下进行提前变道的问题,目前有两种可行方案:

  • 其一,当在一定距离前检测到前方有并道标志信息时,通过语音或仪表图像提前提示驾驶员对车辆进行变道控制将车辆变道至目标车道;

  • 其二,当在一定距离前如果系统接收高精度地图相关车道级别信息,则可以直接控制车辆变道至目标车道,期间需要检测目标车道线是否为虚线,目标车道是否变道安全等;

3、基于红绿灯识别的提前刹车

基于红绿灯标志识别的驾驶辅助系统,要求在系统基于识别到的红绿灯提前对车辆巡航及变道进行控制。

image

主要有以下几种控制场景策略:

3.1 识别到绿灯:

若本车处于跟随前车行驶状态,前车以较低速度行驶,本车在确保碰撞安全的前提下,继续跟随前车行驶,并同时实时监控车灯变化,一旦变成黄灯,则立即停止跟随策略,保持一定的减速至刹停;

若本车处于自车定速巡航模式,本车已达到定速值,则进行匀速控制,若本车未达到定速值,则根据定速值进行匀加速控制,期间需要实时监控信号灯变化,同时控制加速斜率;

3.2 识别到黄灯:

若本车识别到黄灯,则不管本车是否处于跟车状态,均需要控制本车减速之刹停,期间减速过程可进行舒适性减速,由发动机反拖转换为制动切入;

3.3 识别到红灯:

若已经识别到红灯,则根据前车停止状态,确保避撞的前提下,控制本车急减速至刹停,保持本车刹停状态下与前车1m以上的距离;

总结

自动驾驶需要保证在道路行驶中充分遵守驾驶规则,保证系统控制的驾驶过程符合法律规定,交通标志识别在自动驾驶系统开发过程中起着举足轻重的作用,不仅能够为系统提供各种引导和约束信息,如显示当前路段交通状况,提示前方驾驶环境危险和困难,为自动驾驶系统做出警告,同时做出为驾驶安全提供相应的指引策略。当前交通标志识别技术由于受到道路、环境、天气、光照及驾驶稳定性的影响,其识别效果鲁棒性无法得到相应的保证,这就使得该技术还无法大规模的市场普及应用。当然后续针对如上提到的对其性能的限制策略也可通过如下一些算法进行前瞻性研究:

  1. 开展去除实际道路复杂环境干扰的预处理算法研究;如可采用图像复原技术进行处理运动模糊,采用图像不变距理论分析处理图像旋转、扭曲等情况,利用几何分析、推理及模糊理论等处理图像遮掩问题;

  2. 发展多分辨率以及多分形技术;采用金字塔结构的多分辨率分割算法尽心图像分割;

  3. 发展信息融合技术;利用除摄像头这一直观检测的传感器外,系统还可利用地图信息,后续发展5G下的V2x信息仍旧可为本车交通标志识别提供辅助;

  4. 深入研究句法结构模式识别技术;利用结合传统统计学识别方法结合句法模式识别技术获得图像的结构信息,进一步深化对识别图像标志的理解。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

内网穿透的应用-如何在Android Termux上部署MySQL数据库并实现无公网IP远程访问

文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备&#xff0c;尽管最初并非设计为服务器&#xff0c;但是随着技术的进步我们可以将Android配置为生产力工具&#xff0c;变成一个随身…

esp32上PWM呼吸灯

1、什么是pwm PWM&#xff08;Pulse Width Modulation&#xff09;简称脉宽调制&#xff0c;是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术&#xff0c;广泛应用在测量、通信、工控等方面。 1.1频率 单位时间内PWM方波重复的次数 1.2占空比 一个周期内…

Unity2023使用sdkmanager命令行工具安装Android SDK

1&#xff0c;下载cmdline-tools&#xff0c;官网地址&#xff1a;https://developer.android.com/studio或者https://dl.google.com/android/repository/文件名 文件名对应版本名。例如文件名为commandlinetools-win-9862592_latest.zip 引用Android cmdline-tools 版本与其…

【二分查找】Leetcode 寻找峰值

题目解析 162. 寻找峰值 题目中有一个很重要的提示&#xff1a;对所有有效的i都存在nums[i] ! nums[i1],因此这道题不需要考虑nums[mid] 和 nums[mid1]之间的相等与否的关系 算法讲解 1. 暴力枚举 我们按照顺序判断每个数字是否是当前的峰值&#xff0c;如果是直接返回&#…

下一代分层存储方案:CXL SSD

近日&#xff0c;在Memcon 2024大会上&#xff0c;三星推出了一款名为CXL Memory Module-Hybrid for Tiered Memory&#xff08;CMM-H TM&#xff09;&#xff0c;这款扩展卡配备了高速DRAM和NAND闪存&#xff0c;允许CPU和加速器远程访问额外的RAM和闪存资源。 那么&#xff0…

Java面试八股文(更新中)

Java面试八股文 1. 基础篇1.1 Java语言特点1.2 面向对象和面向过程的区别1.3 八种基本数据类型的大小&#xff0c;以及他们的封装类1.4 标识符的命名规则1.5 instanceof 关键字的作用 ************************************************************* 1. 基础篇 1.1 Java语言特…

智慧公厕:提升城市管理效率,改善居民生活体验

智慧公厕作为城市基础设施的重要组成部分&#xff0c;正逐渐成为改善城市品质和提升居民生活体验的一项关键措施。通过智能化管理、数字化使用和信息化运行&#xff0c;智慧公厕不仅可以为城市居民带来更舒适便利的使用体验&#xff0c;而且对于城市的高质量发展、宜居性和包容…

IP-guard WebServer 任意文件读取漏洞复现

0x01 产品简介 IP-guard是由溢信科技股份有限公司开发的一款终端安全管理软件,旨在帮助企业保护终端设备安全、数据安全、管理网络使用和简化IT系统管理。 0x02 漏洞概述 由于IP-guard WebServer /ipg/static/appr/lib/flexpaper/php/view.php接口处未对用户输入的数据进行严…

Android-NDK的linux交叉编译环境

NDK工具包下载 NDK 下载 | Android NDK | Android Developers https://github.com/android/ndk/wiki/Unsupported-Downloads 以android-ndk-r26c下载为例&#xff0c;下载后将压缩包解压至/usr目录下 CMakeLists编译选项设置 编译平台变量判断条件中增加一下android条件…

hexo接入github Discussions评论系统

评论存储仓 可以是你的博客项目的(github)仓库&#xff0c;也可以单独新建一个评论存储仓库。 我的博客项目在gitee上&#xff0c;就以新建存储仓为例&#xff1a; 使用Discussions评论系统必须开通Discussions模块&#xff01; 安装giscus插件 https://github.com/apps/…

代码随想录|Day35|动态规划04|01背包(二维、一维)、416.分割等和子集

01背包&#xff08;二维dp数组&#xff09; 背包最大重量为4。 物品为&#xff1a; 重量价值物品0115物品1320物品2430 背包能背的物品最大价值是&#xff1f; 动规五步曲&#xff1a; dp数组的含义&#xff1a;dp[i][j] 表示从下标为 [0 - i] 的物品里任取&#xff0c;放入…

17-1-HTML5 新增语义标签及属性

文章目录 HTML5 新增语义标签及属性1 HTML5 新增的块级语义化标签2 HTML5 新增的多媒体标签&#xff08;了解&#xff09;2.1 音频 audio2.2 视频 video 3 HTML5 新增的 input 类型&#xff08;了解&#xff09; HTML5 新增语义标签及属性 1 HTML5 新增的块级语义化标签 以前…

全新4.0版本圈子社交论坛系统 ,可打包小程序,于TP6+uni-app 全开源 可打包小程序app uniapp前端+全开源+独立版

简述 首先 圈子系统的核心是基于共同的兴趣或爱好将用户聚集在一起&#xff0c;这种设计使得用户能够迅速找到与自己有共同话题和兴趣的人。 其次 圈子系统提供了丰富的社交功能&#xff0c;如发帖、建圈子、发活动等&#xff0c;并且支持小程序授权登录、H5和APP等多种形式…

AI日报:北大Open Sora视频生成更强了;文心一言可以定制你自己的声音;天工 SkyMusic即将免费开放;

&#x1f916;&#x1f4f1;&#x1f4bc;AI应用 北大Open Sora视频生成更强了!时长可达10秒&#xff0c;分辨率更高 【AiBase提要:】 ⭐️ Open-Sora-Plan v1.0.0模型发布 显著提升视频生成质量和文本控制能力 ⭐️ 支持华为昇腾910b芯片&#xff0c;提升运行效率和质量。 ⭐…

STM32_IIC_AT24C02_3_读写操作

从图中可以看到&#xff0c;如果进行一个写的操作&#xff0c;也是要先发送一个启动操作&#xff0c;然后发送设备地址&#xff0c;接着发送字节地址&#xff0c;最后发送数据&#xff0c;然后停止。Tips:先发送高位&#xff0c;再发送低位 设备地址&#xff08;Device Address…

7款公司电脑监控软件

7款公司电脑监控软件 研究证明&#xff0c;人们在家办公的效率比在办公室办公的效率低一半&#xff0c;其中原因是缺少监督&#xff0c;即便在公司办公&#xff0c;还存在员工偷闲的时刻&#xff0c;比如聊天、浏览无关网站、看剧、炒股等&#xff0c;企业想提高员工的工作效率…

Azure的VFP和虚拟IP地址

Azure 的Virtual filtering platform (VFP) 是Azure 网络地址转换,端口转换和端口分配的基础。 下面我们来深入介绍一下VFP的工作方式。 VFP的出站动作。 对于客户端地址作为虚拟IP的出站目的地址的时候,VFP 驱动会负责做以下两个动作。 源地址转换。端口地址转换。VFP 和 S…

CSS 基础:设置背景的 5 个属性及简写 background 注意点

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。大专生&#xff0c;一枚程序媛&#xff0c;感谢关注。回复 “前端基础题”&#xff0c;可免费获得前端基础 100 题汇总&#xff0c;回复 “前端工具”&#xff0c;可获取 Web 开发工具合集 263篇…

Node.js创建第一个web服务

如果用PHP来编写后端代码&#xff0c;需要用Apache或者Nginx的服务器,来处理客户的请求响应。对于Node.js时&#xff0c;不仅实现了应用&#xff0c;同时还实现了整个HTTP服务器. 安装 Node Snippets插件&#xff08;编程自带提示&#xff09; console.log(你好nodejs); //表…

leetcode(HOT100)——链表篇

1、相交链表 本题思路就是定义两指针&#xff0c;指向两链表的同一起跑线&#xff0c;然后共同往前走&#xff0c;边走边判断两链表的节点是否相等&#xff0c; 代码如下&#xff1a; /*** Definition for singly-linked list.* public class ListNode {* int val;* L…