如何计算接受域大小? [英] How to calculate receptive field size?

查看:387
本文介绍了如何计算接受域大小?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在阅读关于使用CNN(卷积神经网络)进行对象检测的论文。

I'm reading paper about using CNN(Convolutional neural network) for object detection.

丰富的要素层次结构,用于精确的对象检测和语义分割

这里是关于接受字段的报价:

Here is a quote about receptive field:

The pool5 feature map is 6x6x256 = 9216 dimensional. Ignoring boundary effects, each pool5 unit has a receptive field of 195x195 pixels in the original 227x227 pixel input. A central pool5 unit has a nearly global view,
while one near the edge has a smaller, clipped support.

我的问题是:


  1. 接受字段的定义是什么?

  2. 如何计算接受字段的大小和位置?

  3. 我们如何计算边界rect使用caffe / pycaffe的接受场地?


推荐答案

1)影响输出的像素大小最后卷积。

1) It is the size of the area of pixels that impact the output of the last convolution.

2)对于每个卷积和池操作,计算输出的大小。现在找到导致输出大小为1x1的输入大小。接受字段的大小

2) For each convolution and pooling operation, compute the size of the output. Now find the input size that results in an output size of 1x1. Thats the size of the receptive field

3)你不需要使用库来做。对于每2×2池,输出大小沿每个维度减少一半。对于宽松卷积,您还可以将每个维度的大小除以步幅。你可能不得不削减一些维度,取决于你是否使用填充为你的卷积。最简单的情况是使用padding = floor(内核大小/ 2),以使卷积对输出大小没有任何额外的变化。

3) You don't need to use a library to do it. For every 2x2 pooling the output size is reduced by half along each dimension. For strided convolutions, you also divide the size of each dimension by the stride. You may have to shave off some of the dimension depending on if you use padding for your convolutions. The simplest case is to use padding = floor(kernel size/2), so that a convolution dose not have any extra change on the output size.

这篇关于如何计算接受域大小?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