1 前言
感受野在目标检测任务中是一个十分重要的可解释性的内在参数,是很重要的,也具有很强的物理意义~
2 感受野的计算方法
已知:上一层特征图的感受野
R
F
l
RF_{l}
RFl,当前层卷积核的大小
k
l
+
1
k_{l+1}
kl+1,以及之前所有卷积层的步长
s
1
,
s
2
,
…
,
s
l
s_1,s_2,\dots,s_l
s1,s2,…,sl,(其中这里的下标
l
l
l表示单词“layer”)
则感受野的计算公式为
R
F
l
+
1
=
R
F
l
+
(
k
l
+
1
−
1
)
∗
∏
i
=
1
l
s
i
R
F
0
=
1
s
0
=
1
\begin{aligned} &RF_{l+1}=RF_{l} + (k_{l+1}-1)\ast \prod_{i=1}^{l}s_i\\ &RF_{0} = 1\\ &s_0 = 1 \end{aligned}
RFl+1=RFl+(kl+1−1)∗i=1∏lsiRF0=1s0=1
也可以等价于下面的递推公式
R
F
l
+
1
=
R
F
l
+
(
k
l
+
1
−
1
)
E
S
l
+
1
E
S
l
+
1
=
E
S
l
+
1
⋅
s
l
+
1
E
S
0
=
1
\begin{aligned} &RF_{l+1}=RF_{l} + (k_{l+1}-1)ES_{l+1}\\ &ES_{l+1} = ES_{l+1} \cdot s_{l+1}\\ &ES_{0} = 1 \end{aligned}
RFl+1=RFl+(kl+1−1)ESl+1ESl+1=ESl+1⋅sl+1ES0=1
3 CNN感受野可视化
可以使用MLRichter/receptive_field_analysis_toolbox对CNN网络的感受野进行可视化;
3 备注
3.1 PyTorch官方实现的DeepLabV3中使用的ResNet101的感受野有1019
感觉还是挺厉害的;