如何计算感受野(Receptive Field)

一、感受野的概念

感受野指的是一个特定的 CNN 特征(特征图上的某个点)在输入空间所受影响的区域。
在这里插入图片描述
感受野计算时有下面的几个情况需要说明:

a)第一层卷积层的输出特征图像素的感受野的大小等于滤波器的大小;

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

c)计算感受野大小时,忽略了图像边缘的影响,即不考虑padding的大小。

二、感受野计算公式

1.公式一:
从原始input出发,逐层迭代到最后输出:
l k = l k − 1 + [ ( f k − 1 ) ∗ ∏ i = 1 k − 1 s i ] l_{k} = l_{k-1}+ \left [ (f_{k}-1)*\prod_{i=1}^{k-1}s_{i} \right ] lk=lk1+[(fk1)i=1k1si]
其中 l k − 1 l_{k-1} lk1 为第 k − 1 k-1 k1 层对应的感受野大小, f k f_k fk 为第 k k k 层的卷积核大小,或者是池化层的池化尺寸大小。
举个例子
感受野的计算是逐层进行的,以下表中的网络结构为例。

No.LayersKernel SizeStride
1Conv13*31
2Pool12*22
3Conv23*31
4Pool22*22
5Conv33*31
6Conv43*31
7Pool32*22

感受野初始值 l 0 = 1 l_0 = 1 l0=1,每层的感受野计算过程如下:
l 0 = 1 l_0 = 1 l0=1
l 1 = 1 + ( 3 − 1 ) = 3 l_1 = 1 + (3-1) = 3 l1=1+(31)=3
l 2 = 3 + ( 2 − 1 ) ∗ 1 = 4 l_2 = 3 + (2-1)*1 = 4 l2=3+(21)1=4
l 3 = 4 + ( 3 − 1 ) ∗ 1 ∗ 2 = 8 l_3 = 4 + (3-1)*1*2 = 8 l3=4+(31)12=8
l 4 = 8 + ( 2 − 1 ) ∗ 1 ∗ 2 ∗ 1 = 10 l_4 = 8 + (2-1)*1*2*1 = 10 l4=8+(21)121=10
l 5 = 10 + ( 3 − 1 ) ∗ 1 ∗ 2 ∗ 1 ∗ 2 = 18 l_5 = 10 + (3-1)*1*2*1*2 = 18 l5=10+(31)1212=18
l 6 = 18 + ( 3 − 1 ) ∗ 1 ∗ 2 ∗ 1 ∗ 2 ∗ 1 = 26 l_6 = 18 + (3-1)*1*2*1*2*1 = 26 l6=18+(31)12121=26
l 7 = 26 + ( 2 − 1 ) ∗ 1 ∗ 2 ∗ 1 ∗ 2 ∗ 1 ∗ 1 = 30 l_7 = 26 + (2-1)*1*2*1*2*1*1 = 30 l7=26+(21)121211=30

2.公式二:
根据top to down的方式,即从网络的最后向前推

感受野的大小是由kernel size(filter)和stride size(步长)一起决定的,
公式:
rfsize = f(out, stride, ksize) = (out - 1) * stride + ksize,其中out是指上一层感受野的大小,stride是当前层stride

最后一层可带也可不带入公式,它的out是前一层的ksize
举刚才那个例子:
out7 = (1-1)*2 +2 =2
out6 = (2-1)*1 + 3 = 4
out5 = (4-1)*1 + 3 = 6
out4 = (6-1)*2 + 2 = 12
out3 = (12-1)*1 + 3 = 14
out2 = (14-1)*2 + 2 = 28
out1 = (28-1)*1 + 3 = 30

out7是第7层输出相对于第7层输入也就是第6层输出的感受野,out6是第7层输出相对于第6层输入也就是第5层输出的感受野,以此类推,out1是第7层输出相对于第1层输入也就是第0层输出的感受野,也就是相对于input_image的感受野。

参考文献

  • 15
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值