基于CNN端到端的字符整体与切割识别对比研究
2021-11-01张艳张宸嘉阿力非日刘丹
张艳, 张宸嘉, 阿力非日, 刘丹
(1.西昌学院 语言和文化学院, 四川 西昌 615000; 2.云南电网公司, 云南 昆明 650000;3.西华师范大学 计算机学院, 四川 南充 637000)
0 引言
车牌识别技术是目前智能交通系统中的核心技术之一,识别算法已经成为越来越多的研究学者所研究的热点,国内外对车牌识别研究己达到较高水平。国外研究开始相对较早,取得了不错的成就,但国外系统只适合于当地车牌,对我国车牌中汉字识别准确率低。国内虽然起步晚,但车牌识别研究也取得了很好的发展,并且已经开发了许多商用系统。国内比较成熟的产品有北京汉王科技有限公司开发的“汉王眼”车牌识别系统、厦门宸天电子科技有限公司研发的Supplate系列、深圳吉通电子有限公司研发的“车牌通”车牌识别产品、亚洲视觉科技有限公司研发的 VECON-VIS 自动识别系统等。但国内车牌识别系统需要近距离对车牌拍照,车牌图像质量要求高,如果车牌本身歪斜、磨损、脏污或者光线干扰等都将影响识别准确率[1-3]。
早期学者使用简单的方差阈值法进行车牌二值化处理,这样做虽然简单快速,但当有车牌本身歪斜、磨损、脏污或者有光线干扰时,该方法的识别效率难以提高。
脏污
基于模板匹配理论[4]提取字符特征作为模板进行匹配,有效减少了像素点个数,提高了识别效率,但是模板匹配法对于相似的字符区分能力差,同时受制于光线和天气等复杂情况,在特征数据维数过大时效率较低。
BP神经网络[5]具有良好的容错能力、分类能力、并行处理能力和自学习能力,但BP神经网络的性能与初始网络权值、学习速率等参数的合理选择相关,如果参数选择不当,就会出现学习速度慢、局部最优和过拟合等缺陷,导致车牌识别错误率高。
卷积神经网络是近年发展起来,并引起广泛重视的一种高效识别方法。目前,卷积神经网络已经成为研究热点之一,特别是在模式分类领域,由于卷积神经网络避免了对图像复杂的前期预处理,可以直接输入原始图像,因而得到了广泛的应用。
由于CNN具有良好的特征提取性能,因此本文将采用CNN识别车牌。对车牌识别,研究者进行了许多研究;文献[6-7]采用深度神经网络进行车牌识别;文献[8]可视化了CNN学习到的特征,并且从这些特征中寻找改进神经网络结构的方法;文献[9]利用盲分割车牌方式对模糊度较高的车牌进行了分割研究;文献[10]利用分阶方式分别对车牌汉字字符识别模型与数字和字母识别模型做了研究。之后,又有学者对下述问题进行了研究和探讨:由于光照不均匀或者其他干扰因素过强,容易出现字符分割不准确的问题;基于现有方法的组合,对神经网络架构和训练方法进行了改进;对受到清晰度和照明条件影响的车牌识别;采用Faster R-CNN算法进行车牌定位;采用卷积神经网络对具有复杂背景图像的车牌识别进行研究;研究基于深度学习的车牌识别系统的鲁棒性等。本文针对车牌字符图像形式多样,导致收集一个完整的数据集异常艰难的角度出发,提出了基于模糊切割的单个局部车牌字符识别对比试验。实验结果表明,不仅识别时间短,而且识别正确率更高。
清晰
1 卷积神经网络研究现状
卷积神经网络 (CNN,Convolutional Neural Network)是一种深度学习架构,卷积神经网络能够得出原始图像的有效表征,这使得卷积神经网络能够直接从原始像素中,经过极少的预处理,识别视觉上的规律。
卷积神经网络思想开始于上世纪60年代,1980年Kunihiko Fukushima 提出了CNN的前身—Neocognitron。1998年LeCun等发表论文,提出了 LeNet-5模型,确立了CNN的现代结构。作为CNN的早期版本,在手写字符识别领域取得了突破性进展,但是受制于硬件条件低以及数据过少等问题,使得LeNet-5模型并不能处理过于复杂的问题。但之后随着硬件的不断升级以及互联网爆炸式的增长,卷积神经网络结构也开始越来越容易实现。在2012年的ImageNet竞赛上,Hinton以及其学生Krizhevshy基于CNN提出的AlexNet结构一举获得当年竞赛冠军。这是一个网络层数达5层,约65万个神经元的庞大的神经网络,在视觉处理上获得了非常好的效果,达到了84.7%的分类准确率。至此,CNN获得了社会上许多人的关注,越来越多的人开始研究CNN。随后,研究人员不断完善CNN结构,提出了基于候选区域的深度学习目标检测算法R-CNN(Regions with CNN),能够进行语义分割的全卷积网络FCN(Fully Convolutional Network),还有许多表现优秀的网络结构如VGGNet、GoogleNet、ResNet等。庞大的神经网络,要耗费许多时间去训练参数,而迁移学习概念的提出,使得CNN的应用范围获得进一步的提升。目前,CNN在目标检测、图像识别分类、文字识别等方面都获得了不俗的表现,成为了当下火热的研究热点之一。
2 基于CNN的车牌字符识别
2.1 基于CNN的车牌字符识别流程
实现基于CNN模型的端到端整体识别与单个模糊切割局部字符识别的对比研究具体方案流程图,如图1所示。
图1 基于CNN端到端的多字符整体识别与单个模糊切割局部字符识别的对比研究实验
步骤1:制作实验所需车牌图片(完整的和模糊切割保留字符局部信息的),样例如图2所示。
(b) 保留局部关联信息分割后的车牌
步骤2:构建相应的CNN模型。针对不同实验的车牌图片特点,构建CNN模型,设置相关参数。
步骤3:训练模型。使用训练集训练构建的CNN模型,并保存训练好的模型。
步骤4: 测试模型准确率、识别时间。使用测试集测试训练好的两种网络模型的性能。
实现基于CNN模型的端到端图像整体识别与部分模糊切割识别的对比研究,本文以完整的车牌字符和模糊切割后车牌识别为例,对比分析两者的准确率、识别时间等差异,优化网络结构。实验的主要内容如下。
2.1.1 训练和测试数据集准备
使用OpenCV和标准车牌的字体来随机制作有污迹、噪声、畸变的车牌,包括不同环境、不同倾斜程度,不同模糊程度的车牌图片,同时生成车牌标签;然后将对比试验的车牌按字符区域进行缩放切割,此外无需再做其他任何预处理。
2.1.2 构建CNN模型
根据两种车牌图片的特点,构建CNN模型训练整体车牌图像与部分模糊切割后的车牌图像,设计相应的网络结构,设置网络相关参数,训练网络,保存训练好的模型,本文所用的CNN网络结构如图3、图4所示。
图3 完整车牌识别网络
图4 单个车牌识别网络
2.1.3 测试网络性能
测试网络性能并对比研究两种训练方式的准确率和识别时间。使用测试集测试训练好的两种网络模型,记录两者的准确率和识别时间。
3 对比实验
本文所使用的实验环境如下。
硬件平台:处理器Intel(R)Xeon(R) CPU E5-2630 v2,16 GB内存,1 TB硬盘,8 GB独显GPU NVIDIA Quadro K4000;操作系统:windows 10;深度学习技术开发平台:PyCharm。
语言工具:Python3.5+Mxnet。
3.1 实验步骤
(1) 实验数据准备,包括测试集和训练集
采用图像融合技术,将标准车牌背景、标准车牌字符、各种车身背景融合在一起,同时加入污迹、噪声、不同光线、畸变图像处理,模拟得到各种样式的车牌。构建包含52万张完整车牌图像的数据集,其中训练集包含50万张,测试集包含2万张。构建包含70万张(由10万张完整车牌经模糊切割得到)单个字符图像的数据集,其中训练集63万张(由9万张完整车牌经模糊切割得到),测试集7万张(由1万张完整车牌切割得到)。
(2) 基于CNN的端到端多字符整体识别
以中国车牌字符识别为例,由于我国车牌有7个固定字符,故将7个字符组成的车牌看作一个多字符组成的整体图像,即看作带有7个有序标签的图像识别问题。在构建CNN网络模型时,设计7个全连接层,让7个位置的车牌字符同时学习,采用多标签分类的方法直接输出多个标签,即直接输出整张车牌的字符,准确率计算需要7个字符全对才算此车牌图像识别正确。
(3) 基于CNN的端到端单个字符识别
将车牌图像按字符所在区域进行模糊切割,保留单个字符完整信息和字符周围局部关联信息,得到7个包含单个字符的局部图像。设计构建识别单个字符的CNN网络模型,将7个局部图像分别输入CNN网络模型进行训练和识别。一张车牌7个字符识别正确才算成功识别车牌。
3.2 实验结果
识别准确率和识别时间对比如表1所示。
表1 识别准确率和识别时间对比
3.3 结果分析
传统方法将单个字符准确切割后再进行识别,按传统思想这样准确切割后字符更容易识别。目前我们的实验结果表明,单个字符准确切割后比整体识别准确率更高。我国车牌由7位字符组成,包含代表31个省份的汉字,24个大写英文字母和10个数字(共65个字符),纯字符的组合形式高达765种,再加上车牌颜色、天气情况、复杂背景、噪声点、扭曲旋转、遮挡等干扰因素,导致收集一个包含所有样式的车牌图像数据库变得异常困难。在单个识别时尝试采用模糊切割字符方式,每个字符图像除了字符本身外,还包括周围的图像信息,这种方式可以提供更多的相同字符图像的样式,利于网络训练。
4 总结
本文在充分分析车牌字符特征的基础上,针对字母和数字字符所组成的完整车牌和经模糊切割后的单个字符车牌基于CNN分别进行了识别实验,对比分析多字符整体识别与模糊切割后保留局部信息的单字符识别的网络结构和识别性能,找出影响识别率的因素并优化网络,为进一步提高车牌识别率提供可行的改进措施,最终获得最优的车牌识别方法。实验表明,保留局部信息关联的单个字符切割后比整体车牌字符的识别准确率更高,识别时间短。由于所研究的字符数量有限,因此无法验证保留局部信息的单个字符是否适合所有情形,比如一段连续的文字,今后将继续收集其他方面的字符图像对其进行研究识别。