石昊苏
摘 要:文章讨论了车辆牌照图像识别整个过程的四个环节:预处理、车辆牌照定位、字符分割、字符识别。通过优化改进Canny算法有效地解决了图像质量不足,批量、自动识别车辆牌照的相关问题。
关键词:图像识别;图像增强;车辆牌照;字符识别
中图分类号:TN247 文献标识码:A
Research on Image Recognition Technology Based on Vehicle License Plate
SHI Haosu
(Northwest University of Politics and Law,Xi'an 710063,China)
Abstract:This paper,the whole process of vehicle license plate image recognition is discussed in four aspects:preprocessing,vehicle license plate location,character segmentation and character recognition.Through the analysis of the part of the algorithm,the problem of image quality is solved effectively,and the related problems of batch and automatic vehicle license plate recognition are identified.
Keywords:image recognition;image enhancement;vehicle license;character recognition
1 引言(Introduction)
随着科技进步、汽车普及家庭化,在城市治安防控和城市管理中对机动车的有效管理越来越显得重要。车辆牌照作为车辆的重要特征之一,如何根据公安系统“天网工程”(或其他视频采集系统)捕获、采集的车辆图像,快速、准确、自动识别车辆牌照,是近些年来许多专家学者研究的热点课题。
车辆牌照图像一方面往往因受现场自然光照、雨雾、仪器硬件设备、拍摄角度、车辆行驶速度等客观条件限制,图像质量不足,从而给牌照的识别带来一定的难度。另外一方面车辆牌照的图像具有形状固定、色彩简单等不同于其他图像的明显特征,从而在识别上又另有辟径。本文将车辆牌照图像识别技术分成的四个步骤:图像预处理、车辆牌照定位、字符分割、字符识别[1],并分别进行论述。
2 预处理(Pre-processing)
预处理是车辆牌照图像识别的前提、重要组成部分,是对采集到的图像进行特征提取、分割以及识别前进行的操作[2]。通常情况下,摄像头采集到的图像为RGB格式,需要进行灰度化、二值化、倾斜校正、滤波等一些预处理。
(1)图像的灰度化
①EQ(f)在0≤f≤L-1范围内是一个单值单增函数,保证原车辆牌照图像的灰度级在经过增强处理后,依然是正确的排列顺序。
②对于0≤f≤L-1有0≤g≤L-1,条件保证变换前后图像灰度值动态范围的一致。
满足上述两个条件的累积分布函数,可以将原车辆牌照图像f的分布转换成g的均匀分布。因此,直方图均衡化映射函数应当为:
gk=EQ(fk)=(ni/n)=pf(fi),(k=0,1,2,…,L-1)
按照这灰度映射关系对原始图像的每一个像素点进行灰度转换,便可以完成对原始图像的直方图均衡化[3]。
(2)二值化
经过灰度处理后的车辆牌照图像亮度信息包含有256个灰度级,它的明暗度这时就很容易区分了。车辆牌照识别时,我需要将牌照从整个背景中彻底分离出来。为了达到这个目的,我们常常直接把图像分为牌照和背景两部分,用来尽可能避免背景像素干扰。这样我们只能用两个灰度级:0和1。通常目标像素值为1,背景像素值为0。因此,我们对图像进行二值化处理后,就能的到自己需要的图像[4]。
假设灰度图像进行二值化处理前的像素值为f(x,y),其中(x,y)表示二值化前灰图像的空间点坐标,二值化后灰度图像的像素值g(x,y)为:
其中,c为我们所说的阈值。
(3)滤波法
滤波法是一种非线性的图像平滑性的技术。常常采用的中值滤波法,将一个滑动性的窗口内的每一像素点的灰度值进行统计,随后使用该窗口内的所有像素点灰度值的中值来替换掉原来中心的灰度值[5]。
3 车辆牌照定位(Vehicle license plate localization)
我国车辆牌照相对其他国家而言,由汉字、英文字母和数字共七个字符构成,有一定的复杂性。但同时也具备显著特点:车辆牌照图像区域的像素点明显多于其他部分、字符的大小和个数固定且间隔距离相等。
目前车辆牌照的定位方法主要有基于边缘检测的方法、小波分析法、基于颜色特征的方法、基于神经网络的方法、基于纹理特征的方法。其中以基于边缘检测的方法比较经典,边缘检测的算法有Sobel算子、Roberts算子、Laplacian算子、Log算子以及Canny算子,这些算子利用了车辆牌照边缘处灰度级剧烈变化进行图像边缘检测。
传统Canny算法在计算梯度幅值时,将待检测点直接参与运算,抑制噪声能力弱。改进后应该是待检测点不参与运算。新的偏导数公式如下:
PX[i,j]=(I[i,j+1]-I[i,j-1]+I[i+1,j+1]-I[i+1,j-1])/2
Py[i,j]=(I[i-1,j]-I[i+1,j]+I[i-1,j+1]-I[i+1,j+1])/2
虽然改进前后计算原理相同,都是通过同方向双向箭头两端的像素值相减[6]后求和,再求其平均值。但计算模板不同,梯度幅值和梯度方向更加精确。
其次可以考虑针对传统Canny算法“人为指定双阈值”,根据非极大值抵制图像的内容自适应给出恰当的双阈值。尽可能让高阈值出现在非边缘区域外、低阈值出现在弱边缘附近,有效修补高阈值的边缘。
4 字符分割(Characters segment)
由于图像采集设备拍摄角度原因,采集到的大量车辆牌照图像会有一定程度的倾斜,如果不进行倾斜矫正,导致图像切分后,在字符识别拉伸时发生扭曲,影响识别效果。尽管可以使用Hough变换,但传统的Hough因为要对每一个像素进行计算,所以处理的时间长。可以考虑车辆牌照图像两端的斜率K来调整图像的位置,提高效率。
本文建议使用基于Radon变换的车牌倾斜校正的方法[7]。根据车辆牌照图像自身特点:固定矩形,变形程度较小,将原来XY平面内的点映射到AB平面上。这样原XY平面的一线直线在AB平面上都位于同一个点,通过记录AB平面点的积累厚度,可反知XY面上线的存在。在新平面下得到相应的点积累的峰值可得出原平面的显著线集,进而确定图像倾斜角度。选择Radon变换在θ=-900°~900°进行变换。
算法可以利用垂直投影法,色彩信息分割法。垂直投影法上下扫描得到车牌牌照图像高度,左右扫描找到第一字符,后继续左右扫描,直到车牌全部扫描完毕。色彩信息分割法。根据车辆牌照前景色与背景色差异巨大,对两种色彩进行连续不分析,最终确定车牌字符的位置,将字符分割。
此外还有模板匹配分割字符法、连通域字符分割法。
5 字符识别(Characters recognition)
字符识别首先要建立起字符模板。将构成车辆牌照的代表直辖市、省(或军警特殊车辆)的汉字、0—9、A—Z收集起来,组成字库。
基于简单模板匹配算法,经过字符分割后的车辆牌照字符图像与模板库中的字符进行逐一匹配来识别字符。但经过字符分割后的字符图像常常尺寸大小不一致,因此需要对字符进行归一化处理。即将车辆牌照字符图像按比例线性缩放成9×16的点阵图像,使其等于标准模块的字符大小。然后计算字符图像与字符模板的相似度与差异度,一般相似度大于95%以上,且差异度小于30%,可以认为匹配。
字符识别方法还有基于人工神经网络识别算法、基于统计特征识别算法和基于结构特征识别算法等。
6 结论(Conclusion)
本文对车辆牌照图像处理的四个步骤:预处理、定位、分割、识别进行综述。分析了就定位中的改进算法Canny将待检测点不参与运算,使得图像抑制噪声能力增强、在梯度幅值和梯度方向更加精确。从而解决车辆牌照图像高效批量、自动识别问题。
参考文献(References)
[1] 赵珊,等.基于Matlab图像处理的汽车牌照识别技术研究[J].测绘工程,2014,23(1):70-72.
[2] 卓俊宇,胡志慧.一种基于Open CV的车牌识别定位方法的研究与实现[J].中国管理信息化,2015,18(13):209-210.
[3] 冈萨雷斯.数字图像处理Matlab版[M].北京:电子工业出版社,2007.
[4] D.P.Mukherjee Debasish Jana.计算机图形学算法与实现[M].北京:清华大学出版社,2012.
[5] 李俊山,李旭辉.数字图像处理[M].北京:清华大学出版社,2007.
[6] 孙金岭,等.基于颜色特性和改进Canny算子的车牌图像定位[J].吉林大学学报(理学版),2015,53(4):693-697.
[7] 蒋治华,等.一种非传统车牌倾斜矫正方法[J].计算机应用研究,2006,23(3):175-177.