APP下载

一种字符定位及识别技术在交通领域的应用

2021-04-08张博杨维耿放马晓元韩策策

传感器世界 2021年2期
关键词:字符识别车牌牌照

张博 杨维 耿放 马晓元 韩策策

河北轨道运输职业技术学院,河北石家庄 052165

0 前言

近些年,随着我国铁路网的逐步延伸,公路路网的迅速发展,铁路、公路客运车辆、货运量、私家车保有量快速增长,如何高效地管理、组织车辆是摆在铁路运营部门以及公路交通管理部门面前亟待解决的问题。采用计算机技术,实现铁路车辆车次号自动记录、汽车车牌自动识别,对于交通智能化,提高交通系统的组织及管理水平,节省人力物力具有非常重要的意义。

1 系统总体设计方案

实现字符识别可按照以下基本步骤:图像采集和初步处理,确定字符区域详细位置,字符切割,字符甄别。

采集到车辆静态图像后,将原始图像转换为灰度图像;图形初步处理就是采用图像处理领域一些常规预处理方法,比如灰阶处理、图像二值化等[1];通过边缘检测算法,找到图像中亮度变化陡峭的点组成集合就可以构成字符的轮廓,由此可以确定图像中字符的具体位置,将车牌进行边缘提取后重复进行开闭运算,确定出车牌区域;采用投影分析法,将车牌上有效字符切分成七个独立单元,为保证切分的合理和准确,还要对切分结果进行校验;采用模板匹配法对切割后字符进行对照识别。为了便于展示各阶段字符处理效果,我们以车牌字符识别为例进行分析。

车辆牌照字符识别系统利用采集到的车辆动、静态图像进行牌照号码的识别,完成系统功能需要硬件和软件的支撑。硬件设备包括图像采集设备、照明装置、后台处理单元等;软件有车牌精确定位算法、字符分割算法等。车牌识别系统包括车辆感知、图像采集、牌照识别等部分。车辆感知部分检测到车辆接近并触发图像采集部分,采集当前车辆的图像;牌照识别单元定位出图像中牌照的精确位置,再将牌照中的字符切割成独立单元分别识别,最后将识别到的字符牌照输出[2]。具体流程图如图1所示。

2 车牌字符识别实施步骤

2.1 彩图转为灰度图

灰度图像没有RGB颜色信息,灰度是指黑白颜色的程度。灰度图将亮度值划分为256个级别,0表示最暗(全黑),255表示最亮(全白),介于0至255之间的部分是从黑到白的过渡部分。因为彩色图像包含的信息量大且运算复杂,所以进行图像处理前会将彩色图像按照加权的方法先转换为黑白(灰度)图像[3]。具体涉及领域不同,加权的权重也不尽相同,一般来说R(红)、G(绿)、B(蓝)的比例为3:6:1,可以根据公式(1)将RGB颜色转换成灰度图像。图2是车牌原图和灰度图的对比。

灰度值=0.299R+0.587G+0.114B (1)

2.2 灰度直方图

灰度图像直方图描述的是灰度级同绘制频率之间关系的函数,将图像中某像素出现频率同图像总像素相除,即可以得到该像素点出现的频率。图像直方图中横坐标是灰度级别,分为0至255共256个层次,纵坐标为图像中该灰度级出现的次数(频率),如图3所示。

2.3 灰度拉伸

2.4 Roberts算子边缘检测

图像中,局部特征以及周围像素显著变化就会产生边缘。边缘检测的目的是找出数字图像中亮度变化最显著点的集合。

Roberts(又称罗伯茨)算子是利用局部差分算子寻找边缘的数学算法[4],利用对角方向两像素的差值近似等于梯度幅值来检测边缘。这种算法检测垂直边缘的效果较好,确定边缘的精度高,缺点是无法抑制噪声的影响,因此这种边缘检测方法适用于噪声少、边缘明显的图像。

Roberts算子的原理见式(2):

式中,f(x, y)、f(x+1,y)、f(x,y+1)和f(x+1,y+1)分别为4个领域的坐标,输入图像的坐标像素是整数,其中的平方根运算和人类视觉系统作用过程类似;g(x, y)是输出图像。使用Roberts算子对车牌进行边缘检测后车牌轮廓分明,如图6所示。

2.5 图像膨胀和腐蚀处理

通过初步处理,灰度图像的边缘边界清晰,车牌区域边界被勾勒且明显地显露出来。利用数学形态学方法,即膨胀(Dilation)、腐蚀(Erosion)两个基本运算,不仅可以确定车牌在车辆图象中的准确位置,还可以在简化图像的同时保持形态特征,去除图像中非相干的小对象[5]。

