APP下载

车牌识别算法的设计与实现

2020-10-12颜琪

数码世界 2020年9期
关键词:深度学习

摘要:本文将实现一种针对生活中常见的蓝色底色的车牌进行车牌识别的机器学习算法设计,完成车牌图像的录取、车牌图像的定位及字符识别,实现对车牌的识别,从而加快社会车辆进出场速度,避免出现拥堵,并在一定程度上辅助安全管理,及时发现违法车辆,协助安全管理。

关键词:深度学习  车牌定位  字符识别

1 引言

由于计算机技术不断发展,大数据和计算机能力等也在不断的提升,传统机器学习的模型不能很好的适应,同时,随着神经网络的发展,更多层次的神经网络——深度学习被研究及应用,所以本文选用深度学习来完成车牌图像的识别。自动车牌识别是一项具有挑战性的重要任务,可用于交通管理、数字安全监控、车辆识别、大城市停车管理。车牌识别算法识别车牌的流程分为三个阶段,实现从输入含有车牌的图片到输出图片中的车牌号码文本的整个识别流程。

第一阶段是信息读取。该阶段的任务是将待识别的含有车牌的图片输入程序,将图片转换为程序能够处理的图片数据。

第二阶段是位置识别,主要完成车牌的检测与矫正。该阶段包括两个子任务。第一个子任务负责将处理后的图片数据输入MTCNN进行车牌位置的识别,得到车牌信息。第二个子任务利用STN 加强MTCNN的识别结果,加强MTCNN识别的几何稳定性,从而提高识别结果的准确性和稳定性。

第三阶段是文字识别,主要完成车牌的字符分割与字符识别。该阶段也包括两个子任务,第一个子任务利用LPRNet分析第二阶段得到的车牌信息,识别其中的车牌文字。第二个子任务负责对识别出的车牌文字与车牌号数据库进行匹配,输出车牌识别结果。

车牌识别算法的样本数据选自CSDN,将其中的 1000张图片用作训练集样本数据。原始的车牌图片到张量数据,再到车牌的信息,最后到车牌文字的变化过程流程图如图1所示。

图1 车牌识别流程

2 信息读取

信息读取阶段负责将含有车牌的图片读入程序。在一般情形下,摄像设备如马路的监控摄像头等无法针对车牌号进行专门的摄像,而是对车的部分或整体进行拍摄。车牌识别算法要求能够从图片中准确定位车牌的位置并识别出车牌号码。车牌识别算法中利用cv2程序包的imread函数读取图片中的信息,之后利用numpy包的copy函数将图片信息另外备份存储到新的位置,得到图片数据input。这样做的好处是不破坏原始数据。经过读取程序后输出的图片数据input,是图片各个位置的信息组成的张量。

3 位置识别

位置识别阶段主要完成车牌的检测与矫正。位置识别阶段将进一步处理信息读取阶段输出的图片数据input,根据其中的信息识别出car.jpg中车牌的具体位置。该阶段包括识别车牌位置和空间转换两个子任务。车牌位置识别可结合以下2种方式进行识别:

(1)基于边缘的车牌识别

若识别图像环境较单一,那么使用基于边缘的车牌检测是最合适的,可以达到简单又有效的目的。可以先检查出图片之中的垂直边缘,然后再对检测出的区域使用Sobel计算边缘区,能够较准确锁定车牌的位置。

(2)基于颜色的车牌识别

若识别图像清晰度较高,则可以利用颜色进行检测。首先处理图像,即蓝色底色的车牌。首先选取不是蓝色的图像部分,然后再对剩下的部分进行检测。如果图像中的RGB值和蓝色很接近,那么就可以认为是车牌的区域。通常还会对这些区域进行腐蚀膨胀的操作。在灰度图像中,如果区域面积和车牌面积大致比相等,那么这一个区域就可能是车牌。但是这种方法需要提供的车牌不能太小,太小的车牌会导致检测不出来。最后是把计算出来的所有的长方形区域和车牌的特征数据相比,数据比值越趋近于1,那么这个区域是车牌的可能性就越大。

在现实生活中,由于种种原因,拍摄到的车牌图像可能是像素是清晰的,但是可能拍摄角度受限,拍到的图片会是倾斜的。如果按照正常的矩形去框选车牌的区域,那么得到的图像就可能会有残缺,残缺的图像则不能当做特征处理。所以需要矫正车牌框选区域。通过检测好的车牌区域,寻找字符的轮廓,按照轮廓可以得到车牌的上线边界线,这样就能得到较为准确的字符区域。选择相应的算法对字符区域进行旋转,旋转过后的车牌就便可在水平方向和垂直方向進行投影,从而得到精准的正向的车牌图像。

4 文字识别

文字识别阶段主要完成车牌的字符分割与字符识别。字符分割方法主要包含以下两种:

4.1基于相邻字符最大间隔宽度的方法

由于车牌的字符的比例大小存在一定差别,同时车牌之间也是存在空隙的,可以通过这些空隙完成字符的分隔。首先应确定空隙的大小。除了字母数字以外,车牌前端的字符还包括了一个圆点,这个圆点所在的空隙是所有字符间隔空隙里最宽的位置。大约是其他的2.6倍。找到它以后就可以确定它旁边的空隙的位置,然后再按照车牌的空隙比例,兑换到二值图像进行垂直投影操作,从二值图像里面可以找到更加精准的空隙数据,借此可以得到每一个字符分割后的图像。

4.2基于连通域和投影相结合的方法

基于连通域和投影相结合的方法需要找到图像中的连通域,通常情况下使用四连通标记法。首先需要确认二值图像中选择的点的最左,最上有没有点,有就是连通域,没有就是新区域。如果这个点的最左边存在一个点,然而最上不存在点的话,就把这个点记到最左边。如果都有的话,那么这个点就属于两点中的小点。识别出连通域后,按照比例,对图像数据进行分析判断,进行垂直投影操作。如果大于连通域的高宽,那么就把连通域合并,反之,就把多余部分去除。通过加长方形分割出字符。

完成字符分割后,需要对分割后的字符进行字符识别,根据STN输出的车牌信息识别其中的车牌文字,完成最后的车牌识别流程。该阶段包括识别车牌文字和文字解码两个子任务。

5 结束语

本文提出的车牌识别方法受到深度神经网络的启发,对中国车牌识别准确度达90%,可以实时处理,每个车牌处理时间约3ms。但在更复杂的情况下,无法识别到部分清晰的车牌图像,将来,将进一步优化系统以提高系统性能。

参考文献

[1]高攀.基于卷积神经网络的车牌识别关键技术的研究与应用[D].北京:北京邮电大学,2019.

[2]阳光.基于支持向量机和深度学习的车牌识别技术研究[D].四川:成都理工大学,2019.

作者简介

颜琪(1995-),女,四川省成都市人,助教,学士,主要研究方向为数据可视化及图像处理。

猜你喜欢

深度学习
从合坐走向合学:浅议新学习模式的构建
面向大数据远程开放实验平台构建研究
基于自动智能分类器的图书馆乱架图书检测
搭建深度学习的三级阶梯
有体验的学习才是有意义的学习
电子商务中基于深度学习的虚假交易识别研究
利用网络技术促进学生深度学习的几大策略
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究