通过CNN使用跟踪注释数据整体识别低质量车牌

摘要

本文专注于识别低分辨率和低质量的车牌图片。我们提出了一个收集现实世界(非合成)有标注的低质量车牌照片的数据集的方法。我们的车牌识别方法是基于一个从整体上处理整张图片的卷积神经网络,从而避免了车牌字符的切割。在多个数据集上的评估结果显示我们的方法明显优于其他低质量图片车牌识别的一些免费的和商业的解决方案。为了进一步研究低质量图片的车牌识别,我们将数据集公开发布。

1、介绍

自动车牌识别(ALPR)是现在的常见任务,它被许多智能交通系统应用于安全和交通控制。交通流量分析,自动车辆速度测量,违章停车执法只是车牌识别几个常用例子[1, 3, 5, 12, 13, 16, 18, 20]。现在已经有大量的应用于车牌识别的方法。大多数存在的算法(以及商业上的解决方案)都将字符分割作为其算法中的一个步骤。但是,适当的字符分割对车牌识别系统的识别率有着极其重大的影响。如果分割不合适,即使识别器本身是健壮的并且可以处理不同的字符字体,旋转角度和字符大小,车牌也可能被识别错误。影响字符分割过程,并且难以处理的其他问题包括图像模糊,光线不均匀,阴影和噪声。

1 在数据收集过程中,检测并跟踪车牌。所有图像均以轨迹方式进行手动标记,因此即使某些图像中的文本无法正确识别,只要轨道至少包含一个可读图像,就可以分配地面实况。

本文重点介绍了一种以整体无分割方式进行车牌识别的替代方法。结果证实,即使在正确的字符分割几乎是不可能的艰难条件下(例如低质量图像,模糊图像,不均匀照明,图像噪声),这种方法也是适用的。为了正常进行本文的工作,我们收集了一个新的经过注释的数据集,并将其公开,可用于非商业用途。数据集中的图像通过整个车牌的运行轨迹(观察单个车辆序列)注释,因此即使对于自然模糊、部分遮挡和难以读取的车牌图像,它也能提供真实框的标签,这就使我们能够训练一个非常健壮的车牌识别器。一个这样的车牌踪迹例子可以从图1看到。

一个单向卷积神经网络(CNN)被用于整体车牌识别的方法。与[3,13]不同,我们的方法通过一个单向卷积神经网络处理字符定位和识别,而不需要像递归神经网络那样要正确的标记数据了。在我们的例子中,该模型仅在欧洲车牌上进行训练,并且在相同类型的车牌上进行评估。通过提供充足数量的训练数据,假定所提出的方法适用于不同类型的车牌(例如美国,中国等)是合适的。

2、相关工作

自动车牌识别问题也与车牌检测问题相吻合,这可以通过多种方式在软件中完成[1,5,10,13,16],甚至可以通过硬件[19]和GPU [9]解决。 但是,解决图像中车牌检测问题并不是本文的工作,只是为了本章的完整性而提及。

这项工作的主要关注点是车牌识别和本节讨论的最新方法,其中最新方法可以分为两大类-基于切割的车牌识别和无切割的车牌识别,我么把这些分开讨论。

基于切割的车牌识别

以前关于车牌识别的研究通常基于光学字符识别(OCR)技术,他们通过分割车牌中的字符开始该过程。现有的算法可以分为两类:基于投影和连接组件(CC)的技术。这种类型的技术的缺点是它们对车牌旋转和变形的敏感性。

基于投影的技术使用来自(在大多数情况下是二值化的)图像中的像素的水平和垂直投影的直方图[8,14,15]。车牌(二值化处理过的)通过水平和垂直投影来确定顶部/底部边界,并沿着投影轴线分隔车牌的每个字符。

另一方面,基于组件的技术可以应对车牌的旋转和变形[1,2,5,20]。基于组件的技术根据4领域或8邻域连通性来标记二值化车牌的像素块。不幸的是,如果字符连在一起或破损,这种方法则无法正确分割字符。

用于车牌字符识别的现有算法要么基于模板匹配[16],要么基于机器学习。 基于机器学习的方法更健壮,因为它使用更多的判别特征进行学习,如方向特征[18]或图像密度[5,20]。常用的机器学习技术包括支持向量机[18],概率神经网络[1,5]或人工神经网络[20]。