利用罗伯茨算法进行图像边缘检测后,车牌区域鲜明,数字和汉字显示清晰明了。但是,因为罗伯茨算法在计算过程中也将车牌附近车身区域进行图像处理,这样在车牌四周会出现大量冗余信息,我们称之为噪声点。为提高车牌字符识别成功率,需要对图像进行一种被称作“腐蚀”的处理,通过腐蚀处理后图像中白色部分会缩减细化,白色部分区域减小。腐蚀滤波使得图像中物体的边界轮廓模糊,参数设置合理的话能把图像中小于结构元素的物体去掉,也可以去除两物体间细小的粘连。图7是腐蚀处理后的效果图。

图像进行腐蚀处理之后再膨胀处理,可以平滑图像边缘。图像膨胀处理类似于像素插值处理,具体操作原理就是在图像边缘添加像素值,像素添加后图像整体像素变大。进行膨胀处理后图像会变得模糊,有些细节信息会遗失,车牌字符所在的区域显著地被标记出来。

开放内在空间是相当了不起的内在革命。陷入极端的负面情绪的心灵,正在经历被支离分裂扭曲,力量难以汇聚。不能接受师生关系紧张是自己的原因,难以启齿正经历的不幸,意味着感受到外部的恐惧不安全,还没有机缘在新调入的环境把真实自我和力量展现出来,还没有感到自己的能力是被信任的,恐惧只被同情不受尊重。

膨胀运算是一种数学集合运算,运算符为“⊕”,如果集合A被集合B膨胀,可以记作:

式中,定义集合B是卷积模板,模板B与图像A进行卷积计算,模板元素与二值图像元素逐一进行“与”运算,最终目的是找到B覆盖区域的像素点最大值来替换参考点的像素值,使得图像膨胀。

经过上述腐蚀和膨胀处理后,已经可以大致确定汽车牌照在图像中所处区域,但是图像中仍可见少量冗余信息,如图8中所标记的部分,可以再次使用腐蚀滤波的方法过滤掉噪声信息,我们称之为去除图像中除车牌外的小对象,效果如图9所示。

2.6 车牌定位

车牌定位就是从一幅图像中将车牌所在区域准确地提取出来。车牌定位有多种方法,比较典型的方法是利用灰度的形态学、车牌形状、车牌色调、字符特征等进行特征提取后定位。综合利用上述几种方法,充分利用车牌区域图像包含的丰富纹理信息提取图像垂直边缘,利用腐蚀、膨胀等处理得到覆盖车牌区域的连通域,再结合我国汽车牌照国家标准规定的牌照外部几何特征,在灰度图像中定位车牌所在区域。从所标记的区域中确定最小宽、高组合,并结合实际车牌宽高比,将这组图像提取并显示出来。图10为定位后的彩色车牌图像。

2.7 车牌的倾斜校正

需要将倾斜的牌照进行水平校正,为车牌字符分割创造便利条件。在道路环境进行车牌识别,车牌图像的采集是由架设在道路正上方托架上或道路两侧立柱上的监控设备完成的,由于采集设备拍摄角度,车辆行驶状态和牌照自身安装等问题的影响,牌照会出现不同程度的倾斜,影响字符分割的准确度,很难提高字符识别正确率[6]。采用Rando变换算法对图片倾斜的角度计算并修正,从而得到水平方向一致的图片。图11为倾斜校正后的效果图。

假设有一个二维函数记作f(x, y),Radon变换实质上是将原来的函数做了一个空间转换,也就是说图像矩阵可以在任意指定角度方向上做投影变换,Radon变换可以描述为:

其中,x、y——原函数的横坐标和纵坐标;

θ——旋转的角度。

上式中x'、y'和x、y的关系可以写成:

2.8 车牌图像二值化

图像二值化就是将灰度图像上所有像素点进行二分组处理,将处于0~255灰度级的灰度值设置为最亮或最暗,使得图像呈现出明显的黑白色。图12为车牌灰度图,图13为车牌二值图。进行二值化处理后的图像仍然可以反映图像整体和局部特征[7]。

2.9 图像去除噪声处理

图像滤波目的是在不影响图像细节特征的前提下对图像中噪声进行抑制。车牌图像进行精确定位并二值化处理后仍会存在许多噪声点,这些噪声点会严重影响字符分割的准确度,因此需要去除[8]。

