基于深度学习的实时车牌检测与识别

来源:优秀文章 发布时间:2023-01-16 点击:

孙世昕,马 蕾,李千目,张伟斌

(1. 南京理工大学电子工程与光电技术学院,江苏南京 210094;
2. 南京理工大学公共事务学院,江苏南京 210094;
3. 南京理工大学计算机科学与工程学院,江苏 南京 210094)

现阶段车牌检测与识别技术(LPR)已广泛应用于车辆管理、电子收费等领域,目前存在红外检测、埋地线圈检测、雷达检测、图像检测等多种实现方式[1-2]。其中,基于图像的检测技术可以避免破坏路面,不必附加外部检测设备,具备低成本、便捷的优势,因此也是当下研究的热点。得利于卷积神经网络的快速发展,基于深度学习的图像检测算法在特定场景下已经取得可观的识别精度,并产生了一批具有应用价值的识别算法。

现有算法的性能易受识别光照质量的影响[3-4],导致在暗光或者夜间场景下难以准确定位。在部分商业体停车库出口,容易发生因无法检测车牌导致车辆通行缓慢,造成拥塞,极大影响消费者的停车体验,给商城经济效益带来负面影响;
而在一些居民区,更是因为夜间无法有效识别车辆身份,对业主日常出行和小区安全都带来极大不便。

为克服光照不足对检测精度的影响,本文通过分析现有模型的识别步骤,引入新的数据增强手段,并对网络结构进行优化,减少网络冗余层数,最终提出了一个具有较强光照鲁棒性的深度学习LPR 系统。该算法有效减少了车牌识别技术在暗光场景下对外界灯光的依赖,并明显提升了识别速度,同时降低了对硬件的性能需求。

1.1 车牌定位方法

车牌检测与识别技术通常分为两个子任务:车牌定位、字符识别。在车牌定位环节,传统方法通常首先采用图像二值化或灰度分析来选择候选区域,然后结合特征提取和机器学习分类器确定目标所在位置[5-7]。随着深度学习技术的兴起,基于卷积神经网络的目标定位技术也被广泛应用于车牌检测[8]。以Faster R-CNN 为代表的two-stage 目标检测算法通过对图像提取候选区域[8-10],再针对候选区域进行目标分类与位置修正,从而在降低计算量的同时提升了识别精度。但是速度方面的缺陷导致twostage 算法难以应用于实时场景下的识别任务;
另一方面,以YOLO 为代表的one-stage 目标检测算法仅通过一步便直接得到目标的位置与分类[11-14],识别速度得到极大提升,但由于先验框尺度及数量的限制,此类算法对小目标的识别精度仍待改进,难以直接应用于车牌检测领域。

现有算法往往很难兼顾识别结果的精度与速度,随着识别精度的不断提高,神经网络的层数不断增加,使得训练及识别的时间成本不断提高。因而目前的研究热点仍围绕单张图片的检测,在实时场景下,算法的识别速度难以满足要求。

为克服该不足,本文在车牌定位环节以MTCNN 网络(Multi-task convolutional neural network)为基础,构建了一个二级级联网络,通过使用小模型生成有一定可能性的目标区域候选框,然后再使用复杂模型进行更高精度的区域框回归,兼顾了性能和准确率。此外,MTCNN 具备同时进行区域检测及关键点检测的能力,更加契合车牌的形状特征。

1.2 字符识别方法

传统的车牌字符识别算法通常由字符分割和字符分类两个阶段构成,其中字符分割通常使用不同的手工算法[15],并结合投影、连接和基于图像组件的轮廓。由于采用二值图像或中间表示作为输入,因此字符分割的质量受输入图像噪声、低分辨率、模糊或变形等因素的影响较大;
在字符分类阶段多采用光学字符识别(OCR)[16-17],由于字符分类发生在字符分割之后,因此最终的识别质量在很大程度上取决于分割结果的优劣。

