摘 要: 由于车牌识别系统中车牌位置精确定位难和车牌中字符识别率低等问题。本文提出了一种基于SVM与ANN神经网络的车牌识别算法。通过Soble边缘检测算法与形态学算法相结合来确定大致的车牌轮廓,结合车牌的外接矩形的面积与长宽比来筛选出符合车牌特征的候选区域,再利用SVM分类器来判断检测到的区域中是否是车牌,来最终筛选出是车牌的区域。对于筛选出的车牌利用ANN神经网络进行车牌字符的识别。经验证,该车牌识别系统能够适用于比较复杂的环境,且识别速度快,准确率相对较高。
关键词: SVM;ANN神经网络;车牌识别
中图分类号: TP27 文献标识码: A DOI:10.3969/j.issn.1003-6970.2019.08.025
本文著录格式:林乾毕. 基于SVM与ANN神经网络的车牌识别系统[J]. 软件,2019,40(8):105107
【Abstract】: Due to the difficulty in accurately positioning the license plate position in the license plate recognition system and the low recognition rate of the characters in the license plate. This paper proposes a license plate recog-nition algorithm based on SVM and ANN neural network. The Soble edge detection algorithm is combined with the morphological algorithm to determine the approximate license plate contour. The area and aspect ratio of the cir-cumscribed rectangle of the license plate are combined to select the candidate area that meets the license plate char?acteristics, and the SVM classifier is used to judge the detected area. Whether it is a license plate or not, to finally screen out the area of the license plate. For the selected license plates, the ANN neural network is used to identify the license plate characters. It has been verified that the license plate recognition system can be applied to a rela?tively complicated environment, and the recognition speed is fast and the accuracy is relatively high.
【Key words】: License plate recognition; SVM; ANN neural network
0 引言
車牌识别技术是指能够检测复杂环境中的车辆并且自动的获取车辆车牌信息的技术,车牌识别技术中最关键的还是车牌位置的精确定位与车牌字符的准确识别。目前车牌定位的方法很多,最常见的有基于色彩分割的方法[1]、基于边缘检测的方法[2]、基于小波变换的方法[3]、基于数学形态学的车牌定位方法[4]、基于灰度图像纹理特征分析的方法等等[5]。车牌字符识别的方法方法也有很多,最常见的有基于区域统计和BP神经网络的车牌识别[6]、基于HAAR特征与BP神经网络的车牌识别技术研究[7]、基于小波和神经网络的车牌字符识别新方法等[8]。
本文主要是利用Sobel边缘检测的方法和利用车牌的宽高比与面积来验证符合车牌特征的区域,再利用训练好的SVM分类器来判断检测到的区域是否是车牌区域,最后利用ANN神经网络进行训练分割检测到的车牌的字符,这个系统主要是利用Opencv机器视觉库来设计的。
1 车牌定位
本文主要采用的是Sobel边缘检测方法、OTSU自适应阈值化、形态学处理、车牌的宽高比与面积处理、SVM分类器等方法结合来定位车牌的位置,具体的流程图如图1所示。
1.1 基于Sobel边缘检测
Sobel边缘检测算法由于其算法简单,计算量小,速度快,成为了很多场景的首选算法之一。Sobel算法主要是使用水平与垂直两个方向的3*3的卷积模板来分别对原始图像进行卷积计算,分别得到水平与分别得到横向G(x)和纵向G(y)的梯度值,如果梯度值大于某一个阈值,则认为该点为边缘点。这些所有的点构成了图像的边缘,图像中不是边缘的区域,图像的强度变化的十分的缓慢,相邻的像素之间的灰度值变化的也相对的小,因此,梯度幅值变换的也小,但是在图像的边缘区域,相邻的像素之间的插值很大,变化的十分的剧烈,因此梯度幅值也相对的较大,因此Sobel的主要原理也就是利用计算图像的梯度值来判断是不是图片的边缘。Sobel边缘检测的水平与垂直的卷积模板如图2所示。
由公式可知,如果選择的阈值t过小的话会存在很多的噪声,如果阈值选择过大的话,会有很多边缘点丢失,边缘点的准确与否主要在于阈值t的选择,本文采用OTSU自适应的阈值化来获取最佳的阈值。
1.2 OTSU自适应二值化
otsu算法中这个判据就是最大类间方差。现在任意选取一个灰度值 t,则可以将这个直方图分成前后两部分。我们称这两部分分别为 A 和 B。对应的就是前景色和背景色。这两部分各自的平均值成为MA和MB。A部分里的像素数占总像素数的比例记作PA,B部分里的像素数占总像素数的比例记作PB,那么最大类间方差可以表示为公式5。
1.3 形态学处理
图像处理中的形态处理主要包括以下几个算法:腐蚀、膨胀、开操作、闭操作、形态学梯度、顶帽、黑帽,本文上述的图片经过Sobel和阈值化之后,车牌的位置会有很多的孔洞,形态学的闭操作可以去除微小的孔洞,填平小的沟壑,因此本文利用形态学的闭操作来对上述的处理过的图片进行处理,消除字母之间的小型孔洞,使之形成连通域,便于对车牌矩形轮廓的提取。图3列举了各个部分的预处理之后的图。
从图3的f可以看出最后的结果中有三个结果,但是只有一个是属于车牌的位置的,因此接下来选择SVM分类器来对预处理的结果进行精确的筛选是出于车牌的图片。
1.4 SVM车牌定位
SVM也叫支持向量机,是一种按照监督学习方式对数据进行二分类的分类器,其决策边界是对学习样本求解的最大边距超平面,本文使用的是c_svm函数对样本进行分类,首先对前面处理了的结果进行归一化处理,选出1000张属于车牌的图片作为正样本,选出2000张不属于车配的图片作为负样本,svm分类器的特征向量是水平与垂直的直方图值,利用2.4.9版本的opencv的函数svm.train_auto,设置相应的参数,就可以训练一个可以分类是否是车牌的二分类器这样就可以得到一个正确的车牌。
2 车牌字符分割
对车牌进行字符分割主要包括以下步骤:1、对输入的车牌进行二值化;2、利用Opencv自带的findContours函数求取每个字母的轮廓;3、再获取最小外接矩形,对矩形的宽高比和面积进行验证,分割出每一个字符,再统一成一样的大小,保存下来,字符分割的结果图如图4所示。
3 ANN神经网络识别字符
本文采用ANN人工神经网络对字符进行训练并且识别字符,首先将得到的字符进行仿射变换,将字母统一成20*20的大小,提取字母的水平与垂直的累计直方图和低分辨率图像这两个特征作为ANN神经网络的训练的两个特征,ANN神经网络设置10个隐藏层,通过Opencv提供的ANN.train函数并设置相应的参数对字符进行训练,然后使用ann.predict函数对各个车牌特征进行预测,经过试验可以得到对车牌的识别率可以达到95左右。
4 结束语
本文提出了一种基于SVM与ANN神经网络的车牌识别系统,使用的Opencv的版本为2.4.9和Visual Studio 2015进行这个系统的开发,选取200张不同的车牌进行测试发现,这个系统的车牌定位率达到了98.32%,车牌字符的识别率达到了95.64%,该系统适应于复杂环境,对车牌的识别速度快,具有很强的实用性。
参考文献
[1] 赵雪春, 戚飞虎. 基于彩色分割的车牌自动识别技术[J]. 上海交通大学学报, 1998, 32(10): 4-9.
[2] 李学顺, 魏宗寿. 基于彩色边缘检测和Edge Boxes的车牌定位方法[J]. 电脑知识与技术, 2019, 15(7): 187-188.
[3] 戴青云, 余英林. 一种基于小波与形态学的车牌图象分割方法[J]. 中国图象图形学报, 2000(5): 411- 415.
[4] 卢雅琴, 邬凌超. 基于数学形态学的车牌定位方法[J]. 计算机工程, 2005, 31(3): 224-226.
[5] 郭捷, 施鹏飞. 基于颜色和纹理分析的车牌定位方法[J]. 中国图象图形学报, 2002, 7(5): 432-476.
[6] 盛兆亮, 高军伟. 基于区域统计和BP神经网络的车牌识别[J]. 信息技术及图像处理, 2019, 42(8): 78-82.
[7] 刘伍丰, 何前磊, 郑维. 基于HAAR特征与BP神经网络的车牌识别技术研究[J]. 信息技术及图像处理, 2019, 42(8): 61-67.
[8] 郭招球, 赵跃龙, 高敬欣. 基于小波和神经网络的车牌字符识别新方法[J]. 计算机测量与控制, 2006, 14(9): 1257-1259.
[9] 梁娟. 一种基于Sobel图像边缘检测的改进算法[J]. 软件导刊, 2014, 13(12): 78-82.