head头的设计:rfcn light-head rfcn
faster缺点:1.不是全卷积,roi出来后是两个fc层,这样会丧失平移变性。
2.每个roi都要单独经过两个fc层,也就是分别进行分类和回归,耗时
也有种说法是roi-pooling后导致平移变性丧失,这个地方还要深入思考
resnet在以faster结构为检测框架的时候,是stage4和之前作特征提取层backbone,roi-pooling后用stage5替代了两层fc,这样能增加平移变性,精度增加,但是时间上还是耗时,因为每个roi都要单独经过stage5的卷积然后分类、回归
roi-wise,个人感觉应该就和element-wise意思差不多,也就是每个roi单独的
rfcn提到:By analogy, it appears natural to use all convolutional layers to construct the shared, convolutional subnetwork in the object detection architecture, leaving the RoI-wise subnetwork no hidden layer. However, as empirically investigated in this work, this naïve solution turns out to have considerably inferior detection accuracy that does not match the network’s superior classification accuracy. To remedy this issue, in the ResNet paper [9] the RoI pooling layer of the Faster R-CNN detector [18] is unnaturally inserted between two sets of convolutional layers — this creates a deeper RoI-wise subnetwork that improves accuracy, at the cost of lower speed due to the unshared per-RoI computation.
直接用全卷积还不行,因为高的分类准确率和低的检测准确率不match
rfcn相当于既增加检测准确率(或者说平移变性),又缩短耗时。rfcn是全卷积的,并且每个roi不用单独进行fc或者卷积计算,而是直接从共享的sensetive score map上获得相关信息
light-head rfcn:
two stage网络结构包括两部分:ROI warping和 R-CNN subnet,ROI warping成为body,R-CNN subnet称为head
rfcn的sensetive score map的channel数是class*k*k,如果81类就是3969个channel。light-head rfcn将class*k*k降到n*k*k,n是任一值(论文中取10,也就是channel数变成7*7*10),改变之后导致无法像rfcn那样预测不同的class了(rfcn通过psroi-pooling后vote),个人觉得psroi-pooling出来是一个7*7*10的feature map,7*7是width和height,10这个channel和类别数无关了。所以psroi-pooling出来的cube接了一个fc,生成1*2048的vector,然后再通过两个fc分别生成cls(1*class)和bouding box regression(4*class)的vector进行预测,这个和faster是一样的。
代码部分:https://github.com/zengarden/light_head_rcnn/blob/master/experiments/lizeming/light_head_rcnn.ori_res101.coco/network_desp.py

light-head rcnn:http://www.sohu.com/a/212814713_610300
为什么score sensetive map可以work???
https://zhuanlan.zhihu.com/p/30867916
https://www.jianshu.com/p/db1b74770e52
head头的设计:rfcn light-head rfcn的更多相关文章
- c++ 私有函数 头文件设计
clock.h #ifndef CLOCK_H_INCLUDED #define CLOCK_H_INCLUDED class Clock {public: static void HandleExd ...
- R-FCN:
和Faster R-CNN相比,R-FCN具有更深的共享卷积网络层,这样可以获得更加抽象的特征 抽象特征的捕获能否通过“sketch/conceptual...” - guided 来进行?想法还是说 ...
- R-FCN论文翻译
R-FCN论文翻译 R-FCN: Object Detection viaRegion-based Fully Convolutional Networks 2018.2.6 论文地址:R-FCN ...
- object detection[rfcn]
0 - 背景 从rcnn,spp,fast rcnn, faster rcnn,yolo,ssd,这里又有个新模型叫rfcn,即Region-based Fully Convolutional Net ...
- R-FCN论文理解
一.R-FCN初探 1. R-FCN贡献 提出Position-sensitive score maps来解决目标检测的位置敏感性问题: 区域为基础的,全卷积网络的二阶段目标检测框架: 比Faster ...
- Faster R-CNN改进篇(二): RFCN ● RON
@改进1:RFCN 论文:R-FCN: Object Detection via Region-based Fully Convolutional Networks [点击下载] MXNet代码 ...
- 目标检测网络之 R-FCN
R-FCN 原理 R-FCN作者指出在图片分类网络中具有平移不变性(translation invariance),而目标在图片中的位置也并不影响分类结果;但是检测网络对目标的位置比较敏感.因此Fas ...
- Light Pre-Pass 渲染器----为多光源设计一个渲染器
http://blog.csdn.net/xoyojank/article/details/4460953 作者: Wolfgang Engel, 原文: http://www.wolfgang-en ...
- rfcn结构
这是rfcn模型的rpn网络部分: 这是rfcn模型的rfcn网络部分: 可以看到rpn网络使用的最后一层特征提取层是resnet的res4f,rfcn网络使用的最后一层特征提取层是resnet的re ...
随机推荐
- excel的列生成算法
echo '<pre>'; $i = 1; while($i < 703){ $char1 = floor($i / 26); $char2 = $i % 26; if($i % 2 ...
- css 画图形大全
Square #square { width: 100px; height: 100px; background: red; } Rectangle #rectangle { width: 2 ...
- 导航栏布局时遇到的问题以及解决办法 css选择器优先级
得到的导航栏效果 添加#menu ul li{width:30px;} 效果如图 将会使列表项和分隔区域的宽度同时改变因为id选择器的优先级高于类选择器,此时应该为列表项添加内联样式如图 才能得到如下 ...
- JavaScript小细节点罗列(1)
共勉! 属性访问表达式 众所周知,JavaScript为属性的访问定义了两种语法方式: 表达式.标识符 // 表达式(指定对象) 标识符(指定需要访问的属性的名称) 表达式[表达式] //表达式1(指 ...
- 使用WebDAV实现Office文档在线编辑
Office的文档处理能力是非常强大的,但是它是本地资源,在Office Web App尚未成熟前,仍需要使用本地能力来进行文档编辑,可是现代的系统的主流却是B/S,所以在B/S中调用本地的Offic ...
- 使用sa-jdi.jar dump 内存中的class
前言 在分析一个 jar 包时发现他把关键类采用了运行时使用 classloader 的方式加载了.懒得分析算法了,可以使用 jdk 自带的工具 dump 出需要的class. 正文 从运行的java ...
- Jupyter notebook 使用多个Conda 环境
conda install nb_conda_kernels
- mysql的日期函数介绍
仅供参考 DAYOFWEEK(date) 返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK('1998-02-03 ...
- 9 tensorflow提示in different while loops的错误该如何解决
示例代码 ii=tf.constant(0,dtype=tf.int32) loop__cond=lambda a: tf.less(a,sentence_length) loop__vars=[ii ...
- LeetCode题解之Number of 1 Bits
1.题目描述 2.问题分析 使用C++ 标准库的 bitset 类,将整数转换为 二进制,然后将二进制表示转换为字符串,统计字符串中 1 的个数即可. 3.代码 int hammingWeight(u ...