转载自:https://blog.csdn.net/shenxiaolu1984/article/details/78815922
本文尝试用最简明直白的图示,帮助理解和记忆Receptive Field的计算方法。
什么是Receptive Field?
在CNN中,第n层特征图中一个像素,对应第1层(输入图像)的像素数,即为该层的Receptive Field,简称RF。
基本思路
网络第1层输入,第nn层输出。
第kk层和第k+1k+1层之间的滤波器,其尺寸为fkfk,步长为sksk。
为书写简洁,此处用一维尺寸代替二维。
采用递归的思路:
- 用rk表示第n层特征图中的一个像素,对应第k层特征图的像素数。
- 从最深一层倒序向前计算,r1即为第n层的RF。
计算方法
最深一层本身的一像素和自己一一对应:rn=1rn=1。
假设已经计算出,最深一层一个像素对应第k+1层的个像素。
现在的问题是,它对应多少个k层像素?换言之,红色部分有多长?
这部分由两部分组成:
- 蓝色:每段长度为本层滤波器步长,共有段。
- 绿色:每段长度为滤波器一半尺寸,左右各有一段。
于是有: