RCNN论文学习
【Rich feature hierarchies for accurate object detection and semantic segmentation】
Abstract
论文的方法结合了两个关键的观察:1.可以通过hight-capacity CNN来进行bottom-up 区域提名以定位和划分对象;2.如果训练集不足,那监督预训练是个有用的方法,再经过fine-tuning,可以有很好的性能提升。R-CNN: Regions with CNN features。

整体结构:1. 输入一张图; 2.提取出2000左右的区域; 3.用一个CNN对每个区域进行特征提取; 4. 通过SVM来对每个区域分类
建立图像分类和识别的桥梁:用一个深网络来记性图像定位,只用少量的检测数据来训练high-capacity模型
检测任务的方法:把定位看成回归问题;建立滑动窗口检测器(一些特定的类别,如人脸、行人,形状是比较固定的)。
本文采用的方法:recognition using regions
检测的第二个问题:数据不足。解决方法:在一个大型的数据集ILSVRC上进行监督的预训练,然后在小数据集上进行domain-specific fine-tuing
R-CNN的三个模块
1. 生成category-independent的区域提名,按类别来做区域提名selective search
2. 大型的CNN网络,用来从每个区域提取出固定长度的特征向量
AlexNet,网络要求输入为227x227,所以对数据进行处理:把图片压缩到227x227的大小
3. 一系列的class-specific 线性SVM
训练过程
- 在大数据集上进行预训练:在ILSVRC2012 classification上做预训练,只使用image-level标签,没有bounding box
- Domain-specific fine-tuning:用提名的区域对模型进行fine-tuning。用warped region proposals来继续SGD训练。除了把分类层换成(N+1),就是类别数+1(背景),其他没有变。从lr=0.001(预训练的1/10)。每次SGD迭代使用生成32个正窗口(和ground truth IoU大等于0.5)以及96个bacground 窗口,构成128个
- fine-tune时最后用的还是softmax层
- fine-tune后就可以得到一个分类的网络,可以把conv层的部分固定,用于后续操作的特征提取
- 用svm训练分类:为每个分类设计一个SVM分类器
- bounding box回归:只对IoU大于阈值的框做为输入进行训练
测试
SVM分类概率最大的为分类结果,SVM分类后执行非极大抑制保留概率极大的框,把这些做为输入进行bounding box调整,结果就是目标的位置

