基于CNN的车牌数字字符识别算法
2017-01-05欧先锋向灿群湛西羊石云锁
欧先锋,向灿群,湛西羊,彭 鑫,石云锁
基于CNN的车牌数字字符识别算法
欧先锋1,2,向灿群1,2*,湛西羊3,彭 鑫1,2,石云锁4
(1. 湖南理工学院 信息与通信工程学院,湖南 岳阳 414006;2.复杂系统优化与控制湖南省普通高等学校重点实验室,湖南 岳阳 414006;3.深圳大学 信息工程学院, 广东 深圳 518060;4.广州杰赛科技股份有限公司, 广州 510300)
针对传统车牌识别算法识别率低、鲁棒性差等问题,提出一种基于卷积神经网络结构车牌数字字符识别算法。在卷积神经网络的基础上用ReLU激活函数代替传统的Sigmoid激活函数,引入卷积步长等操作,不仅加速网络的收敛,而且降低了网络参数的数量。实验结果表明:与传统特征提取算法相比,该算法识别率最高,达到95.2%,识别率波动范围小,鲁棒性强。
车牌识别;卷积神经网络;字符识别
车牌识别技术是智能交通系统中重要的应用,已经广泛应用到很多领域,如高速公路不停车收费、停车场管理、交通监控等。车牌字符识别是车牌识别技术中最重要的环节,国内外学者对此展开了广泛研究。文献[1-3]采用了基于BP神经网络的车牌字符识别方法,BP神经网络在字符识别上具有一定鲁棒性,但是当网络过于庞大时难以收敛;训练好的网络对噪声干扰较小的字符能有效地识别,但是对于较为模糊的字符则不可行。文献[4]提出了一种基于特征匹配的车牌识别方法,在字符图像特征的基础上,以待识别字符与模板字符之间特征的相似性作为分类标准。相比模板匹配算法具有更好效果,但在实际运用中对噪声干扰要求高,识别准确率低。针对传统算法在识别率与鲁棒性低的问题,本文提出了一种改进的卷积神经网络结构来进行车牌数字字符识别,实验结果表明:该方法在车牌字符识别上具有一定的实用价值。
1 相关工作
1.1 CNN网络结构
卷积神经网络是一个多层前馈网络,每一层由多个卷积特征图组成,每一个特征图又由多个神经元组成,如图1所示。
网络输入为一个二维矩阵,经过卷积核的作用传递到网络中间层的卷积层(C层)和抽样层(S层),卷积层与抽样层交替出现,输出层为全链接方式的前馈网络,输出层的维数由分类任务中的类别数决定。
图1 卷积神经网络结构图
卷积神经网络通过结构上的局部相连、权值共享、下采样等,不仅可以很好地控制整个网络的规模,而且可以实现网络对识别图像在位移、缩放和扭曲等形变的鲁棒性。
1.1.1 输入层
卷积神经网络的输入层直接接收二维视觉模式(如二维图像),能自动提取原始图像数据特征、学习分类器,不需要人工参与到过程中去选择或设计合适特征作为输入,大大减少人工预处理过程,有助于学习与当前分类任务最为有效的视觉特征。
1.1.2 卷积层
卷积层即为特征抽取层,每个卷积层包含多个卷积核。卷积核由多个神经元组成,是对前一层的输入数据做特征提取。每一个卷积核能够提取一个相应的特征,具体的提取特征由每一个卷积核中神经元的权重决定。相对于一般的前馈网络,卷积神经网络中卷积核的引入大大降低了网络参数。
为进一步降低网络参数,卷积神经网络采用卷积核共享方式。当卷积层的一个卷积核对输入层的不同区域作卷积时,卷积核的权值不变,即一个卷积核只用来提取前一层网络中不同位置的同一个特征。这个假设源于图像处理的实际经验:即如果一种特征在图像中某个区域很有效,那么这个特征在图像的其他区域也可能很有效。这种方法不仅降低了网络参数,而且能够增加整个网络的鲁棒性,一种特征不管在前一层网络的什么位置,均能被检测出来并将其用于分类。
随着卷积层层数的增加,能够将原始数据更深层次的特征提取出来,一个网络设计多少层卷积层由具体的输入数据来判断,目前尚未有完整理论来描述。如图2所示,该卷积层的一个5×5大小的卷积核,作用于前一层28×28大小的感受域,生成了一个24×24大小的特征图。
图2 卷积层结构示意图
1.1.3 抽样层
抽样层为特征映射层,每个抽样层包含一个抽样核,抽样核由多个抽样神经元组成。抽样核仅与前一层网络对应位置的局部感受域相连。与卷积核的神经元不同,抽样核的每个神经元权重是固定不变的,不随网络状态的改变而改变。抽样层可进一步降低网络的参数个数,增加网络的鲁棒性。
如图3所示,该抽样层的抽样核大小为2×2,初始化参数为[1/4 1/4;1/4 1/4],经过对前一层大小为24×24的数据矩阵作用,得到了一个大小为12×12的抽样数据矩阵。将原来24×24维的数据量降低到了12×12维的数据量,同时由于抽样核具有求均值的效果,降低了因个别数据错误带来的干扰,增加了整个网络的鲁棒性。
图3 抽样层结构示意图
抽样核在网络的初始化时给出。一般情况下,抽样核用来求作用域的均值或最大值。
1.1.4 输出层
卷积神经网络的输出层与常用的前馈神经网络一样,是全链接方式传递的。最后一层隐层可以是卷积层也可以是抽样层,所得到的多个二维数据矩阵被重新组合成一维向量,与输出层以全链接的方式相连。该结构能够充分挖掘最后提取的特征与分类结果之间的映射关系,在复杂应用中,输出层可设置为多层全链接层。
1.2 CNN网络训练
卷积神经网络属于前馈网络的一种特例,训练方式是以反向传播算法为基础的,在传统的反向传播算法上做优化,从而实现高效的训练卷积神经网络。
卷积神经网络的全链接层与普通前馈网络一样,具有相同的参数传播方式。而在卷积层与抽样层,由于引入了权值共享以及降维等处理过程,因此需要做算法优化。
1.2.1 卷积层
卷积层的输入为前一层网络的多个二维矩阵,卷积层将输入矩阵与可训练的卷积核进行卷积,然后通过激活函数作用生成多个输出二维特征图,如式(1)。
(1)
π(·)=max(0,p)
(2)
在卷积层误差反馈传播时,由于l层特征图与l+1层特征图大小不同(每个特征图对应一个灵敏度图),反向传播时,为得到与l层特征图相同大小的灵敏度图需先对l+1层灵敏度图进行反卷积,再将反卷积结果与l层激活值的导数做点积,即可得到l层的灵敏度图,当l+1层是抽样层时,运算过程如式(3)。
(3)
其中:β为下采样因子,常数;up(·)为下采样的反操作,若下采样因子为n,反操作处理时将每个像素在垂直和水平方向上重复n次。
当l+1层是卷积层时,运算过程如式(4)。
(4)
其中:conv(·)表示卷积运算,运算方式为′full′型;rot180(·)表示将括号内的矩阵旋转180°。
求得l层的灵敏度图后,再根据误差反馈传播算法,可以求得训练误差相对于连接权重(及卷积核的权值)的梯度以及训练误差关于偏置的梯度。由于大部分的连接权值是共享的,因此对于l层给定的一个权重,需要对所有与该权值有联系的连接求梯度,再将梯度求和,该运算过程如式(5)和(6)所示。
(5)
(6)
1.2.2 抽样层
抽样层对每一个输入下采样产生一个特征图,如有N个输入特征图,则会产生N个下采样特征图。抽样层运算过程如式(7)。
(7)其中:down(·)为下采样函数,该函数对输入图像中n×n的图像块求和得到一个点值,输出图像的长和宽均变为原图的1/n,每个输出都包含一个乘性偏置β和加性偏置b。
与卷积层中第二种情况(卷积层的下一层为卷积层)一样,这里不再赘述。抽样层的抽样核为固定值,因此不存在误差相对于训练权值梯度的计算,训练误差相对于加性偏置bj的梯度可以通过对敏感图上的元素用式(6)进行求和得到。根据卷积神经网络每一层的具体结构特点,计算得到训练误差相对于训练参数的梯度,就可以对网络参数进行相应地更新。
1.3 改进结构
本文使用如图4所示的改进结构,前5层网络均使用ReLU激活函数,增加了网络收敛速度,同时,在卷积过程中引入图5所示的卷积步长,在网络规模不变的情况下能够减少网络参数。图4网络输入为一副28×28的图像,Conv1为卷积层,由20个4×4的卷积核与输入图像进行卷积,卷积步长为2,得到20个13×13的特征图;Conv2为卷积层,卷积核大小为3×3,卷积步长为2,卷积后得到50个6×6的特征图;Conv3为卷积层,卷积核大小为3×3,卷积步长为1,卷积后生成60个4×4的特征图;Pool1为下采样层,采用最大值池化,步长为2,下采样后得到80个2×2的特征图;Ip1为全连接层,神经元个数为100;Ip2为全连接层,神经元个数为10。其中前5层网络激活函数均使用ReLU函数,Ip2层使用sigmoid激活函数。
图4 改进的网络结构
图5 卷积步长
训练过程中所用的损失函数为均方误差函数Loss=1/2Σ(h-y)2,其中:h为实际输出;y为希望输出。
2 仿真实验
2.1 数据生成
车牌数字字符识别所用数据来自2 000副车牌,这些车牌受到不同光照强度、倾斜角度、遮挡程度等噪声干扰。对车牌归一化后采用垂直投影法切割,去除汉字以及字母后,生成了1 303个‘0’,1 194个‘1’,1 165个‘2’,944个‘3’,728个‘4’,924个‘5’,985个‘6’,743个‘7’,1 019个‘8’,825个‘9’。切割出的图片未经任何处理,每幅图片包含高强度噪声,如图6所示。
图6 部分粗切割字符
字符数量均衡有利于提高网络的识别率,并且数据集越大越有利于训练,因此,针对字符数量不均衡的情况额外增加了一些字符的数量,使得每个字符个数为1 300,并且对这10个字符分别贴上0~9的标签。从每个字符中随机抽取1 000张图片组成训练集,每个字符剩余的300张图片组成测试集。最后,对字符进行灰度化处理,并归一化为28×28的字符保存至Matlab矩阵中。
2.2 实验结果及分析
在这个网络结构中,针对ReLU与Sigmoid 2种激活函数做了实验对比,实验结果如图7所示。从图7可以发现:网络前5层使用Sigmoid激活函数时,网络迭代到100次时才开始收敛,迭代到250次时基本收敛,收敛时误差在0.45左右;而网络前5层使用ReLU激活函数时,网络迅速收敛,当迭代到50次时基本收敛,收敛时误差为0.25左右,收敛速度为Sigmoid激活函数的5倍,并且收敛误差降低了近一半。
图7 ReLU与Sigmoid函数收敛图
如图8所示,在没有考虑卷积步长时(stride=1),网络收敛速度相对卷积步长为2时要慢,且最终收敛时损失函数大于卷积步长为2的网络。因此,卷积步长的引入能加速网络收敛,并降低收敛时函数损失值,增加网络的整体识别率。
图8 不同卷积步长收敛图
网络训练过程中每100次迭代测量一次训练损失值,每500次迭代从测量样本中随机抽取100个样本进行测量,获得测量精度,经过20 000次迭代后测量精度及损失值变化如图9所示。随着迭代次数的增加,网络损失越来越小,并逐渐趋于0,而精度越来越高,最终测量精度达到0.975。
图9 测量精度和损失值变化
训练完成后对网络各层特征进行提取,以字符‘9’为例,获得的各层部分特征如图10所示。由于ReLU激活函数能够过滤掉一些无用信息(稀疏性),所以网络特征层中出现0像素块,由Ip2特征层可知,10个输出神经元中最外面的神经元灰度值最大,即对应于数字9。最终识别结果如图11所示。
图11 识别结果
为了突显本文算法的有效性,将本文改进结构的算法与文献[5-9]中的算法进行对比。仿真过程中,采用了5次实验结果的平均值,最终识别结果如表1所示。
表1 识别结果
由表1可知,本文的改进结构算法与传统的基于模板匹配、BP神经网络等识别算法相比识别率更高,并且识别波动范围小,鲁棒性强,具有一定的实用价值。
3 结论
本文针对车牌数字识别算法提出了一种改进的卷积神经网络结构,利用ReLU激活函数增加了网络的深度以及收敛速度,引入卷积步长减少了网络的训练参数,在车牌数字识别上取得了较高的识别率,具有一定的应用价值。随着深度网络学习框架的普及,接下来的工作即在Caffe框架下实现本文提出的网络结构,并将该结构拓展到汉字、字母字符的识别中。
[1] CHEN N, XING L.Research of license plate recognition based on improved BP neural network[C]// International Conference on Computer Application and System Modeling. IEEE, 2010:V11-482 - V11-485.
[2] LIU D Y, SONG H, PAN Q. License plate recognition based on neural network algorithm to improve research[J].Advanced Materials Research, 2013(860-863):2892-2897.
[3] QU Z, CHANG Q L, CHEN C Z, et al. An improved character recognition algorithm for license plate based on BP neural network[J]. Open Electrical & Electronic Engineering Journal, 2014, 8(1):202-207.
[4] 刘丽,匡纲要.图像纹理特征提取方法综述[J].中国图象图形学报, 2009(4):621-635.
[5] 郭荣艳,胡雪惠.BP神经网络在车牌字符识别中的应用研究[J].计算机仿真,2010(9):299-301,350.
[6] 魏武,黄心汉,张起森,等.基于模板匹配和神经网络的车牌字符识别方法[J].模式识别与人工智能,2001,14(1):96-98.
[7] 曾泉,谭北海.基于SVM和BP神经网络的车牌识别系统[J].电子科技,2016,29(1):98-101.
[8] 韦玉科,谢嘉乐,吴齐云.基于改进的LM-BP神经网络的车牌字符识别研究[J].测控技术,2016,35(2):48-51,57.
[9] 阮志毅,沈有建,刘凤玲.基于数学形态学的模糊集理论在车牌字符识别中的运用[J].计算机工程与科学,2016(3):562-568.
License Plate Digital Character Recognition based on Convolution Neural Network
OUXianfeng1,2,XIANGCanqun1,2*,ZHANXiyang3,PENGXin1,2,SHIYunsuo4
(1.College of Information & Communication Engineering,Hunan Institute of Science & Technology, Yueyang 414006, China;2. Key Laboratory of Optimization & Control for Complex Systems, Yueyang 414006, China; 3.College of Information Engineering, Shenzhen University, Shenzhen 518060, China; 4. GCI Science&Technology Co.Ltd, Guangzhou 510300, China)
An improved algorithm based on convolution neural network is proposed to solve the problem of low recognition rate and poor robustness of traditional license plate recognition algorithm. The ReLU activation function is used to replace traditional sigmoid activation function and convolution stride is employed in the convolution neural network(CNN), which not only accelerates the convergence of the network, but also reduces the number of network parameters. Experimental results show that the recognition rate of the algorithm is the highest, up to 95.2%, comparing with the traditional feature extraction algorithm, and high robustness can be achieved.
license plate recognition; convolution neural network; character recognition
10.13542/j.cnki.51-1747/tn.2016.04.008
2016-09-11
国家自然科学基金“多接口车联网可变带宽信道分配算法研究”(61300039);湖南省教育厅项目“异构网络分布式多视点视频编码及关键帧容错性传输研究”(16C0723);湖南省研究生科研创新项目资助“基于光流传感的四旋翼位姿估计研究”(CX2016B670)
欧先锋(1983— ),男(汉族),湖南郴州人,讲师,博士,研究方向:图像处理、视频压缩编码及传输。 向灿群(1992— ),男(汉族),湖南岳阳人,在读硕士研究生,研究方向:图像处理、模式识别,通信作者邮箱:765545200@qq.com。
TP391
A
2095-5383(2016)04-0026-05