基于机器视觉识别的交通灯控制系统
扫描二维码
随时随地手机看文章
机器视觉又称计算机视觉,是用计算机来实现人的视觉功能,也就是用机器代替人眼来做测量和判断。机器视觉技术包含光源照明技术、光成像技术、传感器技术、数字图像处理技术、机械工程技术、检测控制技术、模拟与数字视频技术、计算机技术、人机接口技术等相关技术,是实现计算机集成系统的基础技术。
对于交通灯的识别,将使世界上7~8%的色盲、色弱患者驾驶汽车成为可能,也为无人驾驶汽车在技术上前进一步。因而将为汽车工业以及汽车电子工业带来更大的经济效益,和更大的社会效益,并可在国际上填补该领域的空白。
2、基于机器视觉的交通灯识别方法 2.1、交通灯识别方法的流程图如下所示2.2、交通灯定位
当获取一张原始的图像时,考虑到背景的变化及其他物体对交通灯识别的干扰,我们需要将图像中交通灯的部分提取出来。在此本文用交通灯的形状及灰度值来定位交通灯在图像中的位置。
2.2.1、交通灯形状的矩形度与圆形度
可以通过交通灯的矩形度来找出交通灯一定的范围,在此采用一种简单的矩形度计算方法rectangularity算子,即将上述低灰度值的分散区域作为输入区域,当得到某一矩形和输入区域有相同的一、二阶矩时,计算出输入区域的面积和该矩形面积的比,即为矩形度rectangularity的值。显然当输入区域为矩形时,得到矩形度的最大值1;输入的区域越接近矩形,则矩形度越接近与1(无输入区域时矩形度为0)。
通过上述矩形度的算法,可以在低灰度值的区域中筛选出一定范围(包含交通灯轮廓)的类矩形,最后通过交通灯在图像中占据的面积定位出交通灯的轮廓。
图2-1通过形状定位出交通灯的位置
然后在上图的基础上,采用一种简单的Circularity算子,确定出包含有交通灯的轮廓。
具体的算法如下:
假设F是一个闭合区域的面积,max这个区域内中心点到边界或轮廓的最大距离,那么:
circularity=F/(max^2*π)(2-1)
根据式2-1可得圆的circularity为1。由此可知对于一个轮廓或多边形包围的区域如果其circularity接近与1,那么这个轮廓近似于一个圆。可以通过一个阈值选取出与圆的相似的轮廓,例如可以选取circularity在[0.8,1]范围内的轮廓。如果有多个轮廓符合,则将这些轮廓所对应的区域存放入一个数组之内。
2.3、颜色空间变化当确认交通灯的位置后,我们需要通过颜色识别来确定交通灯的状态。
由于RGB颜色空间的相似不能代表颜色的相似,HSI颜色空间则没有这个方面的问题,它们很适合人们肉眼的分辨,较好地反映人对颜色的感知和鉴别能力。因此可以先将RGB颜色空间转化为HSI颜色空间。
RGB空间转化为HSI空间的一般公式如下:
图2-2通过饱和度提取的交通灯信息
2.4、颜色识别本文通过图像分割来识别交通灯的颜色。将图像通过选定的阈值分割后,找出所需要的图形。
2.4.1、基于阈值的分割
这是一种最常用的区域分割技术,阈值是用于区分不同目
标的灰度值。如果图象只有目标和背景两大类,那么只需选取一个阈值称为单阈值分割。这种方法是将图象中每个象素的灰度值和阈值比较,灰度值大于阈值的象素为一类,灰度值小于阈值的象素为另一类。如果图象中有多个目标,就需要选取多个阈值将各个目标分开,这种方法称为多阈值分割。阈值分割的结果依赖于阈值的选取,确定阈值是阈值分割的关键,阈值分割实质上就是按照某个标准求出最佳阈值的过程。
在背景和目标图像的先验概率相等这一特定条件下,最佳阈值是背景灰度均值与目标图像灰度均值之均值。即: