目标检测综述文档格式.docx

上传人:b****3 文档编号:14150973 上传时间:2022-10-19 格式:DOCX 页数:9 大小:207.70KB
下载 相关 举报
目标检测综述文档格式.docx_第1页
第1页 / 共9页
目标检测综述文档格式.docx_第2页
第2页 / 共9页
目标检测综述文档格式.docx_第3页
第3页 / 共9页
目标检测综述文档格式.docx_第4页
第4页 / 共9页
目标检测综述文档格式.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

目标检测综述文档格式.docx

《目标检测综述文档格式.docx》由会员分享,可在线阅读,更多相关《目标检测综述文档格式.docx(9页珍藏版)》请在冰豆网上搜索。

目标检测综述文档格式.docx

时间复杂度太高,产生冗余窗口太多,这也严重影响后续特征提取和分类的速度和性能。

(实际上由于受到时间复杂度的问题,滑动窗口的长宽比一般都是固定的设置几个,所以对于长宽比浮动较大的多类别目标检测,即便是滑动窗口遍历也不能得到很好的区域) 

(2) 

特征提取 

由于目标的形态多样性,光照变化多样性,背景多样性等因素使得设计一个鲁棒的特征并不是那么容易。

然而提取特征的好坏直接影响到分类的准确性。

(这个阶段常用的特征有SIFT、HOG等) 

(3)分类器 

主要有SVM,Adaboost等。

总结:

传统目标检测存在的两个主要问题:

一是基于滑动窗口的区域选择策略没有针对性,时间复杂度高,窗口冗余;

二是手工设计的特征对于多样性的变化并没有很好的鲁棒性。

二、基于RegionProposal的深度学习目标检测算法 

对于传统目标检测任务存在的两个主要问题,我们该如何解决呢?

对于滑动窗口存在的问题,regionproposal提供了很好的解决方案。

regionproposal(候选区域)是预先找出图中目标可能出现的位置。

但由于regionproposal利用了图像中的纹理、边缘、颜色等信息,可以保证在选取较少窗口(几千个甚至几百个)的情况下保持较高的召回率。

这大大降低了后续操作的时间复杂度,并且获取的候选窗口要比滑动窗口的质量更高(滑动窗口固定长宽比)。

比较常用的regionproposal算法有selectiveSearch和edgeBoxes,如果想具体了解regionproposal可以看一下PAMI2015的“Whatmakesforeffectivedetectionproposals?

” 

有了候选区域,剩下的工作实际就是对候选区域进行图像分类的工作(特征提取+分类)。

对于图像分类,不得不提的是2012年ImageNet大规模视觉识别挑战赛(ILSVRC)上,机器学习泰斗GeoffreyHinton教授带领学生Krizhevsky使用卷积神经网络将ILSVRC分类任务的Top-5error降低到了15.3%,而使用传统方法的第二名top-5error高达26.2%。

此后,卷积神经网络占据了图像分类任务的绝对统治地位,微软最新的ResNet和谷歌的InceptionV4模型的top-5error降到了4%以内多,这已经超越人在这个特定任务上的能力。

所以目标检测得到候选区域后使用CNN对其进行图像分类是一个不错的选择。

2014年,RBG(RossB.Girshick)大神使用regionproposal+CNN代替传统目标检测使用的滑动窗口+手工设计特征,设计了R-CNN框架,使得目标检测取得巨大突破,并开启了基于深度学习目标检测的热潮。

1.R-CNN(CVPR2014,TPAMI2015) 

(Region-basedConvolutionNetworksforAccurateObjectdetectionandSegmentation)

上面的框架图清晰的给出了R-CNN的目标检测流程:

(1)输入测试图像 

(2)利用selectivesearch算法在图像中提取2000个左右的regionproposal。

 

(3)将每个regionproposal缩放(warp)成227x227的大小并输入到CNN,将CNN的fc7层的输出作为特征。

(4)将每个regionproposal提取到的CNN特征输入到SVM进行分类。

上面的框架图是测试的流程图,要进行测试我们首先要训练好提取特征的CNN模型,以及用于分类的SVM:

使用在ImageNet上预训练的模型(AlexNet/VGG16)进行微调得到用于特征提取的CNN模型,然后利用CNN模型对训练集提特征训练SVM。

对每个regionproposal缩放到同一尺度是因为CNN全连接层输入需要保证维度固定。

上图少画了一个过程——对于SVM分好类的regionproposal做边框回归(bounding-boxregression),边框回归是对regionproposal进行纠正的线性回归算法,为了让regionproposal提取到的窗口跟目标真实窗口更吻合。

因为regionproposal提取到的窗口不可能跟人手工标记那么准,如果regionproposal跟目标位置偏移较大,即便是分类正确了,但是由于IoU(regionproposal与GroundTruth的窗口的交集比并集的比值)低于0.5,那么相当于目标还是没有检测到。

小结:

R-CNN在PASCALVOC2007上的检测结果从DPMHSC的34.3%直接提升到了66%(mAP)。

如此大的提升使我们看到了regionproposal+CNN的巨大优势。

但是R-CNN框架也存在着很多问题:

(1) 

训练分为多个阶段,步骤繁琐:

