R-CNN系列

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

R-CNN系列传统目标检测基于候选区域的目标检测回归方法的深度学习目标检测faster-RCNNfast-RCNNSPPNETRCNNYOLO区域选择特征提取分类器分类滑动窗口策略手工设计特征SVM、adaboost等两个问题传统目标检测10-110-110-1111000-1-1-1基本概念•Regionproposals•CNN:卷积神经网络R-CNN:RegionwithCNNfeatures将检测问题转换成为regionproposals的分类问题•SelectiveSearch:选择性搜索•Warp:图像Region变换•Supervisedpre-training:有监督预训练也称迁移学习•IOU:交并比IOU=(A∩B)/(A∪B)•NMS:非极大值抑制•DPM:使用判别训练的部件模型进行目标检测selectivesearchWarpPASCALVOC上的检测率从35.1%提升到53.7%基于候选区域的目标检测用SGD训练CNNImageNet1000(N+1)classificationlayer(N:目标类数目)CNN架构不变class-specificlinearSVMs给出每类概率IOU:交并比NMS:非极大值抑制1.区域提名:通过SelectiveSearch从原始图片提取2000个左右区域候选框;2.区域归一化:把所有侯选框缩放成固定大小(227×227)Warp;3.通过CNN网络提取特征(在特征层的基础上添加两个全连接层);4.使用SVM结合NMS(非极大值抑制)获得区域边框(BBox),最后用DPM中类似的线性回归方法精修(Refine)边框位置。227x227SelectiveSearchforObjectRecognition•SelectiveSearch需要考虑的几个问题:•1.适应不同尺度(CaptureAllScales):穷举搜索(ExhaustiveSelective)通过改变窗口大小来适应物体的不同尺度,选择搜索(SelectiveSearch)同样无法避免这个问题。算法采用了图像分割(ImageSegmentation)和层次算法(HierarchicalAlgorithm)有效地解决了这个问题。•2.多样化(Diversification):单一的策略无法应对多种类别的图像。使用颜色(color)、纹理(texture)、大小(size)等多种策略对分割好的区域进行合并。•3.效率(FasttoCompute)颜色(RGB、灰度、HSV)、纹理(texture)、大小、吻合情况的相似度图像分割•图像分割(ImageSegmentation)的主要目的也就是将图像(image)分割成若干个特定的、具有独特性质的区域(region),然后从中提取出感兴趣的目标(object)。•1.图像(image)的图(graph)表示;SpanningTree)。把图像中的每一个像素点看成一个顶点vi∈V(node或vertex),像素点之间的关系对(可以自己定义其具体关系,一般来说是指相邻关系)构成图的一条边ei∈E,这样就构建好了一个图G=(V,E)。•2.最小生成树(Minimun)将图像表达成图之后,将每个节点(像素点)看成单一的区域,然后进行合并。使用最小生成树方法合并像素点,然后构成一个个区域。相似的区域在一个分支(Branch)上面(有一条最边连接),大大减少了图的边数。Objectproposal转换(Warp)•将各个Region的大小变换到CNN的输入尺寸•变换:Scale:(B)Isotropically各向同性地(C)anisotropically各向异性地Warp:各向异性缩放+16pixels无附加(p=0)Warpingwithcontextpadding(P=16)Warp变换向四周均匀扩充ScaleRegion的原始大小无上下文紧密区域原文A.原始RegionB.Thefirstmethod(“tightestsquarewithcontext”)encloseseachobjectproposalinsidethetightestsquareandthenscales(isotropically)theimagecontainedinthatsquaretotheCNNinputsize.C.Avariantonthismethod(“tightestsquarewithoutcontext”)excludestheimagecontentthatsurroundstheoriginalobjectproposal.D.Thesecondmethod(“warp”)anisotropicallyscaleseachobjectproposaltotheCNNinputsize.Supervisedpre-training迁移学习•对象分类:标注好的训练数据非常多;•目标检测:标注数据很少,如何用少量的标注数据,训练高质量的模型•迁移学习:例如我们先对Imagenet数据集(ILSVRC2012的数据集)进行CNN的分类预训练(pre-traing),然后在PASCAL数据集上微调(fine-runing)。•ILSVRC:ImageNetLargeScaleVisualRecognitionChallenge(ImageNet大规模图像识别挑战赛)•PASCALVOCChallenge:PatternAnalysis,StaticalModelingandComputationalLearningVisualObjectClasses(模式分析,统计建模,计算学习视觉物体分类挑战赛)检测≈定位+分类CNN训练及特征提取训练:1.预训练:训练集:ILSVRC2012;输出:1000维类别标号;学习率:0.01提取的特征为4096维,送入一个4096-1000的全连接(fc)层进行分类•2.调优训练训练集:PASCALVOC2007;学习率:0.001输入:227x227的正负样本(正:32,负:96;包括所有类别)输出:21维(20类+背景);同样使用上述网络,最后一层换成4096-21的全连接网络正负样本的选取:IOU0.5,标记为positive,否则标记为negativeSVM分类器输入:4096*N或者21*NNIPS,2012,byA.Krizhevskyetal.ImageNetclassificationwithdeepconvolutionalneuralnetworks.网络只需要将最后的1000类的分类层换成21类的分类层(20个VOC中的类别和1个背景类),其他都不需要变。训练SVM分类器•训练特定类别的SVM分类器•训练SVM的正负样本:作者同样是使用IoU阈值的方法,计算每一个regionproposal与标准框的IoU,这次的阈值为0.3(实验结果),大于这个阈值的作为正样本,否则为负样本。•Hardnegativemining一般来说训练一个SVM分类器,需要正负两个样本,训练集图片中作为正样本很少,但是随机产生用于训练的负样本可能远远大于正样本,这样训练出来的SVM效果并不好,所以利用Hardnegativemining方法,从负样本中选取出一些有代表性的负样本,使得分类器的训练结果更好。正:标注样本+IOU0.5负:不包含正样本区域•输入:CNN提取的区域特征•输出:每个候选区域特征的概率输出获取每个类别的Boundingbox(BBox)•针对各个类别(N):•CNN生成每个Regionproposal固定长度的特征向量•SVMs分类器计算每个Region特征向量的Score•每个Region(区域)的Score排序•NMS:选取概率最大的区域,计算与其他区域的IOU;如果IOU大于给定阈值(经验值0.3)丢弃该区域;同样的过程依次遍历所有剩余的Region。•用各个类指定的回归模型来细化框的位置NMS:非极大值抑制例如:定位一个车辆,算法就找出了若干方框需要判别哪些矩形框是没用的。•非极大值抑制:先假设有6个矩形框,根据分类器分类概率做排序,从小到大分别属于车辆的概率分别为A、B、C、D、E、F。•(1)从最大概率矩形框F开始,分别判断A~E与F的重叠度IOU是否大于某个设定的阈值;•(2)假设B、D与F的重叠度超过阈值,那么就扔掉B、D;并标记第一个矩形框F,是我们保留下来的。•(3)从剩下的矩形框A、C、E中,选择概率最大的E,然后判断E与A、C的重叠度,重叠度大于一定的阈值,那么就扔掉;并标记E是我们保留下来的第二个矩形框。•就这样一直重复,找到所有被保留下来的矩形框。IOU交并比•IOU表示了boundingbox与groundtruth的重叠度,如下图所示:•矩形框A、B的重合度IOU计算公式:IOU=(A∩B)/(A∪B)或IOU=SI/(SA+SB-SI)•考察一个候选框和当前图像上所有标定框重叠面积最大的一个。如果重叠比例大于设定阈值,则认为此候选框为此标定的类别;否则认为此候选框为背景。位置精修•根据最后输出的feature进一步做了regression,采用的是之前在DPM检测中的用的Linearregressionmodel•例如:左图自行车的左轮,如果我们只用rootfilter检测出来的区域,即红色区域,那么前轮会被切掉一部分,但是如果能综合partfilter检测出来的boundingbox就能得到更加确的boundingbox如右图。使用最小二乘(LeastSqures)线性回归模型。回归器对每一类目标,使用一个线性回归器进行精修。正则项λ=10000。输入:CNN网络pool5层的4096维特征输出:xy方向的缩放和平移W=[x,y,w,h]。训练样本:判定为本类的候选框中,和真值重叠面积大于0.6的候选框。其中*可以是:x,y,w,h,(x,y)是目标中心相对位置,w,h是变换后的宽度和高度缩放比例的对数值R-CNN的缺点虽然R-CNN在ILSVRC2013数据集上的mAP由Overfeat的24.3%提升到了31.4%,第一次有了质的改变。但R-CNN有很多缺点:重复计算:R-CNN虽然不再是穷举,但依然有两千个左右的候选框,这些候选框都需要进行CNN操作,计算量依然很大,其中有不少其实是重复计算;SVM模型:而且还是线性模型,在标注数据不缺的时候显然不是最好的选择;训练测试分为多步:区域提名、特征提取、分类、回归都是断开的训练的过程,中间数据还需要单独保存;训练的空间和时间代价很高GPU上处理一张图片需要13秒,CPU上则需要53秒。SPP-Net:MotivationCroppingmaylosssomeinformationabouttheobject•截取的区域未涵盖整个目标Warppingmaychangetheobject’sappearance•缩放带来图像的扭曲•FClayerneedafixed-lengroundtruthhinputwhileconvlayercanbeadaptedtoarbitraryinputsize.事实上,CNN的卷积层不需要固定尺寸的图像,而全连接层是需要固定大小输入的•提出了SPP层放到卷积层的后面•SPPNet将任意大小的图像池化生成固定长度的图像表示SPP-Net:MotivationSPP-Net:TrainingforDetection(1)Conv5featuremapConv5featuremapConv5featuremapImagePyramidFeatMapPyramidsconvStep1.GenerateaimagepyramidandexacttheconvFeatMapofthewholeimage金字塔用了{6x63x32x21x1},共36+9+4+1=50个特征•做出的主要改进在于SPP-net能够一次得到整个featuremap,大大减少了计算proposal的

1 / 48
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功