ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:923.29KB ,
资源ID:10201362      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10201362.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(目标检测综述.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

目标检测综述.docx

1、目标检测综述,、传统目标检测方法区1妣擡1 J特征提取1 jJ*1 分类器1分类丿如上图所示,传统目标检测的方法一般分为三个阶段: 首先在给定的图像上 选择一些候选的区域,然后对这些区域提取特征,最后使用训练的分类器进行分 类。下面我们对这三个阶段分别进行介绍。(1)区域选择 这一步是为了对目标的位置进行定位。 由于目标可能出现在图像的任何位置,而且目标的大小、长宽比例也不确定,所以最初采用滑动窗口 的策略对整幅图像进行遍历,而且需要设置不同的尺度,不同的长宽比。这种穷 举的策略虽然包含了目标所有可能出现的位置, 但是缺点也是显而易见的:时间 复杂度太高,产生冗余窗口太多,这也严重影响后续特征

2、提取和分类的速度和性 能。(实际上由于受到时间复杂度的问题,滑动窗口的长宽比一般都是固定的设置几个,所以对于长宽比浮动较大的多类别目标检测, 即便是滑动窗口遍历也不能得到很好的区域)(2)特征提取 由于目标的形态多样性,光照变化多样性,背景多样性等因 素使得设计一个鲁棒的特征并不是那么容易。然而提取特征的好坏直接影响到分 类的准确性。(这个阶段常用的特征有SIFT HOG等)(3)分类器 主要有SVM, Adaboost等。总结:传统目标检测存在的两个主要问题:一是基于滑动窗口的区域选择策略没有针对性,时间复杂度高,窗口冗余; 二是手工设计的特征对于多样性的变化并没有很好的鲁棒性。1、基于Re

3、gion ProposaI的深度学习目标检测算法对于传统目标检测任务存在的两个主要问题,我们该如何解决呢?对于滑动窗口存在的问题,region proposal提供了很好的解决方案。regionproposal候选区域)是预先找出图中目标可能出现的位置。但由于region proposal 利用了图像中的纹理、边缘、颜色等信息,可以保证在选取较少窗口(几千个甚 至几百个)的情况下保持较高的召回率。这大大降低了后续操作的时间复杂度, 并且获取的候选窗口要比滑动窗口的质量更高(滑动窗口固定长宽比) 。比较常用的 region proposal 算法有 selective Search和 edge

