1. 引言
交通标志是交通系统的重要组成部分,具有规范交通、警告驾驶员、提供有用信息等作用。日本早在20世纪80年代就开始交通标志自动识别方面的研究,目前多数由代表性的研究工作几种在机车工业发达的美日欧地区 [1] - [3] ,国内也有一些相关研究 [4] - [6] 。交通标志检测是交通标志识别的重要内容,主要有基于颜色的方法和基于形状的方法,以及目前多数研究采用的颜色特征和形状特征相结合的方法 [2] - [5] 。交通标志是被另一个关键技术是对检测到的交通标志进行判别,以便确定交通标志属于哪一种具体的交通标志。目前模式识别技术被广泛运用到识别算法中去,大致包括基于模板匹配的方法 [6] 、基于神经网络的方法 [7] - [9] 、遗传方法 [10] [11] 、基于支持向量机的方法、基于模糊数学的方法和基于句法的方法。
交通标志的自动检测是识别系统的首要环节,为了解决这一问题,本文根据交通标志的颜色特征,提出相应的分割条件,使用向量滤波进行颜色分割,检测出圆形禁令标志所在的区域并完成分类,然后进行边缘提取,最后进行形状分析,通过最小二乘拟合椭圆,提取圆形标志;在标志自动识别方面,本文基于BP人工神经网络构建最佳识别网络,对识别标志进行特征提取并构建特征矩阵,通过网络的输出值判定标志所属类别。实验结果表明,该方法对圆形禁令交通标志具有较好的提取和识别能力。
2. 圆形禁令标志的提取
禁令标志是交通标志中很重要的一种,对驾驶员的驾驶方向、驾驶速度、驾驶载重等进行告知,以避免大多数交通事故的发生。禁令标志为外围为红色的圆形,因此,可以利用颜色和形状两方面来检测和提取该类标志。
2.1. 基于颜色的分割
颜色是标志牌区别于其他物体的一个显著特征,因此色彩分割是交通标志检测预处理中最常用的方法之一。基于RGB色彩空间阈值分割算法由于不需要空间转换,直接在RGB空间中通过各个通道颜色信息进行阈值得到目标区域,因此运算很简便,为实时检测节省了大量时间。一些研究者 [12] - [14] 采用RGB颜色空间的简单向量滤波器(Simple Vector Filter, SVF)对红色、黄色和蓝色进行提取,能够一次性把三种颜色区域提取出来,效果较好。文献 [15] 采用三通道差值的固定阈值方法分割交通标志,这种方法中阈值选取是影像分割效果的关键因素。
本文通过对禁令标志中的红色区域各颜色通道进行实验分析,发现红色通道值一般较大且绿色和蓝色通道值十分接近,而且都较红色通道要小。根据这一特点,提出四个判断条件,符合这四个条件的即判断为红色区域,四个条件如下:
1) |G-value − B-value|/R-value < 0.10;
2) R-value ≥ 160;
3) |G-value − B-value|<30;
4) G-value < 120 and B-value < 120;
其中,R-value、G-value、B-value分别代表红、绿、蓝三个通道值。根据这四个条件对原图像逐像素进行判断,若为红色则将该点灰度值设为255,若不为红色则将该点灰度值设为0。当所有像素判断完毕,即得到一幅二值图像,表示为提取到的红色区域,如图2(b)。
2.2. 边缘提取
为了后续形状分析时进行椭圆拟合以及稳定正确的检测出标志,利用高斯平滑处理二值图像,增强标志边缘并去掉一些非标志的边缘噪声,再通过Canny边缘提取进一步细化提取目标,如图2(c)和图2(d)。
2.3. 形状分析
为了得到圆形标志图案,还需要对边缘的形状进行判断,提取出符合标志边缘特征的圆形边缘,由于圆形标志在图像采集的过程中会产生变形而变成椭圆,本文采用最小二乘法椭圆拟合,根据每一条边缘上的点拟合出椭圆,并得到椭圆的中心坐标,长短轴和旋转角度。
要检测出正确的标志所在椭圆,还需要设定一定的过滤条件,将不属于标志椭圆的椭圆过滤掉,本文设定两个条件:
1) 椭圆长短轴之比在0.5到1.5之间;
2) 椭圆面积小于一定的阈值,本文设置阈值为10,000;
椭圆拟合并过滤之后,即可得到标志图案所在的椭圆,根据检测出的标志椭圆的位置,在原图中提取出标志的最小包围矩形,如图2(e)和图2(f)。
3. BP人工神经网络
人工神经网络是一种模拟人类大脑神经突触工作的数学模型,网络通过节点进行连接,各个节点之间通过并行地调整连接权值改变网络的输出,简称神经网络。神经网络具有大量的连接节点,每一个节点都表示一个输出函数,称作激励函数(activation function),相互连接的每两个节点表示信号传递时的加权值,称之为权重,网络的输出依赖于网络的连接方式、权重值和每个节点选择的激励函数。
3.1. BP人工神经网络起源
在人工神经网络发展之初的很长一段时间里,如何调整隐藏层的连接权值一直是困扰学者们的问题,而误差反向传播算法(BP算法)的出现有效的解决了这一难题。BP (Back Propagation,反向传播)网络是神经网络中发展最完善,应用最广泛的一种,于1986年由Rumelhart和McCelland等提出,目前已经在模式识别、数据压缩、函数逼近和目标分类等领域取得了较大成功。
3.2. BP人工神经网络的算法描述
BP神经网络的训练过程包括两个部分:信号的正向传播和误差的反向传播。在正向传播时,输入层各神经元接收输入信息,传递给隐藏层各神经元,隐藏层可以根据信息变化能力设计为单层或者多层,信号依次通过各隐藏层传输到输出层完成一次正向传播。将网络的实际输出和期望输出的误差作为调整信号进入误差的反向传播阶段,以误差梯度下降的方式修改每一层各神经元权值。重复进行上述过程,直到网络的输出误差减小到设定的范围或者完成了最大学习次数为止。BP神经网络的学习过程可分为以下几步:
1) 网络初始化,给每个神经元分配一个[−1,1]的连接权值并设定误差函数e,给定最小误差值ε和最大学习次数M;
2) 选取一个训练样本,输入向量为
,期望输出向量为:
;
3) 计算隐藏层各神经元的输入和输出;
4) 根据该样本对应的期望输出和网络的实际输出得到误差函数,求误差函数对输出层各神经元的偏导数
;
5) 利用隐藏层到输出层的连接权值、输出层的
和隐藏层的输出计算误差函数对隐藏层个神经元的偏导数
;
6) 利用输出层的
和隐藏层神经元的输出调整连接权值
;
7) 利用隐藏层各神经元的
和输入层个神经元的输入修正连接权值;
8) 计算全局误差,判断全局误差是否满足预定的精度要求,算法结束的条件是误差达到预设精度以下或完成设定的学习次数。
实验中,当网络的误差对权值的偏导数大于零时,权值调整量为负,实际输出比期望输出要大,因此适当减小权值来减小误差;当误差对权值的偏导数小于零时,权值调整量为正,实际输出比期望输出要小,适当增大权值来减小误差。
3.3. 输入向量的计算
输入向量代表每一个图案区别于其他图案的特征,即为图案的特征向量,同一种标志的图案应该有相似的特征向量,不同标志的特征向量有一定区别,这样才能达到识别分类的目的。
本文中将待识别的图案归一化为30 × 30像素大小,并为神经网络设定63个输入节点,即输入的特征向量为63维,特征向量的计算以图案的三个通道值为基础,这样充分利用彩色图像的色彩信息,增加识别的正确率。
前三个节点的计算方法为:计算红绿蓝三个通道的平均值(MR, MG, MB),并将其归一化到0~1范围内。计算公式如公式(1):
(1)
其中,R代表红色通道矩阵,G代表绿色通道矩阵,B代表蓝色通道矩阵。
计算30个垂直方向上的投影值和水平方向上的投影值,作为后60个节点,如公式(2)(3)。
(2)
(3)
为垂直方向上的投影值,
为水平方向上的投影值,Gray为灰度矩阵,T为阈值且满足公式(4) (5)。
(4)
(5)
这63个节点依序作为输入向量的值,并组成神经网络的输入节点值,进行网络训练 [16] 。
3.4. 期望输出的确定
期望输出用来判定网络的训练误差和决定输出值,该输出可以是一个值,也可以是一个向量,本文训练了15个圆形禁令标志类别,由于激励函数得到的值只能在0~1之间,为了更大程度的区分不同的类别,在这里将期望输出设定为一个15维的向量,向量构造方法为:第N个训练样本的期望输出向量的第N维的值为1,其他维的值都为0。即15种训练标志的期望输出向量按行排列在一起形成15 × 10的单位矩阵,如图1。
3.5. 隐藏层的确定
一个神经网络结构是否普适和恰当,隐藏层的数量以及隐藏层的节点数是起关键性作用的,而很多理论已经证明含一层隐藏层就基本上可以使BP网络逼近任何闭区间内内的一个连续函数,因此本文使用含一层隐藏层的BP神经网络。
本文采用交叉验证的方法来确定隐藏层节点数,即将数据集分为训练集和测试机,训练集又分为学习集和验证集,先用学习集训练神经网络,用验证集验证网络的表现,根据表现选择最好的网络结构(即选择最恰当的隐藏层节点数),当最好的网络结构被选择后再用所有的训练集进行一次训练。最后测试集用来测试网络的性能 [17] 。
3.6. 验证准则
在神经网络中,验证准则一般是基于最小距离测度,在很多应用中,最小二乘准则(Least-Square-Criterion)经常被选择作为距离测度准则,本文采用的另一种验证准则是Kullback-Leibler距离,在神经网络的分类问题中它也可以作为一种可选择的测度准则 [18] 。公式(6)描述了Kullback-Leibler距离的计算方法。
(6)
3.7. 训练与验证分析
首先设置BP神经网络网络的结构,本文设置3层BP网络,即只含一层隐藏层,输入节点数为63,输出节点数为15,隐藏节点数不断变化,根据由验证集所计算出来的验证测度值来确定最佳节点数。设定网络的全局误差精度要求为0.00001,最大迭代次数为10,000,000。
将学习集所组成的输入矩阵输入到BP网络中进行训练,训练完成之后用验证集去验证该网络,即将验证集所组成的输入矩阵输入到BP网络中预测输出值,将预测输出值和期望输出值代入公式(6)计算准则测度。不断变化隐藏节点数计算每一次的准则测度,然后分析数据以选择最佳网络。
表1为隐藏层节点数为几种不同的值时,由验证集计算出来的准则测度,以及网络训练的时间、用测试集进行测试后两种识别率:正概率代表正样本判断正确的概率,负概率代表负样本判断正确的概率。由表1可知,当隐藏层节点数为20的时候网络结构达到最好,识别效果最好。
4. 实验与结果分析
本文用于实验的数据均采自真实环境中包含较为常见的圆形禁令标志的图像。以图2“禁止驶入”标志图像为例,可以看出标志识别过程中,该方法能够有效过滤干扰颜色及细小干扰边缘的影响。通过对采集的110幅尺寸为940 × 540的图像进行检测率,有效检测率达到97.92%,算法平均耗时为65.42毫秒,具备较高的检测率及实时性。
在标志识别试验中,将数据分为学习集、验证集和测试集。学习集用来学习神经网络;验证集用来验证网络的表现,帮助选择最好的网络结构,测试机用来测试网络的性能优劣,评价网络的好坏。其中