微调网络+训练SVM+训练边框回归器 

训练耗时,占用磁盘空间大:

5000张图像产生几百G的特征文件 

(3) 

速度慢:

使用GPU,VGG16模型处理一张图像需要47s。

针对速度慢的这个问题,SPP-NET给出了很好的解决方案。

2.SPP-NET(ECCV2014,TPAMI2015) 

(SpatialPyramidPoolinginDeepConvolutionalNetworksforVisualRecognition) 

先看一下R-CNN为什么检测速度这么慢,一张图都需要47s!

仔细看下R-CNN框架发现,对图像提完regionproposal(2000个左右)之后将每个proposal当成一张图像进行后续处理(CNN提特征+SVM分类),实际上对一张图像进行了2000次提特征和分类的过程!

有没有方法提速呢?

好像是有的,这2000个regionproposal不都是图像的一部分吗,那么我们完全可以对图像提一次卷积层特征,然后只需要将regionproposal在原图的位置映射到卷积层特征图上,这样对于一张图像我们只需要提一次卷积层特征,然后将每个regionproposal的卷积层特征输入到全连接层做后续操作。

(对于CNN来说,大部分运算都耗在卷积操作上,这样做可以节省大量时间)。

现在的问题是每个regionproposal的尺度不一样,直接这样输入全连接层肯定是不行的,因为全连接层输入必须是固定的长度。

SPP-NET恰好可以解决这个问题:

上图对应的就是SPP-NET的网络结构图,任意给一张图像输入到CNN,经过卷积操作我们可以得到卷积特征(比如VGG16最后的卷积层为conv5_3,共产生512张特征图)。

图中的window是就是原图一个regionproposal对应到特征图的区域,只需要将这些不同大小window的特征映射到同样的维度,将其作为全连接的输入,就能保证只对图像提取一次卷积层特征。

SPP-NET使用了空间金字塔采样(spatialpyramidpooling):

将每个window划分为4*4,2*2,1*1的块,然后每个块使用max-pooling下采样,这样对于每个window经过SPP层之后都得到了一个长度为(4*4+2*2+1)*512维度的特征向量,将这个作为全连接层的输入进行后续操作。

使用SPP-NET相比于R-CNN可以大大加快目标检测的速度,但是依然存在着很多问题:

微调网络+训练SVM+训练训练边框回归器 

SPP-NET在微调网络的时候固定了卷积层,只对全连接层进行微调,而对于一个新的任务,有必要对卷积层也进行微调。

(分类的模型提取的特征更注重高层语义,而目标检测任务除了语义信息还需要目标的位置信息) 

针对这两个问题,RBG又提出FastR-CNN,一个精简而快速的目标检测框架。

3.FastR-CNN(ICCV2015) 

有了前边R-CNN和SPP-NET的介绍,我们直接看FastR-CNN的框架图:

与R-CNN框架图对比,可以发现主要有两处不同:

一是最后一个卷积层后加了一个ROIpoolinglayer,二是损失函数使用了多任务损失函数(multi-taskloss),将边框回归直接加入到CNN网络中训练。

ROIpoolinglayer实际上是SPP-NET的一个精简版,SPP-NET对每个proposal使用了不同大小的金字塔映射,而ROIpoolinglayer只需要下采样到一个7x7的特征图。

对于VGG16网络conv5_3有512个特征图,这样所有regionproposal对应了一个7*7*512维度的特征向量作为全连接层的输入。

R-CNN训练过程分为了三个阶段,而FastR-CNN直接使用softmax替代SVM分类,同时利用多任务损失函数边框回归也加入到了网络中,这样整个的训练过程是端到端的(除去regionproposal提取阶段)。

FastR-CNN在网络微调的过程中,将部分卷积层也进行了微调,取得了更好的检测效果。

FastR-CNN融合了R-CNN和SPP-NET的精髓,并且引入多任务损失函数,使整个网络的训练和测试变得十分方便。

在PascalVOC2007训练集上训练,在VOC2007测试的结果为66.9%(mAP),如果使用VOC2007+2012训练集训练,在VOC2007上测试结果为70%(数据集的扩充能大幅提高目标检测性能)。

使用VGG16每张图像总共需要3s左右。

缺点:

regionproposal的提取使用selectivesearch,目标检测时间大多消耗在这上面(提regionproposal2~3s,而提特征分类只需0.32s),无法满足实时应用,而且并没有实现真正意义上的端到端训练测试(regionproposal使用selectivesearch先提取处来)。

那么有没有可能直接使用CNN直接产生regionproposal并对其分类?

FasterR-CNN框架就是符合这样需要的目标检测框架。

4.FasterR-CNN(NIPS2015) 

(FasterR-CNN:

TowardsReal-TimeObjectDetectionwithRegionProposalNetworks) 

在regionproposal+CNN分类的这种目标检测框架中,regionproposal质量好坏直接影响到目标检测任务的精度。

如果找到一种方法只提取几百个或者更少的高质量的预选窗口,而且召回率很高,这不但能加快目标检测速度,还能提高目标检测的性能(假阳例少)。

RPN(RegionProposalNetworks)网络应运而生。

RPN的核心思想是使用卷积神经网络直接产生regionproposal,使用的方法

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1