基于卷积神经网络 (CNN) 的孟加拉车牌识别

近年来,深度学习技术特别是卷积神经网络 (CNN) 在计算机视觉和机器学习领域得到了广泛的应用。这种深度学习技术在 MNIST、CIFAR-10、CIFAR-100、Microsoft COCO 和 ImageNet 等不同基准上的不同分类、分割和检测任务中提供了最先进的精度。然而,近十年来,人们对传统的机器学习方法识别孟加拉车牌进行了大量的研究。由于识别精度较低,这些系统都不能用于为 Bangla 车牌识别系统 (BLPRS) 部署物理系统。本文实现了基于 CNN 的孟加拉车牌识别系统,该系统具有较高的准确率,可应用于包括道路辅助、停车场自动管理系统、车辆牌照状态检测等不同用途。与此同时,我们还为 BLPRS 建立并发布了第一个标准数据库。

关键词深度学习,卷积神经网络 (CNN),孟加拉车牌 (BLP),车牌识别 (LPR) 和神经网络。

一、前言

车牌自动识别 (LPR) 系统在交通、停车、收费管理、巡航控制等领域有着广泛的应用前景。另一方面,基于深度学习 (DL) 的方法在不同的识别任务中提供了最先进的性能 2,3。在不使用任何附加信息的情况下,可通过车牌号码识别车辆。随着交通运输业的快速发展,道路上车辆数量的急剧增加,控制与车辆相关的各类事故成为一项具有挑战性的任务。该系统可以确保更好的交通监控服务,超速控制,自动停车场管理系统,许可证号码有效期检测,等等。当涉及到对任何地方或区域的安全监控和管理时,LPR 系统可以作为一种跟踪辅助手段,为任何地方的任何安全团队提供帮助。在安全和执法的背景下,车牌识别系统在边境监控、物理入侵和 4-7 安全保护中发挥着至关重要的作用。整个系统由不同部分组成,包括:数据采集、预处理、LPR 和后处理。对于数据采集,使用允许在白天或夜晚的任何时间计算图像的红外光源系统。其次,不同的图像增强、车牌区域检测、个体特征提取等技术被应用到预处理环节。在特征分离成功后,采用神经网络、支持向量机 (SVM)、主成分分析 (PCA)、随机森林 (RF) 等不同的机器学习方法进行特征识别。最后,识别车牌显示在显示装置中。

许多种类的 LPR 系统被开发使用各种各样的智能计算技术获得精确性和效率 7。车牌是任何车辆的主要识别方法。然而,考虑到欺诈的情况,如改变和更换不合适的车辆,LPR 系统是相关的情报机制的稳健性 8。LPR 是现场计算机视觉中极具挑战性的任务之一,它使用不同的技术部署一个完整的系统。近年来,卷积神经网络 (CNN) 在图像处理、计算机视觉等领域取得了巨大的成功。然而,在这个实现中,我们已经使用了类似的卷积神经网络模型,它已经显示了最先进的识别精度在孟加拉手写体数字识别 9。本文的贡献可总结如下:

使用 CNN 方法实现的第一个 Bangla LPR 系统

我们还为 Bangla LPR 创建并发布了第一个但却是标准的数据集,该数据集在 35 页的链接中提供。

通过对不同数量的培训和测试样本进行实验,验证了系统的性能。

这项工作与最近提出的其他方法进行了比较,并显示出优越的性能与同等模型相同或更少的数目的网络参数。

本文件的结构如下:第二节讨论了相关作品。实现细节和 CNN 模型见第三节。第 IV 节解释了数据集、实验和结果。结论和未来方向在第五节讨论。

二、相关作品

