改进LeNet5-CNN 的车牌识别工程应用优化设计

2022-02-16 07:10陈冬英黄悦李凌懿王杰高泽晖舒萍
武夷学院学报 2022年12期
关键词:车牌神经元卷积

陈冬英,黄悦,李凌懿,王杰,高泽晖,舒萍

(福建江夏学院 电子信息科学学院,福建 福州 350108)

车牌识别系统 (license plate recognition system,LPRS)属于计算机领域中视频图像类识别技术在车辆牌照识别里的一个应用[1-2]。伴随国内人均汽车保有量提高,带来的交通压力越来越重,因此实现车辆的管理自动化将是现在急需解决的一大问题。车牌识别系统作为实现这一过程不可缺少的环节[3]。

卷积神经网络(convolutional neural network,CNN)是近些年来在计算机视觉邻域引起广泛重视的技术方向之一。最早表示卷积神经网络由Le Cun 于1989 年里提出,随后被改进后用于手写字符识别等项目里。当下CNN 已经成为众多科学领域的研究热点之一[4]。

车牌识别系统里,完成字符分割后,需字符识别处理。传统的字符识别方法包含支持向量机SVM 分类,BP 神经网络、基于字符的模板匹配等方法,随着近年来人工神经网络的流程,在传统的车牌识别算法中主要有采用基于BP 的神经网络算法实现,但存在着鲁棒性和精确性不兼容性[5-7]。而CNN 算法具有以下特点:只需局部连接,各个神经元不需要与前一个层中全部神经元进行连接,只需要与一部分连接即可,所以很大程度的减少参数计算;可实现权值共享,每组所对应的连接权重可以进行共享,不需要每个连接有各自的权重,在很大程度上又进一步减少参数计算;可实现下采样,采用池化(pooling)实现各个层的样本数,让参数数量得到更进一步的减少。

针对图像识别而言,卷积神经网络主要是保留所需要的重要参数,而将不需要的多数不重要参数进行删除,从而获得较为理想的学习效果[8-10]。

为提高车牌识别的精度,降低时延,提高本设计的工程应用,提出一种基于改进LeNet5-CNN(卷积神经网络)的车牌识别工程应用优化研究。首先,使用SE模块代替传统的LeNet5 模型中的第三层及第五层的对应内容,在保证计算量相同的情况下,增加网络的泛化及识别能力;其次,把第2 个的全连接层用平均池化层来代替,减少参数计算,增大网络训练,有效预防过拟合;而后,增加正则化归一化处理;最后利用本设计算法,进行摄像头车牌识别双重化处理,实现工程应用优化。结果表明本设计的方案在精度和收敛时长,明显优于传统车牌识别方案;以相同输入数据集进行与近两年典型文献横向对比验证,结果表明本设计的精确度更优;同时将该算法应用与实际的算法工程验证对比,该算法很好的解决第二位字母A 和B 无法识别问题,提升整体的车牌识别准确率和效率,具有很好的工程实用性。

1 车牌识别系统的总体设计

车牌识别系统包括三部分: 一是车牌定位模块;二是字符分割模块;三是字符识别模块[11]。该系统的实现流程图如图1 所示。

图1 车牌识别系统流程图Fig.1 Flow chart of the license plate recognition system

(1)完成车牌定位。首先,使用基于HAAR 特征的级联分类器进行车牌检测;其次,在粗定位的基础上,通过上下边框,左右边框两次拟合;再次,通过多次自适应二值化图像,进行连通域分析,确定字符位置,使用随机抽样一致化算法拟合上下边界实现精确定位车牌位置;最后使用方向场的矫正算法,对车牌进行调整。

(2)实现字符切割。通过对精定位图片进行灰度化,而后灰度直方图均衡化、自适应二值化图像,再检测字符轮廓,最后根据车牌字符特点进行字符切割。

(3)字符识别。使用卷积神经网络,通过改进的卷积神经LetNet-5 网络预训练模型继续喂入字符数据做34 类数字和大写字母训练(我国车牌没有大写字母I 和大写字母O),最后将训练的模型保存下来,用于后续进行字符预测。

2 基于改进LeNet5-CNN 工程优化研究

2.1 传统的LeNet5 网络原理

一个典型的用在手写数字识别中的LeNet5 网络结构如图2 所示[12]。对应的卷积神经网络含多个卷积层与池化(pooling)层及全连接层。在进行N 个卷积层之后,把pooling 层叠加,重复此步骤M 次,最后将K个的全连接层叠加便可获得卷积神经网络。

图2 传统LeNet5 网络结构Fig.2 Traditional LeNet5 network structure

图2 当中所表示的神经网络实现过程如下:

(1)确定输入层宽度和高度,具体指其相应输入图像的宽度和高度,相对其深度值等于1。

(2)卷积层处理,完成第一个卷积层卷积,获得所需的3 个特征图(feature map)。其中,该卷积层含有3个的卷积核(filter),即3 套的权重参数。每一个卷积核(filter)都能够实现由原始输入图像卷积获得其对应的特征图,3 个卷积核(filter)能够获得对应的3 个特征图。针对一个卷积层能够包含filter 的数量,可自行设定,即卷积层filter 的数量值为1 个超参数。表示经过卷积变换后获得的图像特征,3 个filter 需要对原始图像进行提取出3 组不一样的特征,因此可以获得3 个feature map。

