温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
卷积
神经网络
目标
检测
算法
综述
余潇智
171计算机与图像技术Computer&Multimedia Technology电子技术与软件工程Electronic Technology&Software Engineering目标检测是计算机视觉领域的一个重要分支,其任务是找出图像中若干特定的目标,并给出它们的类别和位置。近年来,目标检测算法一直是计算机视觉和图像处理领域的研究热门,一方面在于它是图像语义分割1、实例分割2等更复杂视觉任务处理的基础,另一方面是因为它在机器人导航、智能监控以及工业检测等诸多领域的巨大应用前景。目标检测的发展可分为两个阶段,分别是基于人工提取特征的传统阶段和基于深度学习方法的新阶段。传统目标检测多采用滑动窗口结合手工提取特征的方法,最后结合专门的分类器进行分类。典型的算法有 ViolaJones3、HOG4、DPM5等。其中,DPM 达到了传统检测算法的巅峰,连续获得 Pascal VOC(The Pascal Visual Object Classes Challenge)挑战赛 20072009 年三年的检测冠军。它采用了将整体拆分检测的思想,并用到了包围框回归和上下文信息集成等方法,对目标检测领域的后续发展产生了深远的影响。但是,人工设计特征不仅工作量大、算法鲁棒性差,而且性能提升也遇到了瓶颈,在 DPM 之后一直没有大的突破。直到 2014 年,R.Girshick 等人将 CNN(Convolutional Neural Networks)6应用到目标检测当中,尝试使用卷积神经网络来提取特征,较传统方法一下将检测的平均精度提升了约 30%,给检测效果带来了质的飞跃。这就是在目标检测领域有着里程碑意义的R-CNN7,自此,目标检测与深度学习结合了起来,进入了新的发展阶段。自 R-CNN 之后,又相继出现了 SPP-Net8、Fast R-CNN9、Faster R-CNN10、R-FCN11以 及 YOLO12、SSD13等速度更快、效果更好的检测算法。本文将重点介绍基于卷积神经网络的目标检测算法。1 CNN简述卷积神经网络(Convolutional Neural Networks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络14。因卷积操作对特征提取的独特优势,使得它比传统的神经网络具有更好的学习能力。目前,卷积神经网络已成为深度学习的主流框架,并已被广泛应用于图像处理、自然语言处理和医疗诊断等多个领域。1.1 CNN结构与特点卷积神经网络其整体架构分为输入层、卷积层、池化层和全连接层。网络通过这些单元完成特征提取、非线性映射、下采样、转化输出以及最终构造目标函数并优化的基本过程。卷积神经网络采用了三个基本概念:局部链接,共享权值和池化。局部连接和共享权值大大减少了参与卷积网络的参数,同时,它们能够有针对性的提取图像的空间特征,适应图像的平移不变性。而池化操作,一般跟在卷积层之后,用来简化从卷积层输出的信息,它也减少了神经元的个数。因此,相比于传统神经网络,卷积神经网络能够更好的提取图像的空间视觉特征,并且使用更少的连接和参数。这将使得模型得到更快的训练并有助于建立更深度的网络。1.2 发展历史1998 年,Yann LeCun 提出 LeNet15网络,用于解决手写数字识别的视觉任务,为卷积神经网络的发展奠定了基础。LeNet 在虽然在 Mnist 数据集上表现的很好,但是在更大的真实场景的数据集上就力不从心了。直到 2012 年,Hinton和他的学生 Alex Krizhevsky 提出了 AlexNet16,它比 LeNet具有更深层的网络结构并且有效的抑制了过拟合问题,此算法在当年ImageNet 大赛中以压倒性的优势战胜其它传统机器学习方法,拿到冠军,为卷积神经网络的发展确立了新的里程碑。2014 年,VGGNet17网络在 ILSVRC 比赛中获得定位项目冠军和分类项目亚军。VGGNet 是由牛津大学计算机视觉组合和 Google DeepMind 公司研究员一起研发的深度卷积神经网络,它的最大特点在于使用多个小卷积核串联,增加了网络深度。同样在 2014 年的 ILSVRC 比赛中,获得分类项目冠军的网络是 GoogLeNet18,它通过引入 Inception 模块来增加网络宽度,同时通过引入 1*1 的卷积层来压缩通道数量,降低计算量,从而进一步增加网络深度。2015 年,微软研究院的 Kaiming He 等人提出残差网络 ResNet19,并获得当年 ILSVRC 比赛的冠军。ResNet 使用短路连接的方式缓解了深层网络梯度消失的困扰,并阻止了网络的失真与退化,因此将网络深度大幅的提高到 152 层,这对于神经网络的发展可以说是革命性的。在这之后,人们又提出了残差网络的基于卷积神经网络的目标检测算法综述余潇智1杨静2李兴超3马文纹4(1.西安理工大学 自动化与信息工程学院 陕西省西安市 710048)(2.国网思极飞天(兰州)云数科技有限公司 甘肃省兰州市 730000)(3.国网甘肃省电力公司超高压公司 甘肃省兰州市 730070)(4.国网甘肃省电力公司酒泉供电公司 甘肃省酒泉市 735000)摘要:本文对基于卷积神经网络的目标检测算法进行综述。文章首先介绍了卷积神经网络的概念与发展历史,其次重点归纳分析了目标检测当前主流的两段检测算法和一段检测算法,并简要介绍了目标检测常用的数据集以及各算法的性能对比,最后进行了总结与展望。关键词:目标检测;卷积神经网络;两段检测;一段检测172计算机与图像技术Computer&Multimedia Technology电子技术与软件工程Electronic Technology&Software Engineering改进版本 ResNetXt20、DenseNet21以及 SENet22等更多的算法模型。2 目标检测算法传统的目标检测方法主要包括区域搜索、提取特征和目标分类三个部分。其中,区域搜索主要有滑动窗口和区域聚合两种方式,特征提取基于人工完成,目标分类则多用传统机器学习的方法完成。后来,随着深度学习逐渐崭露头角,卷积神经网络被引入到目标检测领域。与传统方法相比,它具有自动学习特征的能力,并且具有更强的特征表达能力和泛化性,因此逐步代替了基于人工的特征提取方式。目前,基于卷积神经网络的目标检测分为两种方式,即两段检测方法和一段检测方法。两段检测是先给出预选区域,然后再针对区域进行分类与回归。而一段检测是在特征提取后直接进行分类与回归。下面分别介绍目标检测中的常用概念和两种检测方法中的若干经典算法。2.1 基本概念2.1.1 IOU 交并比IOU(Intersection over Union)即交并比,就是两个框相交的面积除以两框相并的面积,计算方法如图 1 所示。在物体检测中,通过比较真实框和预测框的重叠面积可以判断检测精度。因此,IOU 作为在目标检测中对目标物体定位精度的标准。2.1.2 精确率与召回率精确率(precision):(1)其中,TP(True Positive)为正样本被预测正确的数量,FP(False Positive)为负样本被预测为正样本的数量。召回率(recall):(2)其中,FN(False Negative)为正样本被错误预测为负样本的数量。2.1.3 AP 与 mAP 值AP 与 mAP(mean Average Precision)是目标检测算法中常用的评价指标,AP 是单个类别的平均精度,而 mAP 是AP 值在所有类别下的均值。平均精确率(Average Precision,AP):AP=01P(r)dr (3)AP 即为 PR 曲线与坐标轴形成的面积,其中,r 代表着不同 IoU 阈值下的召回率。平均精确率均值(Mean Average Precision,mAP):(4)其中,N 为物体类别的数量,APn为第 n 个类别的平均精确率。2.2 两段检测方法2.2.1 R-CNN 算法R-CNN7是目标检测领域的里程碑,它的最大突破在于引入 CNN 提取图像特征,将 CNN 在分类任务上的优异表现迁移到检测任务上来,而在此之前,特征提取主要依赖人们的手工设计来完成。R-CNN 在 VOC2012 上的 mAP 值达到了 53.3%,较传统模型提升了 30%以上。算法首先使用Selective Search23对输入图像提取约 2000 个候选框,再将候选框中的图像缩放至标准尺寸后送入 CNN 进行特征提取,并得到特征向量,然后送入 SVM24进行分类,最后线性回归得到目标位置并用非极大值抑制算法去掉多余检测框,流程如图 2。R-CNN 的不足之处首先在于图像在进入卷积之前进行了截取或拉伸,破坏了图像的原本形态,影响识别效果,其次是对每个候选框的特征提取进行了大量重复的卷积运算,最后它的分类器训练和位置回归是独立进行的,从而导致它资源开销大且训练时间很长。2.2.2 SPP-Net 算法SPP-Net8解决了输入全连接层图像必须固定尺寸的问题。它引入了空间金字塔池化层(Spatial pyramid pooling layer,SPP layer)8对特征图进行采样,SPP 层是对不同大小的区域划分成固定个数的单元格进行池化,这样无论输入图像的尺寸如何,经过 SPP 层后,都能生成固定维度的特征图 1:交并比 图 2:R-CNN 流程图 3:空间金字塔池化173计算机与图像技术Computer&Multimedia Technology电子技术与软件工程Electronic Technology&Software Engineering向量,如图 3 所示。算法首先通过 Selective Search 方法生成约 2000 个候选框,并对整张图片送入 CNN 卷积,提取出特征图。然后在特征图上对应找到每个候选框区域,再对各个候选框采用金字塔空间池化,提取出固定长度的特征向量,最后进行分类和回归,流程如图 4。SPP 池化有效增强了尺寸鲁棒性,另一方面,算法只用 CNN 处理一次,速度提升很大。在Pascal VOC 2007数据集上,在准确度相当或更好的情况下,其处理测试图像的速度比 R-CNN 快 24 至 102 倍。但是,它的分类和回归训练仍是独立的,并且也没有解决 R-CNN 需要存储大量特征的问题。2.2.3 Fast R-CNN 算法Fast R-CNN9借鉴 SPP-Net 模型,引入了 ROI 池化层9,将图像划分为均匀的网格,从而保证处理后的特征图具有相同的尺寸。它首先对图像进行卷积运算,然后将 Selective Search 生成的候选框映射到卷积后的特征图上,基于此特征图的候选区域进行 ROI 池化,生成固定尺寸的新特征图和特征向量,最后送入全连接层进行并行的分类与位置回归,流程如图 5 所示。Fast R-CNN 较前述网络最大的改变就是引入多任务损失函数(Multi-task loss),将分类与位置回归合并在一个阶段进行训练。另一方面,在网络训练时 ROI 操作同样是共享了同一张图片的卷积特征。这使得网络训练和测试的速度都得到了显著的提高。用深度网络 VGG-1617时,它比 R-CNN 训练阶段快 9 倍,测试阶段快 213 倍,比于 SPP-Net 训练阶段快 3 倍,测试阶段快 10 倍。但是,Selective Search 候选框的生成还是独立计算的,还不是完整的端到端系统。2.2.4 Faster R-CNN 算法Faster R-CNN10引入了 RPN(Region Proposal Network)10网络来取代之前独立的候选框生成算法,形成了真正意义上的端到端的神经网络模型。RPN 是区域推荐网络,它通过对特征图上生成的锚框进行预测,判断锚框是前景还是背景,同时,根据锚框和真实框的位置回归给出锚框的预测位置。Faster R-CNN 首先对输入图像进行卷积操作生成特征图,然后通过 RPN 网络给出一系列候选区域,接着进入 ROI 池