基于FasterR-CNN与BRNN的车牌识别

2020-09-02 06:31潘安琪门玉英
软件导刊 2020年8期
关键词:车牌识别卷积神经网络图像识别

潘安琪 门玉英

摘 要:针对传统车牌检测方法在复杂环境下识别准确率不高且过程繁复问题,提出一种基于Faster R-CNN和BRNN统一深度神经网络的车牌识别方法。首先,使用Faster R-CNN网络进行车牌定位:先通过RPN(区域提案网络)进行候选区域提取与输出,提供粗略搜索范围,再通过分类层结合提议目标层生成的边界框坐标和其回归系数,生成所需的最终边界框;然后,将车牌识别看作序列标记问题,使用具有CTC损耗的BRNN(双向循环神经网络)用于标记其顺序特征,实现车牌字符识别。试验结果表明,该技术识别准确率高达94.5%。

关键词:卷积神经网络;深度学习;车牌识别;图像识别;R-CNN

DOI:10. 11907/rjdk. 201323 开放科学(资源服务)标识码(OSID):

中图分类号:TP301文献标识码:A 文章编号:1672-7800(2020)008-0049-05

Abstract:Aiming at the problem of low recognition accuracy and complicated process in traditional license plate detection methods in complex environments, we propose a license plate recognition method based on Faster R-CNN and BRNN unified deep neural network. First, we use the Faster R-CNN network for license plate location. Candidate regions is extracted and output through RPN (regional proposal network) to provide a rough search range; then the classification layer is combined with the bounding box coordinates generated by the proposed target layer and its regression coefficient to generate the final bounding box required. Secondly, the license plate recognition is regarded as a sequence marking problem. A BRNN (Bidirectional Recurrent Neural Network) with CTC loss is used to label its sequential features to realize the character recognition of the license plates. According to the experimental results, the recognition accuracy rate is as high as 94.5%.

Key Words:convolutional neural network; deep learning; license plate recognition; image identification; R-CNN

0 引言

随着人们生活水平的提高,我国汽车需求量快速增长。机动车无疑便利了人们生活,但随之而来的是愈来愈严重的交通问题。车牌检测和识别对智能运输系统非常重要,从安全性到交通控制有众多应用。然而,很多算法只有在受控条件下或使用复杂的图像捕获系统才能很好地工作[1],在不受控制的环境中准确读取牌照仍存在很多问题[2]。

以前车牌检测和识别工作通常将定位和识别视为两个独立任务,分别采用不同方法,步骤通常为图片预处理、字符分割、文本识别。

基于颜色特征的边缘检测方法[3],通过分析局部区域内指定颜色的分布特征,将车牌颜色和纹理特征同时提取。该算法具有速度快、准确性高和适应性强的优点。但是,当牌照区域颜色与附近区域非常接近时会产生错误的定位结果,严重变色的车牌甚至无法检测到字符笔划的边。

基于纹理的检测方法[4]将小波系数的标准差作为纹理测度以生成特征向量,利用模糊c-均值聚类算法进行纹理分割。该方法在光线较弱、过强或不均匀、图像倾斜或变形的情况下具有较好的定位效果。但在复杂的背景图像应用时,很容易找到一些具有丰富纹理分布的非牌照区域。由于目标检测过程繁琐、准确性不好,传统方法往往效果不佳。

本文采用深度学习方法中的Faster R-CNN,通过引用具有多个尺度和纵横比的锚框处理尺度问题[5],利用双向循环神经网络(BRNN)和CTC函数结合进行字符识别。通过神经网络的自主学习功能,从图像中检测出车牌,同时对车牌进行识别[6-8]。该网络结构是一个统一的深度神经网络,可定位车牌并在一次正向通行中识别字母。整个框架不涉及启发式过程,如使用版面颜色或字符空间,避免了字符分组或分离等中间过程,在车牌检测和字母恢复方面具有较高精度[9]。

1 Faster R-CNN

Region-CNN(R-CNN)是一种基于卷积神经网络(CNN)将深度学习用于目标检测和识别的方法。Fast R-CNN在R-CNN基础上改善重复提取候选框的缺点,但寻找有效候选框会浪费大量时间[10]。本文使用Faster R-CNN结构,将目标检测基本步骤(候选区域生成、特征提取、分类、位置精修)统一到一个深度网络框架内[11]。本文采用此方法实现车牌定位功能,所有计算无重复,完全在GPU中完成,大大提高运行速度。Faster R-CNN在Fast R-CNN基础上提出 [12-13],可看作是Fast R-CNN和RPN通过共享卷积特征的组合 [14]。RPN提供粗略搜索范圍,Fast R-CNN使用区域提议检测目标,即先对此网络使用带有同一特征的图像进行训练,使其具有识别待检测目标特征的能力。

