CNN 感受野计算公式

2 篇文章 0 订阅

0. Calculating Receptive Field of CNN

CNN特征图的两种可视化方法
感受野指的是一个特定的 CNN 特征(特征图上的某个点)在输入空间所受影响的区域。一个感受野可以用中信位置和打表来表征。然而,对于一个 CNN 特征来说,感受野中的每一个像素值并不是同等重要。一个像素点越接近感受野中心,它对输出特征的计算所起作用越大。这意味着某一个特征不仅仅是受限在输入图片中某个特定的区域(感受野),并且呈指数级聚焦在区域的中心。

感受野的计算公式如下:

lk=lk1+[(fk1)i=1k1si] l k = l k − 1 + [ ( f k − 1 ) ∗ ∏ i = 1 k − 1 s i ]

其中 lk1 l k − 1 为第 k1 k − 1 层对应的感受野大小, fk f k 为第 k k 层的卷积核大小,或者是池化层的池化尺寸大小。

更为细致的解释如下:

The receptive field (RF) lk of layer k is:

lk=lk1+[(fk1)i=1k1si]

where lk1 l k − 1 is the receptive field of layer k1 k − 1 , fk f k is the filter size (height or width, but assuming they are the same here), and si s i is the stride of layer i i .
The formula above calculates receptive field from bottom up (from layer 1). Intuitively, RF in layer k covers (fk1)sk1 more pixels relative with layer k1 k − 1 . However, the increment needs to be translated to the first layer, so the increments is a factorial — a stride in layer k1 k − 1 is exponentially more strides in the lower layers.

1. 举个例子

感受野的计算是逐层进行的,以下表中的网络结构为例。

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

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

参考文献

  • 22
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值