CNN

感受野(receptive filed)大小的计算

感受野的概念

定义:卷积神经网络每一层输出的feature map上的像素点在输入图上映射的区域大小。
分为理论感受野theoretical receptive field (TRF)与有效感受野effective receptive field (ERF),通常说的是理论感受野

有效感受野

详见论文:Understanding the Effective Receptive Field in Deep Convolutional Neural Networks(https://arxiv.org/abs/1701.04128)

理论感受野有f×f的大小,但这么大的感受野内部每个位置的感受强度是不一样的,中间的要强一些,因为卷积的过程中,feature map中间的元素被使用的次数更多;

上述论文发现有效的感受野和理论感受野差距比较大,有效感受野是一个高斯分布。

image

自动计算感受野大小的网站

https://fomoro.com/tools/receptive-fields/#5,2,1,VALID;7,2,1,VALID;3,1,1,VALID

如何计算每一层对应输入层的感受野大小

计算要点

由感受野的定义可知,有以下几点:

(1)==每个卷积层输出的feature map对应其输入的feature map的感受野大小为:等于该卷积层滤波器的大小==

(2)深层卷积层的感受野大小和它之前所有层的滤波器大小和步长有关系

(3)==计算感受野大小时,忽略了图像边缘的影响,即不考虑padding的大小,stride只影响下一层featuremap的感受野,size影响的是该层的感受野。==

计算公式

==采用top to down的方式==, 即先计算最深层在前一层上的感受野,然后逐渐传递到第一层,使用的公式可以表示如下:   

for layer in (top layer To down layer):

    RF = (RF -1)* stride + fsize

==池化层也按该公式,带入stride和fsize计算==   

计算示例

计算示例1如下所示:

image

上图为计算最后一层输出层相对于输入图片的感受野大小;若想计算其他层相对于输入的感受野,同理计算即可。

计算示例2如下所示:
image

参考

人的视觉神经的感受野:

http://blog.sina.com.cn/s/blog_66d362d70101a8c9.html

https://www.cnblogs.com/objectDetect/p/5947169.html