1.1 车牌定位流程

Fast R-CNN检测精度较高,但速度很慢。在Faster R-CNN中,将区域网络(RPN)与Fast R-CNN网络相结合以提高速度,用RPN取代Fast R-CNN算法。Faster R-CNN网络如图1所示。

使用RPN输出候选区域作为输入训练。RPN和Faster R-CNN网络独立训练,其卷积层以不同方式修改。因此,交替训练用于在卷积层中共享特征。在特征提取过程中,使用VGG-16网络作为Faster R-CNN的前端网络。VGG-16有13个共享卷积层。本文通过多个卷积层输入图像,得到一个特征图。在最后一个卷积层,完全卷积网络RPN替代分类网络的完整连接层用于端到端训练。

1.2 区域提案网络(RPN)

区域提案网络可提供多个提案区域,每个区域都有一个客观评分。本文使用大小为n×n的滑动窗口。卷积特征映射生成长度为256维的完整连接特征,然后在完整连接特征之后生成连接层的两个分支。REG层用于预测锚点和目标区域大小,CLS层用于确定是前景还是背景。滑动窗口处理方法确保REG层和CLS层与卷积层的所有特征空间相关联。

候选区域选择规则:如果锚参考框与真实值的交点大于0.7,则标记为正样本;如果锚参考框与真实值交点小于0.3,则标记为负样本;其余的既不是积极的也不是消极的,不会用于最后的训练。

RPN训练损失分为分类损失和边界框回归损失。

x,y,w,h为框的中心坐标、宽与高。其中,x为预测框,即proposal;xa为锚框;x*为标定框。

除区域提案网络外,Faster R-CNN网络还由提议目标层、Crop Pooling层以及分类层组成,可实现感兴趣区域、特征区域提取,以及识别出最终所需的边界框。

1.3 Faster R-CNN其它网络层次

1.3.1 提议目标层

提议目标层指从提议层输出区域(ROI)列表中选择有希望的ROI,用于让前面产生的特征图执行Crop Pooling结构且传递到网络其它部分,计算产生边框的回归系数及预测分类得分。提议目标层从推选层计算的ROI开始,将每个ROI与所有目标最大重叠,并且将ROI分类为前景ROI和背景ROI,前景感兴趣区域即为最多重叠区域多于阈值的部分。

1.3.2 Crop Pooling层

提议目标层产生有希望的ROI,可在训练过程中使用相关回归系数以及类标签对其分类,之后通过卷积特征图提取相应感兴趣区域。所提取的卷积特征图使用此结构运行,产生所有感兴趣区域的对象类概率分布和回归系数,在卷积特征对应的执行区域中提取本层。

1.3.3 分类层

本层通过对Crop Pooling输出的特征图沿空间维度平均汇集,传递特征图至第4层ResNet层,接着特征向量通过bbox_pred_net和cls_score_net相连,后者代表每个边界框生成的类别成绩,前者可产生特定类的边界框回归系数。结合提议目标层生成的边界框坐标和其回归系数即为生成所需的最终边界框。

2 双向循环网络与CTC函数

2.1 车牌识别结构

车牌识别网络是基于车牌定位产生的最终边框,进行一系列操作识别出字符。本文基于提取的区域特征识别ROI中每个字符,将车牌识别看作序列标记问题。使用具有CTC损耗的双向循环神经网络用于标记其顺序特征。双向循环神经(BCNN)网络加CTC损失函数结构如图3所示,双向循环神经网络结构如图4所示,其中xi代表输入层,yi代表输出层,Ai表示向前层,Ai'表示向后层,Si表示隐藏层向量。

双向循环神经网络能弥补单项循环神经网络在很多情况下的不足。单项循环神经网络仅仅结合历史数据,反向循环神经网络则可与未来数据相联,两种神经网络组合便可将历史数据和将来数据相联系。

2.2 算法介绍

CNN或DNN的神经网络结构输入和输出是分开的[17],这类网络结构适用于输入输出关联性不大的情况,而RNN结构的引入则适用于输入与输出关联性强的情况。RNN结构按照一定的时间序列展开,而RNN的单项循环神经网络仅仅结合历史数据,相反,反向循环神经网络则可与未来数据相联。两种神经网络组合便可将历史数据和未来数据相联系,形成双向循环神经网络,即BRNN[18]。

