基于深度学习的车辆型识别.docx
《基于深度学习的车辆型识别.docx》由会员分享,可在线阅读,更多相关《基于深度学习的车辆型识别.docx(28页珍藏版)》请在冰豆网上搜索。
![基于深度学习的车辆型识别.docx](https://file1.bdocx.com/fileroot1/2023-4/20/cde516b8-ace9-4a8a-a877-4fa40590fad6/cde516b8-ace9-4a8a-a877-4fa40590fad61.gif)
基于深度学习的车辆型识别
ThismodelpaperwasrevisedbyLINDAonDecember15,2012.
基于深度学习的车辆型识别
基于深度学习的车辆型号识别
摘要
随着智能交通的发展,车辆型号的识别受到越来越广泛的关注,它能够为个人,企业和政府的车辆使用以及监管提供诸多遍历。
因而,如何设计高效算法,对车辆型号进行识别和分类,受到了学术界和工业界的广泛关注。
本文主要如何利用深度学习的方法进行车辆型号的识别和分类。
首先,介绍了车型识别的应用背景和深度学习的基本理论。
之后,为了进行目标识别,我们介绍了常用算法,分析比较了作为图像特征提取常见的算法,总结归纳了他们性能,精度以及相互之间的关联。
之后,介绍了在目标识别工作中基本算法,阐明了各种方法的特点和适用场景。
之后,我们以深度神经网络为理论依据,分析比较了深度神经网络不同的特征学习方法,并分析了如何使用卷积神经网络训练参数。
我们分析比较不同特征学习方法的特点选取k均值聚类算法作为本文使用的特征学习方法,利用卷积神经网络结构搭建深度学习模型。
、
本文采用大量实测数据作为仿真数据,以确保实验的有效性。
同时,基于相同的实测数据我们适用改进SIFT特征匹配算法和深度学习算法进行车型识别。
实验结果表明,深度学习算法的准确率高达90%,相对于SIFT匹配算法,深度学习算法的车型识别的准确率大大提高。
基于上述仿真结果,我们的到了深度学习算法适用于车辆型号识别领域的结论。
关键词:
k均值聚类,深度学习,卷积神经网络,尺度不变特征变换,支撑向量机
Abstract
Withthedevelopmentofintelligenttransportation,therecognitionofvehiclemodelispaidmoreandmoreattention.Itcanprovidemanyergodicforvehicleuseandsupervisionofindividual,enterpriseandgovernment.Therefore,howtodesignefficientalgorithmstoidentifyandclassifyvehiclemodelshasattractedwideattentionfrombothacademiaandindustry.Thispapermainlydiscusseshowtousedepthlearningmethodtoidentifyandclassifyvehiclemodels.
Firstofall,theapplicationbackgroundandthebasictheoryofdepthlearningareintroduced.Afterthat,inordertoidentifyobjects,weintroducethecommonalgorithms,analyzeandcomparethecommonalgorithmsforimagefeatureextraction,andsummarizetheirperformance,accuracy,andthecorrelationbetweenthem.Afterthat,thebasicalgorithmsintargetrecognitionareintroduced,andthecharacteristicsandapplicationscenariosofvariousmethodsareclarified.Then,weanalyzeandcomparethedifferentfeaturelearningmethodsofdepthneuralnetworksbasedonthedepthneuralnetwork,andanalyzehowtotrainparametersusingtheconvolutionalneuralnetwork.Weanalyzeandcomparethecharacteristicsofdifferentfeaturelearningmethods,selecttheKmeanclusteringalgorithmasthefeaturelearningmethodusedinthispaper,andbuildadeeplearningmodelbyusingthestructureofconvolutionalneuralnetwork.
Inthispaper,alargeamountofmeasureddataisusedassimulationdatatoensurethevalidityoftheexperiment.Atthesametime,basedonthesamemeasureddata,weapplytheimprovedSIFTfeaturematchingalgorithmanddepthlearningalgorithmforvehiclerecognition.Experimentalresultsshowthattheaccuracyofthedepthlearningalgorithmisashighas90%.ComparedwiththeSIFTmatchingalgorithm,theaccuracyofmodelrecognitionisgreatlyimprovedbydepthlearningalgorithm.Basedontheabovesimulationresults,ourdepthlearningalgorithmisapplicabletothefieldofvehiclemodelrecognition.
深度学习算法设计
基于SIFT特征匹配的车型识别仿真
基于深度算法的车型识别仿真
结果分析以及算法对比
1.绪论
.研究背景及意义
因此,智能交通系统(IntelligentTransportationSystem,简称ITS)[1-3]是未来交通系统的发展方向,它是将先进的信息技术、数据通讯传输技术、电子传感技术、控制技术及计算机技术等有效地集成运用于整个地面交通管理系统而建立的一种在大范围内、全方位发挥作用的,实时、准确、高效的综合交通运输管理系统。
车辆身份识别[5-6]系统是智能交通的重要分支,它需要人工智能、图像处理、计算机视觉、模式识别等相关技术的综合应用。
目前国内的车牌识别技术已经日益成熟,随着智能交通技术应用的不断加深,工业界迫切希望提取更多元的车辆信息,除车牌号码外,还需要车辆的厂牌、型号以及颜色等信息特征。
这些特征在停车场无人管理、交通事故处理、交通肇事逃逸、违章车辆自动记录等领域具有广泛而迫切的应用需求。
机动车厂牌型号识别技术分为多个环节,一般是通过对摄像机采集的数字图像进行去噪、增强、车标定位、特征提取、识别等分析完成。
为了得到较高的识别率,要求每一个处理步骤要有很高的准确率,而实际背景复杂,四季、昼夜、晴雨等不同情况的光照以及车辆运动速度的快慢等直接影响车辆图像的成像环节,造成车辆图像颜色失真、车身及车标区域灰度不均匀、边缘模糊、粘连等问题,增加了处理难度;反光、逆光、夜晚光照不足、树荫、车身颜色显着区域分布位置不同等情况又增加车身颜色识别难度;再加上车辆类别繁多以及车身本身的污损、遮挡、模糊,也为进一步提高识别率带来诸多困难。
针对诸多问题,工业界一般采用了国际先进的人工智能、计算机视觉、图像处理、模式识别、大数据训练、深度学习等等技术来,通过从视频流中检测车辆、车头区域的定位、变形和倾斜校正、去除运动和成像造成的模糊、车辆特征的定位和识别、海量特征的选取和决策等多个环节来实现。
在系统的设计和实现过程中,工业界开发应用了当今国际上最先进的计算机视觉技术,并通过超百万的大数据学习样本进行训练,大量实地数据的系统调整和测试,还采集了描述车头、车灯、散热格栅等各个部分的外形轮廓、相对位置、颜色、纹理等多种特征,组成了海量的辅助分类信息,与厂牌型号识别的结果一起最终通过可在线学习的特征决策模块,得到综合可信度评价,从而得到最终的识别结果。
浩瀚如海的大数据,结构复杂,种类繁多,单纯依靠人力定义的过程无法处理这海量数据。
于是我们采用基于模仿人类神经网络的人工智能算法,让机器从海量数据当中自我学。
深度学习的实质,就是通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。
我们通过利用大数据来深度学习各类信息、特征,更能够刻画数据的丰富内在信息。
从而得出更多元更精准的厂牌型号及其他信息。
.深度学习简介
深度学习[7-10]领域的学术研究可以包含四部分:
优化(Optimization),泛化(Generalization),表达(Representation)以及应(Applications)。
除了应用(Applications)之外每个部分又可以分成实践和理论两个方面。
首先我们介绍优化部分。
深度学习的问题最后似乎总能变成优化问题,这个时候数值优化的方法就变得尤其重要。
从实践方面来说,现在最为推崇的方法依旧是随机梯度递减,这样一个极其简单的方法以其强悍的稳定性深受广大研究者的喜爱,而不同的人还会结合动量(momentum)、伪牛顿方法(Pseudo-Newton)以及自动步长等各种技巧。
此外,深度学习模型优化过程的并行化也是一个非常热的点,近年在分布式系统的会议上相关论文也逐渐增多。
在理论方面,目前研究的比较清楚的还是凸优化(ConvexOptimization),而对于非凸问题的理论还严重空缺,然而深度学习大多数有效的方法都是非凸的。
现在有一些对深度学习常用模型及其目标函数的特性研究,期待能够发现非凸问题中局部最优解的相关规律。
之后我们介绍泛化过程。
一个模型的泛化能力是指它在训练数据集上的误差是否能够接近所有可能测试数据误差的均值。
泛化误差大致可以理解成测试数据集误差和训练数据集误差之差。
在深度学习领域变流行之前,如何控制泛化误差一直是机器学习领域的主流问题。
从实践方面来说,之前许多人担心的深度神经网络泛化能力较差的问题,在现实使用中并没有表现得很明显。
这一方面源于大数据时代样本巨大的数量,另一方面近年出现了一些新的在实践上比较有效的控制泛化误差(Regularization)的方法,比如Dropout和DropConnect,以及非常有效的数据扩增(DataAgumentation)技术。
是否还有其它实践中会比较有效的泛化误差控制方法一直是研究者们的好奇点,比如是否可以通过博弈法避免过拟合,以及是否可以利用无标记(Unlabeled)样本来辅助泛化误差的控制。
从理论方面来说,深度学习的有效性使得PAC学习(ProbablyApproximatelyCorrectLearning)相关的理论倍受质疑。
这些理论无一例外地属于“上界的上界”的一个证明过程,而其本质无外乎各种集中不等式(ConcentrationInequality)和复杂性度量(ComplexityMeasurement)的变种,因此它对深度学习模型有相当不切实际的估计。
这不应该是泛函理论已经较为发达的当下出现的状况,因此下一步如何能够从理论上分析深度学习模型的泛化能力也会是一个有趣的问题。
而这个研究可能还会牵涉表达(Representation,见下)的一些理论。
表达主要指的是深度学习模型和它要解决的问题之间的关系,比如给出一个设计好的深度学习模型,它适合表达什么样的问题,以及给定一个问题是否存在一个可以进行表达的深度学习模型。
这方面的实践主要是两个主流,一方面那些笃信无监督学习(UnsupervisedLearning)可行性的研究者们一直在寻找更好的无监督学习目标及其评价方法,以使得机器能够自主进行表达学习变得可能。
这实际上包括了受限波尔兹曼模型(RestrictedBoltzmannMachine),稀疏编码(SparseCoding)和自编码器(Auto-encoder)等。
另一方面,面对实际问题的科学家们一直在凭借直觉设计深度学习模型的结构来解决这些问题。
这方面出现了许多成功的例子,比如用于视觉和语音识别的卷积神经网络(ConvolutionalNeuralNetwork),以及能够进行自我演绎的深度回归神经网络(RecurrentNeuralNetwork)和会自主玩游戏的深度强化学习(ReinforcementLearning)模型。
绝大多数的深度学习研究者都集中在这方面,而这些也恰恰能够带来最大的学术影响力。
然而,有关表达(Representation)的理论,除了从认知心理学和神经科学借用的一些启发之外,几乎是空白。
这主要是因为是否能够存在表达的理论实际上依赖于具体的问题,而面对具体问题的时候目前唯一能做的事情就是去类比现实存在的智能体(人类)是如何解决这一问题的,并设计模型来将它归约为学习算法。
我直觉上认为,终极的表达理论就像是拉普拉斯幽灵(Laplace'sDemon)一样,如果存在它便无所不知,也因此它的存在会产生矛盾,使得这一理论实际上只能无限逼近。
最后,我们介绍深度学习的应用。
深度学习应用广泛,主要包括语音识别和视觉处理。
2009年,Hinton把深层神经网络介绍给做语音识别的学者们。
然后2010年,语音识别就产生了巨大突破。
本质上是把传统的混合高斯模型(GMM)替换成了深度神经网络(DNN)模型,但相对识别错误率一下降低20%多,这个改进幅度超过了过去很多年的总和。
这里的关键是把原来模型中通过GMM建模的手工特征换成了通过DNN进行更加复杂的特征学习。
在此之后,在深度学习框架下,人们还在不断利用更好的模型和更多的训练数据进一步改进结果。
现在语音识别已经真正变得比较成熟,并且被广泛商用,且目前所有的商用语音识别算法没有一个不是基于深度学习的。
.本文主要工作及篇章结构
本文研究内容主要包括,1)介绍车辆型号识别现状和深度学习理论,提出改进方法;2)研究将深度神经网络引入目标识别和分类问题中的具体方法;3)研究了卷积神经网络的构建方法和训练方法;4)提出针对车型识别的卷积神经网络模型,并通过实验证实该模型在车辆型号分类上的效果;5)与改进的SIFT特征匹配分类方法进行对比
本文分为四个章节:
第一章主要介绍了车辆检测和识别的应用背景和目前该领域存在的主要问题和挑战,阐述了研究车辆型号识别的目的和意义,并对当前现有的智能交通系统做了介绍,比较各种车型分类识别的方法,介绍深度学习在特征提取和文字识别上的发展状况,提出车辆分类算法新思路。
第二章对当前的车辆分类特征和算法做了详细的描述。
分析各种特征之间的优势和劣势,并对主流的粉类算法的思想做了描述和总结,分析了每类算法的优点和缺点,这些理论研究,可以帮助我们设计基于卷积神经网络的车辆识别算法。
第三章介绍了车型识别算法。
我们使用SIFT特征匹配算法和深度学习算法进行车载识别。
我们首先介绍了原始SIFT特征匹配算法,分析该模型适用场景和局限,并给出了改进算法。
在改改进算法中,我们使用密集采样保证识别精度。
之后我们介绍了深度学习算法的理论,并给出基于深度算法的车型识别模型,并设计了算法流程。
第四章使用计算机进行仿真。
我们采用大量的实测图片和数据作为基准,分别验证了SIFT特征匹配算法和深度学习算法在车型识别中的效果。
最后,我们对比了这两种方法的仿真结果。
2.目标识别算法综述
传统的目标识别主要是利用一种或多种特定的特征去表示图片中目标物体区域,然后利用分类器对所得的特征向量进行分类,车辆型号的识别其实就是目标识别的对象为车辆,方法流程基本一致。
物体的轮廓线条是可以描述目标特征的全局特征,但是在尺度变换、旋转变换之后变化很大,从而表达能力发生变化。
而局部特征由于在一定程度上对尺度和旋转的变化具有鲁棒性,所以作为描述图片的特征更有优势。
SIFT特征的设计及描述方法,并对最常用的机器学习分类器做简单的阐述。
机器学习的核心问题就是让计算机模拟人类大脑工作,为此科学家们构建出人工神经网络模型,算法在提供初始条件后自主从数据学习新知识,不断增强自身的学习和理解能力。
深度学习的提出给神经网络的学习能力带来了飞跃。
本章会介绍深度学习相关研究,为后文建立基于卷积神经网络进行车型识别提供理论依据。
.基于机器学习的分类算法
在本章中,我们介绍机器学习的相关分类算法,主要包括K近邻算法(Knearestneighbor,KNN)[11-13]和支撑向量机算法(SupportVectorMachine,SVM)[14-15]。
K近邻(Knearestneighbor,KNN)作为数据挖掘的十大经典算法之一也在图像分类中用的很多,大多数基于特征匹配的分类算法都需要用到KNN或者他的变形。
K近邻是从最近邻算法发展而来的,在最近邻算法中,计算测试样本到所有训练样本的距离,找到距离最近的样本所属类别作为分类结果。
K近邻则是寻找K个最近邻样本,然后让K个样本进行投票决定测试样本点所属类别。
在目标分类领域,关键点特征匹配加上K近邻的方式非常常用,效果也不错,特别是标记样本数据不充足的时候比基于分类的方法可靠性更高,但是其缺点也很明显,需要存储大量数据,并且计算量也很大。
为了优化计算也出现了K-dtree、VOCtree[40,41]等优化算法。
支撑向量机(SupportVectorMachine,SVM)使用线性划分的方法。
对于不能线性划分的样本,算法寻找映射函数将数据从低维空间映射到一个高维空
间,要求在该高维空间中数据线性可分,最后在高维空间中则可以用超平面进行样本分类。
另外,SVM还要求最后得到的判决面是最优的,即所得判决面两侧离判决面最近的样本到超平面距离最大。
设训练样本为:
,
表示样本特征向量,
表示样本的标签取值为
若存在超平面:
(2-10)
则样本线性可分,因此两类的间距可以表示成
,因此为了得到最优判决平面就要对类间距进行优化,求解最优判决平面的问题转化为下面这个规划问题:
(2-11)
然后用拉格朗日法将上述问题转化为对偶的二次规划问题:
(2-12)
优化后求解得到:
(2-13)
得到决策函数为:
(2-14)
根据判决函数值的正负来确定样本是正样本还是负样本。
当样本线性不可分的时候,有两种方式解决这个问题,第一种方式是采用非线性
的核函数,将低位空间线性不可分的样本投影到新的空间,使数据在新的空间中线性
可分。
因此,判别函数变为:
(2-15)
不同的核函数会带来不同的分类效果,但是还没有很好的理论方法去指导核函数的选取,只能通过实验的方式选择合适的核函数。
另一种方法:
引入松弛变量解决线性不可分问题,将线性约束变为:
(2-16)
当样本分错的时候
大于0,分正确怎为0;优化的目标函数变为:
(2-17)
为惩罚因子,取值越大表明样本越重要,因此,该样本被分错会得到更大的惩罚。
此时优化约束也发生改变,变为:
(2-18)
上面讨论可以看到SVM是针对二类问题设计的,但是现实中分类往往是多类问题,利用SVM解决多类问题一般有两种方法[43,44]。
第一种是针对多类问题中的每两个类都训练一个二类分类器,这样若是一个k类问题则需要训练
个分类器,虽然这种方法简单易扩展,但类别很多的时候会需要大量分类器,会有不可分的区域;另一种方法是针对每一个类跟剩下所有其他类间训练二类分类器,则k类问题则需要训练k个分类器,这种方法需要的分类器少,但对每个类的训练过程复杂类别改变的时候不易扩展,也同样存在不能区分的区域。
虽然SVM存在计算复杂以及一些识别能力的局限,但总的来说与其他机器学习的分类方法相比还是具有明显的优势。
本文的车型识别方法也将会用到SVM分类器,并将它与卷积神经网络相结合。
神经网络算法
神经网络(ArtificialNeuralNetworkANN)[18-20]是受动物中枢神经系统的启发所设计的一种具有机器学习和模式识别功能的数学模型。
一般是由一组互相连通的“神经元”组成。
每个“神经元”都有自己的激励函数,它接受其他节点传来的信号,并将信号用自己的激励函数处理后传递给下一级。
根据激励函数的形式不同神经元分为:
线性神经元、二进制阈值神经元、修正的线性神经元、Sigmoid函数神经元等,它们的工作原理大同小异,总的归纳起来,神经元工作原理如图2-5所示,首先将所有输入进行加权求和,并加上一个偏置并加上一个偏置b,然后用激励函数处理得到该神经元的输出。
将神经元以一定的方式连接组合就得到了人工神经网络,图2-6所示的是最为普遍的前馈神经网络模型。
它由一个输入层(input)、一个隐藏层(hidden)和一个输出层(output)组成,每一层的节点激励值都是由其前一层与之相连的节点计算得到的。
除了前馈神经网络,还有循环神经网络,这种网络具有环路,它更贴近生物大脑的工作原理但是训练困难;另外还有对称神经网络,它的每个连接都是双向的,包含隐藏层的对称神经网络就是玻尔兹曼机,虽然比不上循环神经网络的学习能力,但是具有简单易学习等优势,因此应用十分广泛。
深度学习就是利用一些方法去构建一个含有多层隐藏层的人工神经网络,网络的每一层都对应着原始数据不同层次的数学抽象,从而达到用特征向量描述图像的目的。
在讨论深度学习的具体方法之前,首先要明确两个概念:
有监督学习和无监督学习。
所谓有监督学习,是指给定了训练样本数据(data)的同时也已知样本经过学习后的目标值,比如我们进行车辆型号分类的时候给出了一组车辆图片,也给出每张图片对应车辆的型号。
一般这些目标值是由人工标记或给出的真值(GroundTruth),也称为样本标签(label)。
常见的有监督学习形式有:
回归和分类。
回归就是要对数据及其标签进行拟合,找到使得下面的函数值最小的函数曲线。
卷积神经网络算法
深度学习有多种学习结构,主要分为三类:
第一种是生成型的深度结构,其代表有深度置信网络(DBN)[21]:
它由一系列限制型玻尔兹曼机组成,主要能解决多层神经网络在学习的过程中:
标签数据需求量大、收敛速度慢和陷入局部极值等问题。
由于其学习的是观测数据和标签的联合概率,所以对先验概率和后验概率都可以进行估计。
第二种是区分型模型,下一章使用的卷积神经网络就是其代表,其结构不同于第一类模型,只能对后验概率进行估计,适合应用在识别和分类问题中。
生成型结构用于分类问题的时候,可以在后面使用区分型的结构进行参数优化。
因此得到第三类——混合型结构,它是将上述两种结构用合适的方式组合起来。
卷积神经网络在计算机视觉上的应用已经相当广泛,利用卷积神经网络对图像进行特征提取并且在场景标记中取得较好的效果;另外也有把这种方式应用在机器人视觉上的研究。
它根据视觉原理定义局部视觉感受域,这个感受域是图像的一个个小区域