基于卷积神经网络的车辆检测毕业论文
2020-02-19 07:56:33
摘 要
车辆目标检测是智能车辆视觉系统重要内容之一。目前智能车辆视觉系统主要以行人和车辆目标为研究对象。然而,当前大多数车辆目标检测算法均使用传统几何特征与分类器相组合的方法,这些方法虽然取得了一定的成果,但是对于车辆存在遮挡、形变等情况时,其整体检测效果并不理想,而利用深度卷积神经网络则可以在一定程度上克服这些因素的影响。但与此同时,深度卷积神经网络又存在训练与测试速度慢的弱点。本文针对智能车辆视觉系统中车辆检测存在的难点问题展开研究,论文的主要工作和成果为:针对智能车辆视觉系统中车辆目标检测问题,提出了基于Yolo改进的算法,通过跟传统的车辆检测方法进行对比,直观地体现选择卷积神经网络进行车辆检测的优势。
关键词:卷积神经网络 车辆目标检测 Yolo算法
Abstract
Vehicle target detection is one of the important contents of intelligent vehicle vision system.At present, intelligent vehicle vision system mainly focuses on pedestrian and vehicle targets.Most, however, the current vehicle target detection algorithm using the traditional geometric features and classifier combination method, these methods has made certain achievements, but for vehicle cover, deformation, and so on and so forth, the overall detection effect is not ideal, and the use of the depth of the convolution neural network can overcome the influence of these factors to some extent.At the same time, deep convolutional neural network has the weakness of slow training and testing speed.Visual system based on intelligent vehicle in the difficult problems of pedestrian detection and vehicle detection study, the main work and results of the thesis: for vehicle target detection problem in intelligent vehicles vision system, based on yolo improved algorithm is proposed, through comparing with the traditional vehicle detection method, intuitively reflect select convolution neural network to the advantage of vehicle detection.
Keywords: convolutional neural network, vehicle target detection, yolo algorith.
目录
第1章绪论 1
1.1研究背景 1
1.2研究现状 2
1.2.1深度学习研究现状 2
1.2.2车辆检测研究现状 2
1.3研究目的及意义 3
1.4论文主要工作内容及结构 3
第2章卷积神经网络 4
2.1卷积神经网络研究综述 4
(1)算法研究方面 4
(2)模型硬件实现方面 5
(3)模型应用领域研究 5
2.2卷积神经网络的基本原理 6
2.2.1卷积神经网络的结构 6
2.2.2卷积 7
2.2.3池化 8
2.2.4特征图(feature maps) 9
第3章车辆检测技术 10
3.1深度学习与传统的车辆检测方法对比 10
3.2基于Region Proposal的方法 11
3.2.1R-CNN 12
3.2.2 Fast R-CNN 13
3.2.3 Faster R-CNN 14
3.3基于回归的方法 15
3.3.1SSD(Single Shot multibox Detetor) 16
3.3.2YOLO算法 16
第4章基于YOLO的车辆检测系统 18
4.1实验平台 18
4.2数据集 20
4.3测试结果 20
4.4实验结果分析 21
第5章总结与心得体会 22
5.1总结 22
5.2心得体会 22
参考文献 23
致谢 24
单击此处输入文字。
第1章 绪论
1.1研究背景
随着现代交通的迅猛发展,交通拥挤和堵塞现象,停车设施不足和停车难问题,城市交通安全问题日趋严重,传统解决方式的局限性使得智能交通系统的发展越来越迫切,车辆检测技术在现实生活中慢慢得到了广泛的应用,成为计算机视觉与模式识别技术在智能交通领域的重要课题之一。而卷积神经网络近几年在计算机视觉、图像处理等领域取得了许多突破性的成果,极大提高了物体检测和图像识别的水平。因此,本文将卷积神经网络应用到车辆检测中可以取得很高的准确率。
车辆检测是目标检测的一个分支,目标检测的任务是确定图像中有无感兴趣的目标,并给出目标的具体坐标。车辆检测可分为基于图像的车辆检测和基于视频的车辆检测。本文主要是对车辆进行检测标记位置。国内外基于图像的车辆检测方法主要分为模板匹配和依据统计模式的方法。前者有一个常见的例子就是根据车辆的边缘特征,这种方法特别依赖设计者先验知识,若是检测图像发生了旋转或者只有局部车辆图,就没法适用。而后者相比前者,具有更好的鲁棒特性。基于视频的车辆检测是利用摄像头采集得到的视频作为输入对象,分析帧与帧间的联系,然后得到该车辆的一些位置,车速,车型等信息。基于视频的车辆检测是在基于图像的检测的基础上,利用视频流的帧连续性实现车辆检测,主要采用帧差算法、边缘检测算法和背景差算法实现对车辆数量、类型、车流量、车流密度、平均车速以及交通事故检测等的检测,其中背景差算法使用最多。
卷积神经网络是深度学习在图像处理领域的应用。卷积神经网络来源于视觉神经机制的应用启发,我们希望借助于计算机来处理分析以及识别图片中的内容,卷积神经网络在图像识别领域因为其超高的准确率,接近人工标注的了,在各个领域得到了广泛的应用。1962年,Hubel和Wiesel提出了卷积神经网络这个概念,得益于他们在研究生物的神经元时发现它独特的网络结构可以很有效地降低反馈神经网络的复杂性。卷积神经网络将图像直接作为网络的输入,不需要过多的进行预处理,又因为权值共享、局部连接等有效降低了模型的复杂度,基于卷积神经网络的车辆检测具有很好的结果。
1.2研究现状
目标检测是计算机视觉领域的任务之一,国内外研究时间已经长达二十年了。但是最近这几年深度学习重新出现在人们的视野里且却得了很大的进步,这直接促使目标检测算法也从传统的需要人工提取特征发展到基于深度学习的自动提取特征。
大多数目标检测算法具有相同过程。首先,提取待检测图像中物体候选框。其次,用不同算法提取物体候选框的特征。最后将物体候选框的特征传入训练好的分类器进行分类。
1.2.1深度学习研究现状
深度学习是人工神经网络的一个分支,具有深度网络结构的人工神经网络是深度学习最早的网络模型。
深度学习自2006年产生之后就受到科研机构、工业界的高度关注。最初,深度学习的应用主要是在图像和语音领域。从2011年开始,谷歌研究院和微软研究院的研究人员先后将深度学习应用到语音识别,使识别错误率下降了20%-30%。2012年,杰弗里·辛顿的学生IIya Sutskever和Alex Krizhevsky在图片分类比赛ImageNet中,使用深度学习打败了Google团队,深度学习的应用,使得图片识别错误率下降了14%。2012年6月,谷歌首席架构师Jeff Dean和斯坦福大学教授AndrewNg主导著名的GoogleBrain项目,采用16万个CPU来构建一个深层神经网络,并将其应用于图像和语音的识别,最终大获成功。此外,深度学习在搜索领域也获得广泛关注。如今,深度学习已经在图像、语音、自然语言处理、CTR预估、大数据特征提取等方面获得广泛的应用。
1.2.2车辆检测研究现状
可靠的车辆检测系统是智能车辆视觉系统里必不可缺的模块。当待检测车辆没有遮挡时,对称性、轮廓、纹理、颜色等方法均可应用于车辆检测中。传统的视频监控技术已经被成功的应用于高速公路环境下的车辆检测中,例如背景估计(background estimation)、光流场以及边缘检测等方法。由于在城市道路环境下车流量较大且车与车之间的遮挡比较严重,上述方法并不能很好的应用于城市环境下的车辆检测中。针对城市环境下的车辆检测问题,一些改进算法被用于处理有遮挡的车辆。在这些方法中绝大多数使用了车辆的2-D模型来跟踪车辆。立体视觉与3-D建模等方法也被成功的应用于车辆检测中,但是它们的计算过程很复杂,可能会影响车辆检测系统的实时性。机器学习也被成功的应用于车辆检测中。机器学习中某些有监督学习的方法被用来训练具有较强区分能力的分类器。近些年来,在目标检测领域许多种类的特征描述子被提出,例如Haar、SIFT特征等。将上述特征与具有较强区分能力的分类器相结合也是一种主流的车辆检测方法。
1.3研究目的及意义
本论文研究的最终目的是将卷积神经网络应用到车辆检测任务中,如何避免手工设计的特征,减少计算的复杂度,提高算法执行速度,最终提高检测精度。并且在已有的算法下,对其作出一些改进,提高检测实时性。
1.4论文主要工作内容及结构
本次毕业论文的主要工作是在较好的掌握卷积神经网络的基础上,实现基于卷积神经网络的车辆检测算法。首先是对卷积神经网络进行了深入的学习和了解,然后再对比传统车辆检测算法,表现利用卷积神经网络进行车辆检测的优越性,重点分析了现在热门的几种基于卷积神经网络的车辆检测方法,并且了解它们的优缺点以及适用范围。通过进行各项数据对比,选择Yolo的tiny版本进行实验,结果表明,简化的Yolo模型虽然牺牲了一定的精度,处理速度却变得更快,更能满足在实际应用中对车辆实时性检测的要求。
本论文共分为五个章节,各章节安排的内容如下:
1绪论。基于CNN车辆检测研究的目的和意义,国内外发展现状,今后发展趋势以及全文的基本内容和结构安排。
2卷积神经网络。本章主要介绍卷积神经网络的相关概念,重点了解卷积神经网络进行特征提取的基本原理。
3车辆检测技术。本章主要对车辆检测技术做一个系统的概述,针对不同方法进行优缺点比较。
4基于卷积神经网络的车辆检测。对Yolo模型进行训练并测试,基于这个模型搭建车辆检测系统框架。
5总结与展望。首先是对实验结果进行分析和总结,提出算法模型在车辆检测中的优势和不足。其次总结本文所有的研究工作,对以后的工作学习做展望。
第2章 卷积神经网络
卷积神经网络相比于人工神经网络最大的特点就是多了卷积层,卷积层优于全连接层的特性就在于有局部感受野和权值共享。
本章先简单介绍了卷积神经网络的发展历程和基本原理,再介绍了利用深度学习框架对卷积神经网络模型进行训练的过程。
2.1卷积神经网络研究综述
卷积神经网络是人工神经网络的一种,它来源于视觉神经机制的应用启发,广泛应用于图像处理领域。1962年,Hubel和Wiesel在研究生物的神经元时发现它独特的网络结构可以很有效地降低反馈神经网络的复杂性。因此提出了卷积神经网络这个概念。
卷积神经网络CNN是一种带有卷积层的深度神经网络。CNN的结构灵感源自人视觉系统对视觉信息的处理原理。刚开始CNN仅仅在小数量级和图像大小的数据集上效果明显,在针对高数量级和大型图像数据集问题上会有各种问题。直到Hinton教授和他学生提出用更深的网络模型作为训练模型来处理数据,并在知名数据集ImageNet上做测试取得惊人的效果,比之前最好的检测准确率还提高了9%。
Hinton提出的模型针对原来卷积神经网络做了下面几点改进:
(1)在网络模型中引入权重衰减概念和Dropout层,有效防止了训练过程中过拟合的出现;(2)采取局部连接的方式,极大的减少了之前全连接方式产生的模型参数,有效的减少了运算量;(3)并行计算能力的突破性进展,给了具有多线程运算的卷积神经网络良好的硬件平台。现在对于CNN的研究大体在以下三方面:
(1)算法研究方面
在卷积神经网络中,将一个检测器与检测图进行处理时相关的所有权值作为一个卷积核。作为处理上一层信息的检测器,设计的卷积核就不能单一化地处理多尺度的特征信息,所以怎么样设计卷积核的大小是CNN模型设计中一个非常关键的步骤;在一次训练集处理后,得到一个好的模型,为了让它具有更加优越的泛化能力,往往会对其进行二次学习,但训练一个网络是一个非常繁重的过程,所以找到一个收敛速度快的迭代算法是解决泛化能力的一个关键;在实现训练生成的模型时,由于庞大的参数网和硬件问题,很容易造成权重偏差,再加上神经元的敏感性,会导致识别受到外界噪声的干扰,影响识别效果。所以找到一个在不影响识别性能的前提下降低神经元的灵敏度的方法也是算法实现中需要解决的问题。
(2)模型硬件实现方面
CNN模型是由大量神经元通过简单的运算连接在一起,这是一种并行化程度极高的网络。针对上面的特点,硬件上对CNN模型进行实现的方式有:一种是基于计算机的结构,利用各种硬件加速如现在普及的基于CUDA的GPU运算,通过编程实现CNN网络;第二种是运用光电学相关的硬件来实现CNN网络模型。用编程的方式实现CNN具有较强鲁棒性、极大减小计算复杂度和较强自我学习能力,是实现卷积神经网络研究中非常重要的手段,在实际运作中计算速度很难到达工业要求,特别是实时性要求,所以在实现CNN中更多运用硬件手段。在实验时选择用什么方式实现CNN模型也是需要仔细考虑的方面。
(3)模型应用领域研究
在图像分类、目标检测和识别方面,CNN已经取得明显的成效。由于其隐式特征提取和优越的泛化能力,运用CNN进行图像检测往往能比传统的检测方法具有更高的准确率和抗干扰能力。所以将卷积神经网络应用到车辆检测技术中能在智能交通的很多方面产生良好的促进作用。
2.2卷积神经网络的基本原理
2.2.1卷积神经网络的结构
图2.1 卷积神经网络结构
在结构上,卷积神经网络的层结构主要包括:卷积层、采样层和全连接层。
(1)卷积层。这一层是CNN网络的核心部分,由于卷积的物理意义是:通过卷积的结果可以看出两个输入信息间的相关程度大小,理想状态下的输出是原始图像的最佳特征表达,这是在CNN网络上采用卷积作为核心处理操作的原因。卷积层是由卷积核与前一层之间的卷积权值构成的矩阵网格,将前一层的与卷积权值矩阵网格对应的网格进行卷积,作为卷积层的基本处理步骤。在这一层,同一卷积核的权值大小统一,这就是卷积神经网络的权值共享特征。正是由于这样,权值特征决定选定滤波器的特性。由于我们提取的图像特征不同,为了充分提取上一层的特征信息,在设计的时候要采取多个权值不同的滤波器对前一层图像信息进行卷积操作。在滤波器移动时,可以选择对应大小的步长来决定滤波器一次移动的网格数。在卷积核的大小定义上,CNN网络是通过反向传播迭代更新的手段更新得到最后的权值大小,这比传统的如Sobel、Roberts等方法用人工方式去定义网络参数更加有效,更为重要的是通过这种方式能更有效地提取到训练集的特征表达。卷积层主要是要提取前一层的图像特征,所以卷积核数决定了卷积层提取的特征数,而模型层数决定了CNN的容量。对于层数越多的网络,提取的特征也就越来越“抽象”,特征表达也就越好,但层数越多,丢失的信息量也就越大,对于样本不足的训练集,层数过多会导致最后由于原始信息丢失严重而检测率低下,所以采用多少数量的卷积核和多少层的网络结构要根据需要处理的数据集大小来决定。
(2)下采样层。在卷积层后都会带一个信息压缩和特征提取的过程一一下采样层。下采样层通过定义矩形块内通过采样得到一个输出,通过这样对信息进行压缩对特征信息进行“提纯"。另一方面。通过下采样能使模型具有一定的位移抗干扰性。下采样的方式有最大、平均和最小采样三种。经过下采样后,再经过一个激活函数处理,这样是为了保证信息在系统中通过不是单一的线性传播,常用的激活函数有Sigmoid、Tanh和ReLu函数等。
(3)全连接层。在CNN中,经过几个卷积接下采样层迭代处理后,图像信息已经转化为具有良好的特征表达能力的特征信息,之后需要将高维信息转换为线性的特征表达方式,这就是全连接层的作用。通过全连接层,图像特征信息转化为可以用作分类器或者传统神经网络的输入进行分类或者之后的处理。CNN的结构如下所示:
2.2.2卷积
我们知道,像素是组成图像最基本的要素。图像卷积就是,给定一幅图像,再给定一个卷积核,根据卷积窗口,进行像素的加权求和。
图2.2 图像卷积
图像卷积跟CNN的区别就在于,前者是人工提取特征,而后者是自动提取特征。
我们在没有学习卷积神经网络之前处理的这些卷积运算,卷积核参数都是已知的。比如图像处理中的各种各样边缘检测算子、高斯模糊等,都是先知道卷积核参数了,再与图像进行卷积运算。一般情况下,这些滤波器(filter)是通过具体需求设计的,比如说candy算子可以求一张图片的边缘特征。因为这些滤波器都是人为设计的,所以这个过程称作人工提取特征。而对于卷积网络来说,卷积核参数是未知的,我们需要通过对神经网络的训练来学习这些卷积核的参数。因为这些滤波器是通过算法学习到的,所以这个过程称作自动提取特征。
2.2.3池化
池化,就是图片下采样。卷积神经网络的池化方法有很多:
- Mean pooling(均值采样):对每个块求取平均值作为池化的新像素值;
- Max pooling(最大值采样):对每个块取最大值作为池化的新像素值;
- Overlapping (重叠采样)
- L2 pooling(均方采样)
- Local Contrast Normalization(归一化采样)
- Stochasticpooling(随即采样)
- Def-pooling(形变约束采样)。
介绍了常用的两种池化方法的概念,其中最常用的是最大值池化。举例如下:
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: