基于BP神经网络的智能车牌识别系统

2021-03-15 07:01顾秀秀朱明亮吴琼史洪玮
电脑知识与技术 2021年3期
关键词:车牌识别边缘检测字符识别

顾秀秀 朱明亮 吴琼 史洪玮

摘要:车牌识别是智能交通中信息化管理车辆的重要环节,对构建智慧城市具有重要意义。针对国内车牌的结构特点,设计了一种基于BP神经网络的智能车牌识别系统。系统利用去噪算法及数学形态学方法对车牌照片中的车牌位置进行定位,针对国内车牌特征分割字符,然后基于白像素点提取13维特征并将车牌不同位置的字符分别输入到不同的BP神经网络进行分类。系统的平均识别正确率为96.4%,可广泛应用于城市道路 、智慧停车场等多个领域的车辆自动化信息管理。

关键词: 车牌识别;BP神经网络;边缘检测;字符识别;特征提取

中图分类号: TP391        文献标识码:A

文章编号:1009-3044(2021)03-0019-04

Abstract: License plate recognition is an important part of information management of vehicles in intelligent transportation, and is very important for the construction of smart cities. According to the structural characteristics of domestic license plates, an intelligent license plate recognition system based on BP neural network is designed. The system uses the denoising algorithm and mathematical morphology to locate the license plate position in the license plate photo, segment the characters for the domestic license plate features, and then extract 13-dimensional features based on the white pixel points and input the characters at different positions of the license plate to different BP neural. network classification. The average accuracy rate of the system is 96.4%, which can be widely used in vehicle automation information management in many fields such as urban roads and smart parking lots.

Key words:license plate recognition; BP neural network; edge detection; character recognition; feature extraction

1 引言

随着智慧城市的概念越来越普及,智能交通作为智慧城市重要的一环,其相关技术也在飞速发展。智能车牌识别技术作为促进智能交通信息化、自动化的重要手段,基于图像识别技术,可应用于智慧停车场、高速公路收费、交通违法违章处理等多个领域[1-2]。国外车牌识别技术已经发展的比较成熟,但国外的车牌形状、颜色、编码方式与国内车牌均有较大不同[3]。因此,针对我国常见的车牌主要为蓝底、7字符、矩形的特点[4],设计了一种基于BP神经网络的智能车牌识别系统。系统分为车牌图像预处理、特征提取及BP神经网络分类三部分,可对国内常见的车牌进行快速、简单、高效的自动识别。

2 车牌识别系统设计与实现

车牌识别系统主要分为三部分:车牌图像预处理、特征提取以及基于BP神经网络对特征进行训练和分类,流程图如图1所示。

2.1 车牌图像预处理

车牌图像预处理是對车牌进行智能识别的基础,处理结果直接影响后续车牌识别的精度。车牌图像预处理过程主要包括车牌定位和字符分割,作用是将车牌从复杂的背景中分割出来,并按照国内车牌的设计规则,将其分割为7个字符块,以便进行后续的特征提取及字符识别[5]。

2.1.1 车牌定位

车牌定位主要采用图像处理中的一些去噪算法及数学形态学方法,流程图如图2所示。

主要步骤包括:

1)将图像灰度化以增强图像效果,如图3所示;

2)采用均值滤波平滑图像,去除图像中的噪声;

3)利用Sobel算子对图像进行边缘提取[3],将图片中的车牌边缘保留,如图4所示;

4)利用HSV模型和RGB模型中的蓝色区域取交集,得到疑似蓝色区域位置,如图5所示;

5)利用[1 5]的矩形结构元素对图像先进行膨胀,再进行腐蚀,并和Sobel算子提取到的边缘信息取交集,去掉无用的边缘信息,选出竖向纹理复杂的疑似车牌区域,如图6所示;

6)利用结构元素为[10 40]的矩形对疑似车牌区域进行闭运算,得到一些内部填充较为完整的区域,如图7所示;

7)删除连通区域小于1300的小区域,如图8所示;

8)通过计算矩形区域的长宽比,去除长宽比低于2.5或大于3.8的区域[6],得到真正的车牌区域,并将车牌区域剪切出来,如图9所示。

2.1.2 字符分割

根据《中华人民共和国机动车号牌》行业标准,国内普通汽车车牌宽度为44 cm,高度为14 cm,字符宽度为4.5 cm,高度为9 cm[7]。对车牌定位后得到的剪切后的车牌区域首先进行灰度化,再进行二值化,如图10所示。对图10中二值化后的车牌图像进行垂直方向像素统计,根据车牌字符的宽度和高度、字符间距离等特征,将车牌分为七个区域,最后归一化为32×40像素的统一格式,如图11所示。

2.2  车牌字符特征提取

对分割后的每个车牌字符二值图像进行基于白像素的特征提取,共提取13维特征。以上述字符分割后的第5个字符为例,将单个字符按照两行两列分为8块小區域,统计每个小区域中白像素的个数,得到第1-8维特征,如图12所示。在水平方向画两条横线,将单个字符在水平方向上分为三部分,统计两条横线上的白色像素个数,得到第9-10维特征,如图13所示。在垂直方向上画两条竖线,将单个字符在垂直方向上分为三部分,统计两条竖线上的白色像素个数,得到第11-12维特征,如图14所示。最后,统计整个字符图片上白色像素的总点数,作为第13维特征。

