基于彩色图像信息的车牌自动识别系统仿真研究
2019-10-21林国聪王冬青薛斌强刘金燕
林国聪 王冬青 薛斌强 刘金燕
摘要:针对汽车牌照自动识别技术在现代社会车辆管理中的应用,本文研究了一种基于Matlab软件的车牌识别系统。该系统包括图像预处理、车牌定位、字符分割及字符识别几部分。对采集好的车牌图像进行图像预处理,采用统计像素法对车牌图像进行定位,二值化已定位好的车牌图像,对处理过的车牌图像字符进行分割,并采用模板匹配法对分割好的车牌字符进行识别,同时选用100张不同场景、不同省份、不同品牌的汽车牌照,采用Matlab软件进行仿真实验。仿真结果表明,有79张汽车牌照识别正确,说明本文可以实现较为准确的车牌识别。该研究具有一定的实际应用参考价值。
关键词:车牌识别; 车牌定位; 字符切割; 字符识别
汽车牌照自动识别技术是实现智能交通管理的关键技术之一,广泛应用于停车场及小区入口等地方。它以数字图像处理和模式识别技术为基础,对摄像头采集到的车辆图像或视频进行处理分析,得到通过车辆的牌照号码,完成汽车牌照的自动识别过程。随着经济的发展,私家车数量越来越多,车牌自动识别问题引起了许多学者的关注。车牌定位是车牌识别的第一步,也是实现车牌识别最重要的一步,国内外众多学者提出了许多车牌定位算法。刘永俊等人[1]采用基于几何和颜色综合特征的车牌自动定位方法,通过检测车牌颜色和车牌垂直边缘实现定位,但当背景颜色和车牌颜色一致时,容易造成车牌的误定位;王艳等人[2]针对基于颜色或边缘的车牌定位算法常出现误定位的问题,使用最大稳定极值区域(maximally stable extremal regions,MSER)算法进行连通域分析获取车牌位置;在字符分割方面,朱麟[3]提出了一种基于几何形态学的车牌字符分割算法;赖道亮等人[4]提出一种灰度拉伸的车牌字符分割方法。字符识别是从多个字符分割后的图像识别车牌号码;王晓华等人[5]采用基于脉冲耦合神经网络和模板匹配方法实现车牌识别过程;D.Menotti等人[6]提出了一种基于卷积神经网络的光学字符识别(optical character recognition,OCR)特征提取方法,提取车牌号码特征并进行识别。基于此,本文对系统的车牌定位、字符分割和字符识别进行研究,并对部分环节进行改进,使其在车牌定位时不受背景颜色影响,并可以快速准确的识别车牌号码。该研究具有一定的应用价值。
1 系统总体方案设计
本文主要对车牌自动识别系统进行研究,采用Matlab自带的函数库进行仿真实验。首先对采集到的车牌图像灰度化增加对比度,用Canny算子进行边缘检测,采用形态学处理图像,筛选查找矩形轮廓,确定车牌的大体位置[7],然后统计车牌轮廓的白色像素点,粗定位车牌轮廓的行列起始位置和终止位置,灰度化二值化上述处理过的车牌图像,设置阈值,裁剪低于阈值的图像,实现车牌的精确定位[8]。对精确定位的车牌图像进行灰度化二值化形态学滤波,当列累积像素低于设置的阈值时,该处即为车牌字符的间隔,由此从右向左切割字符[9]。提前建立各个省份的简称、数字0~9、字母A~Z的模板库,将切割好的字符归一化后与模板库里预存的字符逐一像素点进行比较[10],相同则加1,数值最大即为匹配度最高。
2 车牌图像预处理
3) 对梯度幅值進行非极大值抑制,排除非边缘像素,保留细线条。
4) 设置高阈值和低阈值2个阈值,若某处像素值高于高阈值,保留为边缘像素,低于低阈值则排除,介于两者之间,仅在连接到一个高阈值时像素保留[13]。Canny边缘检测后图像如图3所示。
2.3 形态学处理图像
数学形态学的基本运算主要包括腐蚀、膨胀、开运算和闭运算,本操作调用腐蚀函数imerode,该函数主要对图像的白色(高亮)部分进行处理,使其拥有更小的高亮区域。
对边缘检测后的图像进行腐蚀操作,腐蚀后的边缘检测图像如图4所示。填充操作可实现二值化图像空洞区域的填充,调用Matlab软件中的imfill函数,对腐蚀后的图像进行填充操作,腐蚀后的填充图像如图5所示。
2.4 移除小目标
由图5可以看出,该图像中还存在其他多余部分需要去除,调用Matlab软件中的bwareaopen函数,从二值图像中移除面积小于阈值的连通区域。经过多次实验,把阈值设置为2 000时,移除效果最佳,移除小目标后的图像如图6所示。
3 车牌定位
国内车牌定位算法很多,如基于彩色图像信息的算法、基于纹理特征的算法、基于边缘检测的算法等。基于彩色图像信息的算法虽然识别准确率高,但是运算量太大,不能满足系统的实时性;基于纹理特征的算法虽应用广泛,
但抗干扰能力较弱,无法解决复杂背景的车牌定位。本系统采用基于边缘检测的算法,较好的克服了以上缺点。
3.1 矩形轮廓查找与筛选
车牌区域具有下面2个特征:
1) 一个矩形区域内包含多个字符。
2) 矩形区域长度和宽度成固定比例[14]。
经过图像的腐蚀填充操作后,车牌上的字符连成一个矩形区域,再根据上述车牌特点进行进一步筛选[15],最终定位车牌所在的矩形区域。
3.2 车牌的粗定位
从左往右统计车牌所在矩形区域白色像素点,高于阈值即为车牌区域的行起始位置,同理可得车牌区域的行终止位置;从上往下统计车牌所在矩形区域白色像素点,高于阈值即为车牌区域的列起始位置,同理可得车牌区域的列终止位置。粗定位后的彩色车牌图像如图7所示,原图行方向像素点累积和如图8所示,原图列方向像素点累积和如图9所示。
3.3 车牌的精确定位
对粗定位后的车牌图像进行精确定位之前,先对其进行二值化,二值化是将图像上像素点的灰度值设置为0或255,使图像只有黑白两种颜色。粗定位车牌二值化后的图像如图10所示,粗定位车牌图像列方向像素点值累计和如图11所示[16]。
由于粗定位之后的车牌区域包含车牌边框,因此需要去掉车牌区域的边框。去边框处理方法是从左向右、从上往下统计行(列)中白色像素点数,当出现白色像素点时即为出现字符时,裁剪未出现白色字符区域[17]。去除左侧边框的二值车牌图像如图12所示,精确定位的车牌二值图像如图13所示。
4 字符分割与识别
4.1 车牌字符分割
车牌字符分割最快的方法是模板匹配法,在确定精确定位的车牌二值图像后,采用车牌切割模板(其中H为车牌字符高度),车牌切割模板如图14所示。从左向右扫描精确定位的车牌二值图像,可将车牌字符快速分割出来。该方法解决了二值车牌字符黏连和铆钉的问题,但极度依赖车牌二值图像的精确和规范性,会使车牌出现变形,车牌分割失败。
车牌字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值的附近,利用垂直投影法,车牌图像中的字符分割效果[18]较好。首先将精确定位好的车牌灰度化二值化,设置阈值T,范围在0~1之间,在低于阈值的地方裁剪图像,裁剪后的车牌图像如图15所示。
4.2 车牌字符识别
车牌字符识别方法主要有神经网络法和模板匹配法,由于神经网络法需要多个样本进行多次训练,并且我国汽车牌照字符比较工整规范,所以本文系统选择了简单快速的模板匹配法。
分割后的车牌图像跟模板库里的图像在大小方面有所差距,所以需要改变分割后的车牌图像大小,才能与模板库里的图像进行比较。调用Matlab软件中的imresize函数改变分割后车牌图像的大小[19],对改变大小之后的图像和模板库中的图像逐一像素点进行比较,相同则加1,数值最大即为匹配度最高[20]。
4.3 实验与结果
在Matlab仿真实验平台下,对车牌识别系统进行仿真实验,采用100张不同场景、不同省份、不同品牌的汽车牌照进行测试。车牌原图像如图16所示,识别结果如图17所示。
统计结果显示,汽车牌照识别正确的有79张。由统计结果可以看出,本文可以实现较为准确的车牌识别。
5 结束语
本文主要基于Matlab软件对车牌自动识别系统进行研究。该研究通过对采集好的车牌图像进行图像预处理,采用统计像素法对车牌图像进行定位,二值化定位好的车牌图像,对处理过的车牌图像字符分割,采用模板匹配法对分割好的车牌字符进行识别,最后采用Matlab软件进行仿真实验。仿真结果表明,该系统可有效识别汽车牌照,具有一定的实际意义。但本系统还具有一定的不足,车牌上的阴影、傾斜和污物、光照强度及天气条件的变化、摄像机与车辆之间的距离变化以及车牌的旋转等问题,都可能造成车牌识别不准确,因此需要进一步改进。
参考文献:
[1] 刘永俊, 秦立浩, 徐亮. 基于几何和颜色综合特征的车牌自动定位及识别[J]. 常熟理工学院学报, 2019, 33(2): 37-42.
[2] 王艳, 谢广苏, 沈晓宇. 一种基于MSER和SWT的新型车牌检测识别方法研究[J]. 计量学报, 2019, 40(1): 82-90.
[3] 朱麟. 车牌字符分割算法的研究比较[J]. 内燃机与配件, 2018(22): 231-233.
[4] 赖道亮, 赵平, 钟昆, 等. 面向车牌字符分割的图像预处理方法研究[J]. 计算机测量与控制, 2018, 26(9): 250-254.
[5] Wang X H, Yu J J, Miao Z H, et al. License plate recognition based on pulse coupled neural networks and template matching[C]∥Proceedings of the 33rd Chinese Control Conference. Nanjing, China: IEEE, 2014.
[6] Jain A, Sharma J. Classification and interpretation of characters in multiapplication OCR system[C]∥2014 International Conference on Data Mining and Intelligent Computing (ICDMIC). New Delhi, China: IEEE, 2014.
[7] 胡浩, 李俊峰, 沈军民. 基于机器视觉的小磁瓦表面微缺陷检测方法研究[J]. 机电工程, 2019, 36(2): 117-123, 184.
[8] 杨鼎鼎. 汽车牌照自动化识别若干关键技术研究[D]. 恩施: 湖北民族学院, 2018.
[9] 莫文英. 基于图像处理与机器学习的车标及安全带识别研究[D]. 广州: 广州大学, 2018.
[10] 赵逸群, 刘富, 康冰. 基于车牌检测的前方车辆识别方法[J]. 吉林大学学报: 信息科学版, 2019, 37(2): 168-173.
[11] 洪传豪, 丁兵兵, 靳伟. 基于OpenCv的车牌识别研究[J]. 福建电脑, 2018, 34(12): 5-8.
[12] 杨鼎鼎, 陈世强, 刘静漪. 基于车牌背景和字符颜色特征的车牌定位算法[J]. 计算机应用与软件, 2018, 35(12): 216-221.
[13] 杨文文, 杨国为, 张鲁波, 等. 基于Laws模板滤波的车标定位算法[J]. 青岛大学学报: 工程技术版, 2012, 27(3): 46-50.
[14] 陈鼎. 基于Matlab的车牌识别系统的研究[D]. 南昌: 南昌大学, 2018.
[15] 李宇琦. 低质量监控视频中的车牌识别技术研究与实现[D]. 南京: 南京邮电大学, 2018.
[16] 黄晓兰. 基于改进极限学习机的车牌字符识别方法[D]. 杭州: 中国计量学院, 2014.
[17] 毕波, 邵永谦, 孙冬军, 等. 基于OpenCV的车牌识别[J]. 电子设计工程, 2019, 27(1): 37-41.
[18] 张浩. 多信息融合图像边缘特征提取及图像配准研究与应用[D]. 杭州: 浙江大学, 2008.
[19] 骆雪超, 刘桂雄, 冯云庆, 等. 一种基于车牌特征信息的车牌识别方法[J]. 华南理工大学学报: 自然科学版, 2003, 31(4): 70-73.
[20] 黄雨. 基于数字的模式识别算法研究[D]. 四平: 吉林师范大学, 2017.