一种基于CRNN的车牌识别算法研究与应用

2021-05-09 04:01华春梦臧艳辉马伙财
现代信息科技 2021年20期
关键词:车牌识别神经网络

华春梦 臧艳辉 马伙财

摘  要:近些年来,深度学习已逐渐替代机器学习而走进大众的生活当中,尤其是机器视觉,在拍照识图、光学字符识别(OCR)、自动驾驶等领域发挥着重要作用。文章针对智能交通中的车牌识别,提出一种基于CRNN的文本序列模型。该模型实现了端到端、免分割的车牌文字识别方法,充分体现了卷积神经网络的优势,在很多场景下都表现出较好的性能。经多次测试统计,该模型的识别准确率高达98.5%,平均响应时间为100 ms,测试效果良好。

关键词:车牌识别;端到端;CRNN;OCR;神经网络

中图分类号:TP391                文献标识码:A 文章编号:2096-4706(2021)20-0078-05

Research and Application of a License Plate Recognition Algorithm Based on CRNN

HUA Chunmeng, ZANG Yanhui, MA Huocai

(Foshan Polytechnic, Foshan  528137, China)

Abstract: In recent years, deep learning has gradually replaced machine learning and entered the public life, especially machine vision, which plays an important role in the fields of photo recognition, optical character recognition (OCR), automatic driving and so on. Aiming at the license plate recognition(LPR)in intelligent transportation, this paper proposes a text sequence model based on CRNN. The model realizes the end-to-end and segmentation free license plate character recognition method, fully reflects the advantages of convolutional neural network, and shows good performance in many scenes. After many tests and statistics, the recognition accuracy of the model is as high as 98.5%, the average response time is 100 ms, and the test effect is good.

Keywords: license plate recognition; end-to-end; CRNN; OCR; neural network

0  引  言

隨着我国经济的稳步增长,机动车出行已经成为人们最主要的出行方式之一。据不完全统计,我国2020年的机动车保有量达3.72亿辆,其中小型汽车达2.81亿辆,如何高效有序地对机动车进行智能化管理,是对当下智能交通提出的一个硬性要求[1]。车牌号作为机动车唯一的身份标识,常用作停车场出入口自动收费和驾驶违规追责的主要依据,所以针对车牌识别技术(License Plate Recognition, LPR),从传统的机器学习到当下的深度学习都在不断地进行着算法的更新与迭代。

1  相关研究内容

车牌识别系统是一个综合且复杂的系统,即是基于计算机技术、图像处理技术建立车辆的特征模型,用以识别车辆的特征(如号牌、车型、颜色等)[2-4]。一个良好的车牌识别系统通常包含两个部分。

1.1  车牌检测

车牌检测的主要目的是从复杂的环境中检测出车牌的有效区域。Kanayama等发现车牌与背景环境存在色差,通过Sobel算子进行车牌边缘检测[5],Lee[6]同样以车牌的颜色作为特征,使用HLS进行车牌的定位和检测。进入21世纪后,计算机算力实现了巨大的飞跃,深度神经网络和计算机视觉开始广泛应用于车牌检测之中,其中比较成功的是基于卷积神经网络的Yolo算法和级联算法。

1.2  车牌字符识别

车牌字符识别技术的发展经历了多个阶段,最初是通过字符分割和特征模板匹配的方法将车牌的字符逐个分割,再将分割的字符送入模版匹配器,通过最大似然概率进行预测。随后深度学习中的OCR技术和场景文字识别技术(Scene Text Recognition, STR)也应用到车牌字符识别中,Laraca等[7]利用CNN对字符进行分割,建立了车牌数据集并开源。然而基于字符分割的方法始终无法做到多场景下的完美分割,Zherzdev等[8]基于卷积神经网络,提出了端到端(end to end, E2E)的车牌识别网络LPRNet,其无需对字符进行分割即可实现Seq2Seq的输出,且识别准确率高达95%。

