基于深度学习的车牌识别研究与实现毕业论文
2020-02-16 20:56:44
摘 要
近年来,随着我国科技和工业的快速发展,经济水平的提高,国人的生活水平不断提升,更多的国人开始使用汽车作为日常出行的工具,车辆数目的快速增长给城市交通带来了巨大的压力,城市交通的发展速度跟不上车辆数目的增长速度,交通管理就显得尤为重要。智能交通系统的出现,而车牌识别作为其中一部分,在现实生活中有着重要的作用。传统车牌识别虽然已经成熟发展,但是由于受到各种条件的限制,或多或少会达不到最好的效果。而深度学习的快速发展,以及它的自主学习能力和高准确率,让人们开始了对基于深度学习的车牌识别的研究。
本文结合了近几年的深度学习理论知识,利用卷积神经网络,设计了基于深度学习的车牌识别算法,主要内容如下:
本文使用了大量的车牌数据集,对于车牌数据集进行了详细的介绍,对比单个字符的车牌数据集和包含整个车牌的数据集,根据本文实验需求,即输入一张图片,不需要进行字符分割直接输出识别结果,选择了包含完整车辆和车牌的图像数据集,并对数据集进行了扩展,以增强数据。
对于传统车牌识别流程进行介绍,为了区别于传统车牌识别算法,本课题在深度学习的基础上,省去了字符分割这个步骤,直接进行端到端的车牌识别。
本文使用了AlexNet网络模型进行训练,由于AlexNet网络层数较深,参数过大,而本文所选的数据集对于它来说数量过小,为了避免过拟合的情况,对该网络进行了修改,去掉了两层全连接层,减少模型参数数量,并对输出层进行了修改,将1000个分类器改为适应车牌字符个数的7个Softmax分类器。
采用OpenCV技术进行车牌定位,该车牌定位算法的精确率能够达到99.5%。实验过程,对不同的数据集进行训练识别,分别给出相应的识别率,对比不同复杂情况下的车牌图像,如车牌变形、强光或弱光、恶劣天气、模糊抖动等,该网络对于车牌识别的精度;在同一情况下,不同迭代次数对车牌识别的影响;同一迭代次数,不同数据集对于网络的影响等。
最后实验结果表明,该网络模型对于车牌识别有着较好的识别准确率。
关键词:车牌识别,深度学习,卷积神经网络
Abstract
In recent years, with the rapid development of science and technology and industry in China, the improvement of economy, people#39;s living standards improve, more and more people began to use cars as transport, the rapid growth of the number of vehicles brought enormous pressure to urban traffic, urban traffic development speed to keep up with the growth of the vehicle number, traffic management is particularly important.With the emergence of intelligent transportation system, license plate recognition, as a part of it, plays an important role in real life.Although the traditional license plate recognition has been developed, it is more or less unable to achieve the best effect due to the restrictions of various conditions.The rapid development of deep learning, as well as its autonomous learning ability and high accuracy, has led to the research on deep learning-based license plate recognition.
Combined with the theoretical knowledge of deep learning in recent years, this paper designs a license plate recognition algorithm based on deep learning by using convolutional neural network. The main contents are as follows:
Use a lot of license plate data sets, this paper makes a detailed introduction on the license plate data set, compare and contrast the license plate data sets of individual characters and contain the entire license plate data sets, according to this paper the experimental requirements, namely the input image, don#39;t need to do a direct output character segmentation recognition as a result, the chosen contains the complete vehicle and the license plate image data sets, and the data set was expanded, in order to enhance the data.
The traditional license plate recognition process is introduced. In order to distinguish from the traditional license plate recognition algorithm, this topic, on the basis of deep learning, omits the step of character segmentation and directly carries out end-to-end license plate recognition.
Network model for training, this article USES the AlexNet because AlexNet network layer deep, parameter is too big, and this paper selected the number of data sets for it is too small, in order to avoid over fitting situation, has carried on the modification to the network, remove the two full connection layer, reduce the number of model parameters, and the output layer was modified to adapt the 1000 classifier to license plate character number seven Softmax classifier.
By using OpenCV technology, the accuracy of the algorithm can reach 99.5%.During the experiment, different data sets were trained and identified, and corresponding recognition rates were given respectively. License plate images under different complex conditions were compared, such as license plate deformation, strong light or weak light, bad weather, fuzzy jitter, etc. The accuracy of the network for license plate recognition was compared.In the same case, the influence of different iteration times on license plate recognition.The same iteration times, the impact of different data sets on the network, etc.
Finally, experimental results show that the network model has a good recognition accuracy for license plate recognition.
Key Words:License plate recognition, deep learning, convolutional neural networks
目 录
摘要
Abstract
第1章 绪论 1
1.1研究背景及意义 1
1.2 国内外研究现状 2
1.3 车牌识别技术难点 3
1.4 课题研究目标和主要内容 3
第2章 车牌数据集 5
2.1 车牌数据集介绍 5
2.2 实验数据集 7
第3章 深度学习和车牌识别 9
3.1 深度学习概述 9
3.2 AlexNet简介 11
3.3 车牌识别 12
第4章 基于AlexNet网络的车牌识别 15
4.1 实验环境 15
4.2 车牌定位 16
4.2.1 样本准备 16
4.2.2 分类器生成 17
4.2.3 车牌定位获取 18
4.2.4 车牌定位结果分析 18
4.3 本实验网络AlexNet 19
4.4 模型训练分析 20
第5章 总结与展望 23
参考文献 25
致谢 26
绪论
1.1研究背景及意义
近年来,随着我国科技和工业的快速发展,经济水平的提高,国人的生活水平不断提升,更多的国人开始使用汽车作为代步工具,如今,汽车已经成为人们日常出行不可或缺的交通工具,人们购车需求旺盛,这就使得汽车的数量越来越多。据公安部交管局统计,截至2015年底,全国机动车保有量达2.79亿辆,其中汽车1.72亿辆[1]。车辆数目的急剧增加,数量增长速度过快,超出了人们对于交通的管理能力,城市交通也日益变得难以管理,城市交通管理不当或者无法快速高效管理就会发生各种事故,如交通堵塞,车辆相撞等重大交通事故,如何高效便捷的管理交通就显得尤为重要。
汽车不同于其他陈列在超市中的商品,一旦汽车被购买,它便成为了购买者的私有物品并且和购买者建立了联系,通过汽车可以获取其主人的相关信息。由此可见,汽车在生活中具有重要的地位,与人们的生活息息相关,如何管理好汽车与人们之间的联系,是一个重要且严谨的问题,而通过给车辆一个证件,保证证件信息的不重复性,则可以很好地解决这一个问题,车牌即为这样的一个信息证件。随着科技的发展和智能终端的普及,图像的获取变得日趋方便,利用图像获取车牌信息就显得极其便利,智能交通系统应运而生,而车牌识别作为其中一部分,在现实生活中有着重要的作用,例如停车场管理、违规抓拍、高速公路收费、小区进出车辆管理、车辆定位等。由此可见,正确识别车牌信息极其重要,如果车牌信息识别错误,会导致车辆分析、相关数据检索等方面出现一系列问题。
传统车牌识别系统一般通过相关硬件设备拍摄车辆获取其图像或者视频,利用数字图像技术、模式识别等方法来完成车牌图像中车牌信息的识别。车牌识别着重于对图像信息的处理。车牌识别系统现在虽然已经得到广泛应用,但是目前的车牌识别技术仍受到各种条件的限制,例如恶劣天气的影响,车牌污损等都会导致识别率降低,车牌识别系统还仍待改进。传统的识别方法如模式识别,虽然技术达到了成熟阶段,但是依旧存在各种各样不尽人意的问题。随着近几年来人们对人工智能的关注越来越多,对人工智能的研究越来越深,深度学习也随之快速发展。在软件技术发展的同时,硬件技术同样也在不断进步,计算机的处理能力随之增强,深度学习技术给传统领域开拓了新的研究思路。与传统车牌识别方法相比,深度学习技术拥有很强的错误兼容性,能够自己调整学习过程,可以省去大量的数学建模和数据分析工作[2]。
如今车牌识别系统已经广泛应用到各种场合,随着现代科技的发展,人工智能的快速发展,智能化必然成为一个趋势,将此运用到车牌识别上也是必然,车牌识别与深度学习的结合必将渗透到人们的日常生活,为人们带来便利。
1.2 国内外研究现状
车牌识别技术最早起源于20世纪80年代。由于西方发达国家的汽车数量增加,车辆难以管理,人们开始借助机器对车辆进行管理,因此,相关研究部门开始对车牌识别技术进行研究,于是有了将图像处理方法用于车牌识别的一些应用。然而,此时,车牌识别技术针对的是车牌识别中的某一个具体问题,还不能形成完整的车牌识别系统。
20世纪80年代后,车牌识别系统的研究有了进一步的发展。1990年,A.S.Johnson等[3]通过数字图像处理技术和计算机视觉技术实现对车牌的识别。Johnson等人提出的车牌识别系统首先利用图像分割技术定位到车牌位置,再利用特征提取和模板构造进行匹配,然后识别车牌字符。即由图像分割、特征提取和模板构造、字符识别等三个部分组成的车牌识别系统。该系统的提出和实现为后期车牌识别系统的研究提供了思路。
相比80年代早期,80年代后这个时期对车牌识别技术的研究有了一定进展,但依旧有实验条件的限制,只是利用基础的图像处理技术,对简单的场景或者图像质量较好的图像进行识别,但是实验结果最终需要人工干预。因此,此阶段的研究不能满足人们对车牌实时识别的真正需求。
20世纪90年代,随着国外发达国家计算机技术的发展,计算机视觉的发展,CPU处理速度的提高,车牌识别技术有了系统化研究,有着相关技术的支撑,人们开始研究利用人工神经网络技术解决车牌的自动识别问题。科研人员开始研究出能在特定条件下进行识别的车牌识别系统,并且投入了市场。例如英国ARGUS的名为RAUS的车牌识别系统,该系统能够处理黑白和彩色图像,识别车牌用时100毫秒。以色列Hi-Tech公司的See/Car system系列,该系统利用视觉传感器获得车牌信息,See/Car system系统针对不同国家车牌进行研制,适用于多个国家,但是无法识别含有汉字的车牌。还有新加坡Optasia公司研制的VLPRS,该系统适用于新加坡的车牌规格,但只能识别灰度图片,且只能识别单车牌。此时车牌识别系统识别精确度受到的限制条件依旧多,例如获取的图像像素不高、拍摄时逆光或者强光、车牌倾斜等等,并且所需硬件设备投资过大。
我国车牌识别技术的研究相较于国外来说,起步较晚,大概在80年代末开始。然而由于我国车牌的特殊性和多样性,实际情况与国外车牌不同,加上汉字字符的识别难度,国外的车牌识别系统并不适合识别国内的车牌。
1998年,上海交通大学赵雪春等[4]提出了一种使用图像彩色分割及多级混合集成分类器的车牌识别方法。2001年,华中科技大学黄心汉等[5]提出了基于模板匹配和神经网络的车牌识别方法,该方法集成了改进的神经网和模板匹配进行字符识,具有较高的识别率和较快的识别速度。褚一平[6]等研究人员通过图像边缘检测算子和区域生长算子对车牌进行分割。如今比较成熟的车牌识别系统产品有中科院自动化研究所汉王公司的汉王眼,香港亚洲视觉科技有限公司的慧光车牌号码识别系统等等。此外,各大高校如西安交通大学的图像处理和识别实验室、上海交通大学的计算机科学和工程系、清华大学人工智能国家重点实验室、浙江大学自动化系等都做过类似的研究。
虽然目前车牌识别的产品已经有很多投入市场,并且识别率一般都高于95%,但是它们大多集成了高清图像采集设备,使用补光等手段降低外界环境对图像的影响。而在更复杂的情况,如车牌污损、车牌倾斜、恶劣天气等,识别准确率会大大降低,识别难度增加。如今,伴随着探索深度学习的热潮,各大高校及企业对车牌识别技术有了更深入的研究。
1.3 车牌识别技术难点
如今的车牌识别系统虽然可以达到很好的识别效果,但是在复杂情况下,仍然存在各种各样的问题:
(1) 图像质量。车牌识别系统大多集成了高清图像采集设备,如果所采集的图片质量不佳或者遇到复杂天气(浓雾、大雨、大雪等)、光照条件不足等情况大大降低车牌识别的准确率。
(2) 道路情况复杂,车牌污损严重,车牌模糊,车牌倾斜角度较大,车牌遮挡或者变形等都会导致车牌难以正确识别。
(3) 车辆速度过快导致图像模糊无法进行字符识别。
(4) 需要进行字符分割,再进行单个字符识别。由于车牌识别的最终效果是对字符识别的效果。字符识别一旦有误将会导致车牌识别率大大降低。
由于我国车牌与国外车牌不同,所以我国的车牌识别技术难度更大:
(1) 中文字符识别具有难度。与国外车牌不同,我国的车牌是汉字、数字和字母的组合,而国外车牌只有数字和字母。而中文字符的识别较难,这直接导致了我国车牌识别的复杂情况。
(2) 我国车牌颜色种类多样。我国车牌有蓝底白字、黄底黑字和白底黑字。不同用途的车辆使用的车牌颜色也不同。
(3) 悬挂方式多样化。由于每个汽车公司生产的汽车型号和外形都有所不同,不同公司生产的也不一样,这就导致了我国汽车车牌的悬挂位置各不相同,悬挂方式多样化。