均值滤波是一种线性滤波算法,是通过包含周围邻近像素的模版,用模版中全体像素均值替代原来像素值。当前像素点坐标为(x, y),选择该像素点附近若干像素组成模板,例如可以生成3×3或5×5的矩阵模板,在这个矩阵模板基础上进行图像处理。该模板包括了其周围的临近像素计算模板中所包含的像素平均值,再用平均值替代像素点(x, y),得到另外一个灰度g(x, y),即m是该模板中总像素个数。图14为均值滤波后的车牌图像。

经过均值滤波处理后,车牌区域二值图像已经非常清晰,可以再次使用膨胀、腐蚀处理以进一步去除杂质和干扰,处理后的效果如图15所示。

2.10 投影分析法切割字符

字符分割是将牌照切割为一个个独立的单个字符,供识别使用,本文采用投影分析法进行字符分割,投影反应的是在垂直或水平方向上字符区域像素个数。由于对灰度图像进行二值化处理后字符的形态结构会发生变化,此时要结合牌照实际宽度、各字符的轮廓合理地分割字符[9]。我国汽车牌照有国家标准,7个字符宽度是固定的,第2个字符与第3个字符之间有一个圆点,所以这两个字符间距要稍大。车牌图像中字符间布局是左右排列,非常适合用垂直投影法,如果字符布局是呈现上下罗列型,可以用水平投影法,原理是相同的。更复杂的情况如字符层次不齐,就结合垂直投影和水平投影两种方法切分字符。

将车牌区域进行二值化后,二值图像中的白色是字符有效部分,对牌照图像做垂直和水平投影分析时,步骤类似,只是在划分字符与非字符区阈值参数不同。参数不同是由车牌字符本身特点所决定的,车牌水平投影时取上下边框及字符间隙共4个谷底,垂直投影时共有8个谷底。在字符切割时会出现切割错误的情境,比如“琼”等左右结构汉字,会出现将左右偏旁独立切割开的情况,“苏”等上下结构汉字也可能会独立分割开。这种情况可以将切割完后的字符图像同实际车牌字符宽度或高度进行对比,结合国家标准对车牌字符制式规定的先验知识,对错误切割的字符进行合并。图16为车牌字符切分和归一化。

2.11字符识别

车牌字符识别利用的是光学字符识别(OCR)原理,将车牌图像中字符信息转换成计算机可以处理、人眼可以识别的信息,便于计算机处理或人的使用。字符识别常用的方法有模版匹配、神经网络、支持向量机等,本文采用最基础的模版匹配法[10]。将分割后的字符图像逐一同模板字符图像的特征进行比对,找出相似度最高的模板库图像并将该图像对应的字符输出。如果车牌定位精确、字符分割有效、模板库图片选取合理,即可取得很高的识别成功率。字符识别算法流程如图17所示。

切割后的字符大小还是会有细微的差别,为提高字符识别的快速性和准确度,对字符进行归一化处理,也就是使字符图像的长度、宽度和模板库的图片相同。常用的插值归一化方法就是按照比例在原图片中相应位置插入像素。图18为车牌识别结果。

3 总结

本文主要探索字符识别方法在铁路货运、公路收费、车辆管理等方面的应用,为不失一般性,使用灰度化、二值化、倾斜校正、腐蚀、膨胀等多种图像处理方法对车辆图像进行分析、处理,在Matlab 2010平台实现图像预处理、图像切割和字符识别等相关算法。

本文使用的字符识别算法尚存在一些不足,对运动图像不适用,需要继续改进。车牌会随着使用年限增长,出现油漆剥落、锈蚀、龟裂、污损等质量问题,另外拍摄环境比较复杂,会受到雨、雪、雾、环境亮度等影响,这些影响因素会不同程度降低车牌识别的识别率。蓝底车牌是我国使用量最大的车牌,当车辆颜色是和车牌相似的蓝色,或者车头车尾区域喷涂非车牌字符时,也会对车牌定位和字符识别产生干扰。字符识别过程中,因为少量汉字和数字非常相似,比如0和Q、5和S、4和A 等也会出现识别错误。为提高识别正确率,下一步可采用支持向量分类等方法进行字符识别。

猜你喜欢

字符识别车牌牌照
数字图像处理技术在车牌识别系统中的应用
红景天 直销牌照何日可待
一种改进深度学习网络结构的英文字符识别
新能源汽车牌照叫停疑云
牌照
第一张车牌
基于MATLAB 的车牌识别系统研究
仪表字符识别中的图像处理算法研究
基于CUDA和深度置信网络的手写字符识别
“他的车牌是……”