CNN 感受野计算公式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012862372/article/details/81045593

0. Calculating Receptive Field of CNN

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

感受野的计算公式如下:

l k = l k 1 + [ ( f k 1 ) i = 1 k 1 s i ]

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

更为细致的解释如下:

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

l k = l k 1 + [ ( f k 1 ) i = 1 k 1 s i ]

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

1. 举个例子

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

No. Layers Kernel Size Stride
1 Conv1 3*3 1
2 Pool1 2*2 2
3 Conv2 3*3 1
4 Pool2 2*2 2
5 Conv3 3*3 1
6 Conv4 3*3 1
7 Pool3 2*2 2

感受野初始值 l 0 = 1 ,每层的感受野计算过程如下:
l 0 = 1
l 1 = 1 + ( 3 1 ) = 3
l 2 = 3 + ( 2 1 ) 1 = 4
l 3 = 4 + ( 3 1 ) 1 2 = 8
l 4 = 8 + ( 2 1 ) 1 2 1 = 10
l 5 = 10 + ( 3 1 ) 1 2 1 2 = 18
l 6 = 18 + ( 3 1 ) 1 2 1 2 1 = 26
l 7 = 26 + ( 2 1 ) 1 2 1 2 1 1 = 30

参考文献

猜你喜欢

转载自blog.csdn.net/u012862372/article/details/81045593
今日推荐