综上,本文选取循环卷积神经网络(Convolutional Recurrent Neural Network, CRNN)作为识别模型(主要由CNN、RNN、CTC构成),该模型能够识别不定长的文本序列。在具体的应用阶段,CNN用于完成文本图像的特征提取,RNN依靠Bi-LSTM融合特征向量,再提取文字序列特征,最后由转录层CTC输出序列的概率分布,借此来预测最优的文本序列值。

2  算法模型

整个车牌识别流程如图1所示,主要分为RetinaNet网络和CRNN网络。先由RetinaNet网络检测出车牌的有效区域,然后再将检测出的区域送入CRNN网络进行车牌字符的识别,最终输出预测结果。

2.1  RetinaNet车牌检测网络

RetinaNet是在经典的图像特征提取网络ResNet[9-12]的基础上进行了改进,引入特征金字塔网络(Feature Pyramid Network, FPN)[13-16],主要用于解决目标检测在多尺度空间变化方面的不足,同时引入Focal loss损失函数,解决正负样本不均衡的问题,RetinaNet在检测精度上优于Faster-RCNN和R-FCN等两阶段网络。网络的训练集采用开源的CCPD,图2展示了其对车牌区域的检测效果。

2.2  CRNN车牌字符识别网络

经过RetinaNet网络目标检测后,接下来就是将所得到的车牌有效区域级联到字符识别网络,进行识别并输出结果,这一步骤的核心是构造端到端、免分割的神经网络,本文选用OCR和STR经常用到的CRNN网络模型来预测车牌号码的输出。图3为CRNN网络的结构示意图。

对于用户输入的图像,CRNN网络首先通过卷积神经网络得到图像的特征矩阵,然后将图像的特征序列送入循环神经网络进行预测,循环层采用双向LSTM进行特征融合,最后经过转录层的融合、去重等环节输出预测的结果。

2.2.1  CNN卷积层

卷积神经网络具有共享权值和局部相关性的特点,可以大大减少网络的参数量,较容易实现更深的网络层次结构,因此常用作提取图像的特征序列。在做图像卷积的时候,一般要选取三个参数:

(1)kernel_size卷积核。卷积核是行、列为k大小的权值矩阵W,对应特征图上大小为k的窗口即为感受野,感受野与权值矩阵W相乘累加,得到此位置的输出值。

(2)stride滑动步长。每次卷积运算所平移的步长。

(3)padding填充值。由于原图像经过卷积后,所输出的Feature map会变小,而且輸入图像的像素经过的计算次数也是不一样的,会导致图像角落信息的丢失,因此要对输入图像进行像素填充的操作。

本实验所采取的卷积核大小分别为[3,3,3,3,3,3,2],滑动步长为[1,1,1,1,1,1,0],填充均为1,卷积核数量分别为[64,128,256,256,512,512,512]。

2.2.2  池化层和激活函数

池化层通常作为卷积层的下一层,执行降采样(Down-sampling)操作,因为卷积层在多个卷积核的作用下,最终输出的特征维度较高,所以最大池化层可以视为一个很强的先验知识,使特征学习负有一定的注意力,忽略微小的特征位移,同时减少了下一层的输入大小,减少计算量。

激活函数(activation function)层又称为非线性映射层,可以提高网络模型的非线性表达能力和鲁棒性。常见的激活函数有tanh、sigmoid、relu等,其函数及梯度如图4所示。

由图4可以看出,Relu激活函数运算简单,收敛速度快,可在一定程度上加快神经网络的训练速度,同时它也提供了神经网络的稀疏表达能力,能够克服梯度消失的问题[10],故本文采用Relu作为卷积神经网络的激活层。

2.2.3  LSTM循环神经网络