近年来,国内外学者对 LPR 系统进行了大量的研究,并发表了多篇论文。然而,据我们所知,我们并没有看到最近开发的 CNN 模型关于孟加拉 LPR 系统的任何论文。A.Bolotova、A.A.Druki 和 V.G.Spitsyn 提出了一种基于标定的双摄像装置的车牌检测系统。该设备不仅能对多目标进行跟踪,而且能获得高质量的车牌图像。CNN 用于识别车牌区域并识别车牌 10 上的字母。G.R.Goncalves、D.Menotti 和 W.R.Schwartz 提出了基于光学字符识别 (OCR) 的车牌识别方法。在这种方法中,CNN 的结构是从成千上万的随机可能性中选择的,它的滤波器将重量随机设定,并用零平均值和单位标准进行标准化。基于线性 SVM 的特征提取技术与 CNN 11 一起使用。R.A.Baten,Z.Omair 和 U.Sikder 使用-Matra-概念实现了一个独特的系统。Matra 是 Bangla script 的一个功能,用于开发 Bangla 车牌阅读器。在该模型中,他们将每个词分割成单个的连通分量,然后通过模板匹配的方法对这些词进行识别。J. Pyo,J. Bang 和 Y. Jeong 开发了一种基于 CNN 的方法,用于检测车辆识别。在他们提出的方案中,首先利用帧间的差异对运动车辆进行定位,然后利用得到的二值图像通过对称滤波器检测车辆的正面视图,然后利用检测到的正面视图对 CNN 13 进行训练和测试。P Wongta,T. Kobchaisawat 和 T. HChalidabhongse 在他们的论文中,他们描述了一个用于多方向自然场景图像 Thaitext 定位的 CNN。在本研究中,文本置信度图是使用经过特殊训练的 CNN 文本检测器在多尺度图像上构建的。合并多缩放文本置信图以生成原始输入大小文本置信图。利用泰语文本的特点,利用文本行假设生成合并后的文本置信度图。最后,通过后处理技术和泰语文本特征分析,获取文本 14。O. Bulan、V. Kozitsky、P. Ramesh 和 M. Shreve 研究了自动车牌识别 (ALPR),他们使用的是深度定位方法,这实际上是一个强大的 CNN。分割和光学字符识别 (OCR) 联合使用了基于(隐马尔可夫模型)HMMs 15 的概率推理方法。J.Lwowski 和他的研究团队的方法是基于安全云的深度学习车牌识别系统 (LPRS)。将他们提出的 LPR 用于基于深卷积神经网络开发的智能城市。在这个建议的模型中,作者使用了 NVIDIA GPU 高性能云服务器,成本相当高

图 1. 整个系统实现图,其中系统没有降雨,然后降雨模型用于试验阶段。

为了在没有检测线的情况下识别车牌号码,使用 GPU 实现了一个内置系统。而深度学习网络对于识别车牌号码的车辆使用的 AlexNet 则相对简单。使用了 Jetson TX1 板,因为它是低成本独立嵌入式系统专用设备 19。Zemcik 和他的团队已经完成了一项聚焦于低分辨率和低质量图像中车牌识别的工作。作者提出了一种收集真实世界(非合成)数据集的低质量车牌图像与地面实况转录的方法。他们的车牌识别方法是基于 CNN,它整体处理整个图像,避免了车牌字符的分割。对多个数据集的评价结果表明,在低质量样本上,该方法在车牌识别方面明显优于其他免费的商业解决方案。为了进一步研究低质量的车牌识别问题,他们还设计了 20 个公开数据集。然而,我们在这个实现中使用了 AlexNet 类型的 CNN 模型。在我们的标准数据集上对实施的 Bangla LPR 系统进行了评价。实施详情见以下章节

三、实施细节

该系统的总体实现图如图 1 所示。该系统由两部分组成。首先,培训部分,使用我们自己的 Bangla LRP 数据集培训系统。成功完成系统培训后,测试样本用于评估测试性能。为了发布首个适用于 Bangla 车牌识别系统 (BLPRS) 的数据集,我们考虑了几个步骤,如图 2 所示。

                                                                         图 2. 数据采集和数据集准备步骤

数据采集:我们采集了近三千张车牌图像。所有图像均由 1200 万像素摄像头拍摄,以确保更好的图像质量。从达卡市不同地点采集图像,包括室内停车场、室外停车场、从道路上行驶的车辆、车辆。在不同条件下采集图像,以制备标准品。在捕获的图像中,只有清晰可见的车牌图像被作为主要数据,以确保我们的训练数据集更准确。从不同角度、时间和全年采集图像。图 3 (a) 和 (b) 显示了原始图像。

                                                                图 3. (a) 路边停车场的图片 (b) 从公路上行驶的车辆图片

 

