基于MSER与SVM算法的车牌定位识别方法
2020-06-09胡成伟袁明辉
胡成伟 袁明辉
摘 要: 针对实际车牌识别系统中车牌位置定位难、字符识别率低等问题,提出了一种基于MSER与SVM算法的车牌定位识别。该方法分为定位和识别两步,输入图像经过预处理,通过MSER与SVM算法直接提取出车牌的字符区域,然后将车牌字符图像裁剪送入识别阶段,识别阶段同样利用SVM算法对车牌字符进行识别。经验证,该车牌定位识别方法识别速度快、准确率高,能够适用于实际生活中较为复杂的交通环境。
关键词: MSER;SVM;车牌定位;字符分割;识别
中图分类号: TP317.4 文献标识码: A DOI:10.3969/j.issn.1003-6970.2020.02.039
【Abstract】: In order to solve the problems such as the difficulty in locating the position of the license plate and the low recognition rate of the characters in the actual license plate recognition system, an algorithm based on MSER and SVM was proposed. This method is divided into two steps: positioning and recognition. The input image is preprocessed, and the character area of license plate is directly extracted by MSER and SVM algorithm. Then the image clipping of license plate character is sent to the recognition stage. It is proved that the method is fast and accurate, and can be applied to the complicated traffic environment in real life.
【Key words】: MSER; SVM; License plate location; Character segmentation; Recognition
0 引言
由于汽車行业的飞速发展,带来一系列的交通管理问题。为了对车辆进行有效的管理,需要通过监控设备对车牌进行识别,进而追踪管理。但随着当前应用场景复杂度的增加,我们对车牌识别系统的算法提出了更高的要求。传统的车牌识别算法主要分为车牌定位和字符分割两个步骤。车牌定位一般通过边缘检测和颜色匹配[1-8]来实现的,然后基于车牌字符的几何特征和排列规则进行字符分割[9-16]。然而,边缘检测和颜色匹配受环境光的影响较大,在复杂的环境中往往难以准确定位车牌。
支持向量机(Support Vector Machine,SVM)是一种判别方法,在机器学习领域,被广泛应用于模式识别、分类和回归分析,SVM稀疏性和稳定性使其具有良好的泛化能力和较少的计算量。最大稳定极值区域(Maximally Stable Extremal Regions,MSER)最早是由Matas在2002年提出的,它是目前常用的一种区域求取局部稳定区域的算法,广泛应用于文本字符识别。该算法具有仿射不变性,对光不敏感,适用于复杂环境下的车牌识别。
本文提出了一种基于MSER和SVM算法的车牌定位识别算法,充分利用了两者的优点,可以极大的提高车牌识别的准确率,从而在交通管制中发挥重要的作用。
1 车牌字符定位算法
实际场景中,采集的原始图像不仅仅包含车牌字符信息还包含比如车标等干扰物品。为了提高识别的准确率,需要先对车牌字符进行定位处理,消除干扰标志物对识别结果的影响。传统的车牌定位主要分为三个步骤。第一个对原始图像进行预处理,第二步对图像的边缘轮廓信息进行提取,第三步利用像素点之间的关联性对车牌进行精确定位。本文则通过MSER对直接对字符区域进行提取,得到若干最小矩形的候选区域,然后通过SVM分类算法删除非字符区域,保留车牌字符区域。具体流程的示意图如图1所示。
1.1 原始图像预处理
MSER是一种基于分水岭思想来求取局部稳定区域的算法。由于MSER处理的是灰度图像,而这里我们采集的原始车辆图像往往是彩色的,因此首先要将原彩色图像转换为灰度图像。为了提高灰度图像的质量并且减少光、噪声对检测过程带来的影响,这里采取了分段线性灰度变换式(1)和自适应对比度增强算法[17]对图像进行了预处理。
上述方法检测的是灰度图像的黑色区域,而不是白色区域。同理,若需要对白色区域进行检测,则在二值化处理时,将阈值从255~0之间依次减小取值,并对连通区域面积进行分析,获得稳定区域MSER-。最后将MSER+,MSER-合并即可得到MSER。
为了方便后续处理,我们将用一个能够容纳MSER的最小矩形作为车牌字符的候选区域。并且如图2所示,我们将二值化处理后的图像替换为原始的彩色图像,以便于我们后续的观察。
1.3 车牌字符区域提取
上节中我们得到了若干矩形区域,但由于有着例如车标、车灯以及拍摄背景的干扰,在这些矩形区域中,有着与车牌字符无关的非字符区域。因此,我们需要将非字符区域删除,留下带有车牌字符信息的字符区域。本文我们通过四个步骤来实现对车牌字符区域的提取。
首先,由于机动车牌照按照国家要求有着严格的几何尺寸和排列规则,我们可以求得车牌字符的高宽比以及图像填充系数。通过这个两个特征的比对我们可以消除很多非字符候选区域,图3为为标准牌照尺寸图。
根据上图的标准车牌尺寸图可得,每个字符的高宽比是2∶1,但是在实际的拍摄条件下,我们所得到的车牌可能有所倾斜或扭曲,为了避免误删字符区域,我们将高宽比的筛选范围定位1.5~3,图像的填充系数最小为0.2,符合这个两个尺寸条件的,我们认为是标准车牌字符尺寸验证后的候选区域。标准车牌字符尺寸的验证结果图4所示。
从图4中可以看出,经过标准车牌字符尺寸验证后,仍然有许多非字符区域未被删除,许多候选区域相互包含或交叉,因此仅仅依靠直接利用车牌字符的排列规则和尺寸标准来筛选出字符区域是非常困难的。本文采用了了一种基于SVM的训练特征区域识别模型。SVM也叫支持向量机,是一种按照监督学习方式对数据进行二分类的分类器,其决策边界是对学习样本求解的最大边距超平面,这里我们使用的是 c_svm函数对样本进行分类,如图5所示,第一行是车牌上的字符区域,第二行是非字符区域,大致可以分为非车牌区域和车牌上非字符区域,因此为确保模型的准确性,我们选出2000张属于车牌字符区域的图片作为正样本,选出4000张非字符区域的图片作为负样本,并且为了尽可能多的提取特征信息,正负样本均采用彩色图片。我们利用这个方法,对图4中每个矩形区域是否为字符区域进行了校核。
结果如图6所示,所有字符区域都保留了下来。与图4相比,图6中的结果要简单得多,大大降低了提取字符区域的难度。
通过机器学习算法去除了非字符区域后,只剩下包含着同一字符区域的很多矩形和少量非字符区域,所以我们需要移除包含彼此的矩形区域,使得每个字符区域只被单个矩形包含。如果两个互相包含的矩形rect1和rect2满足式(3)的关系,则我们假设rect1包含rect2,保留rect1,移除rect2。在这一步之前,所有的矩形区域都要按照它们的左边界进行排序,这样就可以简单的去除互相包含问题。
去除了互相包含的车牌字符区域后,通常可能会有零星几个非字符区域。最后我们可以使用车牌字符的排列规则来消除非字符区域。在去除车牌水平线上方的非字符区域时,我们可以将矩形区域按其上边界从小到大排序,再依次计算每个矩形的中心高度。最后,我们根据中心的高度对相邻的矩形盒子进行偏移,求出偏移的跳变。每一次偏差的跳跃代表两条线的边界。同时,每行需要计算矩形区域的数量。只有当每行的矩形区域数大于5时,才认为是字符区域。剔除其余非字符区域后的结果如图7所示。
2 基于SVM的车牌字符识别
提取车牌字符后,根据原始图像中矩形区域的位置进行裁剪,如图8所示。
同样的,车牌字符的识别模块也是基于SVM算法的。在这里,我们用作训练的样本数据课分为数字、字母和汉字,依次对训练数据进行分类和标记后,将数据放入SVM模型中进行训练。我们采取了大量的字符样本数据用作训练,上图所示车牌字符识别的最终结果如图9所示。在整个过程中,输入是一个包含车牌的彩色图下像,而输出则是车牌字符的识别结果。經过我们的测试,该字符识别模型对字符的识别率可以达到95%左右。
3 结语
本文提出了一种基于MESR与SVM支持向量机算法的车牌识别系统,使用的Opencv的版本为2.4.9和Visual Studio 2015 进行这个系统的开发,选取200张不同的车牌进行测试发现,这个系统的车牌定位率达到了98.32%,车牌字符的识别率达到了95.64%,该系统适应于复杂环境,对车牌的识别速度快,具有很强的实用性。
参考文献
张婷曼, 闫文耀, 王庆. 基于图像处理的车牌定位及字符识别算法研究[J]. 现代雷达, 2014, 36(8): 26-30.
Sedighi A, Vafadust M. A new and robust method for character segmentation and recognition in license plate images[J]. Expert Systems with Applications, 2011, 38(11): 13497-13504.
陈丽娟. 基于脉冲神经网络的车牌提取算法[J]. 软件, 2016, 37(9): 39-43.
柯海丰, 应晶. 基于R-ELM的实时车牌字符识别技术[J]. 浙江大学学报(工学版), 2014(7): 1209-1216.
王晶. 基于深度学习神经网络的车牌字符识别技术的研究[J]. 工业控制计算机, 2017, 30(3): 51-52.
王宏涛, 孙剑伟. 基于BP神经网络和SVM的分类方法研究[J]. 软件, 2015, v.36; No.427(11): 102-105.
王林华, 袁明辉, 黄慧, 等. 太赫兹安检系统人体图像边缘物体识别[J]. 红外与激光工程, 2017, 46(11): 139-144.
张玉英, 谭荣建, 张东升, et al. 小波变换的动态灰色模型研究[J]. 软件, 2018, 39(11): 173-177.
Zhang L, Chen G. Extracting music image from images based on region labeling algorithm with erosion and dilation[C]. International Conference on Computer Science and Service System. IEEE, 2011: 1271-1274.
Zhao J, Wang X. Vehicle-logo recognition based on modified HU invariant moments and SVM[J]. Multimedia Tools & Applications, 2019, 78(1): 75-97.
Bulan O, Kozitsky V, Ramesh P, et al. Segmentation- and Annotation-Free License Plate Recognition With Deep Localization and Failure Identification[J]. IEEE Transactions on Intelligent Transportation Systems, 2017, 18(9): 2351-2363.
Hui L, Peng W, Shen C. Toward End-to-End Car License Plate Detection and Recognition With Deep Neural Networks[J]. IEEE Transactions on Intelligent Transportation Systems, 2017, PP(99): 1126-1136.
Yun Y, Li D, Duan Z. Chinese vehicle license plate recognition using kernel-based extreme learning machine with deep convolutional features[J]. Iet Intelligent Transport Systems, 2018, 12(3): 213-219.
Zhao Y, Yu Z, Li X. Evaluation methodology for license plate recognition systems and experimental results[J]. Iet Intelligent Transport Systems, 2018, 12(5): 375-385.
趙薇. 基于纹理特征的动态车牌识别二次快速定位技术研究[J]. 机械设计与制造, 2014(5): 182-185.
张浩鹏, 王宗义. 基于灰度方差和边缘密度的车牌定位算法[J]. 仪器仪表学报, 2011, 32(5): 1095-1102.
李晓燃. 基于深度学习的倾斜车牌矫正识别[J]. 软件, 2018, 39(10): 223-227.
尤波, 陈国杰, 梁强, 陈潇磊, 武坤. 基于色度向量聚类的保险片识别及插接方法[J]. 仪器仪表学报, 2018, 39(07): 191-199.
孙琦龙, 张明亮. 一种HSV颜色空间量化的藏毯图像检索方法[J]. 软件, 2016, v.37; No.431(03): 44-47.
姚楠, 耿奇. 基于MATLAB GUI的车牌自动识别系统设计[J]. 软件, 2016(3): 44-46.