长短期记忆网络(Long short-term memory, LSTM)是一种特殊的RNN网络,主要用于解决长序列训练过程中梯度消失和梯度爆炸的问题,简单来说,相比普通的RNN网络结构,LSTM可以处理更长的序列,因为RNN网络只传递一个隐藏状态(hiddlestate, ht),而LSTM则有两个状态传输,一个是细胞状态(cell state, ct),另一个是隐藏状态ht。其中,ct是上一个细胞状态ct-1加上其他单元值,这里就用到了LSTM的三个围绕细胞单元(Cell)的门操作(遗忘门,记忆门和输出门),这三个逻辑门的策略选择决定了最终Cell的输出部分。RNN网络和LSTM网络的结构示意图如图5所示。

2.2.4  CTC Loss

神经网络的训练一般都是通过最小化损失函数来做梯度更新的。对于Bi-LSTM输出的Seq2Seq序列,我们优先选择免分割的字符识别,由于输出的序列字符间距不同,对齐是非常困难的,因此本文选择了避开输入和输出手动对齐的CTC(Connectionist Temporal Classification)作为损失函数[17-19],通过式(1)来计算文本的概率密度分布。

3  实验及结果

3.1  训练集

我们采用人工合成的方法来生成车牌数据。其中,中小型车车牌60 000张,大型车车牌20 000张,新能源车牌20 000张,用10万张不同车型的车牌图片作为网络训练的输入,训练集的标签即为文件名,文件名对应着正确的车牌信息。在样本生成阶段,我们进行了数据的增强,加入了随机污渍、高斯噪声、HSV变化以及透视视角变换等因素,用这些干扰因素来模拟现实中的各种复杂情况,以增强网络的学习能力,保证模型的健壮性和泛化性。人工合成的车牌识别训练集样本如图6所示。

3.2  实验环境

车牌字符识别的实验环境如表1所示。

3.3  网络训练及识别结果

本模型的训练,采用ADAM优化器来加速学习,按8:2的比例将10万张数据集划分为训练集和测试集,batch_size为32,初始学习率为1e-3,衰减因子为0.1,每进行80次迭代后调整一次学习率,共进行1 000次迭代实验。在实验前,对数据集进行规一化操作,将尺寸重新调整为w=160,h=32,最终得到的损失函数和准确度如图7所示,从图中可以看出衰减损失收敛速度较快,模型的测试准确率也在快速提升,最终稳定在98%左右。

经测试,本模型在各种复杂情况下的车牌识别中均取得了理想的效果,识别结果如图8所示。从图8中可以看出综合正确率在97%左右,但由于样本中“0”和“O”较为相似,且二者在训练样本中同时出现的频次不足,以致在识别新能源车辆“粤B D0194O”时,其结果的置信度只有83.4%。

3.4  系统的总体表现

本实验首先通过RetinaNet网络识别车牌的区域,然后将此车牌的文字区域送入CRNN网络,做免分割的端到端识别,克服了传统字符分割上的困难,同时在数据集的生成上引入仿射变换、随机噪声等干扰因素,最终实验准确率达98%左右,响应时间为100 ms左右,效果良好,达到了预期目标。

4  结  论

本文基于CRNN字符识别网络和RetinaNet目标检测网络对车牌进行识别,通过二者的级联,克服了传统字符识别在分割中所遇到的困难,实现了端到端的车牌字符识别系统。特别是在训练集的实现上,采用了数据增强等方法,引入仿射变换、随机噪声等干扰因素,使网络模型的学习能力得到提升,保证了识别系统的稳定性,最终实验结果的准确率达到了97%,识别的响应时间平均为100 ms,結果表明所设计的方案具有较高的应用价值。未来将从以下两个方面进行拓展:(1)“双行车牌”的识别;(2)将车牌识别横展至电动自行车等其他领域。

参考文献:

[1] 吴宏伟.基于深度学习的车牌检测识别系统研究 [D].大连:大连理工大学,2021.

[2] 罗雅丽.车牌识别中人工智能技术的应用 [J].电脑编程技巧与维护,2021(7):125-127.

