基于机器视觉的交通标志识别研究
2019-08-03葛笑寒
葛笑寒
(三门峡职业技术学院 电气工程学院,河南 三门峡 472000)
智能交通系统是一项基于通信传输、信息处理、网络技术、物流管理等多门学科的综合管理系统,对整个地面交通运输进行有效控制和指挥,体现了“人-车-路-环境”的密切结合,极大地提高了交通运输的安全性、系统的工作效率、环境质量以及能源的利用率[1]。随着人们对智能交通的不断研究,该系统也逐步完善,主要表现在:车辆本身的智能化系统提升,车辆之间的智能通信,另外还有交通设施的智能化和信息化。对车辆的智能控制系统研究中,必须要把实时路况信息,行驶中驾车人员的精神饱满度及各种信号灯为标志的交通标志识别系统考虑在内[2]。交通标志是交通系统的重要组成部分,随着机器视觉的发展和图像处理技术的进步,交通标志识别在交通领域中愈加重要。在自然场景下所采集的交通标志存在各种遮挡、形变、污损、光线影响,基于此提出利用机器视觉采集数据,并进行颜色分割和形状分类,最后提取图像的特征值,利用SVM训练集数据库进行标志识别。
1 交通标志识别系统
交通标志识别系统(TSR)是利用机器视觉实时采集交通标志信号并自动识别,实时为驾驶员提示交通状况、道路状况,协助驾驶员控制车辆,提高行驶的安全性,预防交通事故发生的智能系统[3]。该系统主要涉及识别技术、信号处理技术、模式识别技术、人工智能、图像处理技术和信息技术等。交通标志识别对智能交通进步有重要的现实意义。其主要表现如下:
1.1 辅助驾驶系统
交通标志是驾驶车辆行驶的重要指示标志。它能够随时提示道路环境的变化,正确引导车辆的行驶方向。但是,随着交通的拥堵、恶劣天气和疲劳驾驶等复杂场景出现,驾驶员可能忽略交通标志,导致交通事故的发生。而交通标志的实时监测和识别,能够给驾驶员提醒,避免发生事故。
1.2 无人驾驶汽车的视觉构成
无人驾驶汽车是未来交通的发展方向,只有准确实时的道路信息和交通标志信息反馈给智能控制系统,汽车才能实现智能行驶。当前,复杂环境下的交通标志实时监测仍旧处于研究阶段,仍有大量工作有待完成。
1.3 交叉学科的典型应用
交通标志识别包含了图像处理和人工智能等多个学科。特别是对于无人驾驶技术,需要更为准确的检测数据。这些数据需要以识别技术为四肢,人工智能控制为大脑,其他几乎是为补充的综合智能系统来实现。因此,交通标志识别是一门交叉学科。
2 交通标志识别整体方案
首先把采集到的自然场景中交通标志颜色局部形状模板图像预处理,去掉环境的影响和拍摄距离的干扰,然后对捕捉到的图像按三基色分割、去噪、归一化操作等,最后统一尺寸。这种处理方法有利于特征提取和分类,大大提高了检测的时效性和准确率。在交通标志实现有效分割的基础上,分析交通标志的频域分布特征,采用基本特征的SVM算法,能实现交通标志有效、自动、快速分类。如图1所示。
图1 识别算法流程
2.1 交通标志检测
2.1.1 图像灰度化处理
通过CCD采集交通标志图像信息,以大自然的三原色来构建模型,把彩色图像转换成灰度图像。灰度是亮度的概念,是黑白图像中某点的颜色深度。0表示黑色,255表示白色。研究结论显示,当三基色R、G和B比例为0.3:0.59:0.11时,是最符合人眼睛特征的灰度值[4],如公式(1)所示。
Y=0.3R+0.59G+0.11B
(1)
2.1.2 图像平滑处理
数字图像处理主要包括图像的去噪、分割等方法。通过对图像亮度等成分进行释放或抑制来改善图像的视觉效果。通过提取图像的某些主要特征,为图像分析提供方便。能够对图像进行压缩和解码,为图像的存储和传输提供便利。
2.1.3 图像边缘处理
Sobel算子利用极值出现在边缘点的现象来检测图像边缘。该算法能够比较精确地检测出图像边缘,同时噪声影响较小,当在较大的范围内使用时,能够更好地抵抗噪声影响,但边缘检测结果较宽。在Sobel算子只有水平和垂直方向的基础上,增加了方向模板,从而可以检测图像各个方向的边缘。由于外界光线对一般道路的照射是均匀的,交通标志的灰度值差别不大,通过Sobel算子的计算,可以把这种差别进行定量,通常数值为0。Sobel算子在运行速度和交通标志边缘处理上都不是最好的,但该算法简单方便,不但能够获取交通标志边缘信息,还可以获得图像像素的梯度强度等信息,为标志边缘检测与验证提供更加充分的数据。
2.1.4 数字交通标志二值化
田卓接过来《NEW商圈》大样,翻了翻,就转手递给了马老。马老取下自己的老花镜,用布擦了擦镜片,又戴上,饶有兴味地翻看起大样来。马老看得很认真,从始至终,一页不落。看完了,冲高潮翘起了大拇指,说,版式做得不错,文图并茂,文章标题也很抢人眼球,小伙子有才华。
识别图像通过图像边缘处理后,图像灰度仍为256级,所以图像数据量仍然较大,且较为分散,在道路检测过程中,需要用于计算的时间较长,为提高该算法的运算速度,需要对图像进行阈值化。图像阈值化就是通过选取阈值,把图像按照阈值进行划分,通过阈值可以把图像划分为图像目标与背景,该方法称为图像的二值化。
2.2 交通标志识别
识别特征包含获取特征与组合特征。首先对交通标志进行分析,明确图像中包含哪些特征;其次依据特征分割图像;最终把所有分割的图像按照规律进行组合,以直观的效果进行呈现。
2.2.1 HOG算法
HOG即为图像的梯度方向直方图。梯度直方图特征是一种用于计算机视觉和图像处理中的检测对象的特征描述,它不仅具有梯度方向计算,还有能够进行图像局部统计[5]。HOG是把整张图分割成小的单元,而不是整体描述。然后计算所有单元中各个像素点的直方图或者梯度。其计算方法是:
(2)
其中,C是单元的维数,B是块大小,C1是单元的大小,D是块运行步长,W与H是图像的宽和高。在实际使用中可以根据情况调整图片的尺寸、单元的维数等,达到降低特征向量维数的目的。
2.2.2 HOG特征提取
如图2所示,训练样本,尺度规则化后进行每一个单元的梯度计算。利用计算结果建立梯度方向直方图。使用高斯加权法计算确定像素点的梯度权重,然后把统计直方图加权平均,即为每个单元像素值。最后,考虑光照等环境因素的影响,把直方图做归一化梯度处理,使分类器能适应环境变化,而形成序列化的HOG特征向量。
图2 HOG特征向量提取流程
2.2.3 SVM算法模型构建
SVM结构风险算法以统计学习理论为基础,它可以把低维度中线性不可分的数据映射到高维度数据中。其本质是找到满足分类需求的最优分类平面[6]。而支持向量就距离该平面最近的向量,一个超平面只能有一组支持向量决定。如图3所示。训练的目的就是从最优分类平面中找到决策函数,从而无差错的分类目标函数。系统采集到的交通标特征向量后,使用非线性函数把数据信息映射到高维特征空间,进而得到交通样本的分类。
图3 SVM训练流程
假设样本集为:
T={(x1,y1),(x2,y2),…,(x1,y1)}∈(X×Y)L,已知Xi∈=Rn,,Xi为特征向量,yi∈y={-1,1}(i=1,2,…,1)。
利用非线性函数把交通标志数据映射到特征空间,得到最优分类超平面,如图4所示。
据此可以得到X的分类公式:
(3)
式子中W代表法向量;b是截距。
图4 最优超平面分类示意图
3 实验分析
实验采用标志库的交通标志图片,首先把图像灰度化,然后采用直方图增强后归一化处理。大量实验表明,36×36像素的图像效果较好,用SVM分类器把样本中的3000幅交通标志作为训练样本、训练模型。并使用1000张图片作为测试集,测试SVM的识别率。采用MATLAB软件,建立GUI界面。界面主要包含环境中的原图像,提取到的检测图像和根据训练好的样本图像出的图像。通过输入不同形状和颜色的交通标志进行实验,其结果如图5和图6所示。
图5 红色禁止标志识别
图6 蓝色指示标志识别
由图可知,在不同光照条件下,输入红色禁止左转和蓝色非机动车指示标志,用HOG和SVM的算法能识别出交通标志,有较高的可信度和准确度。
4 结束语
提出一种HOG特征向量提取和SVM训练样本的交通标志识别方法,面对复杂环境下交通标志图像,采用灰度化、边沿处理和归一化处理等方式。另外,使用HOG特征向量提取方法,进行像素处理,统计直方图等,提取了关键信息,有效提高识别速度。最后,对训练采用SVM分类器进行识别,并建立模型。仿真发现,能够较好地进行图像识别。该算法能识别出交通标志,有较高的可信度和准确度。