数据后处理:车牌首先从主图像开始裁剪,最近的数字和字符被分割成 32 个像素,每个像素 32 个像素。所有训练数据准备好。

图 4 显示了我们从捕获的图像中裁剪出来的一些车牌图像。

 

单个字符裁剪:最后,从车牌区域裁剪出单个字符。图 5、图 6 和图 8 显示了示例数据库示例。从这些样本图像中可以清楚地看出,数据库中包含了不同尺度、不同旋转、不同平移、不同剪切等极具挑战性的样本。

                                                              图 5. 来自我们的车牌数据集的数字 2 的示例图像。

因此,要达到更好的 Bangla LPB 精度,这就成为一项艰巨的任务。然而,我们已经习惯了 CNN 模型的训练和测试,并取得了较好的准确性为孟加拉 LPR。

四、用于孟加拉 LPR 的卷积神经网络 (CNN)

第一版 CNN 结构是由 Fukushima 在 1980 年提出的 (Fukushima,1980) 21。由于与培训过程相关的一些问题,该模型尚未得到广泛应用。在许多问题中,主要问题不容易使用。LeCun 等人第一次应用了基于梯度的学习算法与 CNN 在 1998 年和获得了最先进的性能(LeCun 等人,1998a)22。这种架构被称为 LeNet。在 LeNet 上有进一步的改进,并声明了与不同应用的传统方法相比的优越性。其中一些,例如多列 i 列 CNN,被提议识别数字、字母数字、交通标志和其他对象类 (Ciresan Meier,2015;Ciresan et al.,2012) 23-24。他们在不同的公开数据集上进行了实验,并报告了优异的结果,在许多基准数据库上超过了传统的最佳记录,包括 MNIST (LeCun et al.,1998b) 25 手写数字数据库和 CIFAR-10 (Krizhevsky Hinton,2009) 26,34,35。

                                                         图 6. 来自我们车牌数据集的数字 1 的示例图像。

CNN 的另一个优点是它具有一些额外的特性:它更能够代表具有有意义特征的 2D 或 3D 图像,这有助于实现更好的识别性能。CNN 模型的最大汇集层对处理形状和尺度不变问题有很大帮助,此外,由于层与层之间的绑定权重的稀疏连接,与具有相似大小的全连接神经网络相比,CNN 需要的网络参数数量显著较少。关于 CNN 的要点是可以用一种非常流行的方法进行训练的,这就是所谓的基于梯度的学习算法。此外,还提出了包括整流线性单元 (ReLU) 在内的不同的现代激活函数来处理递减梯度问题。基于梯度下降的方法训练整个模型,使训练过程中的误差最小化,并相应地更新权重。CNN 在训练中产生高度优化的重量,以确保更好的准确性。2014 年,深度 CNN 用于朝鲜语(韩语)手写字符识别,取得了 Kim Xie 的最佳识别精度

图 7. 本工作中使用的 CNN 的总体架构,包括一个输入层、多个 iple 交替卷积 io n 和最大汇集层以及一个完全连接和分类层。FMP 表示特征映射的数量。

 

图 7 显示了整个 CNN 架构,它由两个主要部分组成:特征提取离子和分类。在特征提取部分,各层用于从具有不同滤波器的输入样本中提取有意义的特征,其中网络的每一层接收来自其前一层的输出作为其输入,并将当前输出作为输入传递到下一层。CNN 的体系结构由卷积层、最大汇集层和分类层三种类型的层组合而成。模型的特征提取部分使用了卷积层和最大汇集层。

                                                               图 8. 我们的车牌数据集中不同字母的示例图像。

