APP下载

最大似然分类的国内车牌字符识别方法研究

2020-06-10

延安职业技术学院学报 2020年2期
关键词:字符识别车牌字符

张 晨

(厦门软件职业技术学院,福建 厦门361024)

一、引言

近年来,随着汽车工业的发展和汽车消费需求的激增,全球汽车保有量持续上升,已远超十亿。技术的发展使公路变得越来越自动化、智能化,车牌识别系统成为智慧城市的重要组成部分,伴随车牌识别技术在智能交通系统、高速公路收费、交通分析与执法、自动车辆停车场等领域的深入应用,车牌的识别需求也越来越大。中国的汽车消费市场潜力巨大,保有量增速连续多年居世界第一,国内车牌识别需求越来越大。国外的车牌识别技术起步较早,已有较成熟的系统,但国外车牌在尺寸、颜色、字符等特征上与国内有所不同,直接将国外的技术和系统应用到国内会存在适应性的问题。

车牌识别主要依靠计算机视觉技术,将汽车牌照从场景中提取出来经过一系列处理最后完成字符的识别。车牌识别系统通常由图像采集、图像预处理、车牌定位、字符分割和字符识别五部分组成。字符识别是整个流程的核心环节,常常基于OCR 技术完成,是模式识别的一种,目前比较常见的识别方法是模板匹配法、特征匹配法和人工神经网络。虽然,目前字符识别的研究和现有的系统所采用的技术手段不尽相同,但字符识别一直是车牌识别技术研究的核心内容。本文采用的最大似然分类的方法,利用其具有快速、简单的特点完成对车牌字符识别进行研究,作为车牌字符识别方法的一个参考。

二、车牌图像预处理

各个国家和地区的车牌字符宽度、高度、距离等一般是按照标准确定的,不同地域范围的字符形态特征不尽相同。我国普通汽车车牌由七个字符构成,第一位字符为汉字,代表各省、直辖市、自治区的简称;第二位字符为A到Z的大写英文字母,其中字母O 和I 不使用;第三至第七位字符为大写英文字母或阿拉伯数字的组合。完成车牌图像采集之后需要经过二值化、边缘检测和形态学处理等一系列图像预处理过程,以确保字符能够准确无误的识别出来。

(一)车牌图像采集

采集技术决定了车牌图像的质量,在良好的照明条件和合理的拍摄距离及角度下,采集到的图像应具有良好的空间分辨率、合理的锐度和较高的对比度。输入图像的质量越高,车牌识别的精度期望就越高。当车辆进入识别区域,由成像系统通过摄像头拍摄完成车牌原始图像的采集工作,再通过图像采集卡将图像进行模拟图像到数字图像的转换并输入存储到计算机中。

(二)图像预处理

各种干扰因素会影响车牌图像采集造成图像失真,如感光元件灵敏度不一致造成的光电转换异常,模数转换和传输过程产生的噪声,以及其他环境干扰因素等等。利用图像处理技术可以去除噪声,提高图像的细节和轮廓边缘,还原图像特征。图像预处理主要包括三方面的内容:高斯滤波降低图像噪声使图像平滑;图像灰度化增强图像的效果;图像二值化将灰度图像转化为二值图像。

(三)车牌的定位

利用Sobel 算子得到一阶水平方向导数,推算出车牌的相对位置,再通过otsu 进行阈值分割,使用闭操作,使车牌区域连接成一个矩形,之后把全图的轮廓都计算出来并计算轮廓的外接矩形,把倾斜角度大于额定阈值的矩形舍弃,把余下的矩形进行微小的旋转使其水平,最后完成车牌图块的筛选和验证。

(四)字符分割

按照GA 36-2018《中华人民共和国机动车号牌》行业标准,国内普通汽车车牌布局相对统一,如图1 所示即宽度为440mm,高度为140mm,字符宽为450mm,高度900mm,宽高比为0.5,第一个字符左边距为15mm,第二个字符与第三个字符之间的间隙为34mm,其他字符间隙为12mm。把彩色的车牌图片进行灰度化处理,再使用不同的参数利用大津阈值法进行二值化,根据车牌字符宽度和高度、字符间距、左右边距等特征得到字符的切割算法公式把图中的字符矩形区域逐一截取出来。最后归一化到统一格式。

图1 国内车牌常见尺寸布局

三、字符特征提取

(一)粗网格特征提取

将分割输出的字符图像进行二值化,仅保留黑白像素点,并归一化为40x20的尺寸,经过处理后的二值点阵图是一个二维的位数组,每个位点与图像像素相对应。以像素作为取样单位,通过对每行和列进行遍历扫描,灰度值为1的记作黑色,为0的记作白色,统计行和列的1值点数即为该点阵图的特征值。粗网格特征反映出了字符的整体形状和像素值分布情况,但容易受到字符倾斜、偏移等情况的影响,因此再结合梯度数据来提取图像的特征。

(二)梯度特征提取

采用HOG提取图像边缘轮廓特征分布数据,进一步减弱噪声干扰,获取轮廓信息。通过计算和统计图像局部区域的梯度方向直方图得到特征描述子,构成图像梯度特征:

最后由粗网格特征和梯度特征构成整张字符图像的特征:

四、最大似然分类

(一)最大似然估计