ROI池化后的区域特征表示为Q,将区域特征重构,得到的特征表示为[V=(v1,v2, ,vL)]。BRNN应用于顺序特征之上,使用具有512个单元的两个分离RNN层。一个向前处理特征序列,隐藏状态通过[h(f)t=g(vt,h(f)t-1)]更新。另一个向后处理,隐藏状态通过[h(b)t=g(vt,h(b)t+1)]更新。将两个隐藏状态连接并输出后进行线性变换,最后转化为车牌上的字符概率分布。记录每个时间点概率,在BRNN编码之后,特征序列V变换为具有与V相同长度的概率估计序列[q=(q1,q2, ,qL)]。BRNN从两个方向捕获历史数据和未来数据,极大提高了准确性。

3 实验与分析

3.1 数据集预处理

本文实验选取3 000张不同场景下的车牌照片作为数据集[19],包括不同角度和分辨率图片,以及复杂环境如阴暗天气、暴雨暴雪天、光照阴影不均匀等拍摄的车牌照片[20]。将图片中的车牌按PASCAL VOC2007格式进行处理,再通过lableimg进行车牌标注,将结果输出为xml文件。

数据集分别为训练集和测试集[21-22],其中1 800个作为训练和验证数据集,1 200个作为测试数据集。测试数据分3种类型:①400个清晰、明亮,位置較为端正的车牌图像;②400个模糊、光线暗或位置倾斜的图像;③400张普通车牌图像。图5为3种车牌检测结果。

3.2 圖像训练与测试

首先下载并使用MATLAB进行网络模型迭代训练[23]。结束之后,将模型路径修改为训练所得路径,将测试图片修改为本文需要测试的图片,得出训练结果,并将出现的很多没有目标的图片提高阈值设置,再次输出结果。

使用Faster R-CNN与VGG网络进行实验,得出召回率、精确率及平均速度等数据。评估标准包括召回率和精确度。召回率指正确检测到的车牌数除以实际区域总数,精确度指正确检测到的牌照数除以检测到的区域总数[24]。本文通过设置不同参数(如迭代、学习速率等)不断训练数据集,以获得最佳结果。图6为该方法的精确率—召回率曲线图。当使用800张图像进行训练时,mAP为0.963 7,使用1 000张图像进行训练时,mAP为0.974 4。图6为分别用300、500、700、800和1 000张训练集图像的仿真结果。

3.3 车牌字符识别

本文采用Faster R-CNN结构和CTC加BRNN结构进行实验,并且使用SGD方法训练整个网络[25-26],从预训练的VGG-16模型开始初始化[27]。从第5层的CNN层在前50K迭代中进行微调。根据高斯分布初始化其余权重。使用ADAM优化器[28](初步学习率为10-5)用于预训练VGG-16模型中的参数,10-4用于其余参数。后者学习率每10K迭代减半,直至10-5。该网络经过200K次迭代训练,每次迭代使用从训练数据集中随机采样的单个图像。对于每个训练图像,将其调整为700像素的较短边,较长边不超过1 500像素。

本文对字符识别结构精度变化进行MATLAB模拟仿真,结果如图7所示。

一种方法是首先去掉不需要的背景边缘,然后通过基于密度的方法将边界分类,最后通过线性支持向量机模型对梯度特征的直方图训练分类;另一种方法是发现局部特征匹配自动定位车牌。两种方法都有较高的识别率。

4 结语

本文基于Faster R-CNN和CTC加BRNN的网络模型,对不同环境下的车牌进行训练和识别操作,并与其它识别方法进行识别率对比。实验结果表明,本文网络结构车牌识别率高达94.5%,不仅在一定程度解决了复杂条件下识别准确率低的问题,还可一次性识别一张图片上的多个车牌,减少了误差和识别时间。此外,不同场景下,本文网络模型训练图像越多识别准确率越高。但由于实验数据的局限性,本文网络在不良图像条件下仍存在一些误差。若添加更多数据训练网络,识别率及精准度会相应提升。本文方法简单,在车牌检测应用中具有良好前景。

参考文献:

[1] KIM J, WOODS J W. Image identification and restoration in the subband domain[J]. Image Processing IEEE Transactions on,1994, 3(3):312-314.

[2] SALTZER J H. End-to-end arguments in system design[J]. Acm Transactions on Computer Systems, 1984, 2(4):277-288.

[3] 沈勇武,章专.  基于特征颜色边缘检测的车牌定位方法[J].  仪器仪表学报, 2008,7(12):211-215.

[4] 应宏微,姚明海, 张永华.  基于纹理分析和垂直投影的车牌定位算法[J]. 控制工程, 2004, 11(5):432-435.

[5] LECUN Y,BENGIO Y,HINTON G. Deep learning.[J].  Nature, 2015, 521(7553):436-448.