(3)下采样,完成第1 个卷积层以后,pooling 层对3 个feature map 进行下采样,以此获得3 个更小的feature map。而后,在第2 个卷积层中有5 个卷积核filter。各个卷积核filter 把之前下采样的3 个feature map 卷积一起,以此获得1 个新的feature map。以此类推,5 个的卷积核对应可获得5 个feature map。再然后,完成第2 个的pooling,进而对5 个feature map 完成下采样,同理,获得5 个更小的feature map。

(4)全连接层实现,第1 个全连接层里的每个神经元,与前面一层5 个feature map 里对应的神经元相连接。对于第2 个的全连接层即输出层中每个神经元,就与第1 个全连接层里每一个神经元进行连接,由此获得整个网络的输出结果。

2.2 改进的LeNet5 网络原理

为进一步提高精度,对LeNet5 模型改进,主要包括三个部分。

(1)使用SE 模块代替传统的LeNet5 模型中的第三层和第五层的对应内容。使用该模块能够对传统网络的深度和宽度变得更深和更宽。此模块能够实现图像空间的更深层次优化,把所需的重要特征进行更加凸显化处理,在保证计算量相同的情况下,可以增加网络的泛化和识别能力。

(2)把第2 个的全连接层用平均池化层来代替。该设计使用损失函数soft max 来实现[12],把很多的标量进行映射处理,使其结果为概率分布。在此过程,减少参数的计算,增大网络训练,并且有效的预防过拟合。

(3)增加正则化归一化处理。因为卷积网络层数越来越多,则过拟合现象越来越重,结果的误差随之越来越大。为此在进行处理的时候,每个层次都要进行归一化处理。可以有效提高网络训练速度。在每层最后,再进行正则处理,降低特征感,提高泛化性,从而增加网络训练速度。

其中,SE 模块如图3 所示为SE 模块。该模块由压缩(squeeze)和激励(excitation)组成。其中,W,H 分别指特征图里的宽度和高度,而C 用来指通道数,W×H×C 指此图的一个内存大小。

图3 SE 模块图Fig.3 SE module diagram

由图可知,具体包括的实现步骤如下:

压缩。该步骤的核心即为全局平均池化处理,通过该步骤,所得图像内存为1×1×C。

激励。包括2 个全连接层。这里的SERatio用来放置缩放参数,该参数用于计算量的减少,采用的方法是减少通道数。在第1 层中包含神经元有C×SERatio个,输入的个数是1×1×C,其中输出的个数为1×1×C×SERatio。在第2 层中包含神经元有C 个,输入的个数是1×1×C×SERatio,其中输出的个数1×1×C。

scale 操作。由第二步获得1×1×C 以后,对其结果进行scale 操作。该操作本质即通道权重进行乘积计算。把原来W×H×C,通过SE 模块实现每个通道权重值与原对应二维矩阵进行乘积。

其中,SE 模块具体的参数如下:

参数量=2×C×C×SERatio

计算量=2×C×C×SERatio

具体的实现模块如图4。

图4 SE 模块实现流程Fig.4 SE module implementation process

2.3 改进LeNet5-CNN 卷积神经网络的训练

根据链式求导获得损失函数对各个权重的偏导数,而后利用梯度下降算法来实现权重得更新。

算法的具体实现分为以下4 个步骤:

(1)以前向方式计算获得每个神经元对应得输出值。

(2)通过反向进行计算各个神经元存在得误差项即敏感度(sensitivity)。其本质为损失函数的梯度。

(3)完成各个神经元中对应连接权重的梯度值计算。(4)采用梯度下降方法完成每个权重得更新。

在卷积神经网络中,因为涉及到局部连接和下采样等处理,对第2 步等误差项都会有一定影响,但是权值共享仅仅对第三步中权重的梯度里计算方法产生影响。

(1)假设一种误差对于基b 产生的变换率,代表基的一个灵敏度,它表示在传输方向上所产生的误差。这里=1,式子当中的E 为实际输出与测试输出的误差:

(2)在后向传输过程中,到第m 层所要的灵敏度由公式(2)计算而得:

式中:公式当中的W 指的是两层之间的距离。

要获得所要的输出层的灵敏度,由公式(3)计算:

式中:On表示实际的输出,而Pn则代表的是目标输出。

(3)利用δ 来完成各个神经元的更新,通过公式(4)和(5)即可获得:

通过公式(6)可以完成权值的更新:

利用设计过程中的特征图共享特性,最后可以将第j 个图像获得的权值进行加权,可完成进一步的更新。

2.4 工程优化应用设计

在实际工程应用中发现存在如下问题:

(1)如果货运车牌中第二个字母是A 和B 时,容易识别不出,需要人工干预手动输入。