4、Boxes 如果想具体了解 region proposal 可以看一下 PAMI2015 的 “What makes for effective detection proposals? ”有了候选区域,剩下的工作实际就是对候选区域进行图像分类的工作(特征 提取+分类)。对于图像分类,不得不提的是2012年ImageNet大规模视觉识别挑 战赛(ILSVRC上,机器学习泰斗 Geoffrey Hinton教授带领学生Krizhevsky使用 卷积神经网络将ILSVRC类任务的Top-5 error降低到了 15.3%,而使用传统方法 的第二名top-5 error高达26.2%。此后,卷积神经

5、网络占据了图像分类任务的绝 对统治地位,微软最新的ResNet和谷歌的Inception V4模型的top-5 error降到了 4%以内多,这已经超越人在这个特定任务上的能力。所以目标检测得到候选区 域后使用CNN对其进行图像分类是一个不错的选择。 2014年,RBG( Ross B.Girshick)大神使用region proposal+CNN代替传统目标检测使用的滑动窗口 +手工 设计特征,设计了 R-CNN框架,使得目标检测取得巨大突破,并开启了基于深 度学习目标检测的热潮。1.R-CNN (CVPR2014, TPAMI2015) (Region-based Convolution

6、Networks for Accurate Object detecti on and Segme ntati on)R-CNN: Region-based Convolutional Network2.Extract region 3* Compute 4. Classify proposals 卜2k CNN features regions 上面的框架图清晰的给出了 R-CNN 的目标检测流程:(1)输入测试图像(2)利用selective search算法在图像中提取2000个左右的region proposal。(3)将每个region proposal缩放(warp)成227x22

7、7的大小并输入到 CNN,将 CNN的fc7层的输出作为特征。(4)将每个region proposal提取到的CNN特征输入到SVM进行分类。 上面的框架图是测试的流程图,要进行测试我们首先要训练好提取特征的CNN模型,以及用于分类的SVM:使用在ImageNet上预训练的模型 (AlexNet/VGG16进行微调得到用于特征提取的 CNN模型,然后利用CNN模型 对训练集提特征训练 SVM。对每个region proposal缩放到同一尺度是因为 CNN全连接层输入需要保证 维度固定。上图少画了一个过程 对于 SVM 分好类的 region proposal 做边框回归(bounding-

8、box regression), 边框回归是对 region proposal进行纠正的线性回归 算法,为了让 region proposal 提取到的窗口跟目标真实窗口更吻合。因为 region proposal 提取到的窗口不可能跟人手工标记那么准,如果 region proposal 跟目标 位置偏移较大,即便是分类正确了,但是由于loU(region proposal与Ground Truth 的窗口的交集比并集的比值 )低于 0.5,那么相当于目标还是没有检测到。小结:R-CNN在PASCAL VOC200上的检测结果从 DPM HSC的 34.3%直接提 升到了 66%(mAP如此

9、大的提升使我们看到了 region proposal+CNN的巨大优 势。 但是R-CNN框架也存在着很多问题:(1)训练分为多个阶段,步骤繁琐:微调网络+训练SVM+训练边框回归器(2)训练耗时,占用磁盘空间大:5000张图像产生几百G的特征文件(3)速度慢:使用GPU, VGG16模型处理一张图像需要47s。 针对速度慢的这个问题,SPPNET给出了很好的解决方案。2. SPF-NET (ECCV2014, TPAMI2015) (Spatial Pyramid Poolingin Deep Convo lutio nal Networks for Visual Recog niti on

10、)先看一下R-CNN为什么检测速度这么慢,一张图都需要47s!仔细看下R-CNN 框架发现,对图像提完region proposal (2000个左右)之后将每个proposal当成 一张图像进行后续处理(CNN提特征+SVM分类),实际上对一张图像进行了 2000 次提特征和分类的过程! 有没有方法提速呢?好像是有的,这 2000个regionproposal不都是图像的一部分吗,那么我们完全可以对图像提一次卷积层特征, 然后只需要将region proposal在原图的位置映射到卷积层特征图上, 这样对于一张图像我们只需要提一次卷积层特征, 然后将每个region proposal的卷积层

11、特征输入到全连接层做后续操作。(对于CNN来说,大部分运算都耗在卷积操作上, 这样做可以节省大量时间)。现在的问题是每个region proposal的尺度不一样, 直接这样输入全连接层肯定是不行的,因为全连接层输入必须是固定的长度。SPPNET恰好可以解决这个问题:fulh -c*winec(ed layers (ft?)上图对应的就是SPPNET的网络结构图,任意给一张图像输入到 CNN,经过 卷积操作我们可以得到卷积特征(比如VGG16最后的卷积层为conv5_3,共产生 512张特征图)。图中的window是就是原图一个region proposal对应到特征图的 区域,只需要将这些不

12、同大小 window的特征映射到同样的维度,将其作为全连 接的输入,就能保证只对图像提取一次卷积层特征。 SPPNET使用了空间金字塔采样(spatial pyramid pooli ng):将每个 window 划分为 4*4, 2*2, 1*1 的块,然后 每个块使用max-pooling下采样,这样对于每个 window经过SPP层之后都得到 了一个长度为(4*4+2*2+1)*512维度的特征向量,将这个作为全连接层的输入进 行后续操作。 小结:使用SPPNET相比于R-CNN可以大大加快目标检测的速度, 但是依然存在着很多问题:(1)训练分为多个阶段,步骤繁琐:微调网络+训练SVM+

13、训练训练边框回归 器SPPNET在微调网络的时候固定了卷积层,只对全连接层进行微调,而对 于一个新的任务,有必要对卷积层也进行微调。 (分类的模型提取的特征更注重高层语义,而目标检测任务除了语义信息还需要目标的位置信息) 针对这两个问题,RBG又提出Fast RCNN, 个精简而快速的目标检测框架。3.Fast R-CNN(ICCV2015)有了前边R-CNN和SPPNET的介绍,我们直接看Fast RCNN的框架图:与R-CNN框架图对比,可以发现主要有两处不同:一是最后一个卷积层后加了一个ROI pooling laye,二是损失函数使用了多任务损失函数(multi-task loss),

14、将边框回归直接加入到CNN网络中训练。(1)ROI pooling layer实际上是 SPPNET的一个精简版, SPPNET对每个proposal使用了不同大小的金字塔映射,而 ROI pooli ng layer只需要下采样到一个 7x7 的特征图。对于 VGG16 网络 conv5_3 有 512 个特征图,这样所有 region proposal 对应了一个 7*7*512 维度的特征向量作为全连接层的输入。(2)R-CNN训练过程分为了三个阶段,而 Fast R-CNN直接使用softmax替代 SVM 分类,同时利用多任务损失函数边框回归也加入到了网络中,这样整个的 训练过程是端

15、到端的(除去region proposal提取阶段)。(3)Fast R-CNN 在网络微调的过程中,将部分卷积层也进行了微调,取得了 更好的检测效果。小结:Fast R-CNN融合了 R-CNN和SPPNET的精髓,并且引入多任务损失函 数,使整个网络的训练和测试变得十分方便。在 PascalVOC2007训练集上训练,在VOC2007测试的结果为66.9%(mAP)如果使用 VOC2007+2012训练集训练, 在VOC2007上测试结果为70%(数据集的扩充能大幅提高目标检测性能)。使用 VGG16每张图像总共需要3s左右。缺点:region proposal的提取使用selective

16、 search,目标检测时间大多消耗 在这上面(提region proposal 23s,而提特征分类只需0.32s),无法满足实时应 用,而且并没有实现真正意义上的端到端训练测试 ( region proposal 使用 selective search先提取处来)。那么有没有可能直接使用 CNN直接产生region proposal并 对其分类? Faster R-CNN框架就是符合这样需要的目标检测框架。4.Faster R-CNN(NIPS2015) (Faster R-CNN: Towards Real -Time Object Detection with Region Propo

17、sal Networks)在 region proposal + CNN 分类的这种目标检测框架中, region proposal 质量 好坏直接影响到目标检测任务的精度。 如果找到一种方法只提取几百个或者更少 的高质量的预选窗口, 而且召回率很高, 这不但能加快目标检测速度, 还能提高 目标检测的性能(假阳例少)RPN(Region Proposal Network网络应运而生。 RPN的核心思想是使用卷积神经网络直接产生 region proposal,使用的方法本质上就 是滑动窗口。RPN的设计比较巧妙,RPN只需在最后的卷积层上滑动一遍,因为 anchor 机制和边框回归可以得到多尺

18、度多长宽比的 region proposal。256-dfintennediiite lax ei -V-我们直接看上边的RPN网络结构图(使用了 ZF模型),给定输入图像(假设分 辨率为600*1000),经过卷积操作得到最后一层的卷积特征图(大小约为40*60 )。 在这个特征图上使用3*3的卷积核(滑动窗口)与特征图进行卷积,最后一层卷 积层共有256个feature map,那么这个3*3的区域卷积后可以获得一个 256维 的特征向量,后边接cis layer和reg layer分别用于分类和边框回归(跟Fast RCNN 类似,只不过这里的类别只有目标和背景两个类别)。3*3滑窗对应

19、的每个特征 区域同时预测输入图像3种尺度(128,256,512) ,3种长宽比(1:1,1:2,2:1)的region proposal,这种映射的机制称为 anchor。所以对于这个40*60的feature map,总 共有约 20000(40*60*9)个 anchor,也就是预测 20000个 region proposal0 这样设计的好处是什么呢?虽然现在也是用的滑动窗口策略, 但是:滑动窗口操作是在卷积层特征图上进行的,维度较原始图像降低了 16*16倍(中间经过了 4次2*2的pooling操作);多尺度采用了 9种anchor,对应了三种尺度和三种长宽比, 加上后边接了边框

20、回归,所以即便是这 9种anchor外的窗口也能得到一个跟目 标比较接近的region proposalo NIPS2015版本的Faster RCNN使用的检测框架是RPN网络+Fast RCNN网络分离进行的目标检测,整体流程跟Fast RCNN样, 只是region proposal现在是用 RPN网络提取的(代替原来的 selective search) o 同时作者为了让RPN的网络和Fast RCNN网络实现卷积层的权值共享,训练RPN 和Fast RCNN的时候用了 4阶段的训练方法:使用在ImageNet上预训练的模型初始化网络参数,微调 RPN网络;(2)使用中RPN网络提取

21、region proposal训练Fast RCNN网络;(3)使用的Fast RCNN网络重新初始化RPN,固定卷积层进行微调;固定中Fast RCNN的卷积层,使用 中RPN提取的region proposal微 调网络。权值共享后的RPN和Fast RCNN用于目标检测精度会提高一些。使用训练好的RPN网络,给定测试图像,可以直接得到边缘回归后的region proposal,根据region proposal的类别得分对RPN网络进行排序,并选取前300 个窗口作为Fast R-CNN的输入进行目标检测,使用 VOC07+12训练集训练, VOC2007测试集测试 mAP达到 73.2

22、%(selective search + Fast 甩NN是 70%),目 标检测的速度可以达到每秒 5帧(selective search+Fast -CNN是23s一张) 需 要注意的是,最新的版本已经将RPN网络和Fast RCNN网络结合到了一起一一将 RPN获取到的proposal直接连到ROI pooling层,这才是一个真正意义上的使用 一个CNN网络实现端到端目标检测的框架。小结:Faster RCNN将一直以来分离的region proposal和CNN分类融合到了 一起,使用端到端的网络进行目标检测, 无论在速度上还是精度上都得到了不错 的提高。然而Faster RCNN还

23、是达不到实时的目标检测,预先获取region proposal, 然后在对每个proposal分类计算量还是比较大。比较幸运的是 YOLC这类目标检 测方法的出现让实时性也变的成为可能。 总的来说,从 R-CNN, SPP-NET,Fast R-CNN, Faster R-CNN 一路走来,基于深度学习目标检测的流程变得越来越精简, 精度越来越高,速度也越来越快。可以说基于region proposal的R-CNN系列目标 检测方法是当前目标最主要的一个分支。三、基于回归方法的深度学习目标检测算法Faster RCNN的方法目前是主流的目标检测方法,但是速度上并不能满足实 时的要求。YOLO类

24、的方法慢慢显现出其重要性,这类方法使用了回归的思想, 既给定输入图像, 直接在图像的多个位置上回归出这个位置的目标边框以及目标 类别。1.YOLO (CVPR2016, oral) (You Only Look Once: Unified,Real-Time Object Detectio n)我们直接看上面YOLO的目标检测的流程图:(1)给个一个输入图像,首先将图像划分成 7*7的网格(2)对于每个网格,我们都预测 2个边框(包括每个边框是目标的置信度以 及每个边框区域在多个类别上的概率)(3)根据上一步可以预测出7*7*2个目标窗口,然后根据阈值去除可能性比 较低的目标窗口,最后 NMS

25、去除冗余窗口即可。可以看到整个过程非常简单,不需要中间的 regi on proposal在找目标,直接 回归便完成了位置和类别的判定。Con* loysn Ccr Cri1jIi2561 4 1j1ji512 办10如3x3*5)21 3x3JO24 J 3104hU3)2 J曲MO备血曲1也丄 Judidgl槪Macppl la呷2x22那么如何才能做到直接在不同位置的网格上回归出目标的位置和类别信息呢? 上面是YOLO的网络结构图,前边的网络结构跟 GoogLeNet的模型比较类似,主 要的是最后两层的结构,卷积层之后接了一个 4096维的全连接层,然后后边又全连接到一个7*7*30维的

26、张量上。实际上这7*7就是划分的网格数,现在要在 每个网格上预测目标两个可能的位置以及这个位置的目标置信度和类别, 也就是 每个网格预测两个目标,每个目标的信息有 4维坐标信息(中心点坐标+长宽),1个是目标的置信度,还有类别数20(VOC上20个类别),总共就是(4+1)*2+20 = 30 维的向量。这样可以利用前边 4096维的全图特征直接在每个网格上回归出目标 检测需要的信息(边框信息加类别)。小结:YOLO#目标检测任务转换成一个回归问题,大大加快了检测的速度, 使得YOLO可以每秒处理45张图像。而且由于每个网络预测目标窗口时使用的 是全图信息,使得false positive比例

27、大幅降低(充分的上下文信息)。但是YOLO 也存在问题:没有了 region proposal机制,只使用7*7的网格回归会使得目标不 能非常精准的定位,这也导致了 YOLO的检测精度并不是很高。2.SSD (SSD: Single Shot MultiBox Detector)上面分析了 YOLO存在的问题,使用整图特征在7*7的粗糙网格内回归对目 标的定位并不是很精准。那是不是可以结合region proposal的思想实现精准一些 的定位? SSD吉合YOLO的回归思想以及Faster R-CNN的 anchor机制做到了这点。上图是SSD的一个框架图,首先SSD获取目标位置和类别的方法

28、跟 YOLC一样,都是使用回归,但是 YOLO预测某个位置使用的是全图的特征,SSD预测某个位置使用的是这个位置周围的特征(感觉更合理一些) 。那么如何建立某个位置和其特征的对应关系呢?可能你已经想到了,使用 Faster R-CNN的anchor机制。如SSD的框架图所示,假如某一层特征图(图b)大小是8*8,那么就使用3*3 的滑窗提取每个位置的特征,然后这个特征回归得到目标的坐标信息和类别信息(图 c)。不同于Faster R-CNN,这个anchor是在多个feature map上,这样可以利用 多层的特征并且自然的达到多尺度(不同层的 feature map 3*3滑窗感受野不 同)

29、。小结:SSD结合了 YOLO中的回归思想和Faster RCNN中的anchor机制,使 用全图各个位置的多尺度区域特征进行回归,既保持了 YOLO速度快的特性,也 保证了窗口预测的跟Faster R-CNN一样比较精准。SSD在 VOC2OO7上mAP可以达到72.1%,速度在GPU上达到58帧每秒。 总结:YOLO的提出给目标检测一 个新的思路,SSD的性能则让我们看到了目标检测在实际应用中真正的可能性。四.提高目标检测方法 R-CNN系列目标检测框架和 YOLO目标检测框架给了我 们进行目标检测的两个基本框架。除此之外,研究人员基于这些框架从其他方面入手提出了一系列提高目标检 测性能的

30、方法。(1)难分样本挖掘(hard negative mining) R-CNN在训练SVM分类器时使用了难分样本挖掘的思想,但Fast RCNN和Faster RCNN由于使用端到端的训练 策略并没有使用难分样本挖掘(只是设置了正负样本的比例并随机抽取) 。CVPR2016的 Training Region-based Object Detectors with Online Hard Example Mining(oral)将难分样本挖掘(hard example mining)机制嵌入到SGD算法中,使得 Fast R-CNN 在训练的过程中根据 region proposal 的损失自

31、动选取合适的 region proposal 作为正负例训练。实验结果表明使用 OHEM(Online Hard Example Mining) 机制可以使得Fast RCNN算法在VOC2007和VOC2012上 mAP提高4%左右。 多层特征融合 Fast R-CNN和Faster R-CNN都是利用了最后卷积层的特 征进行目标检测,而由于高层的卷积层特征已经损失了很多细节信息( pooling 操作),所以在定位时不是很精准。HyperNet等一些方法则利用了 CNN的多层特 征融合进行目标检测, 这不仅利用了高层特征的语义信息, 还考虑了低层特征的 细节纹理信息,使得目标检测定位更精准。(3) 使用上下文信息 在提取 region proposal 特征进行目标检测时,结合 region proposal 上下文信息,检测效果往往会更好一些。 (Object detection via a multi -region & semantic segmentation-aware CNN modeI以及 Inside-Outside Net 等 论文中都使用了上下文信息)

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2