无切割的车牌识别

另一组当下的识别车牌方法-它们是无切割的。Li和Shen [13]介绍了一种使用卷积神经网络(CNN)检测和识别车牌的新方法。他们利用CNN进行特征提取,采用长期存储的双向递归神经网络(BRNN)和连接性时态分类(CTC)[7]以实现时序数据标记,开发了第一个无分割车牌识别方法。他们在AOLP数据集[10]和Caltech Cars 1999上获得了最先进的结果。其他作者也使用了类似的基于CNN的方法[3,12]。但是,这些方法都集中在标准的高品质车牌图像上。在我们的研究中,我们专注于低质量的车牌图像(例如运动模糊,损坏)。

其他的基于OCR的系统

OCR系统用于识别不同类型应用中用字符切割难以进行识别的数字和字符,例如阅读野外的多字符文本。Goodfellow等人[6]证明CNN能够不使用字符切割识别无约束的自然照片中的多字符文本,这已被Jaderberg等人[11]使用类似方法证实。

3、数据集获取

目前的监控系统主要针对具有足够质量的图像。但是,我们发现处理低质量图像非常重要,因为条件不会一直完美。为了能够处理低质量的车牌图像,我们收集了一个新数据集叫ReId。这个数据集记录了来自不同地点和不同条件下的多个视频。这些数据是通过放置在高速公路桥梁上的全高清摄像头拍摄的,模拟收费站上的监控摄像头。我们在不同的时间从8个不同的地方总共收集了9.5小时的车牌记录。记录的数据示例如图2所示。

2 不同位置的摄像头录制的样本。

车牌检测

对于每个输入序列中的图像,我们使用一个增强型软级联分类器来检测车牌,这个分类器通过恒定的软级联算法使用LBP(局部二值模式)的特征图进行训练[4]。使用卡尔曼滤波器跟踪每个检测到的车牌。我们的探测器在GTX 1080 GPU上使用小于5ms处理每个全高清帧。我们在5000个尺寸为55×22的正车牌样本和4000个负样本的数据集中使用4轮难分样本挖掘训练检测器,每轮加载额外的4000个负样本。最终的检测器由512个LBP特征图组成,用作弱分类器。

真实框分配

最后,收集的车牌被标上了他们的真实标签。用户使用一个新建的基于网站的注释工具将每个车牌的真实框标注完成。车牌被用户从整个行车轨迹中识别出来(视频中一系列相同的牌照),然后在轨迹中立即标上标签。标注整个轨迹有一个主要优势(除了注释加速之外):即使人眼不可辨别(例如,模糊,小,部分覆盖,......),车牌也能被精确标注,只要有一个瞬间车牌足够清晰,使得人眼可读。车牌文本的长度从5到8个字符不等。图4显示了来自数据集的示例图像。

4 来自ReId数据集的图像示例。每列显示不同文字长度的车牌。

这个数据集将每个视频分成训练和测试部分,因此训练和测试样本来自互斥的视频集。训练部分包含7,393条轨迹(105,924张图片),测试部分包含6,967条轨迹(76,412张图片)。

4、方法

3 使用的卷积神经网络的示意图。该网络包含三个序列,每个序列包含三个具有ReLU和批量标准化的卷积层。然后将这些特征馈送到网络的8个全连接层分支中预测各自位置上的字符。

我们使用卷积神经网络来识别车牌号。为了避免使用字符切割,将整张包含车牌的RGB图像输入网络。这个网络是为预测8位车牌而设计的。图片先由CNN的卷积部分处理,然后8个并列的全连接层预测出8个字符,每个全连接层总是预测车牌同一位置上的一个字符。图3展示的是CNN的方案。如图3所示,卷积部分包括3个序列的3层卷积,每个卷积层都有ReLU激活函数和批量标准化。

我们也测试了一个较小的网络,其中包含了3个序列的2层卷积(而不是3),每层都有较少数量的卷积核(用16/32/64替换了32/64/128).

较小网络包含了8M的参数,而大的网络包含了17M的参数。第5部分的实验结果显示较小的CNN可以达到和较深的CNN相似的精度。但是,较小的网络处理图片的速度比较深的网络快了大约3倍。

