版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录TOC\o"1-3"\h\u199591引言 1109122深度学习算法对比 2162972.1传统算法 2126602.2卷积神经网络 3295872.3对比分析 4102722.3.1传统方法 454812.3.2卷积神经网络 5311553车牌识别相关算法 585993.1我国车牌的介绍 5245963.2车牌定位算法分析 794253.2.1车牌目标定位区域的特点 7117563.2.2基于边缘检测的车牌定位 7176243.2.3基于深度学习的车牌定位 82003.3字符分割算法 9175503.3.1基于投影的字符分割 9259573.3.2基于模板匹配的字符分割 914343.4车牌字符识别算法 918594基于深度学习的车牌识别仿真 10235834.1训练网络模型 1035734.2测试网络模型 13280004.3配置hyperlpr进行仿真 1476244.3.1python配置 14225944.3.2hyperlpr配置实现 15242404.4检测结果后处理 1679395结论 1717315参考文献: 19
基于深度学习的车牌识别系统设计与实现摘要:人们日益美好的生活中车牌识别系统有着广泛的应用,如收费站、十字路口等,这些基于车牌识别的实际应用起到改进管理模式、节约人力成本、提高生产效率的作用,同时也是组成智能交通系统的重要部分。当前机器学习领域的研究热点和主流方向都是深度学习算法,被广泛应用于图像识别、语音识别、人脸识别、自然语言处理等领域在不久的将来有着不可估量的上限。因此本文的研究具有一定的实用价值。关键词:车牌识别系统;深度学习;数字图像技术1引言随着人们生活质量的不断提高,国家生产力水平的高速发展,人们对物质生活质量的要求随之提高每家每户汽车拥有量逐年上升。根据交管局统计,2015年到2019年,有1500万辆以上的车辆平均年增加。在2019年结束之前,在中国举办的车辆最小数量将达到264万人。汽车生产和需求的快速增长不仅给人们的生活带来了便利,还带来了交通问题和城市问题。交通堵塞和频繁的交通事故是最优先的。需要解决这样紧急的交通背景。智能交通系统(ItelligentTransportationSystem)是一种大面积的电子信息技术和其他计算机科学手段,用于构建全方位360°无死角发挥作用的系统。这个交通系统是实时高效综合交通运输管理系统并且被视为未来交通发展的主流趋势。平均每人拥有汽车的持续增长无疑是中国强大国家实力和生产力快速发展的重要征兆。同时,汽车的存在也使人们的旅行更加便利和快捷。但是,车辆的运输行动也会给交通环境造成负担。在中国,所有种类的交通事故都很普遍。而且,那个会给人们的生命和资产安全带来不可估量的损害。比如2017年1月份过年间由于雨雪增大导致路面湿滑,天气路况信息不能够在第一时间更新,在黑龙江省会哈尔滨到绥化的高速公路路段因为高速行驶下后续跟随的汽车因雨雪天气不能及时制动而前方的汽车堵车不能移动,在这种情况下导致上百辆汽车连环相撞,造成很大的人员伤亡。这场事故给当地带来难以估量的经济损失而长时间的交通拥堵也给当地物流系统带来了巨大的压力[3]。城市化的速度逐年增加。多年来,数百万个地方的劳动力进入了城市。城市生态系统的发展是各城市应解决的主要问题。如何健康发展,如何生态学发展,如何持续发展,都是各部门领导人应考虑的问题。资源不足、环境污染、交通堵塞、道路安全等问题越来越突出。城市是第一个问题,绿水和青山是人们的渴望,实现城市的可持续发展,建设智慧城市已经成为当今城市发展不可逆转的潮流。智慧型发展城市[4]就是为使人们的生活、公共安全、城市基本服务迅速而智能的响应,使用事物技术、射频传感技术、云计算技术等新一代信息技术,认识到整个城市的主要系统分析、整合。要在商业活动等信息化浪潮中为城市居民创造更好的生活,促进城市可持续、绿色和生态系统的发展。智能开发城市的主要服务系统包括智能公共服务、智能社会管理、智能健康保障、智能文化服务、智能制造、智能交通等。其中智慧交通[5]就是在智能型交通[6-8]建设的基础之上,重点对交通流进行实时监控、检测、优化,公安部城市化道路物业监管局完善了监控系统和信息网络,构建新型智能城市综合交通管理系统和新型智能实时应急导航系统,在智能交通系统的约束下,实现道路交通的一体化交通环境与人,加强道路、交通环境与人的联系,改善人们的生活环境,最终节约城市能源。这是我们着重想要构建得综合运输系统。所以在整个交通应作中汽车是主要参与单位而车牌ID(Identification)作为汽车的唯--识别标志,正确、迅速地识别牌照ID信息,在整体智能交通系统中起着重要的作用,也是讨论的热点话题,也是计算机科学的最优先事项[8]。车牌识别[9]也称作车牌号识别或车辆牌照识别或车辆号牌识别,它主要基于数字图像处理技术、模式识别技术、计算机视觉技术、机械学习等技术[3]。在这些计算机热技术的支持下,检测车辆的车牌和视频图像以详细分析相机。在知识处理之后,最终获得车辆识别,即车牌识别,以完成车牌识别的过程。在现在的中国市场上,对中国牌照的认识有着特定的市场需求,规模也在逐年增加。这些产品的主要应用方案主要包括停车场和住宅区的入口、高速公路旁的收费站、道路交通监视Bayeonet等。市民和公众的这些方案反映了良好的市场前景。然而,中国大部分商标识别市场仍在继续发展传统的学习方法,其远远落后于国外并且他有很大的缺点就是在日常情况下经常出现的汽车车牌倾斜车牌因镜面而扭曲或者光照条件较差的情况下识别效率以及准确率较低并且其对雨雪等自然条件的要求较为严苛,若外界条件较差则不能够准确对车牌进行定位甚至影响后续的识别工作。因此,结合我国当前市场和产品的需求,我们应该集中精力理解学习模式。一个优秀的、封闭的学习环境的实现也引发了广泛的公众争论,引起了人们的一些关注,它降低了标签识别的复杂性,提高了最终结果的准确性,使品牌技术更好地在自然场景中实现,也在中国智能时代发挥着重要作用。2深度学习算法对比2.1传统算法Rbm限制玻尔兹曼机(RestrictedBoltzmannMachine)是构成深度置信网络的基本结构,而RBM是玻尔兹曼机(BoltzmannMachine,BM)的简化[13,14],本小节首先介绍BM模型,其次是描述RBM限制波尔兹曼机与BM玻尔兹曼机的区别[2]。如图2.1所示,bm就像图上描述的在结构上仅仅是一个两层完全没有流向的框图,底部x灰色部分通过可见层由可见变量构成,用于观测输入数据。最上面的白色部分是隐藏层。然后,它由隐藏的变量来表示提取的特征。底色灰色部分用于表示相互依存性的观察层和最上面的隐藏层之间的连接[2]。它本质上是一-种能量模型,能量模型是指对于参数空间中每一种情况与能量总是一一对应的,即在每一种情况下,有一种标量形式(概率)相互组合,可以由能量函数(概率函数)来描述[2]。研究者希望通过训练让大数据中的能量函数参与到运作当中去,让能量函数作为参数参与概率分布。图2.1波尔兹曼机结构E(x,h)=-bTx-cTh-hTWx-xTU-hTV(2.1)经过上述简化,层内变量间彼此独立,从而各层内变量的条件概率分布可以分开单独逐步求解,这极大化的降低了模型训练优化的计算量和复杂度。自动编码器蜂窝协调网络是另一个经典深入学习网络的基本单元。由网络结构的两层组成自动编码器,即自动编码器的输入层和特征层。解码器用于对整个编码器的优化进行导出。通过编码器对输入信号进行编码从而完成整个优化过程,然后在预先设计的解码器中将编码特征公式输入进去,这是通过重构信号来完成的,促使重构信号和输入信号之间损失函数最小化。自动编码器主要是利用编码将信号逐步转换为其他形式的信号(即特征表达),以编码信号转换为其他形式的信号这个方法出去信息中的冗余,以这种剔除冗余的方法得到信号。而且,这个信号的方程式更有效和简洁。通过排除冗余性来转换信号形式的想法在计算机视觉学习领域被广泛使用。在某种意义上,还存在计算机视觉系统(例如,k-means集群、稀疏编码和主成分分析)的自动编码器。线性函数在编码和解码过程中使用,导致损耗函数的均方误差。这样编码器是主成分编码器。2.2卷积神经网络卷积神经网络是一种深度学习算法,这种依赖计算机领域的发展而发展起来的算法引起广泛重视的。1960年代,除了Hubel以外,还发现了其独特的网络结构可以有效减少神经网络的复杂度,但是,当Hubel等人研究猫的大脑皮质时,谁也没想到这一方面时发现的,进而提出仿生概念—“感受野”。夫库斯码基于这种有效减低反馈神经网络复杂幅度的独特网络结构的概念提出了神经认知机,这一概念的提出被视为卷积神经网络的第一个实体,同时,当许多神经元具有连接到先前层网络的神经元平面的类似权重参数(即,“权重共享”的概念)时,所产生的网络具有翻译不变性。随后,越来越多的研究人员提出了各种卷积型神经网络模型,其广泛用于手写数字识别、面部识别和其他图像领域。1)卷积层特征提取的完成是卷积层的主要任务,通过多个特征面组成卷积层,由多个神经元组成卷积层的每个特征表面。在特征面,每个神经元用上一层的特征级(输入)扩展范围,也就是,“接受野”概念、卷积过程的第一步填充在输入特征面中。第二步是将卷积内核固定在固定步骤中滑动,反复作用于特征平面,从而构建新的特征面。2)下层采样当从卷积层的特征提取输入数据时,产生多个特征面。这意味着卷积层的映射过程是一种次元标高映射。如果连续地进行映射的话,必然会发生尺寸灾害。因此,需要减小卷积层的输出尺寸,因此,该问题由下部采样层是问题的根源。类似于卷积层,在下采样层的每个特征平面上的神经元就像无限多个卷积层一样,数据也从它们的“感受野”接收,通过映射,特征面的数量保持不变,比例缩小。该映射过程被称为下采样过程(又叫池化过程),通常使用的降采样方法是最大值、最小值、平均值等,并且减少网络对图像转换和其它变换的灵敏度。3)全层接层由多个卷积层和子采样层组成卷积神经网络的前端,对卷积层和子采样层的集合交替进行连接,其边缘的组成则是多个完全连接的层。如名称所示,完全连接的层是在上一层的所有功能方面完全连接的当前层。与由二维平面表示的卷积层和子采样层不同,完全结合的层是一维神经元。因此,第一层完全连结的图层映射需要将二维特征面转换成一维矢量光栅化,全连接层一般由多层感知机来充当,具有分类的作用。2.3对比分析2.3.1传统方法传统的深信念网络需要每个层的变量没有连接。然后,可以分解每个层变量的有条件概率,简化整个网络的训练。但是,为了图像,像素之间的关联。由于网络不具有描述像素之间关系的结构特性,常规深度可靠性网络不能很好地表现和理解图像。此外,传统深度置信网络将图像中的每个像素都理解为可见变量,对于以往的标度计算机任务,需要处理器性能的计算量较多,因此,网络一般应用于小型图像处理,如32*32的手写字符识别。事实上,深度置信网络在语音识别领域有着不俗的表现,现在也有学者尝试对该网络进行改进以期在图像领域有突破性成果。2.3.2卷积神经网络卷积神经网络于传统算法则方便许多只需将原始图像不做任何处理直接送入网络。同时,该网络的“权值共享”特性它大大减少可训练参数的数量和网络的训练复杂性,另一方面“感受野”的概念保留图像像素间的相关性,更加接近于动物视野;此外,在采样过程中,选择特征图,使用局部相似性规律,有效地减少数据处理量,同时保持有用的结构信息,大大减少网络计算量。因此在图像领域具有很好的适应性,目前被广泛应用于计算机视觉任务当中并取得了不错的效果。3车牌识别相关算法3.1我国车牌的介绍我国车牌的尺寸和颜色分类各有有六种,如表1.1所示。由汉字、大写字母和数字组成我国的车牌。表1.1中国车牌颜色和外扩尺寸类型尺寸(mm×mm)440×140440×220440×95300×165220×14088×60颜色类型黄绿底黑子白底黑字黄底黑字黑底白字蓝底白字新能源汽车专用号牌大型汽车前号牌(c)警车专用号牌(d)挂车号牌(e)小型汽车号牌(f)香港出入境号牌(g)驻华使馆汽车号牌(h)摩托车号牌我国的车牌样例见上图。可以发现,我国车牌颜色和字体样式以及车牌尺寸多种多样,将极大的影响了车牌的定位识别,比如6种颜色及类型的很难使车牌背景颜色定位算法同时适应。作为整个车牌识别系统基础的车牌定位,要想分割和识别字符,只有车牌定位成功或准确才能进行。3.2车牌定位算法分析3.2.1车牌目标定位区域的特点大多数车牌定位方法都采用车牌自身的特征来检测车牌,我国车牌固有的特征明显不同于国外车牌。(1)车牌有一个明显的边框(2)车牌除第一个字符(汉字)与第二个字符(大写字母)外,剩下的是数字或字母。(3)基本固定的车牌横纵比例。(4)车牌背景色样式繁多。车牌的位置可以通过结合上述功能来确定。大小、颜色、形状的比例是这些功能中最直观、最简单的提取功能。必须通过图像预处理才能得到字符特征、纹理特征、边缘特征,通常,这些特征是车牌位置的主要特征。3.2.2基于边缘检测的车牌定位灰色值在车牌图像的边缘逐渐变化,并用梯度值表示图像的灰度值。通常使用Sobel算子来检测车牌定位中车牌的边缘,因为它是一种方向边缘检测算子,可以结合垂直边缘检测和水平边缘检测,二值化通过其特定算法的使用。但由于该方法的防噪效果较差,当有噪声或暗光时,效果并不理想。因此,yujieLiu等人提出一种颜色边缘特征,该方法对RedGreenBlue三个通道分别进行Sobel运算,通过绘制通道边缘图,根据定义的规则选择边缘点,该方法可以应用于负面因素的影响,例如,该算法首先利用形态学特征去除噪声,然后根据标签的大小找到矩形外框。基于边缘检测的车牌定位流程如图3.1所示。图片预处理图片预处理车牌定位边缘检测原始图片图3.1基于边缘检测的车牌定位第二,如果光强度根据周围环境而变化,则二重化有将数字板区域分割为背景的概率,并且如果数字板周围的纹理的特征明显,在形态学算法作用后会将这些纹理划分为车牌区域,继而影响后续的分割;实际上由于车牌和相机之间距离的不确定性,检测出的外部矩形尺寸大不相同,而且正确的车牌区域不能合理选择;倾斜角度的计算对号牌在水平方向倾斜或垂直方向倾斜时的车牌框架和光强度有很大影响,在帧缺失或车牌的帧由于光线不足而无法检测到的情况下,由于哈夫变换或其他算法无法检测车牌的倾斜角度,所以无法计算投影变换所需的变换矩阵[10]。所以,边缘检测受光线、倾斜角度和车牌边框缺损等因素影响较大。3.2.3基于深度学习的车牌定位根据同一数据集,根据特定要求训练弱分类器,得到这些弱分类器的加权总和,同时最终预测使用sign,ADEBoost的主要思路是,研究员一次对一个分类器进行训练,弱分类器会对每个样本的重量(增加错误样本的重量)进行调整,接着继续对下一个弱分类器进行训练。通常情况下,该方法用于对车牌候选区域重新进行检测,也就是通过上述方法大致检测数字板候选区域,然后根据ADEBoost方法对数字车牌区域和背景进行分类。因为误差也可能存在于分类器中,因此需要校对分类器检测出来的车牌位置。可以在颜色特征和车牌尺寸的基础上进行校对的方法。下图3.2为基于深度学习的车牌定位流程图。车牌区域车牌区域原始图片车牌粗定位分类器定位车牌区域校验图3.2基于深度学习的车牌定位流程图3.3字符分割算法3.3.1基于投影的字符分割投影是用于数字板字符分割的最常见的算法之一。在该方法中,第一步是矫正,第二步对车牌生成的图片让他自己适应二值化,通过水平投影,找到车牌区域文字边界的间隔位置,以此类推用投影垂直的方法跟水平方法类似剔除其左右边框,在使用两种投影方法之后根据字与字之间的间隔将每个字分割出来。这种方法相对普遍但是于某些笔画较难,难写的字或者一些不连通的中文字,其效果却不那么尽如人意。举个例子,四川的“川”字容易被分割识别为“JII”;如果号码牌在复杂的环境中,或者图像倾斜的话,很容易导致角色划分失败。因此,基于投影的文字分割方法鲁棒性差,需要提高对环境的干扰能力。3.3.2基于模板匹配的字符分割首先灰度图为精确定位后的非粗定位车牌候选区域转换而成,同时反转白底黑字、黄底黑字等各个车牌候选区域的灰度,反转字符和背景颜色后,该区域候选车牌的所有特征点都处于高灰低灰状态。第二步,部分使用二值化算法,二值图是经过二值化转换后的灰度图转换而成,车牌上也会有铆钉等影响因素,为了将车牌框架和车牌区域内的铆钉消除,对字符分割的影响通过使用图3.3的方法来消除,对二值图像水平积分投影的平移曲线fH(x)进行计算,然后将fH(x)最宽正区间MPI提取出来,字符的上下边界也就是其下界和上界。图3.3去除铆钉首先,通过定位变换去除灰度图像中的铆接,在二值数字平板图像上对垂直积分投影曲线p(x)进行计算,然后对p(x)的极小值进行搜索,得到波谷位置序列v0,v1,…,vn。然后找到两个相邻的波谷从而提取出一组矩形区ri,并根据下列规则对矩形序列ri进行删除、分裂、合并和调整大小[11]。基于车牌文本排列规则,将下图所示的模板导入,并比较排序后的模板与垂直积分投影曲线,以确保车牌位置一致。最后,得到的字符分割结果是精确的。由Mt匹配偏移量决定模板和竖直积分曲线的匹配程度:Mt(w,a1)=(3.1)p(n)是竖直积分投影曲线;w,ai,bi如上公式所示。很明显,匹配程度越高,Mt越小。3.4车牌字符识别算法车牌识别是在车牌区域一个一个识别文字。主要的识别方法包括模板匹配、机器学习和深刻的学习。在字符识别中,将字符图像的主要特征与模板匹配中提供的字符模板进行比较,在众多对比模板中与我们所需要的图片中重复率最高的模板,作为图片识别结果。基于机器学习的文字识别核心是多类问题。经典人工神经网络可以用于文字识别领域。该算法在人工训练的设定下提取文字,显示图像的特征。但是,这个特征只会影响特定的图像,所以它对文字选择算法有很高的依赖性。4基于深度学习的车牌识别仿真受限于机器的限制此次仿真没能用上较为重量级的框架和算法,使用的是Hyperlpr这个轻量级的基于python的框架,这是一款高性能开源中文车牌识别框架。此框架用到目前最好的cascade检测模型,Keras模型经过从业者的训练最多其可识别34类数字和大写英文字。Keras这种模型本身通过14W样本的训练达到了不错的准确率是入门级别的模板。Ocr_pIate.h5是基于cnn的模型ocr_plate_all_gru.h5基于GRU的序列模型从OCR模型修改,效果目前最好但速度较慢,需要20ms并且其中plate_type.h5用于车牌颜色判断的模型还有model12.h5左右边界回归模型。4.1训练网络模型就我个人的观点认为,训练网络模型是最重要的一步,而此次训练模板用的是Keras这个模板,这个模板是基于theano/tensorflow的一款深度学习的模板。这个Keras模型是纯由python编写而成,python作为一门万金油语言基本上什么行业都可以用到,正如其官网所描述的“Pythonisaprogramminglanguagethatletsyouworkquicklyandintegratesystemsmoreeffectively.”python是一门能够让你的生活和工作更加快捷和高效的编程语言,基于一段时间的学习个人认为有如下几个优点1)python就语法而言是简洁明了的一门语言,就使用后概括起来就是语法+控制流,python的语法简洁明了有些人甚至开玩笑说会英语的人看python就能看懂。2)Python的创始人吉米给我们带来的应用哲学是「做一件事情应该只有一种最好的方法」,就像当年他应试google一样简历上只写了一句话“我创作了python。”这种编程语言对于初学者而言对于代码的理解和规范性的书写具有很好的现实意义,同时也帮助初学者能够在使用这门语言后任务的完成变成小菜一碟,正如其标语“人生苦短我用python”。3)如果你想在入门就养成良好的代码书写习惯,python是一个不错的选择。Python具有良好的训练意义,该编程语言对编写代码有着严格的要求。Indentation对于小白养成良好的代码习惯很有帮助。4)Python的语法设计非常优秀,其逻辑思维也紧跟时事十分现代,初学者可以从这门语言理解现代编程语言的思考,这门语言也能适应现代人们的思维习惯。5)Python的内置数据结构清晰好用,众所周知python最大的优点也是最强大之处就是库多,作为一个强大的胶水语言各种开源的库和从业者的分享造就了python良好的社区环境。Python在其他领域,比如尤其是科学计算等等有广泛的运用,对于学一门语言作为工具来说,Python很合适,所以由python编写的Keras是一个高级别的神经网络应用神经网络编程接口,能够快速实验让实验人员快速上手,加速想法转换为产品的周期。可以理解该模型为一系列层或数据运算图,如图4.1所示。模块在Keras框图中可以自由配置,可以在自定义的情况下以最低的成本自由进行组合,具体来说,独立模块是初始化策略、优化器、损耗函数、激活函数、正则化方法、网络层,可以利用他们对自己的模型进行创建。图4.1.keras框图训练在完成数据准备后就可以开始。在特征和细节上,不同车牌字符高度相似,像“E”和“F”、“L”和“1”、“B”和“8”、“Z”和“7”、“C”和“G”、“W”和“N”等,SSD框架中的原始数据改进策略对车牌字符来说并不适合,此外,左右对称性和上下对称性是大多数车牌字符没有的,例如上下翻转“W”后几乎和“M”没有区别,左右翻转“G”后非常相似于“D”等等,因此,数据的增强不能采取水平镜像和垂直镜像。图4.2学习曲线图对图4-2中的学习曲线图进行分析可知ssd_500x500和ssd_88x224在训练过程中的loss下降趋势相差不大,在测试过程中的detect.eval值比ssd_88x224表现更好,然而ssd_88x224比ssd_500x500的图像尺寸小,计算量小,占用计算机资源少。cascade检测模型经过一定的训练和结合一点前人的经验就小车训练而言为达到宁可漏检测不可错检测的原则总结了一点训练的经验1.负样本集与正样本集完全无关最好。如果训练的是车,那么按照理论来说,负样本集应该是路边或者栅栏、树的一些图片最好(用来剔除正样本集中的负样本),实际操作经验并不是。按照原理论我制作了道路场景的负样本集1800张,但是最后的结果是车也框,路面也框,车和路面检测器傻傻分不清。后来用了各种与道路无关的负样本集之后训练结果才不会误检。2.制作正样本集时,不能将车的边缘轮廓给框进去。Cascade是根据梯度特征进行训练的,猜测若是追求正样本无噪声而将车的边缘也给框进去,可能训练器训练不到车辆轮廓和路边的梯度突变的特征。像图4.3汽车图像一样车的边缘轮廓与路边有一定的过度空隙训练效果比较好。图4.3汽车图像在模型训练时发现在经典车牌定位的方法中绝大部分经典算法都能准确定位车牌位置,但是很多经典方法在定位车牌区域的同时还框出了很多非车牌区域有的定位的车的品牌,有的定位到了车的保险杠,还有的定位到了车灯如图4.4汽车车牌。而深度学习的车牌的准确率很高,在正常无干扰的情况下,基本能准确定位置信率高达0.95以上。图4.4汽车车牌而在复杂情况下,比如闸口,十字路口,雨雪天气,光线不足,车牌倾斜情况下传统算法的训练结果则显得令人尴尬(b)(c)图4.5车牌识别对于传统识别算法和深度学习识别算法的性能评估主要有这几个指标查准率,召回率,F-socre,Iou,检测速度如图表4.2车牌识别性能评估所示:表4.2车牌识别性能评估车牌定位算法查准率(%)召回率(%)F-socre(%)Iou检测速度(s)最优传统算法85.485.98深度学习算法99.4999.5999.540.930.064.2测试网络模型测试过程类似于使用不同比例的接受字段在检测图像上滑动的车牌位置测试。图像区域通过所有滑动步骤都可以得到,通过分类得知该区域是否为字符:在删除非字符区域后,对非最大抑制策略进行使用,最接近实际字符区域的结果将在信任等级的基础上得到保留。最后为了进一步近似实际字符区域,对边界回归法进行使用并且得到最终的采集结果。ssd_88x224和ssd_500x500网络结构在训练过程中优缺各异。为了模型的效果可以更好,最终比较测试决定使用ssd_88x224和ssd_500x500网络模型,为了使测试数据和培训记录中的数据的重复得到避免,这次测试中的所有照片使用的排序照片都是新的,共采集图片550张,这些图像是在不同地点和不同时间收集的,在筛选整理的基础上选定图片518张。使用检测处理上一章中的车牌检测模型,可以发现,由openev处理车牌区域。上面一行图片是是经过整理筛选出来的,检测到的车牌区域为下面一行,以及图像结果是使用openev处理后保存的。4.3配置hyperlpr进行仿真4.3.1python配置Python由于版本的变更现在python2的版本以及停止维护,所以安装python3版本以适应要求。Python的安装需要配置环境变量如图4.7环境配置。同时也通过pipinstall安装如图4.6安装图片pyinstaller,Keras,Theano,Numpy,Scipy,opencv-python,scikit-image,pillow,tensorflow。在安装这些库的时候有可能会出现timeout的报错,这是由于库的类型多且较大若网络不太流畅会出现这样的问题只需要再pip一遍,有时候因为访问问题为了加速下载则需要调用清华镜像源。图4.6安装图片图4.7环境配置4.3.2hyperlpr配置实现Hyperlpr是一个开源的中文车牌识别框架这个框架除去训练的模板的模块,主要有这个几个方面构成:1.训练模块2.定位模块3.分割模块4.识别并且输出模块。首先从初始化从输入端输入接收到的图片放入simpleRecognizePlate(见附录1)中调用detectPlateRough(见附录2)进行粗定位,再使用cv2基于特诊的级联分类器进行车牌等物体的检测,其返回的是所有疑似车牌的区域其边框的位置。其次在simpleRecognizePlate中函数findContoursAndDrawBoundingBox对车牌位置进行精细化定位,描绘出疑似车牌区域的边框。其中finemappingVertical是精定位这个过程的一部分,用于处理和确定车牌左右边界,用于左右边界的回归然后将处理得到的数据传入recognizeOne函数。horizontalSegmentation用于车牌边界的判定。slidingWindowsEval用于车牌字符的分割和识别,在进行字符识别后返回识别到的结果和执行概率。将分割好的字符传入SimplePredict中执行一个判断,判断字符位置。若字符第一个为汉字则输入汉字的判断模型如果是其他则输入识别字符及其数字的模型。而这些模型就用到了之前的模板keras对汉字和数字英文分开识别。Hyperlpr使用下来总体来说优点很明显缺点也很明显。hyperlpr优点就是轻量化在python环境和本身环境配置好的前提下此框架即插即用,就针对较为单一的项目来说用尚方宝剑形容也不为过,但是其缺点也更为明显其一代的框架兼容性极差在python众多库中只要某个库的版本安装有问题或者版本不符合,在运行此框架时就会频频报错如图4.8报错。由于这是早期开发较为小众的框架所以这也能够接受,幸好他在二代方面有所改进。图4.8报错在程序运行的过程中也遇到过其他问题就像解压过后如图4.9安装文件但是其中除了训练的模板模块之后有两个hyperlpr当两个同时在调用的程序里时程序调用其中一个就会报错。经过研究和尝试解决了这个问题,因为我们这里用的是python3版本所以需要将hyperlpr_3导入要运行的目录下并且改名为hyperlpr。图4.9安装文件4.4检测结果后处理图4.10初始化虚拟环境图4.11识别的车牌图4.12识别结果图4.13放大图5结论本文基于对传统车牌识别技术的学习,对前人的车牌识别技术的研究成果进行了总结,系统地研究了深度学习方法,并成功利用深度学习开源hyperlpr框架深入研究了三个(字符识别后处理、车牌定位、字符识别和检测)方面,以下是具体包括的几个方面:1)本文对传统车牌识别技术的研究背景进行了介绍,以及在深度学习的背景下计算机科学领域的意义。通过对国内外相关文献进行阅读,更深入的了解了车牌识别技术。主要将传统的车牌识别技术分为车牌字符识别、车牌修正、车牌定位、车牌字符分割。分析研究了国内外研究现状及技术难点。2)通过对深度学习的理论基础进行深入研究,对人工神经网络和深度学习的发展及其相关原理有了一定的了解,在理论分析的基础上可以确定,可以通过深度学习的方法实现车牌识别技术。3)和车牌定位一样,车牌字符检测是通过深度学习目标检测而实现的。对同一数据集的训练采用两种网络结构进行,对网络模型进行比较和验证,将效果较好的选择出来。使用后处理方法排序检测结果,最终得到检测结果是正确的。4)结合车牌位置、车牌文字检测和文字检测后的处理,从而对测试效果和效率进行验证。为了节约工程实施过程中的成本,网络通信技术用于连接车牌识别解决了很多环节上问题。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年舒城县网格员招聘笔试备考试题及答案解析
- 2026云南省滇东北中心医院招聘劳务服务人员38人考试参考题库及答案详解
- 2026年镇巴县网格员招聘笔试模拟试题及答案解析
- 2026年吉县网格员招聘笔试备考试题及答案解析
- 2026福建莆田市荔城区城市管理和综合执法大队招聘编外工作人员6名考试备考试题及答案详解
- 2027招商银行总行、分行及子公司校园招聘考试备考题库及答案详解
- 2026新疆精河县公安局面向社会公开招聘编制外警务辅助人员28人笔试参考题库及答案详解
- 2025-2026年湘教版高三历史选择性必修二第十七章期末测试卷
- 中国航天科技集团2027届校园招聘开启考试参考题库及答案详解
- 2026年都安瑶族自治县网格员招聘考试备考试题及答案解析
- 2026年秋浙美版新教材小学美术五年级上册教学计划及进度表
- 新版(2026秋新版)北师大版五年级数学上册全册教案合集
- 2026秋小学信息科技浙教版(2026)三年级上册教学计划、教学设计(附目录)
- 2026-2027学年秋季学期中小学主题升旗仪式安排表
- 杭州市数字化社区治理平台操作手册与数据规范(2026年)
- 2025年一级造价师《案例分析(水利)》考试真题及答案
- 第7课《培养德智体美劳全面发展的社会主义建设者和接班人》课件 2026-2027学年统编版语文九年级上册
- 工程制图与CAD教学教案
- 太阳能转化原理与技术课件-第六章太阳能集热器
- (正式版)T∕CSNAME 195-2025 船舶修理企业危险作业安全监测要求
- 20S206 自动喷水灭火设施安装
评论
0/150
提交评论