基于图像处理交通信号灯识别算法

摘 要:交通信号灯是智能车辆在城市环境中行驶的主要指示信号,在城市交通安全中发挥了不可或缺的作用。交通信号灯通常设在交叉口,能够供应智能车辆的方位信息,查看和辨认交通信号灯的情况是智能车辆感知的重要任务。在简单工况下,可在各种颜色空间中利用信号灯颜色的先进行分割得到兴趣区域,然后再通过信号灯所特有的形状特征等进行进一步的判定。

关键词:智能车辆;感知;颜色空间

  1. 前言

智能车辆感知层主要有摄像头、雷达等,其中摄像头是视觉识别的重要元件。智能车辆可以通过摄像头进行交通标识识别,配合其它感知元件进行环境感知。交通信号灯是智能车辆在城市环境中行驶的主要指示信号,如交通信号灯等交通标示识别,是智能车辆进行路径规划、车道动态控制的前提因素。本文介绍了在简单工况下,利用 MATLAB 图像处理工具箱的相关函数在颜色空间中对信号灯颜色进行分割等操作,然后再通过信号灯形状特征等进行进一步的判断从而识别交通信号灯的简便方法。

系统分析

  1. 交通信号灯

道路交通信号灯[1]是指挥交通运行的信号灯,一般由红灯、绿灯、黄灯组成三个无图案圆形单位组成的一组灯,指导机动车通行。绿灯亮时,准许车辆通行,但转弯的车辆不得妨碍被放行的直行车辆、行人通行;黄灯亮时,已越过停止线的车辆可以继续通行;红灯亮时,禁止车辆通行。

国标 GB14887 中对道路交通信号灯有明确规定,如发光单元尺寸Φ200mm、Φ300 mm、Φ400 mm 三种规格发光单元在信号灯壳体上安装孔的直径分别为Φ200mm、Φ290

mm、Φ390 mm,尺寸允许偏差±2 mm。对于无图案信号灯,出光面直径分别为Φ185mm、Φ275 mm、Φ365 mm,尺寸

允许偏差±2 mm;对于有图案信号灯,出光面直径分别为Φ185mm、Φ275 mm、Φ365 mm,尺寸允许偏差±2 mm,图

像尺寸符合国标附录。

发光亮度在各个方向上的平均值不低于表 1 中的最小亮度值,且不大于 15000cd/m2。在可观察信号灯点亮区域内, 亮度应均匀,在基准轴上的发光亮度的最大值与最小值之比应不大于 2。

表 1 有图案信号灯最低亮度值

发光强度在基准轴上不小于 150cd,且不大于 400 cd,其它方向上的发光强度应不低于表 2 规定。

表 2 有图案信号灯轮廓最低光强

  1. 彩色视觉

彩色视觉(color vision)是一个生物体或机器基于物体所反射,发出或透过的光的波长(或频率) 以区分物体的能力。颜色可以以不同的方式被测量和量化;事实上,人对颜色的感知是一个主观的过程,即,脑响应当进入的光与眼中的若干种视锥细胞作用时所产生的刺激。

彩色视觉常用颜色空间也称彩色模型(又称彩色空间或彩色系统)描述,它的用途是在某些标准下用通常可接受的方式对彩色加以说明。彩色模型是坐标系统和子空间的阐述。位于系统的每种颜色都有单个点表示。采用的大多数颜色模型都是面向硬件或面向应用的。

图 1 颜色空间模型

其中 RGB 颜色空间是依据人眼识别的颜色定义出的空间,可表示大部分颜色。以 R(Red 红)、G(Green 绿)、B(Blue 蓝)三种基本色为基础,进行不同程度的叠加,产生丰富而广泛的颜色,所以俗称三基色模式。在大自然中有无穷多种不同的颜色,而人眼只能分辨有限种不同的颜色,RGB 模式可表示一千六百多万种不同的颜色,在人眼看来它非常接近大自然的颜色,故又称为自然色彩模式。

亮度、色调、饱和度三个基本特征来描述;其中亮度是指明暗程度,色调是指光的颜色,饱和度是指颜色的深浅程度。颜色空间[2]模型如图 1 所示。

H 参数表示色彩信息,即所处的光谱颜色的位置。该参数用一角度量来表示,红、绿、蓝分别相隔 120 度。S 为一比例值,范围从 0 到 1,它表示成所选颜色的纯度和该颜色最大的纯度之间的比率。S=0 时,只有灰度。V 表示色彩的明亮程度,范围从 0 到 1。有一点要注意:它和光强度之间并没有直接的联系。

  1. MATLAB 图像处理工具箱