不同长度的车牌

无切割车牌识别中具有挑战性的任务之一是车牌长度是可变的(经常但不仅仅是来自不同国家的牌照)。 本文提出的方法是针对最大数量的输出进行训练的,这相当于我们的ReId数据集中最长的车牌(在我们的例子中是8个字符)。 在车牌位数小于的情况下,就在训练阶段用 个空白填充字符(“#”)添加到车牌号中,其中是当前牌照的长度。这个字符盲文被插入到真实车牌号中,位于最后四个车牌字符之前。这种盲文位置的结果来自我国最常见的车牌布局。图4中可以找到具有各种字符布局的车牌示例。

训练细节

我们使用有Adam优化器的Tensorflow训练本文中CNNs的两种变体。初始学习率设置为0.001,整个网络训练了80轮。我们还在全连接层中测试了更多的特征,但是精度并没有进一步提高。

图5 车牌中的不同字母在全连接层的注意点。从左到右,从上到下:第1到第8个字符。大多数情况下,第四个字母大多数情况下是空白填充字符。

注意全连接层的跨度

在使用学习到的CNN网络测试时,我们可视化了CNN的各个全连接部分“查找”他们对应数据的位置。图5展示了不同空间位置对应第一个全连接层的平均权重图像。这个平均值是在所有128通道以及全连接层128个输出上取得的。该图表明,网络正确学习了对车牌号中不同字母使用正确的空间位置。第四个字母位置处没有一个清晰的团状物明显突出,因为数据集中的大多数车牌号(具体可看第五部分)是7个字符的,第四个字母被指定为空白填充字符。

5、实验

所提出的方法在不同的数据集上做测试,并且有两种其他方法做适当的对比评估。所提出的方法只在ReId数据集的训练部分做训练,并在ReId数据集的测试部分做测试。 我们还评估了是否有可能使用在其他不同类型车牌的数据集上的训练模型来分析模型的可转移性。

5.1 现有的解决方案

OpenALPR

OpenALPR是一个用C ++编写的自动车牌识别的开源库。该软件基于OpenCV4计算机视觉库和Tesseract OCR,它是基于字符分割方法的经典代表。

在我们的实验中,我们使用欧盟车牌的原始图片。检测阶段被跳过,并且在已经裁剪的图片上评估车牌识别性能,其中为每个输入图像获得前10个识别的车牌以便更好地比较。

UnicamLPR

与Svoboda等人 [17]的评估类似,一种商业光学字符识别车牌方法,也在测试数据集上进行评估。 UnicamLPR是一款用于检测和识别车牌的软件,针对交通监控摄像头拍摄车牌的实时性和低延迟性处理进行了优化。 这个软件是健壮的,并允许摄像头和车牌之间的角度达到±30°。 应该注意的是,UnicamLPR是为标准图像质量的车牌设计的。

5.2 数据集评估

ReId

我们的ReId数据集的测试部分用于实验。它包含76,412张不同图像长度、图像模糊度,轻微遮挡程度的彩色车牌图片。数据集样本如图4所示。

HDR

用于评估的HDR数据集通过具有三种不同的曝光的数码单反相机拍摄,实验中使用中,高曝光的图像。车牌是从图像中手动裁剪并由用户标注的,从而产生了652幅图像。来自数据集的示例可以在图6中找到。应该注意的是,测试图像中包含与用于训练的牌照类型不同的旋转牌照。

图6 左:从HDR数据集中随机选择的样本。 中心:由Svoboda等人[17]发表的数据集中的随机原始模糊样本。右:Svoboda等人[17]提出的方法模糊处理后的图像。

Svoboda等人[17]

Svoboda等人[17]使用的数据集是监控摄像机在生产用途的交通监控系统中拍摄到的,并被设置为捕捉带有运动模糊的车牌。Svoboda等人[17]的任务是用CNN给这些车牌去模糊。车牌上被人为从去模糊化的照片中标注上它们的真实框文本。我们在这个数据集的两组数据上评估方案。第一个包含原始模糊图像,第二个是作者使用去模糊化方法去模糊化后的图像[17]数据集。每组由711个用红外闪光过的灰度图像组成。 数据集的两个部分的样本如图6所示。应该注意的是,那些人为去模糊化版本图片中无法读取的车牌图像被从数据集的两个部分移除以提供可靠的真实标签,因此结果与之前发布的结果稍有不同。

5.3 结果

从表1和图7中可以看出,所提出的CNN网络在所有使用的数据集上均优于其他评估解决方案。结果显示在HDR和Svoboda数据集中的错误率略有增加, 但应该注意的是,我们的方法仅在ReId数据集上进行了训练,因此数据集上的错误率显示训练过的CNN可迁移到具有不同类型图像的其他数据集(例如长快门时间,灰度, 旋转的车牌)。 图7还显示了所提出的方法和OpenALPR从Top-1到Top-10精度结果的错误率的进步情况。

图7 不同数据集上不同车牌识别方法的错误率。第一行显示了完整车牌识别的错误率,下面一行显示单个字符识别的错误率。这个图显示了识别不同数量的最有可能的车牌的错误率。结果表明,我们的方法优于OpenALPR和Svoboda等人[17]使用的商业解决方案UnicamLPR。另外,我们的小型变体CNN的与大型CNN有类似的精度。

表1 在ReId,HDR和Svoboda等人 [17](模糊+去模糊)的数据集上进行不同车牌识别系统的评估。在数据集上用分类出的最好结果评估方法性能,用字符错误率/牌照错误率表示,还有大部分方法的处理时间。 在电脑配置为i5-6500@3.2GHz和GTX 1080的PC上测试本文的算法,以及仅仅只有CPU为i7-3770@3.4GHz的PC上测量UnicamLPR,得出两者的处理速度。

结果还表明,较小版本的网络(详情参见第4部分)与完整网络具有竞争性结果,而车牌处理的时间明显较低(特别是在CPU上)。 当考虑GTX 1080(车牌检测和识别)上的完整流水线的处理速度时,它处理每个全高清帧只需20ms,我们认为用5毫秒做检测,每个图像识别10毫秒(或者8毫秒)以及处理开销。

来自ReId和HDR数据集的识别车牌正确和不正确的结果示例如图8所示。顶行是正确识别的车牌,最下面的行是错误识别的车牌。对于每个车牌,两行都是显示最高得分的两个结果。

图8 来自ReId(左侧部分)和HDR(右侧部分)数据集的正确(最上一行)和不正确(最下一行)识别的车牌示例,每个图像具有分数最高的2个识别结果。 可以看出,在某些情况下,识别车牌非常具有挑战性,几乎是人眼不可辨别的。

6、总结

本文提出了一种使用很有前景的CNN技术的整体车牌识别方法。我们用的卷积神经网络的最后一个卷积层连接8个全连接层,每个全连接层具有36个输出,用于预测图像中各个位置处的字符。每个网络都要训练到可以自动定位和识别图像中不同位置的字符,这个学习过程是动态的。所提出方法的评估证明,CNN可以自动定位字符的位置,并且可以学习对各种照明,旋转,遮挡和图像模糊具有鲁棒性的独特特征。

结果表明,所提出的网络在大量数据集上的性能明显优于现有的源和商业的解决方案,而在CPU上使用时处理速度相当,并且我们的解决方案在GPU上易于使用。

致谢

这项工作得到了捷克共和国教育,青年和体育部的国家可持续发展计划(NPU II),项目IT4Innovations excellence in science - LQ1602的支持。此外,这项工作还得到了TACR项目的“RODOS”TE01020155的支持。

参考文献

[1] C. N. E. Anagnostopoulos, I. E. Anagnostopoulos, V. Loumos, and E. Kayafas. A license plate-recognition algorithm for intelligent transportation system applications. IEEE Transactions on Intelligent transportation systems, 7(3):377–392, 2006.

[2] S.-L. Chang, L.-S. Chen, Y.-C. Chung, and S.-W. Chen. Automatic license plate recognition. IEEE transactions on intelligent transportation systems, 5(1):42–53, 2004.

[3] T. K. Cheang, Y. S. Chong, and Y. H. Tay. Segmentation-free vehicle license plate recognition using ConvNet-RNN. arXiv preprint arXiv:1701.06439, 2017.

[4] P. Doll´ar, R. Appel, S. Belongie, and P. Perona. Fast feature pyramids for object detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, 36(8):1532–1545, Aug 2014.

[5] I. Giannoukos, C.-N. Anagnostopoulos, V. Loumos, and E. Kayafas. Operator context scanning to support high segmentation rates for real time license plate recognition. Pattern Recognition, 43(11):3866–3878, 2010.

[6] I. J. Goodfellow, Y. Bulatov, J. Ibarz, S. Arnoud, and V. Shet. Multi-digit number recognition from street view imagery using deep convolutional neural networks, 2013.

[7] A. Graves, M. Liwicki, S. Fern´andez, R. Bertolami, H. Bunke, and J. Schmidhuber. A novel connectionist system for unconstrained handwriting recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 31(5):855–868, 2009.

[8] J.-M. Guo and Y.-F. Liu. License plate localization and character segmentation with feedback self-learning and hybrid binarization techniques. IEEE Transactions on Vehicular Technology, 57(3):1417–1424, 2008.

[9] A. Herout, R. Joˇsth, R. Jur´anek, J. Havel, M. Hradiˇs, and P. Zemˇc´ı. Real-time object detection on CUDA. Journal of Real-Time Image Processing, 6(3):159–170, 2011.

[10] G. S. Hsu, J. C. Chen, and Y. Z. Chung. Application-oriented license plate recognition. IEEE Transactions on Vehicular Technology, 62(2):552–561, Feb 2013.

[11] M. Jaderberg, K. Simonyan, A. Vedaldi, and A. Zisserman. Reading text in the wild with convolutional neural networks. International Journal of Computer Vision, 116(1):1–

20, 2016.

[12] V. Jain, Z. Sasindran, A. Rajagopal, S. Biswas, H. S. Bharadwaj, and K. R. Ramakrishnan. Deep automatic license plate recognition system. In Proceedings of the Tenth Indian Conference on Computer Vision, Graphics and Image Processing, ICVGIP ’16, pages 6:1–6:8, New York, NY, USA, 2016. ACM.

[13] H. Li and C. Shen. Reading car license plates using deep convolutional neural networks and LSTMs. arXiv preprint arXiv:1601.05610, 2016.

[14] S. Nomura, K. Yamanaka, O. Katai, H. Kawakami, and T. Shiose. A novel adaptive morphological approach for degraded character image segmentation. Pattern Recognition, 38(11):1961–1975, 2005.

[15] S. Qiao, Y. Zhu, X. Li, T. Liu, and B. Zhang. Research of improving the accuracy of license plate character segmentation. In Frontier of Computer Science and Technology (FCST), 2010 Fifth International Conference on, pages 489–493. IEEE, 2010.

[16] S. Rasheed, A. Naeem, and O. Ishaq. Automated number plate recognition using Hough lines and template matching. In Proceedings of the World Congress on Engineering and Computer Science, volume 1, pages 24–26, 2012.

[17] P. Svoboda, M. Hradiˇs, L. Marˇs´ı, and P. Zemˇc´ı. CNN for license plate motion deblurring. In 2016 IEEE International Conference on Image Processing (ICIP), pages 3832–3836, Sept 2016.

[18] Y.Wen, Y. Lu, J. Yan, Z. Zhou, K. M. von Deneen, and P. Shi. An algorithm for license plate recognition applied to intelligent transportation system. IEEE Transactions on Intelligent Transportation Systems, 12(3):830–845, 2011.

[19] P. Zemcik, R. Juranek, P. Musil, M. Musil, and M. Hradis. High performance architecture for object detection in streamed videos. In 2013 23rd International Conference on Field programmable Logic and Applications, pages 1–4, Sept 2013.

[20] L. Zheng, X. He, B. Samali, and L. T. Yang. Accuracy enhancement for license plate recognition. In Int. Conference on Computer and Information Technology (CIT), pages 511–516. IEEE, 2010.

Holistic Recognition of Low Quality License Plates by CNN using Track Annotated Data 翻译相关推荐

  1. 车牌检测识别--Towards End-to-End Car License Plates Detection and Recognition with Deep Neural Networks

    Towards End-to-End Car License Plates Detection and Recognition with Deep Neural Networks https://ar ...

  2. 《2006_ICPR_Low Resolution Character Recognition by Image Quality Evaluation》阅读笔记

    论文主要思想 这是一篇关于低质量字符图像识别的文章,这里的"低质量"指的是字符图像的分辨率低. 作者在文中指出,传统的(指的是2006年之前)低质量字符图像识别方法主要分为两类:第 ...

  3. Python基于YOLOv7和CRNN的车牌分割&识别系统(源码&教程)

    1.研究背景 随着科技的进步和社会需求的增长,近年来摄像头逐渐高清化.高帧率化,摄像头作为信息获取设备的载体也不再局限于固定场景.路口.路侧.室内.高位.低位等不同场景下产生了各种对于检测识别的需求, ...

  4. face recognition[翻译][深度人脸识别:综述]

    这里翻译下<Deep face recognition: a survey v4>. 1 引言 由于它的非侵入性和自然特征,人脸识别已经成为身份识别中重要的生物认证技术,也已经应用到许多领 ...

  5. Gartner的2019战略性技术趋势:量子计算、区块链、AI

    Gartner的2019战略性技术趋势:量子计算.区块链.AI Gartner列出了企业和组织在2019年需要探究的十大战略性技术趋势:智能设备.增强分析.AI驱动的开发.数字孪生.边缘计算.沉浸式体 ...

  6. 指纹识别综述(3): 特征提取

    指纹识别综述系列 1.导论:2.指纹传感器:3.特征提取:4.匹配:5.分类与检索:6.现场指纹识别: 7.指纹合成: 8.唯一性: 9.指纹系统安全:10.深度学习方法:11.专利. 本文主要基于& ...

  7. 人脸识别相关资源大列表

    之前逛爱可可老师微博看到的一个人脸识别资源,还是比较全面的,跟大家分享一下. github链接:https://github.com/ChanChiChoi/awesome-Face_Recognit ...

  8. matlab车牌识别的外文文献翻译,车牌识别外文文献翻译中英文.doc

    外文文献翻译 (含:英文原文及中文译文) 文献出处:Gao Q, Wang X, Xie G. License Plate Recognition Based On Prior Knowledge[C ...

  9. 车牌识别1:License Plate Detection and Recognition in Unconstrained Scenarios阅读笔记

    转载好文一篇 一.WHAT 论文下载地址:License Plate Detection and Recognition in Unconstrained Scenarios [pdf] github ...

最新文章

  1. java zookeeper_Java zookeeper开发实例
  2. 中文论文万能句型_SCI 论文写作万能句型汇总(很实用)
  3. python一行行写文件_python一行行写文件-女性时尚流行美容健康娱乐mv-ida网
  4. pip安装的库导入pycharm中
  5. 数据加密辅助类(默认编码UTF-8)
  6. openshift安装_云幸福–如何在几分钟内安装新的OpenShift Container Platform 3.7
  7. 给新手开店选品的建议
  8. Flutter基础—你好,Flutter!
  9. python opencv —— io(帧、图像、视频的读取与保存)
  10. http://www.duilib.cc
  11. 传奇服务器修改变量,课程列表-传奇服务端制作修改教程-4.3变量-学传奇
  12. A股管家股票自动交易软件系统,功能完善强大
  13. python时间序列函数_Python中的时间序列分解函数
  14. 【MS SQL Server】SQL Server2005下载地址
  15. win10系统无打印机服务器,Print Spooler服务未在Windows 10中运行
  16. IOS10上崩溃错误“View has lost track of its superview, most likely through unsupported use of CALayer”解决方案
  17. Android studio学习笔记:adb被系统空闲进程占用了怎么办?
  18. 灵魂画师全都出来了,都怪昨天那个AI画猫的应用……
  19. 父盒子内子盒子居中的方法
  20. 【网络通信三】研华网关Modbus服务设置

热门文章

  1. 重生之我java贼溜
  2. 2018年 CSDN博客背景皮肤设置
  3. 老徐WEB:学好这几个HTML标签就够用了(一)
  4. 哥伦比亚大学 自然语言处理 公开课 授课讲稿 翻译(二)
  5. 【力扣】172. 阶乘后的零
  6. 2020 年 4 月编程语言排行榜
  7. linux清空历史命令方法
  8. Python函数之globals、locals、global、nonlocal
  9. NSString使用stringWithFormat拼接
  10. cpu和gpu(cpu和gpu温度一般在多少)