[6] SCHMIDHUBER,JüRGEN. Deep learning in neural networks: an overview[J]. Neural Networks, 2015, 521(61):85-117.

[7] LITJENS G,KOOI T,BEJNORDI B E, et al. A survey on deep learning in medical image analysis[J].  Medical Image Analysis, 2017,96(42):60-88.

[8] PAPERNOT N,MCDANIEL P,JHA S, et al. The limitations of deep learning in adversarial settings[J]. MTandHJ,2015,8(59):381-412.

[9] ZHANG C,BENGIO S,HARDT M,et al. Understanding deep learning requires rethinking generalization[J]. Springer Link,2016,51(634):1102-1115.

[10] REN S,HE K,GIRSHICK R,et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2015, 39(6):89-102.

[11] GIRSHICK R. Fast R-CNN[C]. IEEE International Conference on Computer Vision (ICCV), IEEE,2016.

[12] JIANG H,LEARNED MILLER E. IEEE international conference on automatic face & gesture recognition  face detection with the faster R-CNN[J]. Computer science, 2017,102(5):650-657.

[13] JIANG H,LEARNED-MILLER E. Face detection with the faster R-CNN[J]. Computer science, 2016,90(2):394-410.

[14] SALVADOR A,GIRó-I-NIETO X,MARQUéS F,et al. Faster R-CNN features for instance search[C]. Computer Vision & Pattern Recognition Workshops,2016.

[15] SHRIVASTAVA A,GUPTA A. Contextual priming and feedback for faster R-CNN[C]. European Conference on Computer Vision. Springer, Cham, 2016.

[16] YUN R,CHANGREN Z,SHUNPING X.  Small object detection in optical remote sensing images via modified faster R-CNN[J]. Applied Sciences, 2018, 8(5):813-822.

[17] RODRIGUEZ P P,GIANOLA D.  Brnn: bayesian regularization for feed-forward neural networks[J]. Int.Conf.Neural Network, 2013,86(6):824-833.

[18] CAI Y,ZHENG W,ZHANG T,et al. Video based emotion recognition using CNN and BRNN[M]. Pattern Recognition, Springer Singapore, 2016.

[19] WOODS J W,KIM J. Image identification and restoration in the subband domain[J]. Image Processing IEEE Transactions on,1994, 3(3):312-314.

[20] BRUGGE M H T,NIJHUIS J A G,SPAANENBURG L,et al. License plate recognition[C]. Knowledge-based intelligent techniques in character recognition. CRC Press, Inc.  1999.

[21] NIJHUIS J A G.  Car license plate recognition with neural networks and fuzzy logic[J].  Int.Conf.Neural Network,1995,5(5):875-883.

[22] SHI X,ZHAO W,SHEN Y. Automatic license plate recognition system based on color image processing[C]. International Conference on Computational Science and Its Applications. Springer, Berlin, Heidelberg, 2005.

[23] GüNTER S, BUNKE H. HMM-based handwritten word recognition: on the optimization of the number of states, training iterations and Gaussian components[J]. Pattern Recognition,2004,37(10):2069-2079.

[24] MA Z,LI J L,TAN X F.  Research on license plate recognition technology[J]. Applied Mechanics and Materials,2010(44-47):3667-3671.

[25] ANAGNOSTOPOULOS C N E,ANAGNOSTOPOULOS I E,LOUMOS V,et al. A license plate-recognition algorithm for intelligent transportation system applications[J].  IEEE Transactions on Intelligent Transportation Systems, 2006, 7(3):377-392.

[26] BORDES A,BOTTOU L,GALLINARI P. SGD-qn:careful quasi-newton stochastic gradient descent[J].  Journal of Machine Learning Research, 2009, 10(3):1737-1754.

[27] XIAO Z, WANG M, GENG L, et al. Optic cup segmentation method by a modified VGG-16 network[J].  Journal of Medical Imaging and Health Informatics, 2019,85(4):157-168.

[28] KINGMA D P,BA J. Adam: a method for stochastic optimization[J]. Computer Science, 2014,86(9):1204-1221.

[29] ZHOU W, LI H, LU Y, et al. Principal visual word discovery for automatic license plate detection[J]. IEEE Trans, Image Process,2012,21(9):4269-4279.

[30] TIAN J,WANG G, LIU J, et al. License plate detection in an open environment by density-based boundary clustering[J]. Electron,Imag,2017,26(3):1-11.

(責任编辑:杜能钢)

猜你喜欢
车牌识别卷积神经网络图像识别
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
图像识别在物联网上的应用
图像识别在水质检测中的应用
基于深度卷积神经网络的物体识别算法