几种车牌字符识别算法的比较
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
由于车牌字符属于有限的字符集,如果前面的预处理工 作做得比较好,预处理的图片质量较高,图片的水平倾斜度 较小,这种方法的识别率基本能达到要求,可以获得较高的 识别率。即便字符的切割不够精确,出现有用信息丢失的情 况,采用多模板匹配仍能保证较高的识别率。
下面介绍一种简单的模板匹配算法。算法的基本思想 是:将归一化后字符二值图像与模板库中的字符二值图像 逐个进行匹配,采用相似度的方法来计算车牌字符与每个 模板字符的匹配程度,最相似的就是匹配结果。
算法研究 学术探讨
力,而且识别率高,但是它在字符旋转、变形,笔划粗细不同 等情况下,识别能力有限。
4. 神经网络字符识别算法
神经网络理论自 20 世纪中期提出以来,取得了一系列 的研究成果。近年来,随着计算机技术和非线性科学的发 展,神经网络理论的研究又进入一个新的高潮,其应用己经 渗透到各个领域,并在智能控制、模式识别、计算机视觉、生 物医学工程等方面取得了巨大贡献。
各异,使得车牌字符的识别更加困难。典型的牌照自动识别 系统如下图 1 所示,主要由由图像采集、预处理、二值化、车 牌定位、字符定位、字符分割和字符识别等几部分组成,这
图2
教师
学习(据类 分析或文 法推断)
字符识别原理图
些过程存在着紧密的联系。本文就几种主要字符识别方法 进行了研究。
抽取一定的表达形式后,采用某种分类判别函数和判别 规则,与模板库中己知的标准字符表达形式匹配判别,就可
字符图像进行特征提取,针对字符图像的特征提取的方法 车牌的清晰度、清洁度、新旧底色及光照背景等因素,可能会
多种多样,有逐像素特征提取法、骨架特征提取法、垂直方 使采集到的图像存在严重干扰,如字符模糊、畸变甚至断线
向数据统计特征提取法、基于网格的特征提取法、弧度梯度 等。因而,要求所采用的识别方法具有很强的抗干扰性和环
基于神经网络的字符识别算法一般包括以下四个步骤: (1) 对分割出来的字符样本进行预处理; (2) 提取样本字符特征; (3) 将特征送到神经网络中训练,训练好的神经网络对 特征敏感; (4) 将待识别字符预处理提取特征后送到训练好的神经 网络中进行识别。 基于神经网络的车牌字符识别方法,对于解析度较高和 图像比较清晰的车牌,这些方法能有效识别车牌中的字符, 但对于较低解析度和较为模糊的车牌还有很多工作要做,因 为这些方法只有在车牌中的每个字符被独立分割出来的前 提下才能完成识别工作,而独立分割车牌取得字符,对较低 解析度和较为模糊的车牌来说是非常困难的。虽然,神经网 络在识别效果上提高的余地较大,具有较强的容错能力,还 可进一步训练学习,识别率较高,但其识别速度较慢,不能 满足实时性的要求。
— —— — — —— —— —— — — — —— —— —— —— —— — — 作者简介: 刘静, 女, 天津人, 硕士, 助教, 研究方向: 计算机应用与控制工程。
— 72 —
除了第(1)点对识别有利外,其余特点都使得车牌字符的 识别实现起来非常困难。目前最常用的车牌字符识别的方法 有基于模板匹配的字符识别算法、基于神经网络的字符识别 算法和特征统计匹配法。下面对几种方法分别做详细介绍。
视频信号
车辆图像 视频
图像采集
车辆检测
识别出输入的字符图像。 虚线以下是识别系统的学习部分。学习是根据多个未知
车辆 检测器
字样抽取出模式表达形式,自动构造或修改充实字典,不断 提高系统识别率。
字符识别
字符分割
车牌定位
经过多年的研究,对于标准字体的识别技术目前已经相 当成熟,但在车牌识别系统中,由于实际使用条件的影响,存
学术探讨 算法研究
几种车牌字符识别算法的比较
刘静
(河北工程大学,河北 邯郸 056038)
[ 摘 要] 牌照自动识别系统是现代社会智能交通系统的重要组成部分, 是图像处理和模式识别技术研究的热点, 应用 也越来越普遍。本文就几种主要的字符识别方法进行研究及比较。
[ 关键词] 字符识别; 模板匹配; 神经网络
匹配的步骤如下: (1) 依次取出模板字符,将模板字符按照上下左右四个 方向,在周围五个像素的范围内滑动,每次分别计算出相似 度 S 值,取其中的最大值 S 作为字符与模板字符之间的相 似度函数。 (2) 依次从待识别的字符与模板字符的相似度中找出最 大相似度值所对应的模板字符,判断是否大于该字符的阈 值 T,如果 S 大于 T,那么待识别字符的匹配结果就是该模 板字符,如果小于 T,则拒绝识别。 该算法可用于类似车牌字符等印刷体字符识别。在字符 较规整时,算法对字符图像的缺损、污迹有较强的抗干扰能
3. 模板匹配字符识别算法
模板匹配方法是一种经典的模式识别方法,是最直接的 识别字符方法,其实现方式是计算输入模式与样本之间的 相似性,取相似性最大的样本为输入模式所属类别。首先要 建立模版库,将待识别字符进行二值化并将其尺寸大小缩 放为字符数据库中模板的大小,然后与所有的模板进行匹 配,最后选择最佳匹配作为结果。这种方法具有较快的识别 速度,尤其对二值图像速度更快,可以满足实时性要求,但 是,它对噪声很敏感,而且对字符的字体风格不具有适应 性,任何有关光照、字符清晰度和大小的变化都会影响识别 的正确率,因此在实际应用中为了提高正确率往往需要使 用大的模板或多个模板进行匹配,而处理时间则随着模板 的增大以及模板个数的增加而增加。该算法的一种改进是 基于关键点的模板匹配算法,但针对不同的应用环境,关键 点的选取方法是不同的。
5. 特征统计匹配法
特征统计匹配法的要点是先提取待识别模式的一组统 计特征,再按照一定准则所确定的决策函数进行分类判决。 汉字的识别是将字符点阵看作一个整体,根据每个字符的笔 画特征不同,将字符分解为横、竖、撇、捺、折、圆中的一种或 几种结构特征的集合,经过大量的统计得到所用特征,再与 字符库中的特征集合进行匹配,从而得到输入字符的识别结 果。最常用的方法是网格特征匹配法。然而在实际应用中,由 于外部原因的存在常常会出现字符模糊、字符倾斜等情况, 从而影响识别效果,当字符出现笔画融合、 (下转第 78 页)
结果 输出
车牌号码:京 EG6572 蓝色
图 1 车牌识别系统示意图
在着许多不利于识别的因素。与其它字符识别相比,车牌字 符识别有其特殊性,主要体现在以下几点:
(1) 字符集小。车牌上出现的汉字字符为省、自治区、直 辖市或特殊机构的简称。加上 26 个英文字符以及 10 数字,
2. 字符识别原理
字符类别不超过 100 类。 (2) 待识别的字符图像小。字符图像来源于定位分割得
— 73 —
Fra Baidu bibliotek术探讨 数据库技术
OleCheck (CreateILoc kBytesOnHGlobal (DataHandle,True, TempLockBytes));
OleCheck (StgOpenStorageOnILockBytes (TempLockBytes, nil,STGM_READWRITE or
字符识别是模式识别领域中很活跃的一个分支。字符 到车牌图像,车牌占车辆图像中的比例很小,因此,车牌字符
识别的基本思想是匹配判别。抽取待识别字符特征按照字 一般都很小,字符的宽高通常在 20~30 个像素之间,这样就
符识别的原理和预先存储在计算机中的标准字符模式表达 增加了识别的难度。
形式的集合逐一进行匹配,找出最接近输入字符模式的表
相似度函数定义式如下面的公式所示:
MN
!! " f(i,j)&t(i,j) #
S= i = 1 j = 1 MN !! " f(i,j)∩t(i,j) $ i=1 j=1
其中,f(i,j)为待识别车牌字符图像中像素点(i,j)的灰度 值,这里的取值为 0 或 l;t(i,j)为模板字符图像中像素点(i,j) 的灰度值,这里的取值为 0 或 1;M 和 N 为模板字符点阵横 向和纵向包含的像素个数。
特征提取法等很多方法。特征提取要保证类内聚类性和类 境适应性。
间可分性,同时避免维数冗余性,应该考虑两方面情况:一
(4) 存在一些结构特征非常相似的字符。例如:数字“2”
方面是反映图像全局的特征,这种特征对一般噪声不敏感, 与字母“Z”,数字“8”与字母“B”,数字“5”与字母“S”,数字
另外一方面,选取的特征能够反映出图像的局部细节特征。 “0”、字母“Q”、“D”和“O”等。
Stream.Free; …… // 读取 Word 文档内容并保存到数据库中
Stream:= TADOBlobStream.Create (adoQuery1.FieldBy- Name('WordDocument') as TBlobField,bmWrite);
SaveWordDocument (oleContainer1.OleObjectInterface, Stream);
1. 引言
待识别的 字符图像
字符图像 预处理
判别 特征提取 (依据所选方
法进行识别)
识别 结果
车牌自动识别系统是目前交通部门十分重要的科研课 题之一,在公共安全、交通管理及军事部门有着极其重要的 应用价值。由于我国车牌种类繁多,拍摄时所处的环境条件
识别部分 学习部分
字典(特征模 版集合或句 法规则集合)
adoQuery1.post;
4. 结语
利用 Word COM 接口直接读写 Word 文档内容的方法, 在 Word 的二次开发应用中解决数据库存储问题得到了很 好的应用。对于其它的应用开发,如 Excel、Ppt、AutoCAD 等,都可以用类似的方法实现在数据库中的存取。
参考文献: [1] 甘 志 . Del phi 高 级 应 用 开 发 篇 [M]. 北 京 : 清 华 大 学 出 版 社 , 2003. [2] 陈 省. Del phi 深 度 探 索[M]. 北 京 : 电 子 工 业 出 版 社 , 2004. [3] Dal e Roger s on. COM技 术 内 幕 - 微 软 组 件 对 象 模 型[M]. 杨 秀 章 译. 北 京 : 清 华 大 学 出 版 社 , 1999.
Stream:= TADOBlobStream.Create (adoQuery1.FieldBy- Name('WordDocument') as TBlobField,bmRead);
LoadWordDocument (oleContainer1.OleObjectInterface, Stream);
用神经网络进行字符识别,主要有两种方法:一种方法 是先对待识别字符进行特征提取,然后用所获得的特征来训 练神经网络分类器。这种方法实际上是传统方法与神经网 络技术的结合,可以利用人的经验来获取模式特征,然后充 分利用神经网络的分类能力来识别字符,其识别效果与字符 特征的提取有关,而字符的特征提取往往比较耗时。因此, 字符特征的提取就成为研究的关键,特征参数过多会增加训 练时间,过少会引起判断上的歧义。另一种方法是充分利用 神经网络的特点,直接把待处理图像输入网络,由网络自动 实现特征提取直至识别。这种网络互连较多,待处理信息量 大。这种方法无需特征提取,由网络自动识别字符,抗干扰 性能好,识别率高。但该方法产生的网络结构比较复杂,输 入模式维数的增加可能导致网络规模庞大。
(3) 车牌字符图像受到的干扰因素多。车牌识别系统是
达形式,该表达形式对应的字就是识别结果。字符识别的原 全天候工作的系统,由于受到天气、外界干扰、车辆运动、车
理如图 2 所示。
牌倾斜以及拍摄角度等因素的影响,导致提取到的车牌字符
经过图像预处理,得到了二值化的数字点阵。对二值化 图像中的字符的大小、粗细、位置及倾斜度都不一样。另外,
STGM_SHARE_EXCLUSIVE,nil,0,TempStorage)); oleWord.Close(OLECLOSE_NOSAVE ); oleWord.QueryInterface(IPersistStorage,PersistStorage); OleCheck(PersistStorage.HandsOffStorage); OleCheck(PersistStorage.Load(TempStorage)); PersistStorage := nil; end; …… // 从数据库读出并调入到 Word 中 Var Stream:TADOBlobStream; ……
下面介绍一种简单的模板匹配算法。算法的基本思想 是:将归一化后字符二值图像与模板库中的字符二值图像 逐个进行匹配,采用相似度的方法来计算车牌字符与每个 模板字符的匹配程度,最相似的就是匹配结果。
算法研究 学术探讨
力,而且识别率高,但是它在字符旋转、变形,笔划粗细不同 等情况下,识别能力有限。
4. 神经网络字符识别算法
神经网络理论自 20 世纪中期提出以来,取得了一系列 的研究成果。近年来,随着计算机技术和非线性科学的发 展,神经网络理论的研究又进入一个新的高潮,其应用己经 渗透到各个领域,并在智能控制、模式识别、计算机视觉、生 物医学工程等方面取得了巨大贡献。
各异,使得车牌字符的识别更加困难。典型的牌照自动识别 系统如下图 1 所示,主要由由图像采集、预处理、二值化、车 牌定位、字符定位、字符分割和字符识别等几部分组成,这
图2
教师
学习(据类 分析或文 法推断)
字符识别原理图
些过程存在着紧密的联系。本文就几种主要字符识别方法 进行了研究。
抽取一定的表达形式后,采用某种分类判别函数和判别 规则,与模板库中己知的标准字符表达形式匹配判别,就可
字符图像进行特征提取,针对字符图像的特征提取的方法 车牌的清晰度、清洁度、新旧底色及光照背景等因素,可能会
多种多样,有逐像素特征提取法、骨架特征提取法、垂直方 使采集到的图像存在严重干扰,如字符模糊、畸变甚至断线
向数据统计特征提取法、基于网格的特征提取法、弧度梯度 等。因而,要求所采用的识别方法具有很强的抗干扰性和环
基于神经网络的字符识别算法一般包括以下四个步骤: (1) 对分割出来的字符样本进行预处理; (2) 提取样本字符特征; (3) 将特征送到神经网络中训练,训练好的神经网络对 特征敏感; (4) 将待识别字符预处理提取特征后送到训练好的神经 网络中进行识别。 基于神经网络的车牌字符识别方法,对于解析度较高和 图像比较清晰的车牌,这些方法能有效识别车牌中的字符, 但对于较低解析度和较为模糊的车牌还有很多工作要做,因 为这些方法只有在车牌中的每个字符被独立分割出来的前 提下才能完成识别工作,而独立分割车牌取得字符,对较低 解析度和较为模糊的车牌来说是非常困难的。虽然,神经网 络在识别效果上提高的余地较大,具有较强的容错能力,还 可进一步训练学习,识别率较高,但其识别速度较慢,不能 满足实时性的要求。
— —— — — —— —— —— — — — —— —— —— —— —— — — 作者简介: 刘静, 女, 天津人, 硕士, 助教, 研究方向: 计算机应用与控制工程。
— 72 —
除了第(1)点对识别有利外,其余特点都使得车牌字符的 识别实现起来非常困难。目前最常用的车牌字符识别的方法 有基于模板匹配的字符识别算法、基于神经网络的字符识别 算法和特征统计匹配法。下面对几种方法分别做详细介绍。
视频信号
车辆图像 视频
图像采集
车辆检测
识别出输入的字符图像。 虚线以下是识别系统的学习部分。学习是根据多个未知
车辆 检测器
字样抽取出模式表达形式,自动构造或修改充实字典,不断 提高系统识别率。
字符识别
字符分割
车牌定位
经过多年的研究,对于标准字体的识别技术目前已经相 当成熟,但在车牌识别系统中,由于实际使用条件的影响,存
学术探讨 算法研究
几种车牌字符识别算法的比较
刘静
(河北工程大学,河北 邯郸 056038)
[ 摘 要] 牌照自动识别系统是现代社会智能交通系统的重要组成部分, 是图像处理和模式识别技术研究的热点, 应用 也越来越普遍。本文就几种主要的字符识别方法进行研究及比较。
[ 关键词] 字符识别; 模板匹配; 神经网络
匹配的步骤如下: (1) 依次取出模板字符,将模板字符按照上下左右四个 方向,在周围五个像素的范围内滑动,每次分别计算出相似 度 S 值,取其中的最大值 S 作为字符与模板字符之间的相 似度函数。 (2) 依次从待识别的字符与模板字符的相似度中找出最 大相似度值所对应的模板字符,判断是否大于该字符的阈 值 T,如果 S 大于 T,那么待识别字符的匹配结果就是该模 板字符,如果小于 T,则拒绝识别。 该算法可用于类似车牌字符等印刷体字符识别。在字符 较规整时,算法对字符图像的缺损、污迹有较强的抗干扰能
3. 模板匹配字符识别算法
模板匹配方法是一种经典的模式识别方法,是最直接的 识别字符方法,其实现方式是计算输入模式与样本之间的 相似性,取相似性最大的样本为输入模式所属类别。首先要 建立模版库,将待识别字符进行二值化并将其尺寸大小缩 放为字符数据库中模板的大小,然后与所有的模板进行匹 配,最后选择最佳匹配作为结果。这种方法具有较快的识别 速度,尤其对二值图像速度更快,可以满足实时性要求,但 是,它对噪声很敏感,而且对字符的字体风格不具有适应 性,任何有关光照、字符清晰度和大小的变化都会影响识别 的正确率,因此在实际应用中为了提高正确率往往需要使 用大的模板或多个模板进行匹配,而处理时间则随着模板 的增大以及模板个数的增加而增加。该算法的一种改进是 基于关键点的模板匹配算法,但针对不同的应用环境,关键 点的选取方法是不同的。
5. 特征统计匹配法
特征统计匹配法的要点是先提取待识别模式的一组统 计特征,再按照一定准则所确定的决策函数进行分类判决。 汉字的识别是将字符点阵看作一个整体,根据每个字符的笔 画特征不同,将字符分解为横、竖、撇、捺、折、圆中的一种或 几种结构特征的集合,经过大量的统计得到所用特征,再与 字符库中的特征集合进行匹配,从而得到输入字符的识别结 果。最常用的方法是网格特征匹配法。然而在实际应用中,由 于外部原因的存在常常会出现字符模糊、字符倾斜等情况, 从而影响识别效果,当字符出现笔画融合、 (下转第 78 页)
结果 输出
车牌号码:京 EG6572 蓝色
图 1 车牌识别系统示意图
在着许多不利于识别的因素。与其它字符识别相比,车牌字 符识别有其特殊性,主要体现在以下几点:
(1) 字符集小。车牌上出现的汉字字符为省、自治区、直 辖市或特殊机构的简称。加上 26 个英文字符以及 10 数字,
2. 字符识别原理
字符类别不超过 100 类。 (2) 待识别的字符图像小。字符图像来源于定位分割得
— 73 —
Fra Baidu bibliotek术探讨 数据库技术
OleCheck (CreateILoc kBytesOnHGlobal (DataHandle,True, TempLockBytes));
OleCheck (StgOpenStorageOnILockBytes (TempLockBytes, nil,STGM_READWRITE or
字符识别是模式识别领域中很活跃的一个分支。字符 到车牌图像,车牌占车辆图像中的比例很小,因此,车牌字符
识别的基本思想是匹配判别。抽取待识别字符特征按照字 一般都很小,字符的宽高通常在 20~30 个像素之间,这样就
符识别的原理和预先存储在计算机中的标准字符模式表达 增加了识别的难度。
形式的集合逐一进行匹配,找出最接近输入字符模式的表
相似度函数定义式如下面的公式所示:
MN
!! " f(i,j)&t(i,j) #
S= i = 1 j = 1 MN !! " f(i,j)∩t(i,j) $ i=1 j=1
其中,f(i,j)为待识别车牌字符图像中像素点(i,j)的灰度 值,这里的取值为 0 或 l;t(i,j)为模板字符图像中像素点(i,j) 的灰度值,这里的取值为 0 或 1;M 和 N 为模板字符点阵横 向和纵向包含的像素个数。
特征提取法等很多方法。特征提取要保证类内聚类性和类 境适应性。
间可分性,同时避免维数冗余性,应该考虑两方面情况:一
(4) 存在一些结构特征非常相似的字符。例如:数字“2”
方面是反映图像全局的特征,这种特征对一般噪声不敏感, 与字母“Z”,数字“8”与字母“B”,数字“5”与字母“S”,数字
另外一方面,选取的特征能够反映出图像的局部细节特征。 “0”、字母“Q”、“D”和“O”等。
Stream.Free; …… // 读取 Word 文档内容并保存到数据库中
Stream:= TADOBlobStream.Create (adoQuery1.FieldBy- Name('WordDocument') as TBlobField,bmWrite);
SaveWordDocument (oleContainer1.OleObjectInterface, Stream);
1. 引言
待识别的 字符图像
字符图像 预处理
判别 特征提取 (依据所选方
法进行识别)
识别 结果
车牌自动识别系统是目前交通部门十分重要的科研课 题之一,在公共安全、交通管理及军事部门有着极其重要的 应用价值。由于我国车牌种类繁多,拍摄时所处的环境条件
识别部分 学习部分
字典(特征模 版集合或句 法规则集合)
adoQuery1.post;
4. 结语
利用 Word COM 接口直接读写 Word 文档内容的方法, 在 Word 的二次开发应用中解决数据库存储问题得到了很 好的应用。对于其它的应用开发,如 Excel、Ppt、AutoCAD 等,都可以用类似的方法实现在数据库中的存取。
参考文献: [1] 甘 志 . Del phi 高 级 应 用 开 发 篇 [M]. 北 京 : 清 华 大 学 出 版 社 , 2003. [2] 陈 省. Del phi 深 度 探 索[M]. 北 京 : 电 子 工 业 出 版 社 , 2004. [3] Dal e Roger s on. COM技 术 内 幕 - 微 软 组 件 对 象 模 型[M]. 杨 秀 章 译. 北 京 : 清 华 大 学 出 版 社 , 1999.
Stream:= TADOBlobStream.Create (adoQuery1.FieldBy- Name('WordDocument') as TBlobField,bmRead);
LoadWordDocument (oleContainer1.OleObjectInterface, Stream);
用神经网络进行字符识别,主要有两种方法:一种方法 是先对待识别字符进行特征提取,然后用所获得的特征来训 练神经网络分类器。这种方法实际上是传统方法与神经网 络技术的结合,可以利用人的经验来获取模式特征,然后充 分利用神经网络的分类能力来识别字符,其识别效果与字符 特征的提取有关,而字符的特征提取往往比较耗时。因此, 字符特征的提取就成为研究的关键,特征参数过多会增加训 练时间,过少会引起判断上的歧义。另一种方法是充分利用 神经网络的特点,直接把待处理图像输入网络,由网络自动 实现特征提取直至识别。这种网络互连较多,待处理信息量 大。这种方法无需特征提取,由网络自动识别字符,抗干扰 性能好,识别率高。但该方法产生的网络结构比较复杂,输 入模式维数的增加可能导致网络规模庞大。
(3) 车牌字符图像受到的干扰因素多。车牌识别系统是
达形式,该表达形式对应的字就是识别结果。字符识别的原 全天候工作的系统,由于受到天气、外界干扰、车辆运动、车
理如图 2 所示。
牌倾斜以及拍摄角度等因素的影响,导致提取到的车牌字符
经过图像预处理,得到了二值化的数字点阵。对二值化 图像中的字符的大小、粗细、位置及倾斜度都不一样。另外,
STGM_SHARE_EXCLUSIVE,nil,0,TempStorage)); oleWord.Close(OLECLOSE_NOSAVE ); oleWord.QueryInterface(IPersistStorage,PersistStorage); OleCheck(PersistStorage.HandsOffStorage); OleCheck(PersistStorage.Load(TempStorage)); PersistStorage := nil; end; …… // 从数据库读出并调入到 Word 中 Var Stream:TADOBlobStream; ……