其它注意点
1. 为什么SVM和fine-tune的参数不同(对positive example的定义) fine-tune:IOU>=0.5,SVM:只有ground-truth为真,IOU<0.3为假,其它 的忽略
原来的时候,是在预训练的feature map上做SVM,使用的参数和现在fine-tune是一样的。后来引入fine-tune后,两者使用相同参数,但是结果并不好 猜测是由于fine-tuning数据的限制导致,因为其中引入了很多overlap在0.5-1(但不是gr)的数据,这些数据是有必要的,可以防止过拟合。但是,他们会 导致结果变差,因为他们没有对精确的位置进行fine-tune 2. 为什么要SVM 如果只是使用fine-tune的softmax结果,mAP会下降
主要因素是因为在fine-tuning时没有强调精确的位置,而且negtive example是随机的,而不是har negtives
3. bounding box回归
正则化很重要
4. bounding box回归训练时对候选框P的选择(P,G)
如果P和G太远的话,那这个计算就没什么意义了。把一个P分配给某个G,如果P和G的IoU最大,且大于一个阈值,其它没有分配的就忽略。
RCNN论文学习的更多相关文章
- Faster RCNN论文学习
Faster R-CNN在Fast R-CNN的基础上的改进就是不再使用选择性搜索方法来提取框,效率慢,而是使用RPN网络来取代选择性搜索方法,不仅提高了速度,精确度也更高了 Faster R-CNN ...
- R-CNN论文学习
Rich feature hierarchies for accurate object detection and semantic segmentation Tech report (v5) pr ...
- Fast RCNN论文学习
Fast RCNN建立在以前使用深度卷积网络有效分类目标proposals的工作的基础上.使用了几个创新点来改善训练和测试的速度,同时还能增加检测的精确度.Fast RCNN训练VGG16网络的速度是 ...
- Make R-CNN论文学习
在论文是在Faster R-CNN的基础上的改进 ,实现的效果有: 目标检测:能够在输入图像中绘制出目标的边界框,预测目标位置 目标分类:判别出该划定边界的目标的类别是什么,如人.车.猫和狗等类别 像 ...
- R-CNN论文翻译
R-CNN论文翻译 Rich feature hierarchies for accurate object detection and semantic segmentation 用于精确物体定位和 ...
- CVPR2019 | Mask Scoring R-CNN 论文解读
Mask Scoring R-CNN CVPR2019 | Mask Scoring R-CNN 论文解读 作者 | 文永亮 研究方向 | 目标检测.GAN 推荐理由: 本文解读的是一篇发表于CVPR ...
- [Network Architecture]Mask R-CNN论文解析(转)
前言 最近有一个idea需要去验证,比较忙,看完Mask R-CNN论文了,最近会去研究Mask R-CNN的代码,论文解析转载网上的两篇博客 技术挖掘者 remanented 文章1 论文题目:Ma ...
- Mesh R-CNN 论文翻译(实验部分)
本文为 Mesh R-CNN 论文翻译(原理部分)的后续.Mesh R-CNN 原论文. 4 实验 我们在ShapeNet上对网格预测分支进行基准测试,并与最先进的方法相比较.然后,我们在野生的有 ...
- [原创]Faster R-CNN论文翻译
Faster R-CNN论文翻译 Faster R-CNN是互怼完了的好基友一起合作出来的巅峰之作,本文翻译的比例比较小,主要因为本paper是前述paper的一个简单改进,方法清晰,想法自然.什 ...
随机推荐
- [BJOI2019]排兵布阵——分组背包
题目链接: [BJOI2019]排兵布阵 对于每座堡垒,将$s$个对手排序,显然如果安排的兵力能打败第$i$个对手就一定能打败前$i-1$个. 那么对于第$i$座城堡,可以看做有$s+1$个物品(可以 ...
- JSP/JSF从web.xml中取出context-param的配置信息
JSP/JSF从web.xml中取出context-param的配置信息. 应用场景:我们配置了项目的版本信息,想让他显示在页面上,如: <context-param><!-- ## ...
- Codeforce Round #555 Div.3 D - N Problems During K Days
构造题 话说挺水的题..当时怎么就WA到自闭呢.. 先把每个位置按照最低要求填满,也就是相差1..然后从最后一位开始把剩下的数加上,直到不能加为止. #include <bits/stdc++. ...
- P1438 无聊的数列 (差分+线段树)
题目 P1438 无聊的数列 解析: 先考虑修改,用差分的基本思想,左端点加上首项\(k\),修改区间\((l,r]\)内每个数的差分数组都加上公差\(d\),最后的\(r+1\)再减去\(k+(r- ...
- vue路由参数变化刷新数据
当路由到某个组件时,由于组件会复用,所以生命周期函数不会再次执行, 如果这个组件是模板组件,靠传入不同数据来显示的.那么,可能会发生参数变化了但页面数据却不变化. 问题 假如有个组件 info.vue ...
- spring boot下使用logback或log4j生成符合Logstash标准的JSON格式
spring boot下使用logback或log4j生成符合Logstash标准的JSON格式 一.依赖 由于配置中使用了json格式的日志输出,所以需要引入如下依赖 "net.logst ...
- vue axios使用方法
首先安装axios: cnpm install axios -save 安装成功后,在main.js页面引用: import axios from 'axios' import Qs from 'qs ...
- 转载:curl 模拟请求
一般情况下我们会在网页上请求后台接口,但是对于需要进行多次测试的人来说,每一次都要在网页上模拟请求,是存在很大局限性的.因此,我们需要学会模拟请求,以达到跟实际请求一样的效果. 1. curl的用法 ...
- thinkphp5 去除缓存
array_map('unlink', glob(TEMP_PATH . '/*.php')); rmdir(TEMP_PATH);
- prometheus 集群
思路一 统一区域的监控目标,prometheus server两台监控相同的目标群体. 改变后 上面这个变化对于监控目标端,会多出一倍的查询请求,但在一台prometheus server宕机的情况下 ...