最大似然估计是一种使用概率模型来进行参数估计的方法。利用已知的样本结果,构建模型并在此基础上,反推最有可能产生这个结果的模型参数值。利用最大似然估计的基本思想:当车牌字符图片样本为(n 为样本的容量)时,根据概率密度函数构建信号似然函数L(θ),得出θ来使某结果出现的可能性达到最大,并求其最大值对应的θ。

(二)最大似然分类

基于统计分类器的方法是字符识别中常用的方法,如隐马尔科夫随机模型(HMMs)、SVM等。最大似然法分类基于经典统计模式识别理论,是一种监督分类方法。分类判别规则基于概率,预先设置好的m类模型数据集,计算出某个像元属于m中某一类的概率,然后再将该像元划分到概率最大的那一类。在车牌字符识别中,每个字符样本数据都是独立于其他字符数据生成的,所有字符数据的总概率为每个数据点的概率的乘积,即边缘概率的乘积,从高斯分布中生成的单个目标数据点的边缘概率是:

μ 是该类别样本中所有值的估计均值,㎡是该类别样本中所有观测值的估计方差。只要得出能够让上述表达式最大化的μ 和m 的值就可以得到该样本最大概率。此时,标准样本偏差近似为一组特征似然函数的总和:

五、实验结果分析

本文仿真平台主要基于python 和OpenCV 搭建,用到numpy库和sympy库。其中OpenCV用于图像处理和特征识别,numpy 用于特征数据的处理和存取,sympy 用于处理最大似然分类。整体识别运行过程如图2 所示。最大似然分类器的运行过程:输入汉字、字母、数字类别样本图片,进行预处理和特征提取;构建最大似然函数,得到字符先验概率P;分类识别判断类别结果、检验结果。

图2 车牌字符识别整体运行过程

(一)生成样本特征数据集

实验收集的字符样本来源于网上公开数据库、网络搜索引擎搜索结果和虚拟车牌图片。将所有汉字、数字、字母字符样本数据集分为训练集和测试集两部分。样本数据集共分为65 类,其中数字0-9 共十个类,字母A-Z 排除O 和I 后共二十四个类,中文汉字共三十一个类(“京”,“津”,“冀”,“晋”,“桂”,“沪”,“陕”,“吉”,“鲁”,“贵”,“甘”,“鄂”,“辽”,“赣”,“蒙”,“闽”,“宁”,“黑”,“琼”,“湘”,“苏”,“皖”,“青”,“浙”,“豫”,“渝”,“粤”,“云”,“新”,“藏”)。OpenCV将每张输入字符图片大小归一化为40x20,并转成灰度点阵图,提取字符特征并将数据处理成.npy的数据。

(二)最大似然分类器

构建最大似然函数,计算各类字符样本的特征密度函数,从每个备选样本估计特征向量,用于匹配计算似然性,然后从这些特征中计算出可能性,得到字符各类别的先验概率P。通过样本训练生成参数作为阈值,并进一步细分阈值结果,每个结果定义一个字符。分类识别,将待检测目标图像特征输入进行遍历计算,最后与阈值比较偏离程度,判断类别结果。采用一对多分类,65种样本类别构成分类器,其中汉字分类器31个、数字分类器10个、英文字母分类器24 个。根据具体的识别环境设定一个匹配相似度阈值),定义如果比对偏离值小于匹配不成功,即不是同一字符。可以通过改变阈值来获得多种候选字符格式,同时阈值变化使系统能够减少可能因噪声而导致的错误判断。

(三)分类器的训练与测试

训练和测试两个过程是分开的,按照7:3 的比例将所有正负样本图片块分为训练集和测试集两类。分类器存储各训练类的均值和方差以及字符各类别的先验概率。提取车牌标准模板字符特征值,并构建特征向量,待识别车牌字符特征值构造特征向量。先把训练好的结果以xml 文件的形式存储,如图3所示,程序在执行前需要预先加载好xml文件,输入检测目标特征计算向量与的偏差,并将其与训练阶段中描述的模型训练得到的阈值进行比较,在阀值范围内最终概率最大的被确定为具有最大似然性的结果,判定为某个字符,完成字符识别。针对模型运行所有组件和集合时,可以不断训练直到获得最佳结果。

图3 最大似然分类的国内车牌字符识别系统

训练与测试结果如表1 所示,数字和字母的识别率在一定程度上受到了字母与字母、字母与数字之间存在相似字符的情况的影响,不如汉字的识别率高。根据最大似然分类的特点,可加大样本进行训练,以提升识别精度。

表1 训练与测试结果

六.结语

字符识别作为车牌识别过程中最重要的环境,将直接影响到系统的整体效率。利用最大似然分类简单快速、实施方便的特点,针对国内车牌的一些特点,提出了一种最大似然分类的国内车牌字符识别的方法,以降低字符识别过程的复杂程度,提升识别效率。实验仿真结果表明,该方法对国内车牌字符可以有效识别,为国内车牌字符识别提供一种参考和借鉴。

猜你喜欢

字符识别车牌字符
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
数字图像处理技术在车牌识别系统中的应用
HBM电子称与西门子S7-200系列PLC自由口通讯
第一张车牌
基于MATLAB 的车牌识别系统研究
融合字符及字符排列特征的铭牌识别方法
一种基于OpenCV的车牌识别方法
基于MATLAB的图片中字符的分割与识别