现阶段将字符分割和字符分类合二为一的端到端算法已经成为主流,其中以LPRNet 网络为典型[18]。LPRNet 是一个基于卷积神经网络的轻量级实时识别算法,该算法以原始RGB 图像作为CNN的输入,字符分类结果为输出,把车牌检测与识别两个任务融合在一起,而无需对字符进行预分割处理,极大的减少了网络前向传播的时间,构建了一个端到端的车牌识别网络。

上述字符识别方法在一般场景下已经取得很高的精度,但在光照不足的特殊场景,由于字符与背景的像素差明显减小,算法的识别精度往往严重劣化。为提高算法的光照鲁棒性,本文通过引入随机暗化处理的数据预处理手段,使得卷积神经网络对暗光图片具备更好的适应性。

2.1 数据预处理

本文在训练及测试阶段采用数据集CCPD_db。

CCPD_db 是中科大开源数据集CCPD 2019 的一个子集,共计包含10132 张照片,该子数据集的特点是LP 区域的照明往往偏暗的或者偏亮。选择此数据集旨在获得一个能够适应不同时刻光照场景,无需根据时间进行参数微调的识别模型。

在数据增强阶段,本文对数据集CCPD_db 的图片进行随机裁剪处理[19],针对每幅图片Im 首先随机裁剪5 次,从而得到5 张图片Imi(i=0,1,2,3,4);
再对Imi的边框分别与实际车牌边框Box 计算交并比(IOU),若此时IOU<0.3,则将Imi视作负样本加入训练集。而后对于实际边框Box 进行随机缩放5次,缩放比例在0.8~1.25 之间随机选取,得到5 个新边框Boxi(i=0,1,2,3,4);
最终对Boxi分别与Box计算交并比(IOU),若此时IOU>0.7,则将Boxi视作正样本加入训练集。

为提高模型在夜间场景下的识别精度,在数据增强阶段,本文增加了随机暗化(random darkening)的环节,该措施旨在使训练集的像素特点与实际场景更加契合。在该阶段,每幅图片存在0.3 的概率被进行亮度降低处理:设原图片中各像素值为I(R,G,B),则经过暗化处理后的图片像素值I"(R",G",B")的计算方式为:

式中 [α,β,γ]被初始化为[0.3,0.3,0.8],其梯度计算会纳入后向传播,并且每经过5 次迭代更新一次。经过暗化处理后的图像效果如图1 所示。

通过上述的暗化处理,图片亮度被显著降低并增加了像素中蓝色通道的比重,经此处理的图片更加具有“夜景效果”。在测试阶段,该方法的使用使得夜间场景下的识别精度上升了2.9%。

2.2 Tiny-MTCNN 改进

2.2.1 网络结构

MTCNN(Multi-task convolutional neural network)是一个三层级联的网络[20],原本设计用于人脸检测,采用候选框加分类器的思想,实现了区域检测与关键点检测的同步进行。MTCNN 总体可分为三层结构,分别是快速生成候选窗口的P-Net、进行高精度候选窗口过滤选择的R-Net 和生成最终边界框与关键点的O-Net。在本次车牌检测任务中,考虑到对关键点的检测需求不是很高,主要聚焦于对区域的定位,因此对MTCNN 网络进行了修改。检测任务中,删除了三层网络的中间层R-Net,并在PNe,O-Net 的输出层前引入1×1 卷积,提升了网络通道数,使其与输出层相匹配,由此使得网络能够输入任意尺寸的图片。

本文将修改后的卷积神经网络命名为Tiny-MTCNN,由P-Net,O-Net 两层网络构成。其中PNet 通过FCN 进行初步特征提取与标定边框,并进行Bounding-Box Regression 调整窗口与NMS 窗口过滤,该部分最终输出很多个可能存在车牌的目标区域,并将这些区域输入O-Net 进行进一步处理。本文中P-Net 的网络结构如图2 所示。

