基于改进ResNet 网络的有遮挡车牌识别

2022-12-01 08:38关晓艳李亚
农业装备与车辆工程 2022年11期
关键词:车牌字符算子

关晓艳,李亚

(650031 云南省 昆明市 昆明理工大学 信息工程与自动化学院)

0 引言

近年来,机动车数量激增给交通管理带来了很大困难,甚至严重威胁到了城市的公共安全。在如此严峻的形势下,传统的人工交通管理所能解决的问题已极其有限,智能化交通的引入在短时间内提高了交通管理效率[1]。其中,车牌识别技术是构建智能化交通系统最为关键的一部分,该技术以检测车辆并自动获取车辆牌照信息进行分析处理为目的。在完善智能化交通的过程中,研究车牌识别技术的准确率以及识别速度具有实际价值。

Johnson[2]提出了车牌识别的一般流程为图像数据采集、车牌定位、字符分割和字符识别。常见的车牌识别算法主要有特征匹配识别[3]、模板匹配识别[4]、支持向量机识别[5]、神经网络识别[6]等。其中,基于深度学习的车牌识别算法更能有效地提升车牌识别的准确率。陶星珍[7]等提出一种LeNet-5-L的车牌识别网络,运用卷积神经网络(CNN)解决车牌字符识别的问题,降低了图像特征提取难度,进而提高车牌中各个字符的识别率和整个车牌的识别速度。李祥鹏[8]等提出一种增强的卷积神经网络端对端模型AlexNet-L,采用该模型避免了因无法正确分割车牌字符而对识别效率产生的影响。段宾[9]等采用深度可分离卷积相结合的轻量级车牌识别模型,通过增加生成对抗网络生成车牌图像来提高识别率的同时也有效解决了模糊车牌图像样本不足的问题。张亚飞[10]为了解决扩大网络规模会导致过拟合的问题提出了基于注意力机制的自适应权重分配算法,该算法通过对神经网络各模块进行合理的权重分配来明确模块的分工,从而提升网络的性能。欧先锋[11]等为了解决强噪声污染的数字字符问题提出了基于Caffe 深度学习框架的字符识别算法,该算法主要训练网络参数而获取鲁棒性强的网络结构,在强噪声污染的背景下,识别效果更具有优越性。上述学者研究中用到的数据均是在车牌无遮挡的情况下,对于有遮挡的车牌(外物附着、字符断裂)则识别率会明显下降。

本文将针对一些车牌局部带有遮挡物的车辆展开研究。车牌定位采用图像边缘检测法,字符分割采用先验的字符间距进行分割,最后采用改进后的ResNet 网络进行字符识别。通常在有遮挡识别的算法研究中,主要着力于将图像进行还原以便后续识别,往往每一类遮挡问题都需要独立的算法进行处理,这样做不仅仅耗时长且浪费资源。因此,本文对国民车牌中常见的字符建立各种情况的不同程度的遮挡样本库,是一种基于数据驱动的识别方法,这对有遮挡车牌的识别更具针对性,进一步提高智能化交通系统中车牌识别的实时性和可靠性。

1 车牌定位及字符分割

1.1 预处理

在图像分析中,识别算法的准确率与效率很大程度上取决于图像质量,故在进行图像识别之前,需要在原图基础上做相应处理,使图像质量对识别效率与准确度的影响降到最小。在许多实际情况中,获取的原始车牌图像除车牌外还存在一些无关物体,如车体、周边道路等,若不采取措施直接进行定位,则噪声干扰较为强烈,耗时长且定位效果较差,尤其对于有遮挡的车牌更是难以精确定位,因此需要将大部分非车牌区域去除,只留下车牌所在区域,以提高识别精度和效率。

彩色图像有3 个色彩通道,包含的信息量巨大,不仅占用大量内存,且识别起来需要的维度过高,导致识别效率大大降低,所以将原始车牌图像进行灰度化处理是很有必要的。图1 所示为车牌原始图像和灰度变换图像。对图像进行增强处理的主要目的是改善图像的清晰度、增强图像特征。

图1 原始图像和灰度变换图像Fig.1 Original image and gray transform image

本文采用去噪算法中的邻域平均法(均值滤波)对图像进行增强,抑制和干扰图像噪声,以此提高图像的质量。采用不同权重的均值滤波对比效果、分析图像发现,1/3 邻域平均处理得到的图像效果最佳,后文将以此图像为基础。

1.2 车牌定位

由图像预处理得到一个较好质量的车牌图像,但理想的状态是得到一个只包含车牌的图像,因此还需要对车牌进行定位切割去除对实验无作用的部分。具体的车牌定位流程图如图2 所示。

图2 车牌定位流程图Fig.2 License plate location flow chart

