【《深度学习与目标检测相关理论基础综述》4000字】_第1页
【《深度学习与目标检测相关理论基础综述》4000字】_第2页
【《深度学习与目标检测相关理论基础综述》4000字】_第3页
【《深度学习与目标检测相关理论基础综述》4000字】_第4页
【《深度学习与目标检测相关理论基础综述》4000字】_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

深度学习与目标检测相关理论基础综述目录TOC\o"1-3"\h\u6307深度学习与目标检测相关理论基础综述 129431.1卷积神经网络概述 111641.2深度学习框架 5280841.3目标检测中经典特征提取网络 665921.4目标检测评价指标 8行人作为最常见也是最具有价值的目标之一,行人跟踪技术一直是目标跟踪领域研究的重点之一。基于检测的目标跟踪算法在多目标跟踪领域有一定的优势,检测器性能的好坏在很大程度上决定着跟踪效果的好坏,传统的目标检测器性能上存在瓶颈,无法应用于较复杂的环境中,尤其是针对行人这种运动过程中还会产生姿态变化的物体,其检测效果很不理想,基于深度学习的目标检测算法与传统目标检测算法不同,其利用特征提取网络对目标图像特征进行自动提取,网络能不断学习,调整本身权重参数,能提取出无法通过语义描述的但最合适的特征信息作为检测网络的输入,性能上有极大的提升。在深度学习方向上,CNN卷积神经网络是最常用也是最合适的目标检测特征提取器。1.1卷积神经网络概述卷积神经网络刚开始是应用在图像识别领域的,在图像识别上,卷积神经网络可以直接用作图像分类器,在目标检测、图像分割等领域,卷积神经网络通常作为特征提取器,用来提取图像的特征信息。目前卷积神经网络用的最多的是在计算机视觉方向上,可以在一定程度上指代深度学习。卷积神经网络是一个层级结构,包含ConvolutionLayer、激活层、PoolingLayer和FullyConnectedLayer。CNN网络结构图如图1.1所示。图1.1CNN网络结构图Fig.1.1Convolutionalneuralnetworkstructurehierarchydiagram如上图1.1所示,其中编号为0的表示原始图像,编号为1的表示CONV卷积层,编号为2的是Relu激活层,编号为3的是CONV卷积层,编号为4的表示Relu激活层,编号为5的是Pooling池化层,编号为6的表示CONV卷积层,编号为7的是Relu激活层,编号为8的表示CONV卷积层,编号为9的是Relu激活层,编号为10的表示为Pooling池化层,编号11的表示FC全连接层。在卷积神经网络中,激活层一般紧跟卷积层,图像经过数个卷积层和池化层后,会经过池化层,对特征图进行下采样。以编号1到5为一组,一般原始图像经过一个或者数个这样的组,然后再接上一个或者几个全连接层。然后输出一组特征向量。或者再在最后一个全连接层后面接一个Softmax层,则输出的是原始图像是各个类别的概率值,取其中最大的一个概率值所对应的类别为原始图像的类别。(1)卷积层卷积层是卷积神经网络最重要的一个层次结构。目的是提取图像特征,卷积操作如图1.2所示。图1.2卷积Fig.1.2Convolutional如上图1.2所示,卷积核在图片上进行滑动,图片经过卷积核卷积操作之后,如果不采取补0操作,会变成尺寸稍小的特征图,特征图记录的是原始图片上的信息。(2)激活层输入图像经过卷积操作之后会进入激活层,激活层主要作用是增加模型的非线性,让模型可以处理非线性问题。激活函数一般在卷积层之后,池化层之前使用。常用的激活函数有Tanh激活函数和Relu激活函数。Tanh激活函数的取值范围是在(-1,1),当定义域在在(-∞,-2)时,值域接近于-1,此时函数梯度较小,接近于0,当定义域在(-2,2)时,值域范围在(-1,1),此时函数梯度变化较大,梯度范围变化也较大。当定义域范围在(2,+∞)时,函数值接近于1,此时函数梯度较小,接近于0。所以当定义域在(-2,2)时,Tanh激活函数可以正常传播梯度。其余范围内,容易出现梯度消失现象。Relu激活函数的定义域小于0时,函数值取0,梯度也为0,会导致部分神经元失活,不会传播梯度,当定义域大于0时,y=x,梯度为1,可以正常传播梯度。Tanh激活函数如图1.3所示。Relu激活函数如图1.4所示。图1.3Tanh激活函数Fig.1.3TheTanhactivationfunction图1.4Relu激活函数Fig.1.4TheReluactivationfunction(3)池化层池化层的主要作用是降低数据维度,减少计算量,减少模型需要更新的参数数量,保证了模型的运算速度。常见的池化操作有最大池化和平均池化。最大池化操作如图1.5所示,平均池化操作如图1.6所示。图1.5最大池化Fig.1.5Max-pooling图1.6平均池化Fig.1.6Mean-pooling(4)全连接层是卷积神经网络最后几层,上一层的每一个神经元都与下一层的每一个神经元都进行连接,全连接层如图1.7所示。图1.7全连接层Fig.1.7Fullyconnectedlayer如上图1.7所示是一个3层的全连接层,第一层和第一层都有5个神经元,最后一层是2个神经元。1.2深度学习框架卷积神经网络必不可少的两个阶段是训练阶段和测试阶段,在网络训练阶段,利用大量的训练数据在深度学习服务器环境下来训练模型的参数,使模型达到最优,在网络测试阶段,利用之前训练好的模型来测试数据,查看模型运行的结果,在目前工业界和学术界,PyTorch[44]和TensorFlow[45]是用的最多的两个深度学习框架。(1)TensorFlow框架TensorFlow是由谷歌公司开发维护的深度学习框架,有1.x版本和1.x版本,各版本间差距较大,往往不能通用,通常不同的项目需要搭建不同版本的TensorFlow框架。使用图(graphs)来表示计算任务,用于搭建神经网络的计算过程,但其只搭建网络,不计算。TensorFlow是一个很底层的API,使用它需要编写大量的代码,可以在CPU和GPU上作分布式计算,也能进行gRPC水平扩展。TensorFlow有两大特性,可移植性,可以从linux平台移植到windows平台。支持多种语言接口,包括c++、python、go、Java、JavaScript、swift等。这意味着用户可以在各种服务器上以及个人计算机上使用它进行初始学习。你也可以训练自己的模型,此外,TensorFlow具有出色的的敏感性和开放性,允许用户跨平台和跨计算机运行。算法本身设计比较复杂,计算量大,运算速度偏慢,但计算能力强。PyTorch框架PyTorch是目前比较少见的高效、简洁并且快速的深度学习框架速度:PyTorch既要保持灵便性,也不牺牲速度,在大量测试中,在速度方面,PyTorch要强过TensorFlow以及Keras等框架。框架的运行速度快慢与很多因素有关,和程序员的编码水平高低有非常密切地联系,但是如果一样的算法,使用PyTorch实现的时间要少于其它框架的。简洁的设计使代码更加容易被读懂。PyTorch源码数量大概是TensorFlow的1/10,由于更直观的设计,更少的抽象、更便于人们阅读PyTorch的源码。易用:PyTorch是最雅致的面向对象的框架。PyTorch的面向对象接口设计起源于因为灵活易用而被广泛推崇的Torch。而PyTorch继承了Torch的风格,特别是API的设计以及模块的接口和Torch基本一样。PyTorch的设计非常迎合人们的思考方式,它可以让用户尽可量地专心于实现自己的想法,即所思即所得,不需要考虑太多关于框架本身的问题。1.3目标检测中经典特征提取网络在目标检测领域,常用的特征提取网络有VGG系列和ResNet系列。其中VGG系列网络层数相对于ResNet系列,层数要少一些,参数数量也要少一些,提取特征时的速度要更快一些,但深层的ResNet特征提取效果要优于VGG系列。(1)VGGVGG16网络结构如图1.8所示。图1.8VGG16网络结构Fig.1.8VGG16networkarchitectur在上图1.8中,编号0表示224*224*3的一张RGB图像,编号1、2、3、4、5为MaxPooling最大池化层,编号6、7、8表示全连接层,其中编号为6和7的全连接层都有4096个神经元,编号为8的全连接层由1000个神经元组成,编号9表示Softmax层,其余没有编号的都是CONV+Relu卷积层和激活层的组合层。图像经过前两个卷积层后,大小没变,通道数变为64,特征图大小表示为112*112*64。经过编号为1的MaxPooling最大池化层后,特征图的高和宽变为原来的一半,通道数变为原来的2倍,表示为112*112*128。让后在经过两个卷积层,特征图的宽和高不变,通道数变为原来的两倍。在上图1.8中,每经过一次MaxPooling最大池化层,特征图的宽和高变成原来的二分之一,在经过卷积层后,特征图的通道数变成原来的2倍。然后将特征图展平为列向量,与全连接层进行连接,最后经过Softmax层,输出此图像的类别概率值。VGG16的权重参数层是由13个卷积层和3个全连接层组成的。网络在训练的时候,也只更新卷积层和全连接层的权重参数。将卷积层提升至卷积块的层面。卷积块由2到3个卷积层构成,可以增大网络感受野,还能减少网络参数的数量,与此同时,卷积层后面多次接Relu激活函数让网络非线性表达能力更强,增强网络学习能力。(2)ResNet在2015年,ResNet(残差神经网络)出现,成功地训练出了具有152层的深度CNN,效果非常显著,并且比较容易能与其它网络结构结合。残差网络结构如图1.9所示。图1.9残差网络结构Fig.1.9Residualnetworkstructure图1.9为残差神经网络的基本模块,x为网络的输入,F(x)+x是网络输出的结果。残差网络结构与普通的CNN卷积神经网络并没有实质的区别,只是增加了另外一条前向传播通道,将不同卷积层后的特征图进行融合。普通的CNN卷积神经网络,随着网络层数的加深,学习特征的难度也随之加大,但是如果加一条快捷链路的话,学习过程就从直接学习特征,转为在之前学习的特征的基础上,再向其中加入某些特征,从而得到更优秀的特征信息。如此,一个复杂的特征F(x),之前是独立的,一层一层学习的,现在就变成了一个模型F(x)+x,其中x是残差开始时的特征,而F(x)就是对x进行卷积与融合,成为残差。因此学习的目标就从学习完整的信息,变成学习残差了。这样一来,学习优质特征的难度就大大减小了。ResNet在5个主流计算机视觉竞赛中都斩获第一名的成绩:ImageNet分类任务:错误率3.57%ImageNet检测任务:超过第二名16%ImageNet定位任务:超过第二名27%COCO检测任务:超过第二名11%COCO分割任务:超过第二名12%1.4目标检测评价指标在目标检测任务中,使用较为广泛的是mAP,本小节对mAP及比较重要的函数进行叙述。准确率(Accuracy)TP:正确预测的正例数,TN:正确预测的反例数,P:正例数,N:反例数。(1.1)精确率(Precision)与召回率(Recall)精确率P,是用来评估预测结果的,它表达的意义是预测为正的样本中真正的正样本的数量。那么预测的结果就有两种了,一种就是把正类预测为正类(TP),而另一种是把负类预测为正类(FP)。

(1.2)而召回率R,通常也叫查全率,它针对的是原样本的,它表示的是样本中的正例被预测正确的数量。结果可能有两种,一种是把原来的正类预测为正类(TP),另一种就是把原来的正类预测为负类(FN)。

(1.3)平均检测精

温馨提示

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

评论

0/150

提交评论