您的位置:首页 > 移动开发 > Objective-C

Region-based Convolutional Networks for Accurate Object Detection and Segmentation----R-CNN论文笔记

2016-06-25 16:51 941 查看

一、为什么提出R-CNN

目标检测性能停滞不前,性能最好的集成方法又太复杂,所以作者提出了一个既能大幅提升性能,又更简单的R-CNN。

二、R-CNN的框架



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

1) 输入测试图像

2) 利用selective search算法在图像中提取2000个左右的region proposal。

3) 将每个region proposal变换(warp)成227x227的大小并输入到CNN,将CNN的fc7层的输出作为特征。

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

针对上面的框架给出几点解释:

上面的框架图是测试的流程图,要进行测试我们首先要训练好提取特征的CNN模型,以及用于分类的SVM:使用在ImageNet上预训练的模型(AlexNet/VGG16)进行微调得到用于特征提取的CNN模型,然后利用CNN模型对训练集提特征训练SVM。

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

上图少画了一个过程——对于SVM分好类的region proposal做边框回归(bounding-box regression),边框回归是对region proposal进行纠正的线性回归算法,为了让region proposal提取到的窗口跟目标真实窗口更吻合。因为region proposal提取到的窗口不可能跟人手工标记那么准,如果region proposal跟目标位置偏移较大,即便是分类正确了,但是由于IoU(region proposal与Ground Truth的窗口的交集比并集的比值)低于0.5,那么相当于目标还是没有检测到。

三、R-CNN的优点

1)相对之前的算法,目标检测性能大幅提升。

四、R-CNN的缺点

1)训练分为多个阶段,步骤繁琐: 微调网络+训练SVM+训练边框回归器

2)速度慢: 使用GPU, VGG16模型处理一张图像需要47s。

3)训练耗时,占用磁盘空间大:5000张图像产生几百G的特征文件

五、R-CNN的适用场合

图像分类(image classification)

目标检测(object detection)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: