感受野计算以及SPPNet中的坐标对应
SPPNet特征图与region proposal对应
- 感受野的尺寸计算
- 坐标对应(下一层像素对应上一层特征图感受野区域的中心坐标)
感受野的尺寸计算
从当前特征图经过卷积,得到下一层特征图。得到的这层特征图尺寸计算公式为:
Output = (input - K + 2P)/s + 1 公式(1)
所以,从输出层推输入层的尺寸公式为:
input = (output - 1) * s + K -2P 公式(2)
这个公式只是输出层与输入层图像尺寸进行对应,但并不是感受野的对应。
一般直接说感受野,指的是卷积网络最后一层输出的特征图中的一个像素到原始输入图片的一个区域之间的对应。
还有一种是局部感受野,指的是下一层中的一个像素点,对应上一层中的某个区域。这个局部感受野在计算的时候,直接可以用公式(2),但是要将公式最后的-2P去掉,因为感受野和Padding无关。这样就得到了如下公式(3)
input = (output - 1) * s + K 公式(3)
举个例子,假设在输入图片上,周围padding了无数个0,但是感受野的定义,是输出feature map中的像素点,对应原始输入图片,这样看的话,输出的特征图中的像素,没有和padding的0相对应的。因此在计算感受野的过程中,并不用考虑padding。
注意,上面说的这个,仅仅是输出图片中的一个像素对应输入图片中的某个区域的区域的尺寸。
坐标对应(下一层像素对应上一层特征图感受野区域的中心坐标)
公式: p i p_i pi = s i s_i si * p j p_j pj + ( k i k_i ki-1)/2 - padding 这里必须要有padding,因为添加padding会影响后续特征图中坐标的位置。
其中 p i p_i pi表示当前层的坐标, p j p_j pj表示下一层的坐标。
s i s_i si表示从当前层到下一层的卷积核步长, k i k_i ki表示从当前层到下一层卷积核尺寸。
其中 p i p_i pi和 p j p_j pj表示的是坐标值,可以是w轴,也可以是h轴,并且索引是从0开始的。
以上图为例:
首先求一下绿色特征图到蓝色特征图的感受野尺寸大小,用上面的那个公式(3),这个像素点恰好是(1-1) * 1+3 = 3。这里output取1,表示绿色特征图中1个像素点,对应蓝色特征图中的3个像素点。
上面这个绿色的坐标是 p j p_j pj,下面这个蓝色的坐标是 p i p_i pi。
其中,取绿色特征图的左上角那个像素,这个像素点在w轴和h轴的坐标都是0。
这个像素点对应蓝图中的像素点是 p i p_i pi = 1 * 0+(3-1)/2+0=1,可以看到,对应蓝色图中的坐标为(1,1)的那个像素点。这样就将绿色特征图中的一个像素点,对应到了蓝色特征图中的感受野的中心坐标。
上面举例子,卷积核尺寸是奇数,求出来结果是整数,但是如果 卷积核尺寸是偶数的时候,该如何计算呢?
何凯明在SPPNet中这样来处理的:令每一层的padding都[ k i k_i ki/2] 中括号表示取整 ,这样就可以化简公式为:
当 k i k_i ki为奇数时: p i p_i pi = s i s_i si * p j p_j pj
当 k i k_i ki为偶数时: p i p_i pi = s i s_i si * p j p_j pj - 0.5
由于坐标值不能为小数,因此直接将公式化简为 p i p_i pi = s i s_i si * p j p_j pj。这样就将公式化简到了极简形式。
将上面的公式进行级联得到 p i p_i pi = S * p j p_j pj,其中,S = ∏ 0 i \prod_{0}^i ∏0i* s i s_i si。
对于feature map上的坐标(X,Y),在原图上对应的坐标为(x,y) = (S * X,S * Y)。论文中附录中的具体做法是,选取region proposal的左上角坐标和右下角坐标去和feature map中的坐标做映射。
论文中具体给出的公式为,左上角为:X = [x/S] + 1,右下角为:X = [x/S] - 1。加一和减一可能是因为这样映射后,导致映射到原图,会比真实的region proposal要大一些?通过 +1和-1的一个操作进行一定的配平
感受野计算以及SPPNet中的坐标对应相关推荐
- 在IOS中根据圆心坐标、半径和角度计算圆弧上的点坐标
/** 日期:2015-10-15 版本: 1.0.0 -------------------------------------------------------------- 功能说明 ---- ...
- 基于卫星星历计算卫星在CGCS2000大地坐标系中的坐标
目录 一.北斗系统概述 1.空间星座 2.坐标系统 3.时间系统 二.实验目的 三.实验内容 四.实验过程 五.实验结果 一.北斗系统概述 1.空间星座 北斗卫星导航系统简称北斗系统,英文缩写为 BD ...
- 卷积神经网络中感受野计算
文章目录 前言 一.感受野的概念 二.感受野的例子 三.感受野大小的计算 四.计算VGG-16网络每层的感受野 前言 感受野(receptive field):从CNN可视化的角度来讲,就是输出fea ...
- 【目标检测】SPP-Net中候选区域在原图和feature map之间的映射关系
目录:候选区域在原图和feature map之间的映射关系 一.问题转化 1. 什么是感受野?以及感受野大小如何计算? 2. 感受野上的坐标映射 3. 论文中关于特征映射的讲解 二.何凯明演讲的PPT ...
- 卷积神经网络感受野计算指南
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:Dang Ha The Hien 编译:ronghuaiya ...
- 获取鼠标在盒子中的坐标
1.在盒子内点击,想要得到鼠标距离盒子左右的距离 想到鼠标事件,但是 并不是对于盒子而言的 2.首先得到鼠标在页面中的坐标(pageX.pageY) 3.其次得到盒子在页面中的距离 4.距离一减,就能 ...
- android 获取控件在屏幕中的坐标
今天,简单讲讲android如何获取控件在屏幕中的坐标. 这个其实也很简单,但是昨天做一个功能时,需要功能控件的坐标做一些逻辑操作时,居然不知道怎么做.所以在网上查找了资料后,解决了这个问题.这里记录 ...
- cad高程如何提取到cass软件_从CAD平面图中提取坐标生成数据表
功能:在CAD中提取点的三维坐标(提取当前坐标系中坐标)直接生成Excel表,并在CAD图中生成坐标数据表,加了标点号和输出的选项. 如何安装: 1,在CAD平面图中→工具→宏→加载工程→加载下载 ...
- jupyter中怎么把图形在一个单独的窗口显示_QT绘图中的坐标概念
学习<QT 5.9 C++开发指南>的第8章"绘图",其中有两个概念:视口和窗口. 这两个概念及其之间的关系让我很迷糊."视口"这个名词在很多文章中 ...
最新文章
- 用Python拨打电话
- Python进阶04 函数的参数对应
- modsecurity配置指令学习
- Tomcat打包时多项目共享jar和精确指定jar版本
- 【LOJ6363】「地底蔷薇」【点双】【指数型生成函数】【扩展拉格朗日反演】【多项式幂函数】
- P5180-[模板]支配树
- 【移植Linux 3.4.2内核第二步】之修改系统分区
- qt中记录数据的一次接收处理方法
- python xml实例_python解析xml文档实例
- 为什么iPhone 11在中国市场需求较美国强劲?真相扎心...
- ORB-SLMA3的学习笔记
- 让解析器可以快速处理词法单元之间的空格
- P1352 没有上司的舞会[树形dp]
- UVA 10474 Where is the Marble?
- 理解JavaScript内联命名函数---var fun = function f() {}
- CROC 2016 - Elimination Round Mischievous Mess Makers
- C++数据库编程简介
- 弱网管VLAN交换机配合爱快搭建单臂路由
- 解决DLL load failed while importing _imaging: 找不到指定的模块。问题
- C语言 求两个数最小公倍数和最大公因数