朱文轩
[摘 要] 近年来深度学习已经成为人工智能领域中的热门话题,将深度学习应用到传统车牌识别系统中,可以解决车牌识别中常遇到的定位、分割的难点,有效提高识别速度与准确率。
[关 键 词] Faster R-CNN;深度学习;车牌识别系统
[中图分类号] U495 [文献标志码] A [文章编号] 2096-0603(2019)33-0138-02
本文所研究的Faster R-CNN是基于卷积神经网络(Convolutional Neural Network,CNN)的模型,它解决了CNN在训练中步骤繁琐、占用空间大、运行速度慢的缺点,将边框回归加入CNN训练中去,并将目标检测CNN和产生建议窗口CNN信息共享,提高检测的效率。
本文对车牌识别系统创新的提出Faster R-CNN结构,根据实验测试,最终识别率达到97.3%,显著提高了识别的精度,具有研究的意义。
一、实验环境
本次实验的软件环境在Spyder(Python 3.6)中进行,硬件配置16核心,32线程,内存大小为16G,GPU为 GTX 660TI 4G。
二、训练集实验数据
本次实验训练数据为0~9十个数字以及A-Z 26个英文字母,和全国各个省的简写汉字如图1所示。
三、参数讨论
在该训练深度网络的实验中,有Bacth_Size,學习率,迭代次数,权值初始值,这个几个关键的参数,由于本文的训练样本大小为256×256,结合考虑到计算机显卡大小,设定Bacth_Size=128,因为参数设置过大会导致梯度计算爆炸,使MSDG算法失效,学习率会影响算法收敛速度,本文设置为0.005,迭代次数与Bacth_Size和学利率有关,权值初始值参数采用权值和等于0的随机数构成。
本文中的深度网络简称V9。在V9网络中没有过多的卷积和池化层,主要是由于数据本身的特殊性,特殊在于数据本身纹理不算复杂、易于辨识,没必要使用大规模的卷积层来提取更深层的特征,因为这样会大大增加训练时间,增加网络的复杂度。该网络的详细参数可以在Tensorboard里面进行详细的可视化展示。
在训练的时候首先将所有图像数据全部归一化到128×128×3,为了验证训练的效果同时随机采样25%的数据为验证数据,在参数设置方面,网络神经元130,图像块大小为64,学习率为3×10e-5。训练过程如图2所示。
训练过程的示意图中,上半部分为训练的精度,下半部分为Loss function 的值,由图可知,训练的精度震荡上行,逐渐逼近100%的准确率,而Loss function 的值震荡下行,逐渐趋于0,所有该训练过程达到了车牌识别的目的,与传统的检测不同的是,Faster R-CNN使用了RPN网络,输入一个与训练图像大小一致的测试图像,能得到一个矩形回归的Region Proposal值,然后依据Region Proposal中,所有分类的得分对该RPN网络进行排序,把前300个得分高的Region Proposal作为Fast R-CNN 的矩形框输入进行目标识别,未来提高计算速度,在该网络中采用小规模的SVM网络层或Softmax对每一块图像进行分类,分类的目的是得到需要的目标区域,最后再利用矩形框回归得到最后的检测框,对车牌字符识别,通过得到检查框里面包含的图像Softmax的输入得到车牌字符。
四、数据测试
数据测试使用不同角度下的车牌数据直接对车牌进行定位以及识别,该深度网络的识别与传统图像处理不同,传统的图像处理算法只能识别同一种底色的车牌,而基于Faster R-CNN的识别算法可以识别常见底色的车牌,比如蓝牌与黄牌。
本文基于Python语言,采用Faster R-CNN对目标进行训练并自动定位捕捉,Faster R-CNN使用Bounding box回归,再利用GoogLeNet深度网络进行车牌特征提取,最后通过SVM进行识别,具体的测试界面如图3所示。
五、分析与讨论
测试所使用的车牌库为开源车牌识别系统EasyPR中的general_test测试集,共有256张来自全国各地的车牌,车牌库的测试结果如下表所示。
在General_test测试集中,共有256张车牌,成功识别249张,错误7张,识别率达到97.3%,错误的原因主要有以下两点。
1.噪点清除不彻底,在监控中有部分车牌会显示文件名或监控时间,本系统在识别过程中有一定几率把这部分错误信息进行捕捉定位,导致车牌识别错误。
2.在对视频监控中的车牌进行定位是,仅能定位特征最明显的一个车牌,无法对多个车牌同时进行定位。
本文制定了一个Faster R-CNN模型,相较于传统的CNN,本文采用的Faster R-CNN,它克服了CNN在训练中步骤繁琐、占用空间大、运行速度慢的缺点,将边框回归加入了CNN训练中去,并将目标检测CNN和产生建议窗口CNN信息共享,提高了检测的效率。通过实验论证可知,本文所用车牌识别系统完全是可行的,能够在实际应用中起到良好的效果。在车牌的研究技术之中,合理发现识别的难点,通过技术分析,可以十分准确地识别车牌号码。本文在256个车牌中成功识别了249个车牌,识别准确率为97.3%。
编辑 张 慧