Table 1. The experimental data in different hidden nodes
表1. 不同隐藏节点数下实验数据
测试集分为正样本和负样本,正样本是被训练的标志图案,负样本是未被训练的标志图案以及不含标志的图案。参与训练的15种交通标志如图3。
将识别的交通标志图案归一化到30 × 30大小,然后计算图案的63个特征值,并作为输入向量输入已训练好的BP网络中进行预测识别,识别结果如图4。实验结果可以看出,于本文方法能够正确识别出参与训练的不同类别的圆形禁令交通标志,具备较少的时间开销,可用于此类交通标志的快速识别。
5. 结束语
交通标志识别技术越来越广泛的应用与国民生产与生活,随着计算机视觉、模式识别、神经网络等学科的发展,交通标志识别技术有了很大的进步。本文着手于圆形禁令交通标志,基于RGB空间和BP人工神经网络,提出一种圆形禁令交通标志提取和识别方法,从结果可以看出,该方法对于不同种类的交通标志识别率达到90%以上,效果较为满意。
但是本文也存在一些不足之处:
1) 基于RGB颜色空间的分割方法虽然算法简单,速度快,但是RGB颜色空间极易受到光照的影像,对某些低亮度的图片分割效果不是很理想,如何快速稳定的提取出标志所在区域仍需要做深入的研究;
2) 椭圆拟合虽然可以将标志图案所在的椭圆拟合出来,但是也会得到不属于交通标志的椭圆图案,设定的阈值没有自适应性,对自动化提取的结果产生一定影响;
3) 本文只是对静态图像进行了处理,而实际应用中需要在移动机动车内安装图像采集卡,实时的进行交通标志的检测和识别,这就要求算法具有较高的运算速度,寻找更优的算法。