本文选择在1/3 邻域平均的图像基础上采用边缘检测法对车牌位置进行提取。边缘检测法的原理是采集图像像素灰度图中灰度变化较大的像素群,再将这些像素群描绘出来,成功勾勒出物体的边缘,随后再利用边缘对车牌进行分割。目前边缘检测算法种类较多,主要在于对不同算子的选取,使用较多的算子包括Sobel 算子、Roberts 算子、Prewitt 算子以及Canny 算子[12]。不同的算子针对各种类型的边缘具有不同的敏感度,会产生不同的效果,因此应用不同的实验环境,需选择适当的算子进行边缘检测。为了显示哪种算子检测效果更好,本文对常见的4 种算子进行检测对比实验。图3 所示为通过这4 种算子得到的实验结果。

图3 4 种算子仿真结果Fig.3 Simulation results of four operators

由图3 可以看出,4 种算子仅有Canny 算子能有效地勾勒出车牌边缘特征,其余3 种算子均由于遮挡问题不能有效地勾勒出车牌边缘。因此,本文选择效果最为理想的Canny 算子作为检测算子对图像采用边缘检测法提取车牌图像,最终得到图4(a)车牌定位后的灰色图像。后续,为了使得车牌字符能够更加明显,对图4(a)进行均值平滑处理、二值化、腐蚀和膨胀操作,分别得到图4(b)、图4(c)、图4(d)。可以看到车牌边缘细节逐步完善。

图4 边缘检测图像Fig.4 Edge detection image

1.3 字符分割

定位得到车牌后对车牌进行分割。考虑到本文研究的是有遮挡的车牌,图像的信息不完整,故常用的投影法、平均分割法等字符分割方法在此使用效果不佳,因此采用基于先验知识的切分方法,将车牌字符制作标准按其比例对车牌进行切割。通过查阅GA 36-2018《中华人民共和国机动车号牌》可知[13],常见国民车牌具体标准如图5 所示。

图5 标准车牌样例Fig.5 Standard license plate example

根据标准,计算出各个字符在车牌中所占的比例对车牌进行分割,得到的车牌在此时还不能直接识别,需对其进行归一化处理,使其与训练样本的大小一样尺寸,如图6 所示。

图6 车牌分割Fig.6 License plate segmentation

2 基于改进ResNet 网络的车牌识别

2.1 残差学习单元

深度神经网络具有强大的非线性拟合能力,可以很轻易地逼近任何非线性连续函数,并且还有很强大的特征提取能力。2015 年He[14]等提出了ResNet 网络,ResNet 网络是一种基于深度卷积神经网络的改良网络,因此它具有深度卷积神经网络的一般结构,包括输入层、卷积层、池化层、全连接层等。但最为关键的是ResNet 在卷积神经网络的基础上加入了一个捷径连接(Short-cut connections)构成了基本残差学习的单元[15],以此拟合一个残差映射。在传统CNN 网络中,当层数到达一个界限时,继续增加层数会引起梯度消失或爆炸的问题,而梯度消失或爆炸都会导致期望的映射产生巨大的偏差,因此为了使得梯度不会出现消失或爆炸,再加上一个恒等映射,使得让原本拟合得到的映射R(x)=0 的情况下输入x=H(x),有实际映射H(x)=R(x)+x,残差映射R(x)=H(x)-x,形成了一个简单的残差学习单元,实际情况中还可以设计各种方式的捷径连接。常见的残差学习单元一般由卷积层、归一化层和激活函数ReLU 构成。He等人提出了瓶颈模块(bottleneck)残差学习单元。本文将在bottleneck 基础上构造残差学习单元,以提高网络训练以及识别效率。图7 所示为本文所采用的残差学习单元。

图7 残差学习单元Fig.7 Residual learning unit

2.2 深度残差网络结构

本文所采用的概念深度残差网络结构如图8所示。卷积层设置4 个3×3 的卷积核,步长为1,填充为1,全连接层的输出是一个67 维向量,对应67 个车牌字符,最终由分类层输出结果。由于本文需要进行对比实验,这里仅展示了抽象网络结构,在后文的具体实验时根据需求自适应改变残差学习单元的数量,构造不同层数的残差网络结构。残差学习单元的数量越多,网络层数越多,越能体现ResNet 在深层神经网络上的优越性。

图8 残差网络结构图Fig.8 Residual network structure diagram

2.3 改进的Softmax 分类层

为了提升网络效果,除了可以在网络结构方面改进以外,还可以对损失函数进行改进。一般的卷积神经网络采用的损失函数为Softmax 函数结合交叉熵损失构成的损失函数,它定义了分类标签为yi的输入图像特征提取矩阵xi的损失函数:

其中,D(θ)是一个单调递减函数,且D(π/m)=cos(mθ)。

3 结果与分析

3.1 实验结果

在实验过程中若要取得很好的精度,需要建立一个有遮挡车牌的样本库用以训练模型。按照上文图像处理方法利用有遮挡的车牌数据库,得到单个字符图像数据集,然后对数据集中的字符进行旋转、膨胀、腐蚀等操作使其标准化,最终为每类字符建500 个以上的样本,也就是33 500 个单字符图像。此外,为了体现有遮挡车牌数据集在应用中更能适应复杂的实际情况,本文同时还建立了同样数据规模的无遮挡的车牌数据集,同样也是33 500个单字符图像。