2.3  BP神经网络训练与分类

神经网络是由多输入、单输出或多输出的神经元连接而成的网络,能通过学习外界环境中的知识不断优化自身的网络参数,从而提高自身性能[8]。由于神经网络可以采用并行方式大规模、高速地处理大型问题,目前已经被广泛应用在车牌识别领域[9]。

BP神经网络是一种基于最速下降法的多层前馈神经网络,由输入层、隐含层、输出层三部分构成,其拓扑结构如图15所示。BP神经网络的激活函数通常采用非线性转移函数,即S型函数-Sigmoid函数。BP神经网络主要通过来自每个神经元信息的前向传播和误差的反向传播来不断调整自身网络的权重和阈值,从而使整个网络的平方误差之和最小化。

基于BP神经网络的车牌字符识别算法主要分为以下三个步骤:建立BP神经网络、利用字符特征对BP神经网络进行训练、对输入车牌的字符特征进行分类。

2.3.1 建立BP神经网络

根据国内普通车牌字符内容的特点,基于MATLAB平台建立了三个BP子网分别识别不同位置的字符。其中第一个BP子网用于识别车牌的第一个汉字字符(由于数据采集局限性,选取6个汉字字符进行训练和测试),第二个BP子网用于识别车牌的第二个英文字母字符,第三个BP子网用于识别车牌的第3-7个字符,这5个字符为英文字母+数字组合形式。在数据进入神经网络之前,首先采用premnmx函数对数据进行归一化,防止出现较大误差。

对于第一个BP子网,建立13个输入、4个隐含层、6个输出的BP神经网络;对于第二个BP子网,建立13个输入、6个隐含层、24个输出的BP神经网络;对于第三个BP子网,建立13个输入、10个隐含层、34个输出的BP神经网络。三个BP子网的第一层神经元的激活函数均为logsig,第二层均为purelin,学习方法均采用traingdx。

2.3.2 训练BP神经网络

对于三个BP子网,分别输入其对应种类字符的13维特征值进行训练。对于第一个BP子网,收集了“沪”“京” “闽”“苏”“粤”“浙”六种汉字字符,共计1249幅字符图片进行13维特征提取,并输入BP子网进行训练,部分训练样本如图16所示。

对于第二个BP子网,由于车牌号中不含有字母“I”和“O”,收集了除这两种字母之外的24种英文字母字符,共计3198幅字符图片进行13维特征提取,并输入BP子网进行训练,部分训练样本如图17所示。

对于第三个BP子网,收集了上述24种英文字母字符以及数字0-9共34种字符,共计4285幅字符图片进行13维特征提取,并输入BP子网进行训练,部分训练样本如图18所示。

2.3.3 BP神经网络分类结果

对于每个测试字符,将提取到的13维特征输入训练好的BP神经网络进行分类,输出BP神经网络识别结果。对于上述车牌号为“京PKR676”的原图,识别结果正确显示为“京PKR676”,如图19所示。

实验收集了37个汉字字符、112个英文字母字符及157个数字字符共306个车牌字符,对这些字符分别进行识别,汉字识别正确率为94.6%,英文字母识别正确率为96.4%,数字识别正确率为96.8%,平均识别正确率为96.4%,结果如表1所示。

3  结 论

本文针对智能交通场景下的车辆信息化管理要求,设计了基于BP神经网络的智能车牌识别系统。系统能够对车牌照片进行车牌定位、字符分割,并提取13维特征输入到BP神经网络进行分类。经测试,系统的汉字识别正确率为94.6%,英文字母识别正确率为96.4%,数字识别正确率为96.8%,平均识别正确率为96.4%,简单高效,具有较强的实用性。

参考文献:

[1] 张帆,王晓东,郝贤鹏.基于边缘特征的智能车辆字符识别[J].自动化与仪器仪表,2020(6):11-14,20.

[2] 朱凤霞.基于神经网络和图像识别的车牌识别技术[J].电子设计工程,2020,28(2):130-133,138.

[3] 张晨.最大似然分类的国内车牌字符识别方法研究[J].延安职业技术学院学报,2020,34(2):88-91.

[4] 高强.基于MATLAB的车牌智能识别设计[J].电脑知识与技术,2020,16(5):194-196.

[5] 吴林辉,杨晨耀,张文龙,等.基于OpenCV与深度学习的车牌识别软件的设计与开发[J].电脑知识与技术,2020,16(1):203-204,212.

[6] 马志远,余粟.基于改进K近邻算法的小型汽车号牌识别系统[J].软件导刊,2020,19(6):231-234.

[7] 曾泉,谭北海.基于SVM和BP神经网络的车牌识别系统[J].电子科技,2016,29(1):98-101.

[8] 呙润华,苏婷婷,马晓伟.BP神经网络联合模板匹配的车牌识别系统[J].清华大学学报(自然科学版),2013,53(9):1221-1226.

[9] 张旭兰.基于BP人工神经网络的车牌字符识别优化算法[J].计算机工程与应用,2012,48(35):182-185.

【通联编辑:唐一东】

猜你喜欢
车牌识别边缘检测字符识别
一种改进深度学习网络结构的英文字符识别
仪表字符识别中的图像处理算法研究
基于CUDA和深度置信网络的手写字符识别
机加工件点阵字符识别研究