目标检测算法综述报告


 

 

目录:

第一章  R-cnn

第二章  fast rcnn

第三章  faster rcnn

第四章  参考文献

 

 

撰稿人:朱秀红

 

 

 

 

 

 

 

 

 

 

 

第一章 R-cnn

一、R-cnn框架流程

1.输入图像

2.运用selective search算法提取2k左右的region proposals

3.将每个region proposal通过warp(扭曲)为227x227pixel作为CNN的输入,计算CNN的特征

4.将每个region proposal在CNN中提取到的特征输入到SVM进行分类

二、R-cnn应用

1.图像分类(imageclassification

2.目标检测(object detection

三、R-cnn总结

1.缺点:

(1)训练是多阶段进行的。

(2)训练在时间和空间上花费较大。对于SVMs和bb-box regression训练,要从每张图片的每个中objectproposal中提取特征,这既费时又费力。

(3)目标检测很慢。在测试时,要从每张测试图片的每个object proposal中提取特征,很耗时。R-CNN很慢的原因在于它对于每个object proposal都进行了ConvNet的前向传播,而没有共享计算。

2.分析:(来自知乎:https://www.zhihu.com/question/35887527)

(1)RCNN框架内的方法精度提升的瓶颈是将dectection问题转化成了对图片局部区域的分类问题后,不能充分利用图片局部object在整个图片中的context信息

(2)很多传统特征可以用图片经过CNN后得到的feature map表示。并且,由于卷积操作具有平移不变形,feature map里不仅包含了物体的what信息,还包含着物体的where信息。因此可以利用CNN特征来代替传统特征,对特征用SVM得到分类结果,同时可以对特征作回归得到更精确的位置。

(3)rcnn是经典的物体检测方法:

proposals->features->claasifiers(SVM)

因为每个region proposal都要过一遍cnn,即重复计算,所以速度慢

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第二章 fast rcnn

一、fast rcnn框架流程

1.输入:图像+RoIsregion of interest)到完全卷积网络(ConvNet   输出:feature map

2.经过RoI pooling layer,每个RoI被池化到固定大小的feature map

3经过FCsfully connectedfc)映射为一个feature vector

4.每个RoI在网络有两个输出向量:softmax probabilitie+per-class bbox regressionbboxregression是用来对窗口进行微调)

二、总结

优点:

1更高的检测质量(mAP

2通过使用多任务损失(Multi-task loss),使得训练是单阶段的

3)训练可以更新所有网络层

4)对于特征缓存不需要磁盘存储

5提供了在caffe的框架下,如何定义自己的层/参数/结构的范例

training and testing end-to-endROIPooling层,使得训练效果提升不少速度上的提升

 

 

 

第二章 faster rcnn

一、faster cnn框架流程

1.在特征图上使用3*3的卷积核(滑动窗口)与特征图进行卷积,那么这个3*3的区域卷积后可以获得一个256维的特征向量。因为这个3*3的域上,每一个特征图上得到一个1维向量,256个特性图即可得到256维特征向量。3*3滑窗中心点位置,对应预测输入图像3种尺度(128,256,512),3种长宽比(1:1,1:2,2:1)的region proposal,这种映射的机制称为anchor,产生了k=9个anchor。

2.后边接入两个全连接层,即cls layer和reg layer分别用于分类和边框回归。cls layer包含2个元素,用于判别目标和非目标的估计概率。reg layer包含4个坐标元素(x,y,w,h),用于确定目标位置。cls:正样本,与真实区域重叠大于0.7,负样本,与真实区域重叠小于0.3。reg:返回区域位置

3.最后根据region proposal得分高低,选取前300个region proposal,作为Fast R-CNN的输入进行目标检测

二、faster cnn总结

1.优点:

RPN的核心思想是使用卷积神经网络直接产生region proposal,使用的方法本质上就是滑动窗口

2.分析:

(1)faster rcnn把region proposal也放在网络里完成(RPN),这样整个框架都可以在一个网络里运行。

faster rcnn主要认为selectivesearch只能跑在cpu,不能跑在gpu上,所以提出了rpn来得到proposal。一般selectivesearch会产生2000个proposal,但rpn就几百个。

(2)4步训练算法,通过交替优化来学习共享的特征:

a.使用在ImageNet上预训练的模型初始化RPN网络参数,微调RPN网络;

b.使用(a)中RPN网络提取region proposal训练Fast R-CNN网络,也用ImageNet上预训练的模型初始化该网络参数;(现在看来两个网络相对独立)

c. 使用(b)的Fast R-CNN网络重新初始化RPN, 固定卷积层进行微调,微调RPN网络;

d.固定(b)中Fast R-CNN的卷积层,使用(c)中RPN提取的region proposal对Fast R-CNN网络进行微调

 

 

 

 

 

 

 

 

 

 

 

 

第四章 参考文献

Rcnn:《Rich feature hierarchies for accurate objectdetection andsemantic segmentation》 

Fast rcnnFast R-CNN

Faster rcnnFaster R-CNN Towards Real-Time ObjectDetection with RegionProposal Networks 

你可能感兴趣的:(深度学习)