通过OpenCV 开源框架构建的有遮挡车牌样本库分为汉字、字母和数字3 大类,其中每个字符通过不同形态、旋转角度、遮挡情况等共构造出500 个样本,并取其中的80%作为训练集,剩余作为测试。本文在Python3.7 环境下采用训练框架Tensorflow2.5.0,此外将图片数据集转化为tfrecord类型以提高计算效率。由于数据量较大,实验采取了小批量迭代训练样本,这样做的目的同样是提高速率以及精准率,设置迭代周期(epoch)为10,批量大小为256,网络层数为50。最终,在第945 步(即epoch=9)左右时趋于稳定,精度为97.44%。如图9 所示为利用可视化观测得到的训练损失率(train loss)、精准率(train acc)和测试精准率(test acc)可视化训练进程图。

图9 可视化训练进程Fig.9 Visualized training process

3.2 对比分析

为了证明有遮挡车牌样本库在面对多样性的情况时的优越性,本文另外采用无遮挡车牌样本库运用相同的网络结构以及参数进行对照实验,得到有遮挡车牌样本库下测试识别混淆矩阵和无遮挡车牌样本库下测试识别混淆矩阵。由于车牌字符有67 个,数据量太大,因此本文只选取其中一部分具有代表性的数据。表1 所示为部分有遮挡车牌样本库下测试识别混淆矩阵,表2 为部分无遮挡车牌样本库下测试识别混淆矩阵。

表1 有遮挡车牌样本库下部分测试识别混淆矩阵(%)Tab.1 Confusion matrix of partial test recognition under sample database of concealed license plates (%)

表2 无遮挡车牌样本库下部分测试识别混淆矩阵(%)Tab.2 Confusion matrix of partial test recognition under sample database of non-shielding license plates (%)

由表1、表2 可知,采用有遮挡车牌样本库测试识别得到的识别准确率相比于无遮挡车牌样本库测试识别得到的识别准确率普遍要高,且从整体数据得知,有遮挡车牌样本库的总体准确率可以达到97.44%,而无遮挡车牌样本库总体准确率只能达到91.74%。本文选取的示例字符中,若字符“E”遮挡的部分是其右半边,则“E”易被识别成与其左半边形状相似的“B”或“F”,因此导致识别结果的误差增大,对于字符“3”和字符“8”等这类具有部分相似结构的字符也同样如此。遮挡问题会对原先的识别结果产生干扰,而本文采用有遮挡的车牌样本库训练模型。从二表对比结果可看出,采用有遮挡的车牌样本库训练出来的模型更具备鲁棒性,能够有效地提升有遮挡车牌的识别准确率。

为了对比深度残差网络在深度增加的优越性,本文采用同样有遮挡的车牌数据库,对比不同网络深度下CNN 网络与改进的ResNet 网络识别准确率,结果如表3 所示。可以看出,随着网络层数的增加,CNN 网络的识别准确率出现了下滑,而改进的ResNet 网络的识别准确率则是稳步上升的,这正是由于传统神经网络的网络层数增加到达一个界限的时候,再增加网络层数会出现梯度消失或爆炸等问题导致学习无法继续进行。因此实验证明,对于识别准确率要求较高、鲁棒性要求更高的实际情况,ResNet 网络更具有优越性。

表3 不同网络深度下CNN 与改进的ResNet 识别准确率对比(%)Tab.3 Comparison of recognition accuracy between CNN and improved ResNet at different network depths (%)

4 结论

本文借鉴前人的研究成果,采用识别效率更好的ResNet 网络对有遮挡的车牌进行识别。文章从图像预处理、定位、分割、识别这4 部分详细描述了车牌的识别过程。图像数据集利用视频截帧的方式获取,随后利用灰度图像采用边缘检测算子根据灰度差异确定车牌边缘,再根据形态学相关内容对图像实现定位。由于本文研究对象为有遮挡车牌具有字符信息不完整的特点,无法采用正射投影等方法分割车牌字符,因此本文采用基于先验知识的车牌分割法对车牌进行分割。最后,为了提高识别的准确性,本文运用改进的损失函数构造多层带残差学习单元的神经网络结构对车牌进行识别。为了验证改进的ResNet 网络运用于有遮挡车牌数据集训练得到的模型在应对复杂多变的车牌识别环境下的优越性,本文进行了对照实验。实验结果显示,ResNet 网络在运用有遮挡车牌库训练得到的模型去识别车牌的准确率更高,鲁棒性更强。由于实验所用到的数据只是所有车牌库中的很小一部分,很难做到适用所有的情况,在后续的研究中将继续优化算法,以实现模型可以灵活应对出现的各种情况。

猜你喜欢
车牌字符算子
车牌颜色里的秘密
论高级用字阶段汉字系统选择字符的几个原则
Domestication or Foreignization:A Cultural Choice
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
数字图像处理技术在车牌识别系统中的应用
一类算子方程的正算子解问题的研究
QK空间上的叠加算子
第一张车牌