R-CNN

论文Rich feature hierarchies for accurate object detection and semantic segmentation(CVPR 2014)

先验知识

1、Region Proposal(Object可能出现的区域)
2、Selective Search
3、IOU(交并比)
4、Non-Maximun Suppression(NMS非极大值抑制)
5、SVM二分类器
6、Regressor(回归器)
7、Fine-tune
8、AlexNet(深入理解AlexNet网络
9、pascal VOC数据集

训练

1、候选区域选择(Region Proposal:可能出现目标的位置)
Selective Search方法从每张图像上选取约2000个region proposal
在这里插入图片描述

2、正负样本
根据region proposal构造训练和测试样本,region proposal和ground truth 的IOU大于等于0.5,则该region proposal作为这个ground truth类别的正样本(包括Ground Truth),否则作为负样本
3、预训练
AlexNet在ImageNet数据集上进行预训练
4、CNN特征提取
用pascal VOC数据集训练,将region proposal统一尺寸227 * 227,作为预训练网络的输入,fine tune输出 1000 → 21 1000\to21 100021(ILSVRC 2012:1000类;VOC:21类),保留f7的输出特征2000 * 4096维
5、分类与边界回归
针对每个类别,以f7层输出为输入,训练SVM权重4096 * 20维,输出是否属于该类别。这里负样本的选定和前面不同:将IOU的阈值从0.5改成0.3,即IOU<0.3的是负样本,正样本是Ground Truth。(前面fine-tuning需要大量的样本,所以设置成0.5会比较宽松。而在SVM阶段是由于SVM适用于小样本,所以设置0.3会更严格一点)测试时得到2000*20维的得分输出,根据得分进行非极大值抑制,去除重复框,针对每个类别(一共20类)训练一个回归器,输入是pool5的特征和每个样本对的坐标即长宽

测试

1、候选区域选择(Region Proposal:可能出现目标的位置)
用selective search得到测试图片的2000个region proposal
2、CNN特征提取
将所有region proposal变换到固定尺寸并作为训练好的CNN网络的输入,得到f7层的4096维特征,所以f7层的输出是2000*4096
3、分类得分
用训练好的该类别的svm分类器(20个)对提取到的特征打分,得分矩阵是2000 * 20
4、NMS去重
5、bounding box
用N=20个回归器对第4步得到的20个类别的region proposal进行回归,要用到pool5层的特征。pool5特征的权重W是在训练阶段的结果,测试的时候直接用。最后得到每个类别的修正后的bounding box

缺点流程复杂,包括region proposal的选取,训练卷积神经网络(softmax classifier,log loss),训练SVM(hinge loss)和训练 regressor(squared loss),训练时间长,占用磁盘空间大。每个region proposal都要重新计算,有大量重复计算

参考文献

【1】R-CNN论文详解(论文翻译)
【2】【深度学习】R-CNN 论文解读及个人理解
【3】R-CNN 论文翻译
【4】目标检测之选择性搜索-Selective Search
【5】R-CNN论文详解
【6】【目标检测】RCNN算法详解
【7】R-CNN算法详解
【8】R-CNN目标检测详细解析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值