O-Net 的基本结构是一个较为复杂的卷积神经网络,相较于P-Net 增加了一个全连接层,因此对于输入数据的筛选更加严格。在网络结构的最后是一个256 维度的全连接层,同时再进行区域判别、区域边框回归和车牌特征定位,最终输出车牌区域的左上角坐标和右下角坐标与车牌区域的两个特征点。O-Net 的网络结构如图3 所示。

2.2.2 1×1 卷积的作用

为降低前向传播过程中的运算量,本文将PNet 网络的输入大小设置为12×12,并在卷积模块之后引入1×1 卷积将特征图通道数提升至256,从而得到网络最后的全连接层。此改进方式极大减少了网络的参数量,在提升算法速度的同时压缩了识别过程的内存占用,降低了算法落地的硬件需求。

2.2.3 激活函数选择

P-Net,O-Ne 网络中激活函数统一采用PReLU激活函数,传统ReLU 函数在负数部分恒等于0,当梯度过大的时候神经元可能无法激活[21]。为避免该问题,PReLU 激活函数做出了改进,对所有负值赋予一个非零斜率,其数学表达式为:

式中a为一个可学习的参数,且被初始化为0.25。测试阶段发现,在车牌定位过程中,引入PReLU 激活函数带来了1.1%的精度提升。

2.3 LPRNet

LPRNet 为无需进行字符分割的端到端的车牌字符识别方法,以上文Tiny-MTCNN 网络的输出区域作为输入,可直接得到对应区域的车牌字符串。其主干网络架构如表1 所示:

表1 LPRNet 网络结构

该网络以原始RGB 图像作为输入并计算空间分布的丰富特征,最后一层使用1×13 的卷积核以结合局部字符的上下文信息,而不是使用基于LSTM 的RNN。骨干子网络的输出是一个表示字符概率的序列,其长度对应于输入图像像素宽度。

在训练阶段,每一个batch 的大小为32,并采用Adam 优化器进行参数优化,初始的学习率为0.001,梯度噪声比为0.001。通过对8750 张中文车牌数据集进行训练,经过200 次迭代,最终在中文数据集上获得95.0%的中文字符识别精度。

3.1 测试平台

本研究在训练集测试阶段采用的数据集为CCPD_db[22],共计包含10132 张照片,其中训练集包含7599 张图片,测试集包含2533 张图片。在测试集的2533 张图片中,本研究按白天、夜晚两个场景对图片进行了分类,分别包含1661,872 张图片,为评估算法在不同光照场景下的性能提供支撑。

本次实验所采用的平台为WIN 10 操作系统,并配置Intel 8700 CPU,及Nvidia 2070 GPU。实验中发现该平台可以满足本文算法在实时场景下的识别,帧率可保持在28fps 以上,印证了该算法在实际应用场景下落地的可行性。

3.2 性能分析

3.2.1 定位性能对比

在测试阶段,首先对不同算法的车牌定位功能进行了比较,选取了当下较为热门的网络Faster RCNN,YOLO V3,MTCNN 与 本 次 研 究 采 用 的Tiny-MTCNN 作为定位算法,检验模型在车牌定位阶段的性能。将上述各算法在CCPD_db 训练集上迭代10 次后,在相同的测试集上运行,将测试结果按白天、夜晚两个场景进行分类,各算法的性能如图4,5 所示。

通过对比得出,在白天场景下Tiny-MTCNN 由于网络层数的减少,相较于传统网络在定位精度上略有不足,性能位于YOLO V3 与Faster R-CNN 之间。但是在夜间场景下,由于随机暗化处理的引入,Tiny-MTCNN 的定位精度显示出了显著的优势,较MTCNN 网络提升1.2%;
另一方面,由于网络冗余度的降低及1×1 卷积的引入,Tiny-MTCNN 在运行速度上得到极大的提升,在测试平台上达到每秒34 帧,基本满足实时检测的速率需求。

3.2.2 识别结果对比