体系结构因不同的实现和需求而异。根据 CNN 的基本结构,利用偶数层实现不同滤波器的卷积,奇数层实现最大池运算。最大合并操作将输出样本抽取 2 倍。对于最大合并操作,从输入样本的四个不同像素值中选择最大值。在这个实现中,我们使用完全连接的层作为分类层的分类器,这已经证明了比最近的一些工作更好的性能(Mohamed 等,2012 28;Nair Hinton,2010)29。在完全连接的层中,随机选择了 300 个特征。最后,分类层计算类概率,并计算了期望结果与期望结果之间的误差和反向传播误差的权重。在这个实现中,我们使用了 9 中应用于 Bangla 数字分类的类似模型。在本文中,滤波器的尺寸为 5 5 像素,并使用前馈神经网络进行分类。多数文献 [30,31] 建议使用 s 形激动函数。为了防止过度拟合问题,使用了一种非常有效的技术,称为脱落(Hinton 等人,2012)32。脱落可以帮助降低模型的复杂性,原因包括神经元的共适应,导致一组神经元不依赖于另一组神经元的存在。因此,可防止模型过度拟合。然而,脱落操作的主要缺点是可能需要比平常更多的迭代才能达到全局最小值。

A. CNN 架构和网络参数

在本实验中,我们使用了六个不同层的模型,包括用于卷积的两层、用于欠采样或合并的两层、完全连接层和最终分类层。我们在第一个卷积层中使用了 6 个特征映射,然后是一个最大汇集层。功能地图的数量没有变更合并层。在第二卷积层中,使用 12 个滤波器,从第二卷积层中产生 12 个特征映射。之后,应用第二个 maxpool 层。全连接层用于 300 个神经元,随后是最终分类层,16 个神经元用于 16 个不同类别。计算了 32 32 输入图像的参数数量,如表 1 所示。

                                                                       表 1. CNN 各层的参数数量

对于第一个卷积层,输出特征映射的大小为 28 28 和 6 个特征映射。对于两个卷积层,滤波器掩模的尺寸为 5 5。网络参数的学习数为 (5 51) 6 15 6,由于存在偏差而增加了滤波维数。欠采样层的可训练参数数为 0,但由于 2 2 合并掩模的存在,特征映射的大小随因子 2 的减小而减小,因此第一欠采样层的输出为 14 14,特征映射为 6。第二卷积层的输出维数为 (14~5) 1 10,1 01 0,共使用 1 2 幅特征图,第二子采样滤波器掩模尺寸为 2 2,第二卷积层的学习参数为 ((5 51) 6) 12 1872。第二子采样层中网络参数的零数。来自第二个子采样层的每个样本的特征总数为 5 512 300。由于我们对该层使用了 300 个隐藏神经元,因此,第一个完全连接层的参数数量为:300 12 (5 51) 93,600,而最后一层参数的数量为:16 (300 1) 4,816。此模型的参数总数为1,00,444。

五、实验与结果

为了评估孟加拉地区的 CNN 模型的性能,我们已经在我们自己的数据集上进行了测试。对于这个实现,我们使用了 MATLAB 版本 R2015a,使用了基于 MATLAB 的深度学习框架来实现 CNN,它是用 8 位 RAM 在一台机器上运行的。我们已经使用我们自己的数据集进行了实验,其中包含 1750 个训练样本和 350 个测试样本。在预处理步骤中,我们没有应用任何数据增强或数据处理步骤来准备此数据集。根据我们系统的工作流程,如图 1 所示。首先,使用 16 个不同类别的准备数据集对 CNN 进行了培训,这些类别包括零到九以及一些在孟加拉牌照上经常观察到的孟加拉字符。我们总共准备了一千九百个数据集,每个类都有一百多个样本。孟加拉牌照使用 CNN 训练识别系统 (BLPRS),并在数据集中使用不同数量的样本进行评估。我们将数据集分为训练集和不同的测试集,就像 70 个数据用于训练 30 到测试,然后 80 到训练,20 到测试 90 到训练和 10 个数据到测试,以验证样本数量对测试性能的影响。

                                                              图 9. 1000 次训练的迭代次数与错误之间的权衡。   

A. 结果和讨论