[3] 高昕葳.基于深度学习的汽车车牌识别算法研究 [J].机电工程技术,2021,50(10):164-166.

[4] 史敏红,李树文,杨志.基于卷积神经网络的智能车牌识别研究 [J].电视技术,2021,45(9):89-91+99.

[5] 张彩珍,李颖,康斌龙,等.基于深度学习的模糊车牌字符识别算法 [J].激光与光电子学进展,2021,58(16):259-266.

[6] LEE E R,KIM P K,KIM H J. Automatic recognition of a car license plate using color image processing [C]//Proceedings of 1st international conference on image processing.Austin:IEEE,1994:301-305.

[7] LAROCA R,SEVERO E,ZANLORENSI L A,et al. A Robust Real-Time Automatic License Plate Recognition Based on the YOLO Detector [C]// 18 International Joint Conference on Neural Networks (IJCNN).Rio de Janeiro:IEEE,2018:1-10.

[8] CHENG C W,MEI L Y,ZHANG J H. License Plate Recognition via Deep Convolutional Neural Network [J].IOP Conference Series:Earth and Environmental Science,2018:189(6):062030.

[9] HE K M,ZHANG X Y,REN S Q,et al. Deep residual learning for image recognition [C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Las Vegas:IEEE,2016:770-778.

[10] 张炳力,秦浩然,江尚,等.基于RetinaNet及优化损失函数的夜间车辆检测方法 [J].汽车工程,2021,43(8):1195-1202.

[11] 牛作东,覃涛,李捍东,等.改进RetinaFace的自然场景口罩佩戴检测算法 [J].计算机工程与应用,2020,56(12):1-7.

[12] 罗月童,江佩峰,段昶,等.面向小目标检测的改进RetinaNet模型及其应用 [J].计算机科学,2021,48(10):233-238.

[13] 张福玲,张少敏,支力佳,等.融合注意力机制和特征金字塔网络的CT图像肺结节检测 [J].中国图象图形学报,2021,26(9):2156-2170.

[14] 孟月波,金丹,刘光辉,等.共享核空洞卷积与注意力引导FPN文本检测 [J].光学精密工程,2021,29(8):1955-1967.

[15] 姚铭,邓红卫,付文丽,等.一种改进的Mask R-CNN的图像实例分割算法 [J].软件,2021,42(9):78-82.

[16] 汪朝晖,于姗姗,孔娟娟,等.基于CRNN网络的公交电子站牌屏显识别及纠正 [J].信息技术与信息化,2021(7):164-169.

[17] 占鸿渐.基于深度学习的字符串识别研究 [D].上海:华东师范大学,2021.

[18] 刘晓峰,宋文爱,陈小东,等.基于多核卷积融合网络的BLSTM-CTC语音识别 [J].计算机应用与软件,2021,38(11):167-173.

[19] 胡黎,黄洪全,梁超,等.基于双通路CNN的端到端语音识别研究 [J].传感器与微系统,2021,40(11):69-72+83.

作者简介:华春梦(1990.04—),男,汉族,河南南阳人,助教,硕士研究生,研究方向:嵌入式Linux、机器学习、人工智能;

臧艳辉(1978.10—),女,汉族,湖北襄阳人,高级工程师,硕士研究生,研究方向:移动物联网、大数据技术应用;

马伙财(1993.11—),男,汉族,广东肇庆人,助教,硕士研究生,研究方向:生成对抗神经网络、数据挖掘。

猜你喜欢
车牌识别神经网络
基于全卷积神经网络的猪背膘厚快速准确测定
基于CNN卷积神经网络和BP神经网络的冬小麦县级产量预测
基于人工智能LSTM循环神经网络的学习成绩预测
基于图像处理与卷积神经网络的零件识别
MIV-PSO-BP神经网络用户热负荷预测
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
基于支持向量机的车牌字符识别方法
车牌识别系统设计与实现
基于车牌识别的机器视觉课程研究
一种改进的BP神经网络车牌识别算法的研究