Matlab 对图像的处理功能主要集中在它的图像处理工具箱(Image Processing Toolbox)中,图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、数学形态学处理等图像处理操作,主要有以下功能模块:

  • Image Acquisition Toolbox(图像采集工具箱)
  • Image Processing Toolbox(图像处理工具箱)
  • Signal Processing Toolbox(信号处理工具箱)
  • Wavelet Toolbox(小波分析工具箱)
  • Statistics Toolbox(统计工具箱)
  • Bioinformatics Toolbox(生物信息学工具箱)

Matlab 其具有上手容易,开发周期短,见效快;程序代码编写量明显减少;提供多种图像处理工具包等特点,比较适合进行图像识别相关工作。

  1. 识别系统方案实施

本文分析了道路交通信号灯色彩特点、图形学特点等特征,结合彩色视觉 RGB 颜色空间基本特征,并利用 Matlab 图像处理工具箱进行图像的灰度分割、边缘检测等操作,能够实现多交通信号灯的识别,并制定其系统流程如图 2 所示:

图 2 识别系统流程图

其中红色信号灯识别为例,首先将 RGB 值转换为相应的色调、饱和度和明度 (HSV) 坐标。rgb 可以是 p×3 颜色图数组或 m×n×3 图像数组。hsv 的大小与 rgb 相同。其次,

利用红色色彩特征值,搜索敏感区域识别红色颜色区域;并结合交通信号灯外形特征完成结构元素。再次,对图形结构元素实现二值化图像,填充背景色。

部分主要代码如下:

%hsv 三元色图像hsv=rgb2hsv(a); h=hsv(:,:,1);

s=hsv(:,:,2);

v=hsv(:,:,3); figure(2) imshow(hsv);

title('HSV 图像'); %转换为 hsv 图像并显示

bw1=h>0.9|h<0.05; %0.9,0.05

bw1=bw1.*(s>0.5); %检测红色区域se=strel('disk',3); %创建一个指定半径 R 的平面

结构元素

bw2=imopen(bw1,se); %用结构元素 SE 实现二值图像

的 bw1 的形态开运算。

bw2=bwfill(bw2,'holes'); %填充二进制图像的背景色figure

imshow(bw2)

依据以上方案在 MATLAB 环境中完成了整个算法搭建及实现,算法运行正常,随后分别针对网络资源道路交通信号灯图片、实际路况道路交通信号灯图片进行功能测试。

试验效果

  1. 网络资源验证

图 3 网络资源红灯识别效果

图 4 网络资源黄灯识别效果

为了验证算法实际效果,首先通过网络资源下载相关交通信号灯图片,利用已完成的算法进行离线交通信号灯识别效果验证,其效果如图 3、图 4 所示。

  1. 实际路况验证

为了进一步检验实际路口交通信号灯识别效果,本人通过手机(华为 LDN-AL20)拍摄实际路口交通信号灯图片进行实际效果检验,其效果如图 5、图 6 所示。

图 5 实际路口红灯识别效果

图 6 实际路口绿灯识别效果

根据验证效果分析,利用道路交通信号灯色彩特点、图形学特点等特征,结合彩色视觉 RGB 颜色空间基本特征, 并利用 Matlab 图像处理工具箱进行图像的灰度分割、边缘检测等操作,可以实现简单路况道路交通信号的识别。

结论

本文实现的评估方案是建立在道路交通信号灯色彩和形状特征基础上,利用 MATLAB 图像处理工具箱相关函数进行识别;相对于基于深度学习的方案,无需进行大量的前期数据采集、标注等工作,可以快速搭建及实现。经过测试可以满足简单路况道路交通信号的识别需求。

下一步计划对色彩干扰、图形干扰等干扰因素进行剔除, 提高识别精度;并图像坐标上半区域敏感区域进行筛选,预计减少 50%运算量;其次根据实际车速,选取合理的间隔帧, 提高实时,可进一步优化方案。

参考文献

[1] 道路交通信号灯 GB14887-2011.

[2] 陈超. MATLAB 应用实例精讲[M].北京:电子工业出版社,2011.11.

