2023年11月28日发(作者:米其林轮胎价格表2021价格)
摘要
摘 要
车牌识别技术是智能交通系统中的重要组成部分,它在违章抓拍,不停车收
费,停车场管理以及重要场所过往车辆的实时登记等方面都有重要的作用。论文
从车牌字符识别的理论出发,基于MATLAB语言对现有的模板匹配,神经网络,
基于向量机(SVM)等方法在字符识别过程中的优缺点以及识别率进行系统的研
究。论文的主要工作如下:
1. 针对车牌图片的预处理包括去噪,增强,分割,提取字符等等;
2. 构建模板匹配,神经网络,基于向量机(SVM)字符识别的相关测试数据;
3. 分别实现模板匹配字符识别算法,神经网络字符识别算法,基于向量机
(SVM)字符识别算法,并做相应识别率的实验,将三者的实验结果进行
比对;
4. 基于MATLAB GUI做三种算法系统的界面。
关键词: 车牌识别 模板匹配 神经网络 向量机 识别率
ABSTRACT
ABSTRACT
License plate recognition technology is the intelligent transportation system an
important part of it illegal to capture, no parking, parking management, and an
important place in the past, real-time vehicle registration and other aspects important
role. Papers from the license plate character recognition theory, MATLAB language
based on the existing template matching, neural network, based on vector machines
(SVM) and other methods in the process of character recognition and the recognition
rate of the advantages and disadvantages of the system. The main work is as follows:
1. Pre-treatment, including the license plate image denoising, enhancement,
segmentation, extraction of character, etc.
2. Construction of template matching, neural network, based on the vector
machine (SVM) test data related to character recognition;
3. Respectively, to achieve template matching algorithm for character recognition,
neural network character recognition algorithm based on vector machines
(SVM) algorithm for character recognition, and recognition rate accordingly
experiment, the three sides to compare the experimental results;
4. Do three algorithms based on MATLAB GUI interface of the system.
Keywords: License Plate Recognition Template matching Neural network
Vector Recognition rate
目 录 i
目 录
第一章 序 言 ............................................................................................................... 1
1.1课题研究背景以及意义 ................................................................................. 1
1.2本文主要的研究内容 ..................................................................................... 1
第二章 车牌图像的预处理............................................................................................. 5
2.1图像的平滑处理 ............................................................................................. 5
2.1.1 平滑处理的理论 ...................................................................................... 5
2.1.2 平滑处理的实现 ...................................................................................... 6
2.2图像的二值化处理 ......................................................................................... 7
2.2.1 二值化处理的理论 .................................................................................. 7
2.2.2 二值化处理的实现 .................................................................................. 7
2.3二值图像的形态学运算 ................................................................................. 8
2.3.1形态学运算的理论 ................................................................................... 8
2.4对字符进行分割 ........................................................................................... 10
2.4.1 字符分割的理论 .................................................................................... 10
2.4.2 字符分割的实现 .................................................................................. 11
第三章 基于模板匹配算法的车牌字符识别算法 ...................................................... 13
3.1模板匹配算法的理论背景 ........................................................................... 13
3.2模板匹配算法的实现及识别率的研究 ....................................................... 16
3.3本章小结 ....................................................................................................... 19
第四章 基于神经网络算法的车牌字符识别算法 ...................................................... 21
4.1神经网络算法的理论背景 .......................................................................... 21
4.2神经网络算法的实现及识别率的研究 ...................................................... 27
4.3本章小结 .................................................................................................... 33
第五章 基于向量机(SVM)算法的车牌字符识别算法 ....................................... 35
5.1向量机(SVM)算法的理论背景 ............................................................... 35
ii 目 录
5.1.1 SVM的基本原理 ................................................................................... 35
5.1.2 SVM中核函数的选择 ........................................................................... 35
5.1.3 SVM的多类决策问题 ........................................................................... 36
5.1.4 SVM算法描述 ....................................................................................... 38
5.2向量机(SVM)算法的实现以及识别率的研究 ....................................... 39
5.2.1 车牌字符图像的预处理 ........................................................................ 39
5.2.2 车牌字符特征的选取 ............................................................................ 39
5.2.3 车牌字符SVM的构造 ....................................................................... 39
5.2.3 实验过程中相关函数及参数的选定 .................................................... 40
5.2.4 实验过程中的相关结果 ........................................................................ 41
5.3本章小结 ....................................................................................................... 43
第六章 总结与展望....................................................................................................... 45
致 谢 ....................................................................................................................... 47
参考文献 ......................................................................................................................... 49
1
第一章 序言
第一章 序 言
1.1 课题研究背景以及意义
目前,我国的经济正在飞速的发展,综合实力也在与日俱增,城市化进程也
在加快,国内各大城市交通管理能力将面临重大考验。目前LPR(汽车牌照识别
技术License Plate Recognition,LPR,简称“车牌通”)系统在实际交通系统中已广
泛应用于交通流量检测,交通控制与诱导,机场,港口,小区的车辆管理,不停
车自动收费,闯红灯等违章车辆监控以及车辆安全防盗等领域,具有广阔的应用
前景。目前对于车牌图像的识别已经有相当成熟的算法。基于这种现状,本文将
对典型的车牌字符识别算法,如:模板匹配,神经网络,向量机(SVM)等算法
进行研究,实现这三种算法并在此基础上完成此三种方法识别率的实验。
本课题研究的主要意义在于:通过对目前比较典型的车牌识别算法识别率的
研究,系统的分析这些算法各自存在的优缺点以及适应的场合,提出一个识别率
更高的算法并为以后的车牌识别算法的研究提供一个借鉴。
1.2 本文主要的研究内容
在处理输入车牌图像的基础上,对分割出来的字符分别用模板匹配,神经网
络,向量机(SVM)进行识别,并对各方法的识别率进行比较。整个过程包括两
个阶段:第一阶段是输入车牌图像的预处理;第二阶段是不同方法对提取的分割
字符的识别过程。
预处理流程图:
2 车牌字符自动识别算法研究及识别系统设计与实现
车牌图像的输入图像的平滑处理
图像的二值化处
理
字符的分割图像的滤波处理
车牌的定位
图 1-1 预处理流程图
字符识别的流程图:
预处理过的图片
基于模板匹配算法基于神经网络算法
基于向量机
(SVM)
图1-2 字符识别的流程图
基于模板匹配算法的流程图:
建立模板匹配所
需的数据库
输入要测试的图
像
模板匹配
输出测试结果
图1-3 模板匹配算法的流程图
基于神经网络的流程图:
图1-4基于神经网络的流程图
3
第一章 序言
输入要测试的图
片
输入神经网络的
训练数据
建立神经网络神经网络
输出建立的神经
网络
输入神经网络的
相关参数
输出测试结果
图1-4基于神经网络的流程图
上图所走的流程是,首先输入神经网络所需要的模板数据,在本实验中我采取的
每个样本4个模板,然后输入建立神经网络所需要的相关参数如最大迭代次数,
最终的生成目标,后通过BP神经网络建立相应的神经网络。在测试过程中,输入
测试的图像,通过上面的神经网络可对测试图片进行分类得到想要的结果。
基于向量机的流程图
输入要测试的图
片
输入向量机的训
练数据
建立相关分类分类
器
输出建立的分类
器和相关参数
分类器算法
输入向量机的相
关参数
输出测试结果
图1-5 基于向量机的流程图
SVM算法主要是输入向量机所需要的训练数据,我采用了4个训练数据,由
于SVM本身的好处所以不需要大量的训练数据,输入相应的训练数据,如误判代
价和gamma值,建立相应的分类器。在测试过程中,输入要测试的图片,通过分
类器,从而能够将输入的图片放入相应的分类器。
4 车牌字符自动识别算法研究及识别系统设计与实现
5
第二章 车牌图像的预处理
第二章 车牌图像的预处理
概要:
由于我们要识别的车牌,都是采用摄像头采集的,所以在采集的过程中必然
会带入一定的噪声,甚至有些图片由于噪声太大,导致车牌字符无法识别,这就
需要自己手动输入。现在有相应的算法来去除彩色图片和二值图像中噪声,而车
牌图像的预处理过程就是一个对采集来的图像进行去噪的过程,为后面的车牌字
符识别做准备。在对图片进行的预处理的过程主要包括:彩色图像的平滑处理,
图像的二值化,基于形态学的二值图像去噪过程,对于一幅完整的车牌进行字符
拆分。进过上面的过程就得到了我们下面实验所需要的对应数据,即车牌的单个
字符。
2.1 图像的平滑处理
2.1.1 平滑处理的理论
图像平滑是一种可以减少和抑制图像噪声的实用数字图像处理技术。在空间
域中一般可以采用领域平均来达到平滑的目的。论文采取的是高斯平滑。
平均平滑对领域内的像素一视同仁,为了减少平滑处理中的模糊,得到更
【】
1
自然的平滑效果,则会很自然地想到适当加大模板中心点的权重,随着远离中心
点,权重迅速减小,从而可以确保中心点看起来更接近与它距离更近的点,基于
这种考虑得到的模板即为高斯模板。
常用的3X3的高斯模板如下所示:
??
121
??
w?1/16?242
??
??
121
??
高斯模板名字的由来是二位高斯函数,即我们熟悉的二位正态分布密度函数,
回忆一下,一个均值为0,方差为的二维高斯函数为:
?
2
(x?y)1
22
?
??
x,y?exp(?)
22
22
???
高斯模板正是将连续的二维高斯函数的离散化表示,因此任意大小的高斯模
6 车牌字符自动识别算法研究及识别系统设计与实现
板都可以通过建立一个的矩阵得到,其位置的元素值可如
(2k?1)?(2k?1)
M
(i,j)
下确定:
((i?k?1)?(j?k?1))1
22
M(i,j)?exp(?)
22
22
???
实际应用中,通常对的模板取为0.8左右,对于更大的模板可以适当
3?3
?
的增大的值
?
2.1.2 平滑处理的实现
基于matlab语言,调用matlab本身的图像处理函数imfilter。处理前后图像的
对比参看图2-1。
图2-1(a) 原图片
图2-2(b) 平滑处理后的图片
图2-1 去噪前后图像对比
通过上面的实验得出如下结果:随着模板的增大,原图像中的噪声得到了更
好的抑制,并且在同样大小的情况下,高斯滤波后的图像比平均模板滤波后的图
像能更好的保留细节。
7
第二章 车牌图像的预处理
2.2 图像的二值化处理
2.2.1 二值化处理的理论
在描述图像二值化处理过程之前,先了解下最基本的图像分析工具—灰度直
方图,灰度直方图描述了一幅图像的灰度级数统计信息,在图像分割和图像灰度
变换等处理过程中应用广泛。
图像直方图描述图像各个灰度级的统计特征,它是图像灰度值的函数,统计
一幅图像中各个灰度级出现的次数或者频率。同时,灰度直方图是一个二维图,
横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在
图像中出现的次数或者频率。
假设一幅图像的像素总数为,灰度级总数为其中灰度级为的像素总数
N
L
g
为,则这幅图像的灰度直方图横坐标即为灰度(),纵坐标则为
N
g
g
0?g?L?1
灰度值出现的次数。
N
g
图像二值化就是将图像上的像素点的灰度值设置为0或者255,也就是将整个
图像呈现出明显的黑白效果。将256个亮度等级的弧度图像通过适当的阈值选取
而获得仍然可以反映图像整体和局部特征的二值化图像。在本实验过程二值图像
是整个实验的重要组成部分,因为,图像的二值化有利于图像的进一步处理,是
图像变得简单,而且数据量减小,能凸显出感兴趣的目标轮廓。其实,要进行二
值图像的简单处理与分析,首先要把灰度图像二值化,得到二值化图像。实验中,
所有灰度大于或者等于阈值的像素被判定为属于特定物体,其灰度值为1表示,
否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区
域。
2.2.2 二值化处理的实现
基于Matlab的图像二值化处理的实验对比。(图2-2)
8 车牌字符自动识别算法研究及识别系统设计与实现
图2-2(a) 图像的原始图像
图2-2(b) 二值化之后的图像
图2-2 图像的二值化过程
2.3 二值图像的形态学运算
2.3.1形态学运算的理论
形态学的基本思想是用具有一定形态的结构元素去度量和提取图像中的对应
形状以达到对图像分析和识别的目的,形态学图像处理的基本运算有4个:膨胀,
腐蚀,开运算和闭运算。
腐蚀和膨胀是两种最基本也是最重要的形态学运算,下面先介绍腐蚀的理论
基础:对于上元素的集合和,使用对进行腐蚀,记做,形式化地定
Z
2
AA
SS
A?S
义为:
A?S?{z|(S)?A}
z
让原本位于图像原点的结构元素在整个平面上移动,如果当的原点平移至
SS
Z
2
zz
点时能够完全包含于中,则所有这样的点构成的集合即为对的腐蚀图
SS
AA
像。
9
第二章 车牌图像的预处理
膨胀的理论基础:对于上元素的集合和,使用对进行膨胀,记做
Z
2
AA
SS
A?S
,形式化地定义为:
A?S?{z|(S)?A??}
z
设想有原本位于图像原点的结构元素,让在整个平面上移动,当其自
SS
Z
2
身原点平移至点时相对于其自身的原点的映像和有公共的交集,即和
ZAA
S
SS
至少有1个像素是重叠的,则所有这样的点构成的集合为对的膨胀图像。
ZA
S
开运算和闭运算都是腐蚀和膨胀复合而成,开运算是先腐蚀后膨胀,而闭运
算是先膨胀后腐蚀。
开运算的理论基础:使用结构元素对进行开运算,记做,可表示为:
S
A
AS
AS?(A?S)?S
一般来说开运算可以是图像的轮廓变得光滑,还能使狭窄的连接断开和消除细毛
刺。在本实验中,开运算主要是用于去除背景上的噪声,在选在结构元素时要比
噪声点要大。
闭运算的理论基础:使用结构元素对进行闭运算,记做,可表示为:
S
A
A?S
A?S?(A?S)?S
一般来说闭运算同样可以使轮廓变得光滑,但与开运算相反,它通常能够弥
合狭窄的间断,填充小的空洞。在本实验中,闭运算主要是用于去除图像上的噪
声,在选取结构元素时要比噪声点稍微小点。
形态学运算的实现
二值图像的形态学运算在本实验中,主要是为了去除图片中的噪声,包括背
景上的噪声和图像本身的噪声图(2-3)。
??
?
10 车牌字符自动识别算法研究及识别系统设计与实现
图 2-3(a) 处理前的图片
图 2-3(b) 形态学运算处理后的图片
图2-3 形态学处理过程
2.4 对字符进行分割
2.4.1 字符分割的理论
图像分割的方法和种类非常多,一般采用的方法有边缘检测(edge detection),
边界跟踪(edge tracing),区域生长(region growing),区域分离和聚合等。
图像分割算法一般基于图形灰度值的不连续性或其相似性。不连续性是基于
图像灰度的不连续变化分割图像,如针对图像的边缘有边缘检测,边界追踪等算
法;相似性是依据事先制定的准则将图像分割为相似的区域,如阈值分割,区域
生长等。如图2-4所示。
11
第二章 车牌图像的预处理
边缘检测
图像的不连续性 边界跟踪
图像分割 Hough 变换
区域生长
图像的相似性 区域分裂与合并
阈值分割
2.4.2 字符分割的实现
实现对车牌字符的分割,首先对图像进行水平投影得到相应分割数据(图2-4):
图2-4 车牌分割的水平投影
分割后得到的字符图像为(图2-5):
,,,,,,,
图2-5 车牌分割出来的字符
再对图像进行取反为(图2-6):
12 车牌字符自动识别算法研究及识别系统设计与实现
, , , , , , ,
图 2-6 对分割出来的字符图像进行取反
13
第三章 基于模板匹配算法的车牌字符
第三章 基于模板匹配算法的车牌字符识别算法
概要:
在研发车牌字符图像自动识别系统是,发现车牌字符识别的难度很大,因为车
牌字符图像在拍摄过程中受环境因素影响较大,例如:光线的影响,拍摄的角度,
还有天气的影响等等,得到的车牌字符图像差异很大,且规律性差,因此车牌字
符识别必须从多方面考虑提高识别率。
提高系统的识别率除了从图像处理环节着手外,还可以从识别算法上考虑,
编码字符识别的常用方法有人工神经网络,模板匹配,向量机等,人工神经网络
【】
2
需要先学习而后识别,受环境影响较大,识别率不稳定,这将在第四章介绍。基
于向量机的字符识别识别率较大,且稳定,在第五章将单独介绍并给出其识别率
的数学化形势。本章主要介绍基于模板匹配算法的车牌识别技术。
3.1 模板匹配算法的理论背景
模板匹配算法是一种经典的模式识别方法,是最直接的识别字符方法,其实
现方式是计算机输入模式与样本之间的相似性,取相似性最大的样本为输入模式
所属类别。首先为算法建立模板库,将待识别字符进行二值化并将其尺寸大小缩
放为字符数据库中模板的大小,然后与所有的模板进行匹配,尤其对二值图像速
度更快,可以满足实时性要求,但其缺点是对噪声很敏感,而且对字符的字体风
格不具有适应性,任何有关光照,字符清晰度和大小的变化都会有影响识别的正
确率,因此在实际应用中为了提高正确率需要使用大的模板或者多个模板进行匹
配,而处理时间则随着模板的增大以及模板个数的增加而增加。
由于车牌字符属于有限的字符集,如果前面的预处理工作做得比较好,预处
理的图片质量较高,图片的水平倾斜度较小,这种方法的识别率基本能达到要求,
可以获得获得较高的识别率。
模板匹配算法的基本思想是:将归一化的字符二值图像与模板库中的字符二
值图像做个进行匹配,采用相似度的方法来计算车牌字符与每个模板字符的匹配
程度,最相似的就是检测的结果。
14 车牌字符自动识别算法研究及识别系统设计与实现
本论文先介绍标准模板匹配算法,再在这基础上介绍一种改进的模板匹配算
法。在一般的模板匹配识别中,一般会用到标准模板匹配模型。而在标准模板匹
配算法中,需要用到下面的公式,即相关度量函数作为判别结果。识别结果为:
C?[|f(i,j)?f(i,j)|]
min
??
k
T
k?1
i?1j?1
A
HW
其中H是字符点阵高度,W是点阵宽度,是样本图像,是第K个字
f(i,j)
f(i,j)
k
T
符标准模板图像,A是分类字符集中字符的个数。
然而标准模板匹配模型理论上只考虑了实际样本与模板图像之间的标准方
差的区别,根据两者之间匹配方差最小原则,判定图像字符的类别。所以在实际
匹配过程中这种匹配算法的识别率并不怎么高。
另外介绍一种全区域特征加权模板,特征区域加权模板考虑了不同位置有笔
画的点对匹配的不同影响,而对于非笔画点,在噪声得到一定抑制的条件下,由
于样本笔画边缘可能产生模糊,对匹配的影响也是不同的。
新的字符编码点阵中,将有笔画的点置1而无笔画的点置0。依照特征加权
模板的设计方法,生成全区域特征加权模板。
w(i,j)?F(k,l)
T
fk
i?1,j?1
k?i?1,l?j?1
?
k
T
T
式中,是新的字符编码标准模板在点(k,l)处的值(1或0),是
F(k,l)
k
T
w(i,j)
fk
全区域特征加权模板在点(i,j)处的权值。全区域特征加权模板各点的权值有正值
也有负值。
全区域的特征加权模板的匹配度公式:
??
[f(i,j)?w(i,j)]
f
fk
D(k)?
i?2j?2
H?1W?1
i?2j?2
H?1W?1
T
??
|w(i,j)|
T
fk
式中是采用新的字符编码方式的样本在点(i,j)的值(1或者0),值
f(i,j)
f
D(k)
的范围介于0和1之间,判别标准按下列式子:
C?maxD(k)
k?1
A
15
第三章 基于模板匹配算法的车牌字符
在实际情况中,样本都会存在不同程度的噪声,如果噪声在非笔画处累计出现,
全区域特征加权模板匹配算法就会受到较大的影响。考虑改进全区域特征加权模
板,既要保证非笔画点的作用得以加强,又要减少噪声的干扰,于是可以对非笔
画点不采用8邻域的加权方法而采用4邻域的加权,对壁画点依然使用8邻域的
加权。即
i?1,j?1
T
k?i?1,l?j?1
?
F(k,l)
k
T
F(i,j)?1
k
T
=
W(i,j)
fk
64
32
图3-1(a) 没有加权前 图3-1(b) 加权后的图像
i?j?1
?
F(i,l)?F(i?1,j)?F(i?1,j)
j?1
TTT
kkk
F(i,j)?0
k
T
图 3-1 全区域特征加权模板匹配算法图像的数值变化
图3-1展示了标准模板匹配算法和全区域特征加权模板匹配算法数值的变化。
16 车牌字符自动识别算法研究及识别系统设计与实现
根据大量的实验表示64*32对于模板匹配算法识别率是最好的,运算速度也较快。
3.2 模板匹配算法的实现及识别率的研究
基于上面的理论,本论文实现了全区域特征加权模板的车牌字符识别。在3.1
节里提到过为了增加模板识别率的提高,采用多模板匹配。我为了提高模板匹配
算法的识别率,我每个模板都采用了4个样本,这样在识别过程中识别率就大大
提高了。表3-1是实验采用这种方法所得到的模板匹配结果
表 3-1 模板匹配结果
样本0 样本1 样本2 样本3 样本4
模板0 7.587151 1.966242 3.87356 4.77267 2.72507
模板1 2.953487 5.762958 3.75258 3.755265 3.32354
模板2 5.993492 3.489282 6.62741 5.792264 2.02821
模板3 5.818509 2.514866 5.30375 6.953528 3.1095
模板4 3.428311 3.213757 3.11816 3.118089 6.79616
模板5 5.455244 2.382601 3.31875 4.916625 2.44128
模板6 6.05503 1.866443 2.68871 4.167394 2.9491
模板7 4.443873 3.529722 5.91612 5.785051 2.31488
模板8 5.403361 2.201177 3.74595 5.015798 2.76205
模板9 6.104167 2.09945 4.0657 4.761958 2.54757
17
第三章 基于模板匹配算法的车牌字符
样本5 样本6 样本7 样本8 样本9
模板0 5.353993 6.010234 2.353951 6.723271 6.073607
模板1 3.628597 3.299126 3.27468 3.358404 3.631536
模板2 5.16345 4.211902 3.89552 6.005568 5.367982
模板3 6.022994 5.219571 3.80808 6.908802 5.400501
模板4 2.657702 3.68029 2.483376 3.912043 3.221006
模板5 6.856539 6.400546 2.516196 5.999597 4.895478
模板6 5.734191 6.978437 1.776757 6.610075 4.653156
模板7 5.202245 3.359849 6.463586 4.968174 4.889087
模板8 5.256714 5.488921 2.64515 6.932816 4.815246
模板9 5.275563 4.810851 2.704668 6.04422 6.961698
注:表3-1中加粗的数据是该列中最大的匹配值,即匹配全区域加权匹配的结
果。
数据分析:从上图的数据可以知道,在对这10个样本测试的过程中,匹配全
正确。
但是可以看出来,在样本8中模板0,模板2,模板3,模板6数值都与模板8的
数值很接近,这也暴露出了全区域加权模板匹配的缺点,像这些模板由于与8都
存在一些区域上的相似性,在对全区域加强的过程中就会强化这些特征区域,因
此会导致错误的判别。为了提高这种算法的识别率可以在全区域特征加权的基础
上对特征区域进行加强,例如6可以对半个平面加强,而2的话可以把下面的横
加强。这样就可以提高识别率。
18 车牌字符自动识别算法研究及识别系统设计与实现
图3-2 给出了要识别的字符图像:
图3-2 要识别的车牌字符图像
图3-3给出了着几个字符的识别结果
图3-3 模板匹配识别的结果
选取800个样本对上述的2中模板:标准模板,全区域特征加权模板进行实
验。为了保证实验能够客观地获得结果,考虑实际中出现的各种可能,选取的样
本包括光照不均匀,有污点或者褪色,倾斜校正不完全,字符切割不理想,原拍
摄图像过小或者模糊,车牌扭曲有划痕等情况。得到的实现结果如图表3-2
表3-2 两种模板匹配算法的识别率的比较
算法 正确匹配个数 正确率
标准模板匹配算法 759 94.87%
全区域特征加权匹配算法 788 98.50%
由表3-2可知,全区域特征加权匹配算法对车牌字符的识别率有所提高。
19
第三章 基于模板匹配算法的车牌字符
3.3 本章小结
本实验通过基于标准模板匹配算法,提出了新的的全区域模板匹配算法,本
算法利用了图像在与模板进行匹配的结果中所存在的分布规律,在识别过程中对
各个数据点进行处理,减小背景噪声对识别造成的影响,在算法的实际运行过程
中只是根据样本各点值的不同做权值的加减运算和一次除运算,由于模板实现已
经通过函数实现了,其运算量比起标准模板匹配差不错,且同样易于实现。同时
也强化了图像中笔画处的权值,弱化了图像中非笔画处的权值,充分考虑了非笔
画点对匹配识别的影响,在一定的程度上提高了车牌字符的识别率,但也加大了
一些字符的识别难度,例如:0和o的识别,这两个字符在64*32的分辨率时,采
用标准模板匹配识别率比全区域模板匹配算法的识别率要高,但两者仍然很相像;
还有8和B的比对,这两者在比较的分辨率下仍然比较难区分,如何改善和提高
算法对上述情况的使用能力,是下一步研究的方向。
20 车牌字符自动识别算法研究及识别系统设计与实现
第四章 基于神经网络算法的车牌字符识别算法 21
第四章 基于神经网络算法的车牌字符识别算法
概要:
此章,主要是从仿生学出发,利用生物大脑的结构知识隐射出来的一种模型
来做车牌字符的识别。需要的数据如表4-1:
表4-1 人工神经网络的相关参数
人工神经网络(ANN)所需数
据
输入
输出
人工神经网络细胞
人工神经元的1,-1两种状态
ANN的训练
网络权值的调整
ANN对于特定输入样本的输
出
在ANN的训练过程中,训练样本特征向量是ANN的输入,训练样本的目标
输出是网络的输出。初始情况下,网络权值被初始化为一种随机状态,当把某个
训练样本输入网络时,由此产生的网络输出与训练样本目标输出之间的差异称为
训练误差;接下来,ANN将根据某种机制调节权值w,使得训练误差逐步减小;
随着这种训练和调整过程的进行,网络对于训练样本的实际输出将越来越接近于
目标输出。
4.1 神经网络算法的理论背景
人工神经网络(Artificial Neural Networks, ANN)简称为神经网络(NN),是
对人脑或者生物神经网络(Natural Neural Network)若干基本特性的抽象和模拟。
它为从样本中学习值为实数,离散值或向量的函数提供一种健壮性很强的解决方
22 车牌字符自动识别算法研究及识别系统设计与实现
案,已经在人脸识别,汽车的自动驾驶,光学字符识别(OCR)等很多实际问题
中取得了惊人的成功。
在解决一个分类问题时,我们要得到的就是学习决策函数,该函数的输
h(x)
出为离散值(类标签)或者向量(经过编码的类标签),ANN很自然就解决了这个
问题;同时由于可以学习实值函数,ANN也是函数拟合的工具。
在介绍人工神经网络之前,简要介绍一下生物神经网络。人的大脑由大量的
神经细胞(神经元,neuron)组成,这些神经元互相连接构成复杂的网络。总所周
知,每个神经元由3个部分组成:树突,细胞体和轴突。树突是由神经纤维组成
的接受网络,主要的功能是将输入的电信号传递给细胞体;轴突是由单根长纤维
组成,主要功能是把细胞体的输出信号导向其他神经元。而大量这样的神经元广
泛地连接从而形成网络。
生物大脑具有很强的学习能力。相关研究表明,如果一个神经元在一段时间
内频繁收到激励,则它与连接至输入的神经元之间的连接强度就会相应地改变,
从而使得该神经元细胞再次收到激励时更易兴奋;相反,一个某段时间内不被激
励的神经元的连接有效性会慢慢地衰减。这一现象说明神经元之间的连接具有某
种可训练性。
目前神经网络模型已有40多种,为了研究,从不同的角度将其分类,如4-2
所示
表4-2 神经网络的分类
分类方法 神经网络分类
按内部信息传递方向 前馈型 反馈型
按学习方式 有导师学习 无导师学习
按突触接触的性质 一阶线性关联 高阶非线性关联
按网络的确定的性质 确定性网络 随机性网络
按网络的拓扑结构 层次型 拓扑型
其中,按网络内部信息传递方向分类的方法最为常用,前馈是因为网络信息处理
的方向是从输入层到各隐藏层再到输出层逐层进行而得名,前馈网络中一层的输
第四章 基于神经网络算法的车牌字符识别算法 23
出是下一层的输入,信息的处理具有逐层传递进行的方向性,这类网络很容易串
联起来建立多层前馈网络。而在反馈网络中所有节点都具有信息处理功能,而且
每个节点既可以从外界接接受输入,同时又可以向外界输出。
下面介绍下神经网络的激活函数:
f(u)f(u)
ii
f(u)
i
?
1,u?0
i
f(u)?
i
?
?
0,u?0
i
f(u)?ku
ii
f(u)?
i
1
1?exp(?u)
i
图 4-1 神经网络中比较常见的3种激活函数
对于激发函数有多种形式,其中最典型的有阶跃型,线性型和S型。这
f(?)
三种形式的函数曲线如图4-1所示。
为了更好的了解ANN训练的反向传播算法,有必要先了解用于训练线性单
元的梯度下降算法,因为它构成了反向传播算法的基础。而这两者的区别在于梯
度下降算法只是训练一个线性单元,而反向传播算法能够训练多个单元的互联网
络。感知器是一种只具有两种输出的人工神经元,一个具有个实数输入
n
x,x,...,x
12n
的感知器如图4-2所示。每个输入对应一个权值,此外还有一个偏置(BIAS)
x
i
w
i
项,首先计算这个输入根据其权值形成的一个线性组合再加上偏置项,即:
ww
00
n
net?w?x?w
?
ii0
i?1
n
不妨令,从而上式可表示为:
x?1
0
net?w?x?wx
?
ii
i?0
n
其中输入向量,权向量。
x?(1,x,x,...,x)w?(w,w,w,...,w)
12n012n
24 车牌字符自动识别算法研究及识别系统设计与实现
感知器的输出式为上式经过阈值化处理的结果是:
1,
?
wx?0
i?0
n
ii
O(x)?
-1, 其他
感知器的工作方式与生物神经单元颇为相似。每个输入到求和单元的连
?
接上的权值表示在对输入的线性组合中各个的贡献大小,单元的加权求
w
i
x
i
?
和处理即为对输入的整合过程。而感知器的1和-1两种输出对应于生物神经元的
兴奋和抑制2种状态。由上式可知,感知器对应于一个维空间中的超平面,
n
wx?0
它能够分类两类样本。对于其一侧的输入样本输出1;对于另一侧的样本输出-1。
训练过程就是调整权值,使得感知器对于两类样本分别输出1和-1。
w,w,...,w
12n
X0=1
x1w1
x2
w2
wo
?
n
?
1,wx
?
ii
O(x)?
?
i?0
?
?1,其他
?
?
wn
?
wx
i?0
n
ii
xn
图 4-2 具有n个输入的感知器
只有1和-1两种输出限制了感知器的处理和分类能力,一种简单的推广是线
性单元,即不带阈值的感知器。一个具有个输入的线性单元如图4-3,
n
x,x,...,x
12n
其输出为
第四章 基于神经网络算法的车牌字符识别算法 25
x?1
0
w1
wo
w2
wn
O(x)?wx
?
ii
i?0
n
图 4-3 简单推广线性神经网络
其个输入根据其权值形成的一个线性组合再加上偏置项,即:
n
w
0
O(x)?w?x?w
?
ii0
i?1
n
令=1,从而式子可表示为:
x
0
O(x)?w?x?wx
?
ii
i?0
n
其中,输入向量,权向量。训练线性单
x?(1,x,x,...,x)w?(w,w,w,...,w)
12n012n
元的核心任务就是调整权值,使得线性单元对于训练样本的实际输出
w,w,...,w
12n
与训练样本的目标输出尽可能地接近。
为了推导线性单元的权值学习法则,首先必须定义一个度量标准来衡量在
当前权向量下ANN相对于训练样例的训练误差(training error)。一个常见的度
w
量标准为平方误差准则:
E(w)?(t?o)
1
2
?
dd
2
d?D
其中,D是训练样本集合,是训练样本的目标输出(训练样本的类
t
d
dd
别信息),是线性单元对于训练样本的实际输出,即。是目标输出
oO(x)
d
d
d
E(w)
t
d
和实际输出
o
d
的差的平方在所有训练样本上求和的1/2倍,这里常数1/2主要是为了最终的推导
结果在形式上的简介。
26 车牌字符自动识别算法研究及识别系统设计与实现
训练线性单元的梯度下降算法
GradDesc(trainset,n)
{//trainset中每个训练样本以序偶的形式给出,其中是样本特征向量,
?x,t?
x
//是系统的输入;是目标输出值,通常是类标签的某种编码,是学习率。
t
n
将每个网络权值初始化为某个小的随机值;
w
i
遇到终止条件之前,重复一下操作:
初始化每个为0;
w
i
对于训练 集合trainset中的每个,做:
?x,t?
把样本特征向量作为线性单元的输入,计算输出;
x
o
?w?(t?o)xw??
iii
?
; 对于线性单元的每个权,做
w
i
?w?w; 对于线性单元的每个权w,做w??
iii
i
}
基于上述理论,下面开始介绍多层人工神经网络。典型的ANN神经元为输入
信号经过一个累加器累加后的信号被送入一个激活函数,从而得到该神经
x
wx
?
元的输出又可以作为下一个或多个神经元的输入。
o
大脑中神经细胞和其他神经细胞是相互连接在一起的,人工神经元也可以按
照类似的方法连接从而组成人工神经网络。一种最广泛使用的连接方式就是图4-4
所示的分层前馈网络,每一层神经元的输出都是前馈至它们的下一层,直至获得
整个网络的输出。
第四章 基于神经网络算法的车牌字符识别算法 27
输入层
隐藏层输出层
…
…
...
…
…
…
…
...
在分层网络中,一般至少分3层:一个输入层,一个输出层还有一个或者多
个隐藏层。相邻层之间的单元是全连接的,即输入层中的每个输入都连接到了隐
藏层的每一个神经元,而隐藏层的每个神经元的输出都连接到输出层的每一个神
经元。多层网络可以解决单层网络所无法解决的问题,如非线性分类,精度极高
的函数逼近等等。只要有足够多的神经元,这些都可以实现。
采用ANN应用于车牌字符识别的分类任务时,先解决如下几个关键的设计问
题:
1.输入编码
本实验要识别的图像中的字符图像,包括汉字,数字,英文字母,则ANN的
输入必然是这幅图像的某种表示,或是能够代表该图像的特征,那么应当从图像
中提取什么样的特征呢?
一种方法是对图像进行处理,分解出边缘,区域等局部图像特征,然后把这
些特征作为ANN的输入。然而,这会导致每幅图像有不同数量的特征参数,不适
用于ANN这样具有固定数量输入单元的分类器。
...
图 4-4 人工神经网络的一种连接方式
4.2 神经网络算法的实现及识别率的研究
28 车牌字符自动识别算法研究及识别系统设计与实现
另一种思路是先使用PCA之类的处理方法对原始图像进行降维,使用降维后
统一长度的特征向量作为ANN的输入。
然而由于神经网络的输入常常是来自传感器的数据,且这些输入之间高度相
关,因此一般的做法不是在训练前对其进行去除相关性的降维处理,而是直接以
图像的全部像素作为输入特征,
2.图像的重采样
大家知道,如果直接按照上述方法进行编码,则特征向量编码是图像的高与
宽像素的乘积。并且在神经网络中输入单元数目和特征维数相等,因此高维度特
征也就意味着大量的输入权值,可想而知这将大大提高处理的复杂度。因此在编
码前需要对样本进行重采样。通过实验可知,重采样的分辨率定为64*32时,计
算速度和识别率都能达到理想的效果。
3.数据的归一化
它的主要功能是将输入特征的个属性缩放至一个统一的区间内从而使各个属
性在分类中的具有相同的贡献。实现步骤为将特征的各个属性线性的缩放至区间
[0,1],但由于我们所采集的图像都是二值图像,已经处于相同的范围,因此无需进
行归一化的步骤。
4.输出编码
在遇到这样一个n类问题是,网络要能够给出n个值对应这n个类别。本实
验采用的方法是:使用同类别数目n相等的输出单元数目,每个输出对应于1种
类别标号,训练时对于第i个输出单元置一个高值(如0.9),而其他单元置低值(如
0.1)作为目标输出,测试时取具有最高值的输出单元编号作为网络的预测值。这
就是常说的n取1输出编码。
5.确定隐藏层单元数目
尽管我们能很快得到输入数目和输出层单元数目之后,还需要决定隐藏层的
数目以及每个隐藏层的单元数目才能最终确定网络结构。由于在解一般问题时1
个隐藏层就可以解决问题,因此我们在设计实验时也是采用的1个隐藏层。通过
实验发现,更多隐藏单元数目意味着更多的权值,这为网络拟合训练数据提供了
更大的自由度,因此含有更多隐藏层单元的网络通常在训练时收敛更快。但是,
第四章 基于神经网络算法的车牌字符识别算法 29
隐藏层数目的增加在大大增加训练时间时并不会显著地提高泛化精度。
6.网络其他参数的设定
开始我就提过关于这个学习率的问题,在这学习率的设置为0.003,迭代次
?
数epochs设置为5000,训练的目标为0.00000001;
反向传播算法的训练过程:
首先创建一个含有一个隐藏层的网络,并随机地为这些神经细胞的权重赋一
个很小的实数值。然后把1个输入样本向量送入网络的输入端,并计算网络输出值。
求得这一输出值和训练样本目标输出值之间的平方误差Ed。利用这一误差值就可
以调整来输出层单元的权值,使得当同样的输入再次送入网络时,其输出能更接
近答案。当输出层的权值已经调整完毕,就可以对隐藏层做同样的事情。
反向传播算法的伪代码描述如下:
BackProPagation(trainset,n,nin,nout,nhidden)
{//trainset中每一个训练样本以序偶的形式给出,其中是样本特征向量,是
?x,t?
x
//系统的输入;n是学习率;nin是网络输入单元的数量;nout是网络输出单元的数
量;
//nbidden是隐藏层单元数量。Xji表示从单元i到单元j的输入,wji表示从单元i到单
//元j的权值
建具有个nin输入,nhidden个隐藏层单元,nout个输出层单元的网络;
将所有的网络权值初始化为小的随机值;
在遇到终止条件之前,重复一下操作:
对于训练样本集合trainset中的每个:
?x,t?
//将输入沿网络向前传播
把样本输入网络,并计算网络中每个单元u的输出Ou;
x
//使误差沿网络反向传播
对于网络中的每个输出单元k,计算它的误差项:
?
k
?o(1?o)(t?o)??
kkkkk
?
30 车牌字符自动识别算法研究及识别系统设计与实现
对于网络中的每个隐藏层h,计算它的误差项:
?
h
??
hhhkhk
???o(1?o)w
更新每个网络权值:
w
ji
?w?ww?xw??
jijijijjiji
,其中
??
k?outputs
?
}
基于神经网络的车牌字符识别的过程如流程图如图4-5。在实验的训练过程中
产生了下列问题,首先就是收敛性和局部最小值,反向传播算法在解空间中寻找
能够最小化训练误差的网络权值。对于含有非线性Sigmoid单元的多层网络,误差
曲面可能含有多个不同的局部最小值,梯度下降搜索有可能陷入到这些局部最小
值中。因此,反向传播算法仅可能保证收敛到误差E的某个局部极小值,而不一定
收敛到全局最小误差。
输入测试数据
NY
判断net是否建
立
输入训练数据
N
进行net识别
建立相应的net
输出测试结果重新调整net的参数
Y
成功与否
4-5 神经网络的车牌字符识别流程图
为了有效的降低搜索停留在局部极小值的概率,使反向传播算法尽可能地收敛到
全局最小误差,所采用的方法为:增加冲量项,修改上述算法中的权值更新法则,
使本次权值的更新部分依赖于上一次迭代时的更新,形式如下:
第四章 基于神经网络算法的车牌字符识别算法 31
w(n)?x?w(n?1)
jijjiji
???
其中,表示算法主循环中的第n次迭代时的权值更新,而是
w(n)
ji
0??1
?
一个称为冲量的常数。冲量项有时可以带动梯度下降搜索冲过狭窄的局部极小值
而不是陷入其中。冲量有时会使这个球滚过误差曲面的局部极小值或者平坦区域。
同时,冲量项还具有在梯度不变的区域逐步增大搜索步长,从而可以加快收敛的
作用。
在上述算法中,并没有明确的给出算法迭代的终止条件,通常来说按以下三种标
准来作为网络训练的终止判据。1)在迭代的次数到了一个固定值时停止;2)在
训练样例上的误差降到某个阈值以下时停止;3)在独立的测试样本集合上的分类
误差符合某个标准时。过多的迭代次数还会导致对训练数据的过度拟合。
基于4.1节所讲述的理论,使用matlab实现神经网络基础上的车牌字符识别算法,
识别过程如图4-6
图4-6 神经网络的识别过程
32 车牌字符自动识别算法研究及识别系统设计与实现
图解注释:Epoch最大为5000,训练时间为5s,训练模式采用的是RProp
图4-7 训练迭代次数的图示
从图4-7可以随着迭代次数的增加,训练越来越接近目标所需要的数据。这就
要求在设置参数时要选择适当的参数才能满足较好的要求。
通过大量的实验,对于识别率得到了下面的数据:
表4-3 神经网络的识别率
识别方法 样本数量 正确识别率
神经网络 800 96%
图3-2给出了我们此次要识别的图像,图4-8给出了识别的结果
图 4-8 神经网络的识别结果
通过这个结果,我们能看到在第二个字符的识别中出现了误差,本身是个B
字符,而神经网络确识别出来为8,这两者在字符上有很大的相识度。这也就体现
了神经网络在小样本的情况下,识别率并不高的现象。
第四章 基于神经网络算法的车牌字符识别算法 33
4.3 本章小结
本章主要介绍了从生物神经理论基础上建立起来的人工神经网络学(ANN),
从理论上的介绍了感知器,线性单元,梯度算法,典型的ANN神经元的结构,以
及激励函数等的推导过程,并给出了相应的算法。从应用角度,实现了基于人工
神经网络的车牌字符的识别。神经网络识别的优点是自学能力,随着样本的不断
增加,识别率逐步的提高,通过对样本的识别和学习,调整网络中的参数,从而
达到优化网络的效果。然而神经网络也存在一定问题,在开始时必须对网络进行
训练,在没有初始训练时,网络没法进行识别,另外,训练也增加了额外的识别
时间,模板匹配算法本身的模板已经建立,在运行时不需要处理时间,而神经网
络需要初始化网络,所以时间相对要长一些。
34 车牌字符自动识别算法研究及识别系统设计与实现
第五章 基于向量机(SVM)算法的车牌字符识别算法 35
第五章 基于向量机(SVM)算法的车牌字符识别算法
概要:
车牌自动识别技术是只能交通系统的一个重要的领域,并且应用也越来越广泛。
对于传统的字符识别方法,如模板匹配,神经网络等,模板匹配为了提高识别率
需要使用大量的模板,而识别速度则随之降低。神经网络的识别率在一定程度依
赖于训练样本的数量,在小样本的前提下,识别率较低,且网络的结构复杂。
支持向量机(Support Vector Machines,SVM)是由Vapnik等人于1995年根据统计
学原理提出的一类新型机器学习方法能够有效地解决小样本学习,非线性及高维
模式识别等问题,在模式识别,回归分析和概率密度函数估计等方面得到了广泛
地应用。在无特征提取的前提下,利用SVM进行识别,虽然取得较高的识别速度,
但识别率不高。
5.1 向量机(SVM)算法的理论背景
5.1.1 SVM的基本原理
SVM是基于统计学习理论中最新的成果,主要用于解决有限样本情况下的模
式识别问题。它的基本思想为在样本空间或者特征空间,构造出最优超平面使超
平面与小同类样本集之间的距离最大,从而达到最大的泛化能力。支持向量机以
结构化风险最小化为原则,即兼顾训练误差(经验风险)与测试误差(期望误差)
的最小化。具体体现在分类模型的选择和模型参数的选择上。对于模型的选择来
说,通过实验表明通过控制分类模型的复杂性可以防止过度拟合,因此SVM更偏
爱解释数据的简单模型----二维空间中的直线,三维空间中的平面和更高维空间中
的超平面。对于模型参数而言,距离训练样本太近的分类线对噪声比较敏感,且
对训练样本之外的数据不太可能归纳得很好;而远离所有训练样本的分类线将可
能具有较好的归纳能力。因此,在实际操作过程中SVM正是从线性可分情况下的
最优分类面发展而来的,主要思想是寻找能够成功分开两类样本且具有最大分类
间隔的最优分类超平面。
5.1.2 SVM中核函数的选择
根据泛函的有关理论,只要一种核函数满足Mercer条件,它就对应
K(x,y)
ij
36 车牌字符自动识别算法研究及识别系统设计与实现
某一变换空间中的内积。下面引入核函数这个概念。
(R)
D
?RR?R??
,它将两个空间中的维向量映核函数是一个对称函数:
R
n
n
K
nn
射为一个实数。Mercer核函数计算高维空间中的点积:
K(x,y)?(x)?(y),其中:R???R
ijij
???
nD
这样如果能够在特征空间中发现计算点积的Mercer核函数,就可以使用该核
函数代替支持向量机中的点积运算,而根本不用去关心非线性映射的具体形式,
?
因为在SVM训练和分类中的所有相关公式中,都没有单独出现过,总是以
?
??
(x)?(y)
ij
的形式出现。
因此采用适当的内积核函数就可以实现从低维空间向高维空间的映
K(x,y)
ij
射,从而实现某一非线性分类变换后的线性分类,而计算复杂度却没有增加。常
用的核函数有:
线性核函数:
K(x,y)?x?y
多项式核函数:
K(x,y)?(x?y?1),d?1,2,......
d
径向基核函数:
K(x,y)?exp(?||x?6||)
?
2
Sigmoid核函数:
K(x,y)?tanh(b(x?y)?c)
5.1.3 SVM的多类决策问题
SVM在前面的描述中都是一个二分器,只能用于两类样本的分类。常用的
策略
下列3种用来解决推广SVM解决多类问题。
1. 一对多的最大相应策略
假如有类样本需要划分。在抽取训练集的时候,分别按照下面的方式进
1,2,...,n
行划分。
● 1所对应的样本特征向量为正集(类标签为+1),所对应的样本特
2,...,n
征向量为负集(类标签为-1)。
第五章 基于向量机(SVM)算法的车牌字符识别算法 37
● 2 所对应的样本特征向量为正集(类标签为+1),所对应的样本
1,3,...,n
特征向量为负集(类标签为-1)。
● ………………
● n 所对应的样本特征向量为正集(类标签为+1),所对应的样
1,2,...,n?1
本特征向量为负集(类标签为-1)。
对于上述的训练集分别进行训练,得到n个SVM分类器。在测试的时候,把
未知类别的测试样本分别送入这n个分类器进行判决,最后每个分类器都有1
x
个响应,分别为,最终的决策结果为,
f(x),f(x),...,f(x)
12n
max(f(x),f(x),...,f(x))
12n
即n个响应中的最大者。
这里所说的响应是指决策函数在符号化之前的输出
h(x)?sgn(w?(x)?b)
?
f(x)?sgn(w?(x)?b)
?
,只反映了的分类,表示位于分割超平面的哪一侧,
xx
h(x)
而还能体现出于分割超平面的距离远近,因此它能够反映出样本属于某一
f(x)
xx
类别的置信度。
2. 一对一的投票策略
对其4个分类样本进行分析,A,B,C,D其算法为:
初始化:vote(A)=vote(B)=vote(C)=vote(D)。
投票过程:如果使用训练集(A,B)得到的分类器将判定为A类,则
x
vote(A)=vote(A)+1,否则vote(B)=vote(B)+1;如果使用训练集(A,C)训练的分类器
将判定为A,则vote(A)=vote(A)+1,否则vote(C)=vote(C)+1;………;如果使用
x
(C,D)训练的分类器将判定为C类,则vote(C)=vote(C)+1,否则
x
vote(D)=vote(D)+1。
最终判决:MAX(vote(A),vote(B),vote(C),vote(D))。
3. 一对一的淘汰策略
对于一个6个分类器暗器置信度由大到小排序分别编号为1#(A,C),
2#(A,B),3#(A,D),4#(B,C),5#(C,D),6#(B,C)。
38 车牌字符自动识别算法研究及识别系统设计与实现
判别过程如下:
1) 设被识别对象为x,首先由1#判别函数进行判断。若判别函数h(x)=+1,
则结果为类型A,所有关于类型C的判别函数均被淘汰;若判别函数
h(x)=-1,则结果为类型C,所有关于类型A的判别函数均被淘汰;
若判别函数h(x)=0,为“拒绝决策”的情形,则直接选用2#判别函
数进行识别。假如结果为类型C,则所剩判别函数为4#(B,D),5#(C,D)
和6#(B,C)。
2) 被识别对象x再由4#判别函数进行识别。若判别结果为类型+1,淘汰
所有关于D类的判别函数,则所剩判别函数为6#(B,C)。
3) 被识别对象x再由6#判别函数进行识别。若判别结果为类型+1,淘汰
所有关于D类的判别函数,则所剩判别函数为B。
这个中间就产生了个问题,怎么来表示置信度的问题,对于SVM而言,分割
超平面的分类间隔越大,就说明两类样本越容易分开,表明了问题本身较好
的可分性。
5.14 SVM算法描述
1) 设已知训练集,其中
T?{(x,y),?,(x,y)}?(X?Y)
ii11
x?X=R,y?Y?{1,?1},i?1,2,?,l
ii
n
;
2) 选择核函数和惩罚参数C,构造并求解最优化问题:
K(x,x)
~
lll
1
,
minyyaak(x,y)?a
???
ijijiij
a
2
i?1j?1j?1
tya?0,0?a?C,i?1,2,.....,ls..
?
iii
i?1
l
得最优解;
a?(a,?,a)
1l
T
3) 选择的一个小于C的正分量,并据此计算
aa
**
b?y?yaK(x,x)
jiii
?
**
i?1
l
4) 求得决策函数:
第五章 基于向量机(SVM)算法的车牌字符识别算法 39
f(x)?sgn(yaK(x,x)?b)
?
iii
**
i?1
l
5.2 向量机(SVM)算法的实现以及识别率的研究
在采用基于向量机算法实现车牌字符识别之前,首先要对车牌字符进行预处理。
5.2.1 车牌字符图像的预处理
在字符识别前对字符图像进行相应的预处理,有利于后续的字符识别。在论文
的最开始对图像进行了图像的分割,然而分割后的每个字符尺寸大小都不一样,由
于车牌字符的高与宽的固定比值为2:1,则本论文在对图像进行归一化处理过程中,
采用的规格是:64*32,白底黑字,并且规定黑色像素的取值为1,白色像素的取值
为0。实验表明,64*32的字符点阵在保持车牌字符特征的情况下,减少了计算量,
取得较好的识别率与速度。
5.2.2 车牌字符特征的选取
经过5.2.1的预处理后,各个图像都归一化了,现在提取最能体现这个字符特
征的特征向量。特征向量的选择和提取非常重要,直接影响到识别分类器的设计,
性能及其识别结果的准确性,因此,特征向量的选择和提取是一个关键。主要的特
征向量的选择和提取方法有:逐像素特征提取法,骨架特征提取法,垂直方向数据
统计特征提取法,13点特征提取法,弧度梯度特征提取法等多种方法。
本论文对于不同的字符采用了不同的特征向量提取的方法。对于汉字字符来说,
其结构较复杂,横竖笔画多,所以采用能较好反应字符整体特征的垂直方向数据统
计特征提取法,即自左向右对图像进行逐列扫描,统计每列白色像素的个数,形成
32个特征,然后自上而下逐行扫描,统计每行的白色像素的个数,形成64个特征,
最后形成一个96维的字符特征向量。对于数字与字母,结构简单,采用13点特征
提取法,首先把字符平均分成8分统计每一份内黑色像素点的个数为8个特征,然
后统计水平方向中间两列和竖直方向中间两列的黑色像素点个数作为4个特征,最
后统计所黑色色像素点个数作为第13个特征。
5.2.3 车牌字符SVM的构造
在车牌字符识别过程中,对于构造SVM的数量如5-1表:
40 车牌字符自动识别算法研究及识别系统设计与实现
表5-1 SVM数量的构造
字符类型 SVM的数量(个)
汉字 50
数字 10
字母 26
数字和字母混合识别 34
在字母和数字的混合识别中去掉字母I和字母O。但对于一种字符的某个字符,
如字符‘0’,对于它的分类仍然采用是一个两类SVM。
分类器按下表来建立:
输入的数据
数字
字母
分分
类类
器器
汉
字
分
类
器
字
母
和
数
字
分
类
器
图5-1 分类器的建立过程
5.2.3 实验过程中相关函数及参数的选定
通过实验比对来比对个参数的选取。此实验采用实拍的15幅车牌图像,从其
中10幅中取出单个字符进行SVM训练,余下的5幅用于测试。
1) 核函数及参数的选择
核函数的选择有很大的灵活性,本实验采用惩罚因子C=100,分别用2中不
同的核函数进行实验,结果如下表,实验表明,选用不同的核函数对结果的识别
率影响不大。为了提高系统的识别速度,降低系统的运算量,实验中采用了RBF
第五章 基于向量机(SVM)算法的车牌字符识别算法 41
核函数()。
?
2
?0.1
2)惩罚因子的选择
参数C作为惩罚因子,在一定程度上影响这分类器的推广,本实验,选取
RBF函数作为函数(),分别取不同的惩罚因子C=1,C=10,C=100,C=1000
?
2
?0.1
和C=10000进行实验,将得到的平均SV个数,平均识别率的结果逐一比较,得
出的结果是:随着C的增大,识别率都趋于稳定值,同时平均SV个数减少,当
惩罚因子C=100时,识别率取到最大值98.74%。本文选择惩罚因子C=100。
表5-2 SVM过程中参数对于识别率的影响
核函数 参数 平均消耗时间/s 识别率%
q=1 0.51 98.15
q=2 0.47 97.64
0.53 97.68 多项式核函数 q=3
0.42 90.74 q =0.1
0.43 97.65 q=0.2
0.52 97.66 RBF核函数 q=0.3
惩罚因子 平均SV个数 平均识别率%
C=1 11 96.56
C=10 11 97.67
C=100 10 98.74
C=1000 9 98.73
C=10000 8 98.7
5.2.4 实验过程中的相关结果
本次实验采用的实拍的15幅车牌图像,从其中的10幅中取出单个字符进行
SVM训练,余下的40幅用于测试。每幅车牌图像中的所有单个字符图像均经过
预处理,并归一化为64*32的字符点阵。根据每个字符在车牌中的位置,边上序
号1—8。中间包括点号,然后对序号为1的即汉字进行垂直方向数据统计特征
提取,对于其余字符均采用13点特征提取,将特征向量作为分类器的输入。
42 车牌字符自动识别算法研究及识别系统设计与实现
图3-2给出了此次实验要识别的字符,而图5-2给出了基于向量机的字符识
别结果。
图5-2 基于向量机的字符识别结果
为了对比识别效果,本文采用RBF核函数:C=100,,用几种不同特征
?
2
?1
提取法进行SVM分类识别,结果如5-3表:
表5-3 对于不同特征提取识别率的研究
训练样本平均识别测试样本平均识别
特征提取法 率% 率% 平均识别时间/s
无特征提取 99.05 95.38 0.435
垂直方向数据统计特征提取法 99.45 98.48 0.446
13点特征提取法 99.37 98.35 0.443
本实验 99.73 98.68 0.445
实验结果表明,有特征提取相比于无特征提取的平均识别率都要高,平均识
别时间相差并不是很大。本文的字符特征向量提取法,其识别结果在平均识别时
间上虽与另两种相差不大,但在平均识别率上要高一些,综合效果较好。
第五章 基于向量机(SVM)算法的车牌字符识别算法 43
5.3 本章小结
本章介绍了基于向量机(SVM)的车牌字符识别算法,从向量机(SVM)的理
论开始讲起,先是介绍了向量机(SVM)的基本原理,支持向量机以结构化风险
最小化为原则,即兼顾训练误差(经验风险)与测试误差(期望误差)的最小化。
具体体现在分类模型的选择和模型参数的选择上。再是介绍了向量机(SVM)中
核函数的选择原则,主要是三种核函数,本论文采用的RBF核函数。接着介绍了
向量机(SVM)的多类决策问题,包括三种方法,分别是:一对多的最大相应策
略,一对一的投票策略,一对一的淘汰策略。最后介绍了向量机(SVM)的算法,
并给出了算法的伪代码。
在5.2节中主要介绍了本实验过程中得到的一些数据和实验结果。基于向量机
(SVM)的车牌字符识别算法,很好的解决了小样本条件下的准确识别。并且在
识别率上比神经网络要相对要高,在识别时间上要比模板识别要短。
44 车牌字符自动识别算法研究及识别系统设计与实现
第六章 总结与展望 45
第六章 总结与展望
概要:
本章主要是系统的比较基于模板识别的车牌字符识别算法,基于神经网络的
车牌字符识别算法,基于向量机(SVM)的车牌字符识别算法等的识别率,识别所耗
时间。同时在此基础上给出以后的研究方向。
内容:
基于模板匹配识别的车牌字符识别算法,通过前面的实验,可以发现模板匹
配算法的识别率较高,但需要大量的模板作为匹配,取最小的平均差距作为识别
的结果。这就暴露出了模板识别的问题,识别时间相对于神经网络,向量机要长,
但是不需要建立初始数据库的时间,表6-1给出了本实验建立神经网络,向量机结
构的时间。在真正的车牌识别过程中,这种方法仍然可用,只是程序数据本身所
需要的数据量较大。
表6-1 建立相应结构的时间
建立相应结构的时
匹配方式 间/s
神经网络 12.247
向量机 3.542
基于神经网络的车牌字符识别算法,通过前面的大量实验,可以发现在大量
训练样本的条件下,这种方法的识别率很高,但是,必须刚开始就进行训练,建
立网络才能够识别,并且刚开始训练数据量不大时,识别率不怎么高,这也就限
制了它在实际中的应用。
基于向量机的车牌字符识别算法,通过前面的实验,我们可以发现向量机是
为了解决小训练样本下识别率提供的一种方法,这种算法即使在训练样本很小的
情况下,识别率也能达到很好的效果,当然需要选取适当的字符特征作为向量机
的输入。
46 车牌字符自动识别算法研究及识别系统设计与实现
表6-2给出了上面三种方法在识别3-2四个字符过程中时间的对比。
表6-2 实验字符识别的时间
匹配方式 识别时间/S
模板匹配 3.486
神经网络方式 0.015
向量机方式 2.855
表6-3给出了总的计算时间
表6-3 实验总开销时间
匹配方式 总开销时间/S
模板匹配 3.486
神经网络方式 12.262
向量机方式 6.397
从表6-3可知在三种匹配方法中,就时间开销而言,模板匹配算法是速度最
快的,
47
致谢
致 谢
在此论文撰写过程中,要特别感谢我的导师刘刚的指导与督促,同时感谢他
的谅解与包容。没有刘老师的帮助也就没有今天的这篇论文。求学历程是艰苦的,
但又是快乐的。感谢我的辅导员王晓辉老师,谢谢他在这四年中为我们全班所做
的一切,他不求回报,无私奉献的精神很让我感动,再次向他表示由衷的感谢。
然后还要感谢大学四年来所有的老师,为我们打下计算机专业知识的基础;同时
还要感谢所有的同学们,正是因为有了你们的支持和鼓励。此次毕业论文才会顺
利完成。
谢谢我的父母,没有他们辛勤的付出也就没有我的今天,在这一刻,将最崇
高的敬意献给你们!本文参考了大量的文献资料,在此,向各学术界的前辈们致
敬!
48 车牌字符自动识别算法研究及识别系统设计与实现
参考文献 49
参考文献
[1] K Fukanaga, L. ler, \"The estimation of the gradient of a density function with
applications in pattern recognition,\" IEEE Trans Information Theory, 1975, 21 (1),pp.32-40.
[2] 几种车牌字符识别算法的比较 ,刘静:P72-74
[3] 宋建才,汽车牌照识别技术研究[J],工业控制计算机,2002,4:45-57
[4] 张兴汇,刘玲,杜升之等.车牌照定位及倾斜校正方法研究[J].系统工程与电子技术,
2004,2:237-239
[5] 崔屹.数字图像处理技术与应用[M].电子工业出版社,1997.
[6] 张旭,王宏安,戴国忠等.面向车牌识别区域分割技术[J].计算机工程,2002,12:113~115.
[7] 袁志民,潘晓璐等.车牌定位算法的研究[J].昆明理工学报,2001.26(2):56~60.
[8] H.Demuth and , Neural Network toolbox-for use with Matlab, users guide, Version 5,
The Math works, Nantick,MA,1998
[9] ,Neural networks-A comprehensive foudation, 2nd ed,Prentice Hall,Englewood
cliffs,NJ,1999.
[10] 施阳,李俊,MATLAB语言工具箱[M].西安:西北工业大学出版社,1999.
[11] 张志勇,精通MATLAB 6.5版[M].北京:北京航空航天大学出版社,2003
[12] 罗建军,MATLAB教程[M].北京:电子工业出版社,2005
[13] 周志华,曹根存,神经网络及其应用[M].北京:清华大学出版社,2004
更多推荐
车牌识别
发布评论