在对算法最终的字符识别性能进行对比时,研究将MTCNN 与上文介绍的不同优化模块相组合,并在相同的测试集上进行运行,通过对比算法的平均精度(mAP)、每秒传输帧数(fps),以评估不同模块带来的性能提升。如表2 所示,其中算法(a)是简单的MTCNN+LPRNet 组合,其在CCPD_db 上的平均精度为96.3%,夜晚场景下算法的精度出现明显劣化,下降至93.4%。

表2 中,算法(b)相较于算法(a)在数据预处理环节引入了上文提及的随机暗化处理,使得夜晚场景下的识别精度提高2.9%,光照鲁棒性明显提升。而算法(c)相较于算法(a),将MTCNN 网络替换为Tiny-MTCNN,取消了R-Net,并引入1×1 卷积,将激活函数改进为PReLU。测试中发现由于网络层数的减少,算法的平均精度下降了0.6%,但是在识别速率方面获得了很大的提升,从之前的19.7fps 上升至28.5fps,提升了44.67%。而算法(d)在Tiny-MTCNN 的基础上加入了随机暗化处理,从测试结果可以看出在保持速度的同时精度获得了提高,特别是夜晚场景下的识别精度从之前的93.2%提高到了96.1%。

表2 测试结果对比

通过上述对比,可以得出Tiny-MTCNN 的引入有效提高了算法运行速率的结论,为车牌识别在实时场景下的落地提供了可能。此外,随机暗化的据预处理手段也极大提高了夜间场景下的识别精度,避免了针对不同时刻的参数微调。图6 列举了夜晚场景下的识别效果,随机暗化处理的引用显著提升了定位及文字识别精度。

1)本文通过搭建命名为Tiny-MTCNN 的二级级联定位网络,及端到端的字符识别网络LPRNet,实现了一套完整的中文车牌检测与识别系统。通过在数据预处理环节引入随机暗化处理的数据增强方式,显著提高了算法的光照鲁棒性,最终网络在暗光条件下的字符识别精度提升至96.1%。

2)通过在对不同光照场景下的识别精度、帧率对比,研究验证了Tiny-MTCNN 网络与LPRNet 相较于传统识别网络在速度方面的优势。其中Tiny-MTCNN 网络通过删减冗余网络及引入1×1 卷积,配合LPRNet 端到端的识别方式,在保证精度的同时极大提升了检测速度,在测试平台达到了28.5fps,基本满足了实际场景下的落地要求。

3)在测试环节发现,视频中的车辆往往伴随着运动模糊,为实时场景下的精度提升带来了挑战。针对该问题,下一步工作计划从数据增强及模糊抵消方面入手,降低运动模糊对检测结果的影响,进一步提升实时场景下的车牌检测与识别精度。

猜你喜欢 字符识别车牌字符 车牌颜色里的秘密动漫界·幼教365(中班)(2021年4期)2021-05-23一种优化的手写字符自动分割算法集美大学学报(自然科学版)(2021年2期)2021-04-29论高级用字阶段汉字系统选择字符的几个原则汉字汉语研究(2020年2期)2020-08-13字符代表几小学生学习指导(低年级)(2019年12期)2019-12-04图片轻松变身ASCⅡ艺术画电脑爱好者(2019年8期)2019-10-30第一张车牌小猕猴智力画刊(2017年5期)2017-05-25一种侧向插装型车牌架科技创新导报(2016年32期)2017-04-22融合字符及字符排列特征的铭牌识别方法现代电子技术(2016年22期)2016-12-26一种基于OpenCV的车牌识别方法软件导刊(2016年11期)2016-12-22基于MATLAB的图片中字符的分割与识别科学与财富(2016年28期)2016-10-14推荐访问:车牌 实时 深度
上一篇:梯级水电站经济运行和电水优化调度探索
下一篇:老年膝关节骨性关节炎患者全膝关节置换后髋-膝-踝角及股骨假体角与假体松动率的相关性研究*

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有