基于图像处理交通信号灯识别算法相关推荐

  1. 基于MATLAB图像处理交通信号灯识别

    基于MATLAB图像处理交通信号灯识别 摘 要:交通信号灯是智能车辆在城市环境中行驶的主要指示信号,在城市交通安全中发挥了不可或缺的作用.交通信号灯通常设在交叉口,能够供应智能车辆的方位信息,查看和辨 ...

  2. matlab的车牌照识别,基于MatLab车牌号码识别算法研究与

    <基于MatLab车牌号码识别算法研究与>由会员分享,可在线阅读,更多相关<基于MatLab车牌号码识别算法研究与(15页珍藏版)>请在人人文库网上搜索. 1.基于,MatLa ...

  3. 基于opencv-python的人脸识别算法

    基于opencv-python的人脸识别算法 文章目录 基于opencv-python的人脸识别算法 前言 一.opencv-python的安装与配置 二.实现步骤 1.引入库 2.调用opencv自 ...

  4. 基于MATLAB的人脸识别算法的研究

    基于MATLAB的人脸识别算法的研究 作者:lee神 现如今机器视觉越来越盛行,从智能交通系统的车辆识别,车牌识别到交通标牌的识别:从智能手机的人脸识别的性别识别:如今无人驾驶汽车更是应用了大量的机器 ...

  5. 基于图像处理的物体识别与分类系统--2021研究生电子设计大赛总结

    基于图像处理的物体识别与分类系统 -2021研究生电子设计大赛总结 1. 赛题  我们组选的是TI企业命题第三题:基于图像处理的物体识别与分类系统. 摄像机采集图像,通过图像处理算法实时检测识别出目标 ...

  6. 基于视频图像的识别算法

    一个典型的基于视频图像的人脸识别系统一般都是自动检测人脸区域,从视频中提取特征,最后如果人脸存在则识别出人脸的身份.在视频监控.信息安全和出入控制等应用中,基于视频的人脸识别是一个非常重要的问题,也是 ...

  7. 基于matlab的人脸识别算法

    基于matlab的人脸识别算法 1. 主成分的数目的选取 前已指出,设有p个随机变量,便有p个主成分.由于总方差不增不减,C1,C2等前几个综合变量的方差较大,而Cp,Cp-1等后几个综合变量的方差较 ...

  8. 基于残差神经网络的交通标志识别算法研究与应用实现

    问题: 从图像中识别交通标志对于自动驾驶至关重要.要想实现自动驾驶,车辆必须了解并遵守所有交通规则.当前,特斯拉.谷歌.梅赛德斯-奔驰.丰田.福特.奥迪等许多大公司都在研究自动驾驶.因此,为了实现这项 ...

  9. 基于FPGA:肤色识别算法实现(OV5640摄像头+Cyclone芯片)含工程源码

    目录 前言: 一.进入正文: 二.Verilog代码实现: 前言: 肤色识别算法的Verilog代码基于FPGA 的彩色图片转灰度实现的.本文参考硅农图像处理教学文章.一个良心公众号,有很多开源技术含 ...

最新文章

  1. 帝国时代三计算机丢失,修复安装帝国时代程序出错3d3dx9_25.dll丢失在win7中方法...
  2. java验证码局部刷新_JS局部刷新图形验证码
  3. Win 8 自定义设置面版
  4. pycharm 无法导包、无法导入模块(模块名不能含有连接符“-”)
  5. Asp.net中一个页面多个表单的解决方案
  6. python多个进度条_多个芹菜进度条
  7. LeetCode 1089. 复写零
  8. DBCC SHRINKFILE收缩日志/收缩数据库/收缩文件
  9. 官宣预热iQOO 7强悍配置:“性能铁三角”加持 给你强悍全感
  10. 【Unity开源项目精选】AssetStudio:提取Unity游戏的资源
  11. 查询limit_MySQL查询语句(where,group by,having,order by,limit)
  12. Java中文编码转换与字节长度判断
  13. python基础教程廖雪峰云-Python 爬虫:把廖雪峰的教程转换成 PDF 电子书
  14. Win10 开机密码破解
  15. PDF文件怎样修改,怎么修改PDF文件内容
  16. 单(两)个正态总体的统计量的分布相关定理
  17. 自定义类型:枚举,结构体,联合体
  18. java 版剑指offer算法集锦
  19. profix使用过程中遇到的一些问题
  20. bootstrap显示遮罩层

热门文章

  1. Python--Opencv工业广角相机图像畸变矫正
  2. dhcp服务器开关自动选哪个好,dhcp 是什么应用?应该开启还是关闭?
  3. 如何写一封向论文作者申请源代码的邮件
  4. day39 python 学习 数据库学习 五个约束,数据库设计(一对一,一对多等等)
  5. NOI / 2.1基本算法之枚举——2983:谁是你的潜在朋友
  6. 一文掌握Bellman-Ford算法
  7. 西门子精智触摸屏故障问题处理汇总(黑屏+白屏+花屏等)
  8. DokuWiki格式化语法
  9. 【微信小程序】—— swiper轮播图圆角滑动会先直角再圆角的解决办法
  10. 光影 - 技术支持网址