(2)经过统计截取一个月内货车进库500 车次作为数据统计,其中存在13 次无法识别的情况(其中第二个字母无法识别有6 个),第二字母无法准确识别率为98.8%,月识别准确率为97.4%。

针对上述工程应用问题,为优化和解决提升工程实际效果。通过对问题进行分析,发现要提升效果,需要一个更先进的算法识别,提高识别准确率。

在智能摄像头识别基础上,增加一个车牌照片信息再处理服务器,在服务器中架设算法软件,处理智能摄像头无法处理的照片,再将所有数据上传到智能库区数据中心,通过本算法的优点弥补智能识别摄像头的不足,采用双重化识别提高整体识别准确率,其工程架构方案如图5 进行方案优化。

图5 工程架构方案图Fig.5 Project architecture scheme diagram

3 仿真结果分析

3.1 传统网络与改进网络仿真结果分析

进行搭建如图6,图7 的网络结构进行仿真分析。其中,图6 表示传统LeNet5-CNN 结构,图7 为改进后的LeNet5-CNN 网络结构。

图6 传统的LeNet5-CNN 网络结构Fig.6 Traditional LeNet5-CNN network structure

图7 改进后的LeNet5-CNN 的网络结构Fig.7 Improved LeNet5-CNN network structure

根据图6、图7 所搭建的网络结构,而后进行仿真。因每次开始训练前,迭代次数影响很大,为此调节迭代次数对于网络的一个收敛是一个至关重要的因素。同时,在仿真时的采集的数据也是通过实验不断调整以期得到好的效果。经过仿真,其结果如图8 所示。由图可知进行900 次的迭代训练,明显改进后的网络精度比传统的网络精度上升更快,因此改进后的卷积神经网络训练性能更好。

图8 改进与传统的网络精度对比Fig.8 Improved and traditional network accuracy comparison

表1 表示传统与改进的精度与时长对比。由表可以明显看出来,改进后的网络收敛需要的时长比传统的将近缩短近一半,但其精度明显比传统方式来更高。表明本设计的方案,具有更优的性能。

表1 传统与改进的精度与时长对比Table 1 Comparison of accuracy and duration between traditional and improved

3.2 横向数据对比结果分析

为进一步验证该算法的精确性,进行横向对比。其中肖秀春等,刘智辉车牌识别算法所要解决的问题与本论文算法研发目的相一致,具有可比性[13-14]。前者使用的是基于SVM 的车牌识别,后者提出基于MSER与SWT 的新型车牌检测方法。参考文献数据结果和本设计实验数据结果对比如表2 所示。根据所得结果可直观的得到,本设计较两个文献算法对比的结果,在保证鲁棒性的前提下,显著提高精确性,横向的实验证明本设计的优越性。

表2 其他方法对比结果Table 2 Comparison results of other methods

3.3 工程应用优化结果分析

由中储粮湖北分公司导出获得实测一个月车牌识别数据。将该车库中统计的一个月内的500 车次的车牌作为基础图片数据导入到本文的算法软件中。

智能摄像头拍照后自动识别,将人工触发原始照片实时抓拍。通过开发的插件从一体化机,上传到一个车牌信息处理服务器,将智能车牌识别摄像头无法识别的照片在信息处理服务器中架设本文研究的算法程序如图9 完成二次车牌识别。与工程应用的实际数据统计对比结果如表3。

表3 工程车数据集测试结果Table 3 Test results of engineering vehicle data set

图9 照片再处理算法识别结果Fig.9 Recognition result of photo reprocessing algorithm

(1)在英文识别与车牌第二位字母识别中本算法有效率达99.25%,原始统计数据中500 个图片有6个无法有效识别实际识别率为98.80%,本算法可以更优的解决第二位字母无法有效识别的问题。

(2)在中文字识别中本方案可以达到99.45%。

(3)在总体测试过程中可以达到98.2%,而实际工程中500 个有12 个无法识别准确率为97.4%,通过对同样的基础数据进行处理对比本算法可以提高0.8 个百分点。

对结果分析发现该算法很好的解决第二位字母A 和B 无法识别的问题,提升整体的车牌识别准确率和效率。

4 结束语

为提高传统车牌识别的精确性与鲁棒性的兼容性,降低收敛时长,优化工程应用,提出基于改进LeNet5-CNN(卷积神经网络)的车牌识别算法,将其用于工程优化。通过改进传统的LeNet5 网络模型,在保证精度的前提下,减少计算量。通过对比,结果表明本设计的算法在精度和收敛时长,明显优于传统方案。同时本设计的横向数据对比结果,表明该算法性能更优。最后在项目工程应用中获得显著效果,原先架构出现的车牌第二位字母无法很好识别问题被解决。

猜你喜欢
车牌神经元卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
数字图像处理技术在车牌识别系统中的应用
从滤波器理解卷积
跃动的神经元——波兰Brain Embassy联合办公
基于傅里叶域卷积表示的目标跟踪算法
第一张车牌
基于MATLAB 的车牌识别系统研究
ERK1/2介导姜黄素抑制STS诱导神经元毒性损伤的作用
毫米波导引头预定回路改进单神经元控制