【《基于机器学习的车标的特征识别系统设计》13000字】_第1页
【《基于机器学习的车标的特征识别系统设计》13000字】_第2页
【《基于机器学习的车标的特征识别系统设计》13000字】_第3页
【《基于机器学习的车标的特征识别系统设计》13000字】_第4页
【《基于机器学习的车标的特征识别系统设计》13000字】_第5页
已阅读5页,还剩29页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于机器学习的车标的特征识别系统设计摘要本论文主要研究了基于机器学习的车标识别,大致分为图像处理,信号采集,数据库建立三大板块,拟通过图像处理、传感器、视频技术、卷积神经网络、SLIQ算法等进行图像处理,利用Matlab,python等软件搭建平台和构建模型,结合各类算法与函数对静动态信号进行采集和处理,然后将处理后的数据和标签写入数据集,用CNN和SVM算法对车标集训练,建立车标数据库,最终在静态和动态下都能实现机器对于车标的识别。本文的研究重点在信号的采集和数据库的设计,用二拓扑SVM模型、Vgg模型和卷积神经网络,进行一系列卷积池化等操作,以达到更精确的识别率。该研究对智能交通系统有极大帮助。关键词图像处理;机器学习;神经网络;车标识别目录TOC\o"1-2"\h\u1绪论 11.1研究背景与研究意义 11.2国内外车标识别研究现状 11.3本文的主要工作 22图像技术和机器视觉 32.1图像处理技术 32.2数字图像处理 42.3机器视觉技术 42.4机器视觉的应用 52.5机器学习 53数据库和信号采集的设计 83.1引言 83.2系统的需求分析 83.3信号采集的设计 143.4数据库的生成和训练 163.5采集后的处理分析 184总体车标检测软件设计 204.1车标的实况收集 204.2车标的预处理 204.3阈值选取 214.4图像勘测 214.5车标检测 274.6车标识别 295实验结果及分析 305.1实验数据 305.2实验分析 32总结 33参考文献 351绪论1.1研究背景与研究意义近些年来,随着科技的进步和发展,车辆日益增多,各类问题也扑面而来,智能交通在人们日常生活中起到愈来愈大的作用,而车标识别则是车辆识别的尤为关键的环节。车标识别技术是指以采集到的数字图像为目标,对其进行图像的处理等操作,最终达到自动识别,从而获取车辆品牌以及其他信息的一种非常实用的技术。经过不断的发展,车标识别主要有以下几个应用领域:(1)车辆的管理。对于不法商家以及黑车车牌,利用车牌和车标的共同识别,可对其进行有效打击。(2)收费。无人收费和自动管理能有效降低劳动力,识别系统提供要信息依据,也可以避免逃费状况的发生。(3)天网布控。可以有效的监控车辆,既可以放盗,也能为公安抓捕在逃分子提供车辆信息。1.2国内外车标识别研究现状要对车标进行识别,首先要需要在环境或是图片中找到车标的位置,也就是对车标进行定位。林志阳等三人提出了运用Adaboost算法进行定位,即定位技术。辽宁师范大学的李侠提出了一种匹配的设想,具体是想通过它与车牌以及车灯的相对位置进行初步定位,再利用边缘检测法结合车牌的一些特点,对车标进行更好的定位。李长俊等三人则想从投影的角度,结合其他算法,对车标进行定位。而在去年,李映东等人在投影的基础上,引入Sobel算法分子以及去燥技术,减少了部分物理影响,从而提高定位的精度。随着研究的推进,也将越来越多的定位技术可供我们选择。定位完成后,就要对定位采集的信号进行识别,这就是识别技术。早期人们曾运用ITTI视觉模型对车标进行识别。2014年,王建在ITTI视觉模型的基础上,运用二值分割、快速最邻近算法等技术成功优化了识别。2019年,余烨等4人为解决识别提取特征中,过人冗杂等问题,提出增强边缘梯度化特征的方法,再分别利用WPCA技术和CRC处理器进行降为和分类操作,效果也十分不错。如今,也有研究者结合了MFC、OpenCV以及Adaboost算法后,更有效的排除了可能存在的误区,从而进行更好的识别。当前,利用OpenCV成了许多人的选择。1.3本文的主要工作本研究课题通过对车标的数据采集,利用一系列算法以及神经网络,分析技术、误差以及可行性,将原始车标信号进行了实时的接收、预处理及保存,再比对建立起的车标数据库,能对静态和捕捉的动态车标进行识别。2图像技术和机器视觉2.1图像处理技术在基于机器人的自动视觉图像系统中,视觉图像信息的逻辑收集和分析处理信息技术主要指的是一种依赖于对视觉图像信号进行信息处理的各种方法,它们主要技术包括了视觉图像逻辑加强、信号传输、特征提取、图像识别与信息理解等。经过这些输出图像的优化处理后,输出的输入图像数据质量精度可以同时得到相当程度的大幅提高,既大大度地改善了输出图像的质量可靠性和它的视觉效果,又十分有利于利用计算机对输出图像质量进行科学分析、处理和识别。2.1.1数字图像数字图像是图像的连续信号离散化后,形成的矩阵或数组。它的基本元素是像素,多用于数电存储和图像处理。2.1.2图像技术和图像工程图像处理技术是各种在与图像及其相关的信息技术之间所做的统称。目前现在我国大学主要正在从事的工作是数字图像方面的研究,广泛运用的领域之一就是使用计算机数字图像。例如:1、对一个图像的场景信息正确采集、获得、编译、存储和进一步传输,图像的分辨率调整和处理,图像的拉伸、增强、修复(或恢复)等一系列变换。2、对目标的检测、表达和图像形式的描述,还有特征提取和校正,对图像场景信息处理数据库的正确构建、索引和信息抽取,图像的正确归类和辨认。3、图像思维模式的正确建立和相互匹配,图像和人在现实中对图像场景的正确诠释和深度了解,以及基于它们的理性判断和短期决策和对图像行为的长期规划等。图像处理技术也可以指能够实现完成上述各种功能所需的软硬件结合设计和图像制作。图像工程主要是将传统的数学、光学等基本科学原理,与图像应用中的技术相结合。图像学技术工程的内容十分丰富,按照其抽象化的程度与所采用的研究手段和方法等不同,大致可以划分为三个方面:处理,分析与消化理解。处理的着重于强调图像之间的变化。而分析则主要对图像中人们所感兴趣的部分进行探索,来建立对图像的描述。而消化理解的研究重点主要是在传统的图象学理论基础上,进一步地研究了图像中每个目标的属性和它们之间的相互关联。由次可知,图像的消化理解作为模仿人思维的一个过程,也是目前较大的难点。2.2数字图像处理2.2.1系统简介整个数字图像处理系统简而言之就是将采集图像输入计算机或是其他设备,进行一系列处理,最终输出理想结果或完成某项功能。2.2.2样本采集采集数字图象需要两种器件。一是传感器,而是数字化器件,即将传感器捕捉的信号变为离散的数字形式,并输入到计算机中。目前常用的设备有电荷藕合器件CCD和互补性金属氧化物半导(CMOS)。CCD摄像机的特点是在极短的时间内,可以捕捉很多画面。而CMOS摄像机的传感器主要包括:传感器核心,数字信号模拟信号转换器和一些功能性的寄存器等等。它能有效降低功耗,也节约了成本,但噪声相比偏大。2.2.3数据处理数字图像的处理是对输入的图像进行变换来达到特定效果,例如增强某些特定信息,这些技术包括锐化、去燥、压缩、分割等。对图像的处理和分析一般可用算法的形式描述,可利用Matlab等软件实现。2.3机器视觉技术机器视觉不是单纯的一门技术,而是把图形学、图像处理和识别、AI等各类学科结合的多功能的、综合性的技术。简单来讲,就是用机器代替人眼来做测量、识别和判断。机器视觉系统将检测图像并转化为数字信号,再对其数字信号进行多方面处理,最后得到特征值,来实现各类功能。然后再通过反馈结果成像,输出数据,反馈指令,自我调整等。整个系统如图2-1(常用CCD摄像)。图2-1机器视觉系统2.4机器视觉的应用现如今的生产领域和工业领域中,人们已经能将机器视觉系统和配套设备结合并运用,效果也十分显著。包括批量生产、监视、作品检验和质量控制和分析等。人们看重的就是它可以提高产业的自动化从而减少人工成本和时间。近年来机器视觉的发展表现在以下方面:机器视觉在环境中的信息感知。包括它的形貌、位置、姿势、运动等。2、在图像的底层处理中提现了其统计方法。3、逐步走向商业化的机器视觉。如人脸、语音等识别技术、监测技术、身份鉴别等智能领域。在日常运用中,我们可利用OpenCV这个库(这个库支持很多操作系统),在windows等操作系统上实现这类功能。2.5机器学习机器学习大致可分为四种,(按学习方式的不同)如下:1、监督学习。在监督式学习下,输入的训练数据有一个明确的输出。在建立预测模型时,它会以此为依据,将两者不断比较学习,不断调整不断改良,提高拟合度,直到模型的预测结果达到一个预期的准确率。常见的有逻辑回归(LogisticRegression)等。2、非监督学习。非监督学习所给定的数据集不用标记,它的数据不是一个确切值。因此要根据数据直接建立模型,所以我们要将数据降低到二维,三维,从而可以更好地展示数据信息。常见算法有k-Means算法。3、半监督学习。半监督学习则是将前两者相结合的一种学习方法。这种模式可以用来进行预测,但需通过学习数据的内在结构,从而做出合理有效的预测。常用有传导推理法(TansductiveLearmning)和归纳学习法(Inductiveleaning)等。4、强化学习(ReinforcementLeaming),它是在环境中寻找一种学习方法,好处是给与少量信息,根据给定的参数先做出行动,得到试验值,通过判断试验值的优良来对前期的步骤做一个分析和判断,以此为依据调整,进一步优化结果。机器学习可被认为是为了实现目标,我们通过训练,逐步提高表现并完善模型的一个过程。具体流程分以下几步,(1)数据采集与分类︰采集数据,并区分为训练、验证和测试集。(2)模型搭建:结合训练集的结果搭建合适的模型。(3)验证:在验证集上,对构建的特征模型进行检验,评估模型的可信度和拟合度。(4)模型评估:在测试集上,对验证过的特征模型进行测评。(5)优化:通过参数微调以及其他分析法来提高算法的性能。而机器学习的技术主要在于算法和决策。而依据算法的功能,大致可分为回归算法、SLIQ、贝叶斯方法、基于核的算法、聚类算法等。回归算法是通过误差衡量寻求联系的一种算法。它是统计学中的无法替代的。常见的包括:、地散点平滑估计(LocallyEstimatedScatterplotSmoothing)等。贝叶斯方法算法是同样是用来解决分类和回归问题。如朴素贝叶斯算法。SLIQ算法决策树算法顾名思义采用树状结构建立决策模型,这种模型用来解决分类问题。如随机森林(RandomForest)。支持向量机算法(基于核的算法中最重要的)它是一种二类分类模型,通过间隔的最大化对数据进行分类统计。它通常分为支持向量分类机和支持向量回归机。集成学习集成学习(ensemblelearning)是近些年流行的方法,它是一种整合后的整体预测。集成学习可以用于分类矛盾问题集中,回归矛盾问题集中,特点选用矛盾问题集中,异常不同点测试矛盾问题集中,征选取问题集成,堆叠泛化等。框架图见图2-2。图2-2集成学习框架图3数据库和信号采集的设计3.1引言本章主要车标识别系统进行需求分析以及使用可行性分析,并探讨在Matlab中使用SVM算法来获取优质信号标本,再将优化处理的图像标本放入python的OpenCV中,用cv2.show函数展示出来,从而在VGG模型下的训练库中进行更好的测试和识别,提高准确率。3.2系统的需求分析 假设有效容量有限锻炼集D=QUOTE,QUOTE,为现有标记的实验模型锻炼集,方式辨别的最简单的要求是根据锻炼集D在多维分布空间内计算得知一个分类超分布平面,使各种特征属性的锻炼试验样品有一定依次。如下示意图3-1所示,数个分类超分布平面里,两大类锻炼数据信息试验样品“正中间”的分类超分布平面也就是为最优化超分布平面,也就是图3.1里黑色实线。由于这个分类超分布平面对全新的数据信息所形成的微观转变的“容忍”性最好。如果有已经知道试验样品其他的数据信息更接近两大类试验样品的分隔界,则其他它分类超分布平面把形成异常不同,而蓝实线分类超分布平面所受干扰影响的最低。因此这个分类超分布平面所形成的辨别作用效果最好,对全新的数据信息的辨别作用效果更优。图3-1两类训练样本的多个划分超平面在对车标信号支持向量机的研究中,我们假设有一个∅可以准确识别信号。但在现实中,原始的信号空间内可能无法得到一个好的车标分类样本的∅。图3-2从数学线性不可分到线性可分为了处理和解决及其以上问题矛盾,可适当提高信号的维度,分布空间从低调至稍微高一点,这样方便车标数据信号在全新的分布空间内数学线性可分。如下示意图3-2所示,如果把初始的分布平面分布空间交换至一个恰当的立题分布空间,就可以计算求解出一个恰当的∅。如果车标数据信号的初始分布维度有限,则能够计算得知全新的高维分布空间使车标数据信号数学线性可分。以下是一些常用的核函数,如表3.1所示。表3.1常用核函数一次SVM仅能够实现对数据的二分类,由此可见,若而面对多分类问题的时候,则可能需组合数个模型进行组合来对车标信号进行识别。当然,线性化分有一定局限性。在实际中通常很难确定线性结果是否会影响特征的过度拟合。因而在这种情况中引入“软间隔”,如图3-3所示。图3-3软间隔核运算函数、车标数据信号映射以及车标分布空间是依次匹配的。核运算函数有关参参数的调整变化真实就是隐形地对核运算函数展开调整变化,从而对特点映射展开改变。此同时,调节控制车标数据信号特点分布空间的庞杂作用程度。车标数据信号分布空间的分布维数确定了数学线性∅的最高VC维,如果车标数据信号分布空间分布维数非常高,最优化∅庞杂度就会比较大,针对锻炼集辨别作用效果好但是兼容性能差;相反一样建立。这两大类实际状况下获取的SVM都不会对车标数据信号有优良的分类作用效果。从而要求明确恰当的核运算函数参数从而方便获取合适的车标数据信号分类分布空间,这样一来才能够获取车标分类作用功能好的SVM.惩戒系数C为判断SVM分类作用效果的又一个干扰影响系数。其最高作用是在明确的车标数据信号分布空间里转变SVM的置信分布区间与实践经验风险的相对大小,以进--步提升SVM的泛化作用功能。不相同车标数据信号分布空间的最优化系数数值有一定转变,在某一个的车标数据信号分布空间里,系数C的数值愈小可规避过模拟,但是辨别工作效率低;相反一样.建立。因此,针对本次研究课题所成立的车标数据信号数据信息集,为了获取辨别最终结果良好的SVM,明确恰当的选用-一个恰当的惩戒系数C非常重要。为使SVM的分类辨别及系数寻优更为快捷,出自中国台湾区域的林智仁等分析研究工作人员综合系统设计并且撰写了LBSVM操作应用软件数据库。Matlab应用平台支持LIBSVM操作应用软件数据库的研发和使用,svmtrain编辑语句可实现了对SVM的锻炼及其系数寻优。惩戒影响因子C的实际大小由svntrain编辑语句的“-c”项判断,默认数值为1。其它调参项如下表3.2所示。表3.2普遍常用核函数的系数项伴随着分析研究的深入、全面与建筑工程投资项目实践经验的累计,有关工作管理人员试图运用少数运算方法对SVM的系数展开转变与寻优。遗传运算方法及分布网格搜查法是比较典型的两大类模式。受自然选用理论思想的激发,科学研究行业领域逐渐探究出了全局优化提高运算方法,也就是遗传运算方法。GA随机形成富含一定量个体的车标数据信号SVM系数生物种群,对生物种群依作业环境(优化提高作用效果)展开自然选用、并且针对生物种群展开生物学转化,最后形成字代系数群体,持续往复,一直到实现了迭代更新,找到发现最为合理系数排列组合。流程图如3-4所示。图3-4基于GA的SVM系数优化提高工作流程分布网格搜查法是机器设备学习里最初始的优化提高运算方法,使用这类应用模式计算求解SVM的最优化系数点是一类作用效果优良的寻优模式,能够从数个系数分布维度对SVM展开优化提高。分布网格搜查运算方法的概念是把待寻优系数于限定的系数分布空间内区别为大小相同的分布网格,以后1次计算求解每一个分布网格相对应系数数值的实验模型锻炼作用效果。这个系数优化提高运算方法理论简易、容易编辑翻译。分布网格搜查法可应用在优化提高本次研究课题的实时动态车标支持SVM,其主要优势具体如下所示:(1)可以与此同时,对惩戒系数C、核系数2个系数数值展开遍历寻优,并且使两组系数互不干预,可完成并行连接搜查。(2)在SVM系数搜查作用范围相对明确的时候,互联网搜查损耗的有效时间比较少。(3)计算得知的最优化系数数值为系数分布空间的全局最优合理解,不容易导致SVM停驻于某一地区的系数解。但是分布网格搜查法缺点不足亦然非常显著,主要具体如下所示:(1)如果设立系数作用范围比较多的时候,寻优作用时间比较长。(2)假如实践经验问题不足,未限定恰当的系数寻优地区,相对其它系数寻优模式,不容易计算得知二拓扑组成结构SVM的最优化系数数值。不难得知,分布网格搜查运算方法事实上是一类穷举的模式。本次研究课题使用这个运算方法展开SVM寻优的基本工作流程为:(1)跟据实践经验明确惩戒系数C、核系数待搜查的作用范围。(2)固定各惩戒系数C、核系数检测步长,把惩戒系数C、核系数依步长离散分布化,沿着惩戒系数C、核系数的步长分别检测,分布网格里的离散的点与之对应不相同的系数数值。(3)在检测最终结果里,选用最为合理系数点作为SVM最为合理系数。其流程图如3-5所示。图3-5根据分布网格搜查运算方法的SVM寻优工作流程针对以数学线性核为核运算函数的SVM单系数优化提高矛盾问题,能够应用GA寻优,经一定数目的迭代更新之后,找到发现满足适合度最优等的惩戒影响因子C;而就多系数优化提高矛盾问题,GA和分布网格搜查法展开系数寻优各有优劣。分布网格搜查法常常固定了步长,在规定要求的控制范围里分别论证SVM的锻炼准确比例。对比于遗传运算方法,其论证了全局系数的SVM锻炼准确比例,不会落入局部最优势,并且SVM核运算函数普遍常用的系数作用范围不是尤其广,并且常常把系数取对数并且增长相对应步长分别论证,减少降低了锻炼作用时间,提升了论证工作效率。但是分布网格搜查法步长固定,在系数比较多的时候,其对数衰减作用的更加迅速,在不断前行一致的步长下系数增长幅度太大,在相邻的论证分布网格里,会发现不了2个分布网格间锻炼作用效果更为的系数点。分布网格搜查法的功能优势是能够宏观锁定“高原系数区”,如下3-6示意图所示黄色地区所示,但是在微观寻求局部“工作高峰系数点”上,也就是局部最优势上不具优势。图3-6分布网格搜查法对“高原系数区”的宏观锁定3.3信号采集的设计为了提高训练效果,加强准确率,收集的数据样本要尽可能多一些。本研究拟对100条车标图像实况采集和处理。(100个样本,80训练集,20测试集,4种车标)。自Matlab6.0应用版本起,MatlabGUI应用平台增添了机器设备操作控制箱(instrumentcontroltoolbox),主要目的在于为RS-232/RS-485通讯基本准则赋予有关的保障和支持,减少操作应用软件研发难度。经过在这其中,的serial有关命令指示、使用串行接口专属instrcallback()间断,可完成串行连接通讯,并且具备具体如下所示优势:(1)兼容支持很多种不同串行连接机器设备(RS-232,RS-422,RS-485)的链接和通讯;(2)二进制数据信息及信息文本(ASCII)数据信息两大类通讯模式都受支持;(3)支持异步通讯及实时同步通讯;(4)支持根据意外突发事件联动的通讯(亦称间断模式)。GUI应用平台的串行接口通讯仅将数据信号自动传输到PC处理终端,而其它作用功能都使用操作应用软件完成,所以使用GUI应用平台完成数据信息预先处理等作用功能较经济实用旧有传统类型的串行接口通讯操作应用软件要简约,如果需要增添某一项作用功能,仅仅需要增添一个程序代码功能模块就可以完成,而不需要转变通讯机器设备的链接与操作应用软件结构。Matlab对车标数据信号的收集整体上是使用serialU命令指示实现了,通常包括:4个操作应用步骤:(1)创立串行接口或者通讯机器设备并且设立其特征属性;(2)开启串行接口或者通讯机器设备;(3)获取串行接口或者通讯机器设备数据信息;(4)关停串行接口或者通讯机器设备。MatlabGUI页面绘制设计好之后,会按照数据信息收集页面里绘制设计的构件把程序代码划分成为不相同的function功能模块,产生初步基本上的程序代码结构,不相同的function相互之间波及影响到系数实时共享矛盾问题,也就是全局变化量,本次研究课题数据信息收集体系涉及到的全局变化量如下图3-7所示。图3-7数据信息收集体系全局变化量部分本研究运用的功能模块,其名称及功能如图3-8所示。图3-8GUI页面图的区域名称及表现主要内容在MATLAB按钮的Callback函数下进行编译。但在这个过程中可能出现数据异常或是溢出。所以在信号采集时需注意信号是否会发生过度饱和,若有数据溢出,则该数据无效,如果未出现这种情况,则可以继续下一步。3.4数据库的生成和训练本研究运用Python中的Kears安装TensorFlow进行深度学习,再利用已有的VGG模型加以修改,如图3-9所示,data为数据集,model是要学习得到的车标模型。Vgg-16总共有16层,其中13个卷积层和3个全连接层,要经过一次64个卷积核卷积,1次128个的卷积,2次3个512个的卷积,多次池化,要经过三次全连接,整合所有的目标特征,得到模型。VGG网络图形如图3-10所示。以下是关于利用神经网络训练和调用函数的分析。图3-9引入VGG模型图3-10VGG16模型神经网络训练的本是底层采用了正向传播和反向传播来不断地更新每一层的权重,试其输出的结果更加接近样本标签的值。而整个神经网络学习的就是从输入到输出的映射,给出输入,通过学习能够以最小误差去计算出输出。无论是在回归还是分类的模型中,有监督的学习就是这个过程。神经网络的激活函数的选择,在不同的神经网络层之中采用不同的激活函数的原因是因为:神经网络的本质就是找到输入和输出的关系,因此仅仅靠权重的线性组合并不能真正的帮助机器去学习到这个过程,并且在绝大多数的情况下神经网络的输入和输出是呈现非线性的关系,因此如果一个神经网络只有线性的部分,那么其神经网络的功能仅仅是学习简单的线性组合的关系,而不能学习到非线性的关系,因此为了保证神经网络在学习的过程中能够学习到非线性的过程,因此在每一层的输出后加上响应的激活函数为了保证非线性。而激活函数的种类常见的有sigmoid,relu,tans,softmax等等。首先是Sigmoid函数,定义如图3-11所示。它的值的区域是在(0,1)之间,因此在做一些分类的任务的时候常常在最后一层加上sigmoid函数来将结果均匀的分布到0-1之间因为分类任务的输出都是在0-1之间的。但是sigmoid函数的梯度变化在趋近于0或者1的时候是接近0的,因此在反向传输更新系数的时候在这种情况下容易发生梯度消失的现象从而无法反向更新权重。其次是Relu函数在x<0的时候Relu函数的值为0,在x>0的时候Relu函数的值是线性增长的,因此和sigmoid激活函数相比,Relu函数不会发生梯度消失的现象并且其梯度的值要远远大于sigmoid和tan激活函数因此Relu函数常常用在中间层作为激活函数,在本次毕业设计所用到的VGG网络中,除了最后一层用到的是softmax作为激活函数之外,中间层用到的都是relu函数。最后是tan激活函数,其形状和sigmoid函数一样,但是该函数是关于原点对称的,因此和sigmoid函数相比其更能够加快梯度的更新,而不会发生一上一下的现象,因为图片的数据是-128~128之间更加符合tan函数的要求。图3-11sigmoid函数用卷积神经网络对收集的训练集进行车标的特征提取,在池化层中精确提取特征。池化层的作用是进行数据的降维操作。我们在进行特征提取的误差主要来自两个方面:(1)是邻域大小受限造成的估计值方差增大;(2)是卷积层参数误差造成估计均值的偏移。此时我们通常是选取某个区域的最大值或均值来代替整个区域。本次设计采用的是max-pooling,也就是最大值池化,它减小上述所说的第二种误差,从而更多的保留了纹理信息。最后全连接层将各个数据和特征进行整合,最终产生几种分类,形成数据库,也就是车标库。图3-12为池化操作。图3-12-1初次池化图3-12-2再池化3.5采集后的处理分析由于实验的一些局限性,本次数据库的训练设计直接将图片放入VGG模型下的学习库中进行识别。以下是用的另一组图片集,在理想状态下拟采用的对原始图像信号进行的处理操作,我们对其数据进行分析。将原始图像信号数据储存后,在Matlab中分别将原始信号、全段和分段FFT处理的信号作为数据集,通过二拓扑的SVM实行分类。表3.3线性核分类结果SVM1SVM2原始数据0.7850.550全段FFT0.8750.705分段FFT0.9000.950表3.4多项式核分类结果SVM1SVM2原始数据0.7250.800全段FFT0.6750.750分段FFT0.8500.985由此表3.3和3.4可以得到,从用线性核和多项式核的方式分类结果表明,分段FFT产生的分类效果更好。而用SVM进行分类时,核函数的选取对结果有重要的影响。我们需要尝试SVM分别在线性核,多项式核,高斯核和sigmoid核下进行训练。实验尝试了不同核函数,发现不同的核函数对于不同SVM的锻炼能力不相同,因此在实际操作中,需要根据不同情况,选取和匹配可达效果最好的核函数。前文提到,为了使SVM的线性分类具有一定容错率,我们引入了“软间隔”。部分函数如下图3-13所示。其中C为一个大于零的惩罚因子,表示对那些脱离群体的点的一种重视程度,惩罚因子越大,表示那些点越重要,则在实验中越不能将这些点舍弃,但从另一方面来说,分类也会更严格,对错误的容忍度也越低。因此在运用SVM分类时,也要通过尝试选用分类方法能达到准确率高的惩罚因子。图3-13惩罚因子相关函数4总体车标检测软件设计本次研究希望能形成一个完整、实时的自动化车标检测系统,所以我们做的首先就是图像的采集工作,然后经过图像的预处理、阈值的选取、分割,对输入信号加工完成形成更为优质的信号后,再直至进行模式识别,最后对车标的精确识别。该系统主要包括几个功能模块:车标图像实时采集、图像预处理、阈值选择、图像测量、车标自动检测,其操作如下图4-1所示。图4-1过程4.1车标的实况收集实际操作中直接可摄像头或是相机的拍摄和捕捉,另外从网上寻找部分图片,并将信号向下传输。设计拟用采集图像的一些传感器。4.2车标预处理要将采集的图像信号进行预处理来除燥,比如:去掉一些偏远的点和调整亮度。例如图4-2所示。图4-2初始图像及调整后图像图像信号预处理过后,如图4-3所示,灰度被拉伸了一些。050100150200250050100150200250直方图直方图像素值300025002000150010005000050100150200250像素值300025002000150010005000图4-3调整前后对比4.3阈值选取极限值的选取对提取信息采集十分关键,以下采取通过图像的灰度直方示意图来得到极限值,如图4-4所示。灰度值灰度值直方图050100150200250050100150200250直方图像素值6000500040003000200010000像素值6000500040003000200010000灰度值图4-4滤波前后的灰度直方示意图4.4图像勘测(1)车标尺寸与坐标的确定通过极值选取,进行二值化的运算处理,有助于得到整个信息数据,如图4-5所示。图4-5处理后的图像图4-6坐标图由图4-6所示,可得:那么,可得车标的圆心分布坐标,其分布曲线依次如图5-7所示。01002003004005006007008000100200300400500600700800图像宽(Y)图像数据图像高(X)60050040030020010000100200300400500600700800图像数据图像宽(Y)图像高(X)6005004003002001000图4-7数据曲线在实际的图像中经常会存在各种干扰,图像信号最佳态,因此我们在扫描时,必须找到干扰信息并减小误差,在图4-7中我们就可以更加直观地进行显示。一旦找到了含有此误差的测定值,就要把它们从测定结果中删除。若设被测量的真数值为,一系列测得值为,则测量列中的随机有效误差为上式中正态分布的分布密度为:上式中——标准差;——自然对数的底。-1-0.500.51-1-0.500.512.521.510.50-0.5图4-8误差曲线综上所述:由误差曲线可得数值愈小,则的系数的绝对值愈大,降低得愈快,分布曲线变陡。同时降低愈慢,分布曲线平坦。误差曲线如图4-8所示。相同准度下,单次测量的标准差如下:式中、、、分别表示测试次数(很大)、真值之差、残差、均值。图4-9半径计算由圆心坐标,再进行去除粗大误差后,通过自动扫描的数据就可计算车标的半径,如图4-9所示。为图像有效宽度,为的个数。(2)判断判断采集的样本是空心还是实心。图像宽(X)0100200300400500600700800经过圆心扫描的原始图像数据灰度值300250图像宽(X)0100200300400500600700800经过圆心扫描的原始图像数据灰度值300250200150100500图像宽(X)0100200300400500600700800经过阈值分割之后灰度值6005004003002001000图像宽(X)图像宽(X)0100200300400500600700800经过圆心扫描的原始图像数据灰度值300250200150100500图像宽(X)0100200300400500600700800经过阈值分割之后灰度值6005004003002001000图4-11圆片结合图4-10、4-11能得出,当检验对象是圆环形,在O附近会有明显间断;而圆形片没有这种情况。模拟操作如图4-12所示:图4-12模拟扫描过程但因为图像类似于一个矩阵,需要将它转化为直角坐标系,(车标中心为坐标原点)在转化到图像矩阵中,为其中,和依次是车标圆心的横纵坐标。再当逐个扫描每个像素碰到灰度突变的时候,记下和:020406080100弧度020406080100弧度按弧度计算的内圆半径大小半径大小200180160140120100806040200弧度020406080100半径大小200180160140120100806040200按弧度计算的内圆半径大小图4-13前后对比最后,扫描结束,得到数据曲线如图4-13所示;将扫描到的数据进行处理,除掉偏差较大的数据,计算内径大小。(3)光圈计算图4-14去光圈在检测中,因为某些原因,部分光线会进入摄像系统,从而形成光圈,例如4-14所示,这样会影响图像的检测。所以须处理光圈从而能得到理想数据。图4-15光圈扫描其扫描过程如下:首先,如图4-15所示,原理同上;在转化到图像分布矩阵中,为根据判断方案来确定是扫描圆环还是圆片,再依据所检形状适当提高图像的处理速度。测试集晶过预处理、去除光圈,用合适的取值分割图像信息数据,再运用膨胀等方式,就可以把车标信息提取出来。4.5车标检测对车标进行检测,首先必须确定经过处里后的图像是否有车标,如果没有,则车标无车标。如果有车标,则车标是否是独立的车标,图像中有几个车标,需要对不同的车标进行标识。设已经分割出的二值图像,如果在检测过程中碰到车标上一点,则它的上方和左边邻近点必然是已经标记过了的点,对该点加标记的方法是由左点及上点来确定的,会有几种情况。如图4-16所示,(图中A,0分别表示车标和车标以外的部分。)图4-16原图像依据上述原则,在首次扫描后对车标进行标记,如图4-17所示,标记1-N(N是大于1的正整数),我们会发现同一车标可能会产生多种标记,因此需重复扫描操作,如果达到四连通原则,就可以进行统一整合了。如图4-18所示。图4-17扫描示意图图4-18标记图4.5.1二值图像法利用二值图像法,每一个区域都是同一像素连成的,从而我们通过标记这些区域,获取区域的数目。如图4-19的示例所示,图中有A、B、C三个不连通的车标。图4-19标识区域经处理后,可得标记后的图像。4.5.2对小区域的消除如果某个区域的面积过小,在一定阈值以下,则该区域不是所需要采集的空间区域,要清除掉整理后,再来形成新的图像,示意如图4-20。图4-20去掉小面积的区域4.6车标识别通过以上处理,从原始图像中提取出了含有车标的图像信息,得到了初步目标车标。但由于车标表面车标图像不同特征之间有一定关联,输入图像也可能存在车标信息不全的问题,这里可用二叉树分类的方法,减少识别的混乱与复杂程度,如图4-21所示。图4-21二叉树表示多次反复后,将已经处理好的输入图像交于已搭建的VGG模型下的车标数据库进行学习比对,最终完成整个车标识别过程。5实验结果及分析5.1实验数据数据集存放在各自的路径中,用训练集的数据进行训练,测试集的数据进行测试,如下图所示,本次毕业设计中所采用最后的结果是4分类,测试集中100张图片的成功率达到97%,结果如下图所示,将输入的图片用openCV中的cv2.show函数展示出来,然后将其扩维并且做图像预处理除以255以及减去128,将预处理得到的图像送入到已经训练好的神经网络之中,得到输出,因为输出是独热矩阵,因此从输出的结果中找到最大值的那一列,根据该列的列数在字典中查找,该列所对应的键值。测试过程如下图5-1所示。图5-1测试过程输出值如5-2所示。图5-2输出结果静态识别(即清晰完整车标)结果如图5-3-1至图5-3-4所示。从网络中选择出宾利和宝马的车标,均能识别。选取以车标为图片主题(少量其他外因影响)的图片时,识别率还比较高。选取自然状态下,含有车标的图片进行检测,识别率有待提高。图5-3-1宾利车标图5-3-2识别出宾利车标图5-3-3宝马车标图5-3-4识别出宝马车标动态采集样本(还未实现)拟用捕捉的完整车标图像20张、不完整不规则得车标图片20张、车标占图片总体率较低的20张、重复叠加的(有多中)车标的图片放入车标检测系统进行车标的检测和识别,经多次反复实验,记录数据和结果。5.2实验分析由完整清晰的车标网图做验证集,得到的准确率达到90%,说明数据集的训练效果还不错。但如果有大量车标以外的因素干扰进行识别,则还需进一步对数据集进行更深层次的训练,并优化对前期输入信号图片的处理过程。而再动态捕捉的图像中,则需要提高获得的图像质量和寻找更优的图像处理算法来提高处理输入信号图像,最后送往数据库中,从而提高检出效率和辨认度。总结本研究紧跟机器识别方向的热点,通过图像和数据处理形成数据集,结合fft对车标信号的数据进行处理,再搭建VGG神经网络和SVM模型,用CNN和SVM算法对车标集训练,建立车标数据库,最终在静态和动态下都能实现机器对于车标的识别。通过此次研究,让我能更深入了解机器学习、图像处理和神经网络,同时也加深了对Matlab和Python中的各个模块(例如OpenCV、Kears和TensorFlow)的认知。而车标识别作为车辆识别系统乃至智能交通系统的重要组成部分,具有极大的社会意义和价值,未来还可能在其他领域发挥更多的作用。参考文献[1]赵小川,赵继鹏,范炳远,郝丽丽.车标识别技术研究综述与应用展望[A].中国高科技产业化研究会智能信息处理产业化分会、中国高科技产业化研究会信号处理专家委员会.第十一届全国信号和智能信息处理与应用学术会议专刊[C].中国高科技产业化研究会智能信息处理产业化分会、中国高科技产业化研究会信号处理专家委员会:中国高科技产业化研究会,2017:4.[2]武霞,张崎,许艳旭.车标识别研究发展现状综述[J].电子科技,2013,26(06):171-174.[3]冯志全,蒋彦.车标识别研究综述[J].济南大学学报(自然科学版),2013,27(04):336-341.[4]JingLiu,Kavakli,M..Asurveyofspeech-handgesturerecognitionforthedevelopmentofmultimodalinterfacesincomputergames[P].MultimediaandExpo(ICME),2010IEEEInternationalConferenceon,2010.[5]杨文灵.基于情境意识的智能汽车人机交互设计研究[D].湖南大学,2017.[6]王丹蕾.听力言语障碍辅助器具设计研究[D].华东理工大学,2016.[7]庞雷,陈启祥.人机交互动态车标轮廓提取仿真研究[J].机械设计与制造,2019(01):253-256.[8]卢畅畅,宁少文,唐德昌.光学字符识别技术(OCR)的研究于应用[J].中国战略新兴产业,2018(28):1-3.[9]黄佑佳,刘洪海.基于B型超声的在线车标识别[J].传感器与微系统,2018,37(07):70-72.[10]杨晋芳,卫建华,刘琪,齐攀.基于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论