车牌字符识别是车牌识别系统中重要组成部分之一,是模式识别的一个应用领域,车牌字符样本集是字符集合的一个有限子集,包括汉字约 50个,字母A–Z,数字0–9,属于特定的有限字符集识别问题。目前最常用的车牌字符识别方法主要有模板匹配法、基于字符特征的识别方法和神经网络法 等。模板匹配法简单,实用于一些特定情况,如尺寸固定、车牌位置水平不发生旋转等情况,当车牌字符图象轻微扭曲变形、笔画粗细不均甚至缺损断裂时,容易产 生误识别。文献1作者把K近领法用到车牌字符识别中,K近领法是典型的统计学习方法,在分类领域中经常用到,主要思想是先对待识别字符进行特征提取、建 库,然后计算待测样本的特征与模式库中特征的相似度,最后根据判别函数来识别待测样本属于哪一类。基于字符特征的识别方法主要有PCA法和ICA法,文献 2就是采用了独立分量法(ICA)对车牌字符进行识别。神经网络方法具有较强的并行数据处理能力、容错能力和泛化能力。但是神经网络是一种弱学习算法,分 类精度也不高,文献3针对这一弱点提出了一种改进的BP神经网络方法用于车牌字符识别中。
粗糙集(Rough Set)理论是波兰数学家Z.Pawlak于1982年提出的,是一种新的处理含糊性和不确定性问题的数学工具[4]。
本文提出一种基于粗糙集和神经网络相结合的车牌字符识别方法,首先对车牌字符图象进行定位、预处理、分割以及归一化等操作,然后基于粗糙集理论对经过 归一化处理的二值化图象进行特征提取,构造决策表,并对其进行属性约简,最后用约简后的属性构造BP神经网络分类器。该方法通过粗糙集减少了条件属性个 数,简化了BP神经网络分类器的网络结构,提高了字符识别的泛化能力。
2、粗糙集相关知识[5,6]
定义1. 设是一个信息系统,U表示对象的非空有限集合,称论域; = Φ,C称为条件属性集合,D称为决策属性集。具有条件属性和决策属性的信息系统称为决策表。,Va是属性a的值域;f表示是一个信息函数,它为每个对象的每个属性赋予一个信息值。
定义2. 设集合,R是一个等价关系,称 = 为集合X的R下近似集;称为集合X的R上近似集。称集合 = -为X的R边界域;称= 为X的R正域;称= U-为X的R负域。
定义3. 知识的依赖性可形式化地定义如下:令K=(U,R)是一个知识库,P、Q R。
1) 知识Q依赖于知识P(记作PQ)当且仅当IND(P)IND(Q)。
2) 知识Q与知识P等价(记作P≡Q)当且仅当PQ且QP。
3) 知识Q与知识P独立(记作P≠Q)当且仅当PQ与QP均不成立。
当知识Q依赖于知识P时,也可以说知识Q是由知识P导出的。
有时候知识的依赖性可能是部分的,这意味着知识Q仅有部分是由知识P导出的,这可以由知识的正域来定义:令K=(U,R)是一个知识库,P、QR。
当k==时,我们称知识Q是k度依赖于知识P的,记作PQ。当k=1时,我们称Q完全依赖于P;当0< <1时,称Q粗糙依赖于P;当k=0时,称Q完全独立于P。
系数可以看作Q和P之间的依赖度。
3、车牌字符识别方法
车牌字符识别是车牌识别系统中的核心内容,一般车牌字符识别包括如下步骤:首先对采集到的车牌图象进行定位、预处理、字符分割以及 归一化处理等,每个字符变成大小相同的字符,然后在归一化后的二值图象中进行特征提取,所提取的特征中并不是都同等重要,在保证属性集和决策集关系不变的 前提下,利用粗糙集对所采集到的特征进行属性约简。最后用约简后的属性作为神经网络的输入,构造神经网络字符分类器。字符识别原理如图1。
图1 字符识别原理
3.1 提取字符特征建立决策表
字符特征的提取有多种方法,目前常用的方法有:逐像素特征提取法、骨架特征提取法、垂直方向数据统计特征提取法、13特征点提取法、粗网格特征提取法 等。本文采用粗网格特征提取法对归一化的二值图象进行特征提取。首先把字符平均分成16×16个网格,再把这16×16个网格的字符平均分成16个4×4 的象素大小的子图象,统计每一份内黑色像素点的个数,而每个网格反映的是字符的部分特征,所以需要把所有网格组合起来作为字符的统计特征,最后得到 16×16维的字符特征。然后以这16个特征作为条件属性,字符的种类作为决策属性。条件属性集为,属性值集合为,决策属性集为,即字符的真实值。
3.2 离散化决策表
运用粗糙集理论时,要求决策表中的条件属性必须是离散化属性,本文采用遗传算法进行属性离散化。遗传算法是一种非常有效的搜索和优化技术, 有着隐含并行性、鲁棒性和全局搜索等特点,所以在粗糙集中应用遗传算法进行连续属性离散化,主要是由于其具有全局寻优能力,它将所有属性值编码成个体位 串,得到关于所有属性的全局离散化结构,避免了属性局部离散独立性所带来的弊端[7]。本文首先按照文献[8]介绍的方法求出候选断点集,从候选断点集中 选一个尽可能小的结果断点子集来对决策系统进行离散化。实验表明:最佳离散区间为3。
3.3 决策表的约简
目前在决策表中的条件属性并不是同等重要的,在保证决策表不可分辨关系不变的前提下,对决策表进行属性约简。本文中利用知识的依赖性对决策表中的条件属性进行简化。具体算法如下:
⑴ 在原决策表T中计算根据条件属性划分的等价类,以及不同条件属性组合下划分的等价类;
⑵ 计算根据决策属性D对论域划分的等价类;
⑶ 根据相对约简和依赖度的定义,计算条件属性C和决策属性D的依赖度k,
k=(1)
若k=1,则称决策属性D完全依赖于条件属性C,若0<k<1,则称决策属性D 粗糙依赖于条件属性C,若k=0,则称决策属性D完全独立于条件属性C。
⑷ 依次删除原决策表T中的每个条件属性Ci,并计算删除该条件属性后的正域,= ,则说明该属性Ci在决策表中是不必要的,C-{Ci}是C的D约简,C的D核也是C-{Ci},若≠,说明该属性在决策表中是必要的;
⑸ 当所有条件属性都经过步骤⑷处理后,将不必要的属性去掉,得到了约简后的决策表T’,在约简后的决策表T’中只有四个条件属性。
3.4 BP神经网络字符分类器的设计
神经网络许多特性通过隐含层而体现出来,以字母、数字分类器为例,构造了含一个隐含层的三层BP神经网络,包括输入层、隐含层、输出层。具体算法如下[9]:
输入 训练样本集T,由约简后的车牌字符属性构成
输出 识别的车牌字符
⑴ 初始化各层的权系数和偏置。
⑵ 输入训练样本:输入T中的一个样本和期望输出。
⑶ 正向传播过程:对给定训练模式输入,计算网络的输出模式。计算公式如下:
(2)
其中为t时刻单元i与单元j间的权系数,θi(t)为t时刻单元j的偏置,为 时刻第k-1层单元i的输出。对于输入单元来说,输出等于输入,。
⑷ 反向传播过程:ⅰ.计算每层单元的误差;ⅱ.修正权值和各单元偏置;
输出层单元为:
(3)
隐含层单元为:
(4)
权系数修改:
(5)
(6)
⑸ 判断是否满足要求,若满足,算法结束,不满足,返回⑵(算法中m=3)。
4、字符识别实验及结果
实验的编程环境是MATLAB7.0,车牌字符样本来自于随机拍摄,样本总数为300幅,训练样本为200幅,测试样本为100幅。训练次数为 1000次,网络的权值和阈值为随机选取,各层的激活函数依次为双曲正切S型函数tansig.m和线性函数purelin.m。本文采用了附加动量法, 各参数依次设定为:误差目标goal=10-3;学习速率η=0.1;学习速率的递增乘因子η_inc=1.15;学习速率的递减乘因子 η_dec=0.8;动量因子mc=0.95。图2为其中一幅车牌的识别结果。
图2 字符识别结果
实验前每幅车牌均经过定位、预处理、分割和归一化等处理。然后分别经过三种不同方法构造的分类器,其中一种是直接用BP神经网络构建的分类器,另外一种是直接用粗糙集构造的分类器,最后一种是本文所提出的方法。实验结果如表1:
表1 实验结果
从表1的约简结果和识别结果可见,只用BP神经网络得到的识别率是最低的,后两种方法识别率接近,说明增加属性冗余度对这粗糙集的影响不太大,但是利用粗糙集消除冗余属性有助于提高神经网络的识别率,进而提高网络的泛化能力。
5、结论
只用BP神经网络构造分类器,神经网络不仅结构复杂,训练时间长,而且识别率较低;只用粗糙集构造车牌字符分类器,能够有效约简冗余属性,简化了决策 算法,提高了运行时间,但是算法自适应能力较弱;用粗糙集优化神经网络可以提高网络的泛化能力,简化网络结构,缩短训练时间,而且在识别率方面也有很大提 高。该方法对于正常无损坏车牌,识别率很好,对于长时间受外界因素影响而损坏的车牌,识别率还有待提高。(转自中华电子网)
没有评论:
发表评论