实验过程中,针对不同组合的训练样本和测试样本,对整个实验进行了多次运行。图 9 显示了 1000 个历元(这是历元的最高数目)的训练精度与数目。从不同的试验和不同的历元数目和不同的分流比可以清楚地观察到,如果我们增加历元的数目,那么模型以最小的误差适当地收敛。从图 9 可以清楚地观察到,建议系统的误差相对于历元的数量减少。我们分别对 100、500 和 1000 个不同的历元进行了实验。在每种情况下,使用试验样品中的样品对模型进行了试验。我们针对不同的训练模型获得了不同的性能。表 2 总结了测试准确度的不同实验。由于深度学习是一种数据驱动技术,因此我们仅使用 1750 个样本来培训整个系统。因此,通过增加历元或迭代次数,我们试图确保在训练期间更好的学习。

实验过程中,针对不同组合的训练样本和测试样本,对整个实验进行了多次运行。图 9 显示了 1000 个历元(这是历元的最高数目)的训练精度与数目。从不同的试验和不同的历元数目和不同的分流比可以清楚地观察到,如果我们增加历元的数目,那么模型以最小的误差适当地收敛。从图 9 可以清楚地观察到,建议系统的误差相对于历元的数量减少。我们分别对 100、500 和 1000 个不同的历元进行了实验。在每种情况下,使用试验样品中的样品对模型进行了试验。我们针对不同的训练模型获得了不同的性能。表 2 总结了测试准确度的不同实验。由于深度学习是一种数据驱动技术,因此我们仅使用 1750 个样本来培训整个系统。因此,通过增加历元或迭代次数,我们试图确保在训练期间更好的学习。

最后,我们使用所有不同的经过培训的模型对我们提出的技术进行了测试,并在测试阶段就输入样本数获得了不同的测试精度,如图 10 所示。该图显示了不同样本数量的不同试验的测试准确度,其中,列代表了模型分别使用 1300、1500、1650 和 1750 个训练样本进行训练的试验编号 1、2、3 和 4。在最大训练样本数量的情况下,我们获得了 88.67 的测试准确度,这是本实现中最高的测试准确度。但在其他训练样本中,分别达到了 81.09、82.28 的测试精度。因此,可以清楚地总结出训练样本的数量对深度学习方法的表现有着巨大的影响。

                                                                      图 10.测试不同输入样本数的准确性

在观察表 2 后,我们可以得出以下结论:大量样本和历元为训练和测试阶段提供了更好的准确度。然而,更多的历元需要更长的时间来产生输出。

表 2. 不同的实验结果,包括样本数、历元数量、总计算时间、每个历元时间和测试准确度。

B. 局限性

训练所面临的限制是由于内存和计算能力较小。系统采用 8 GB 内存和 core i3 3.2GHz CPU 的通用计算机进行训练和测试。至于我们的培训和同步测试,内存和计算能力的要求很高,但由于缺乏资源,测试过程需要更多的时间。对于使用任何其他支持者或使用更深的 CNN 模型,需要更多的内存。如果我们能够在 GPU 上训练和测试模型,所需的 time 将减少至少 10 倍。GPU 系统上的大型 CNN 模型肯定会提高 Bangla LPR 的整体性能。

六、结论与讨论

卷积神经网络是当今任何识别任务,从分类、检测到分割任务的基石。此外,卷积神经网络比任何完全连接的层(包括对应的层)都要好。我们的想法是建立一个孟加拉车牌识别系统(BLPRS),并通过一系列实验进行评价。实验结果表明,CNN 方法能够获得更好的性能。在这个实现中,我们已经实现了 89 左右的测试精度为孟加拉车牌识别系统 (BLPRS)。这项工作的另一个贡献是,我们为 BLPRS 创建并发布了一个新的基准数据集,这将有助于进一步实施和评估 BLPRS。在未来,我们希望使用更大的数据集在 GPU 上训练我们的模型,以获得进一步更好的性能。实现的卷积神经网络由 6 层完全连接的层和 2 个卷积层中分别只有 6 个和 12 个特征映射组成。结果表明,随着特征映射层数的增多和层数的增加,本文所提出的许可证位置识别系统的性能将得到显著提高,这也是本文的另一个研究方向。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值