Dilated Convolution是一种通过增加kernel元素间距(padding 0)使得感受野增加的一种卷积方式。所谓感受野就是特征图上每个点对应原图像的像素范围。
这样,在不改变kernel size(上图中的kernel size还是3x3)的情况下,增加了感受野。也可以理解为kernel size从3x3 变成了5x5(但是只有原来的3x3的位置有权值,其余位置均为0),Dilated Conv的kernel计算公式如下:
k
′
=
k
+
(
k
−
1
)
(
d
−
1
)
k'=k+(k-1)(d-1)
k′=k+(k−1)(d−1)
即在原来的k-1个间隔中充填d-1行(列)0得到一个新的k’。从而Dilated Conv得到的特征图的计算公式为:
H
o
u
t
=
⌊
H
i
n
+
2
×
padding
−
dilation
×
(
kernel_size
−
1
)
−
1
stride
+
1
⌋
H_{out} = \left\lfloor\frac{H_{in} + 2 \times \text{padding} - \text{dilation} \times (\text{kernel\_size} - 1) - 1}{\text{stride}} + 1\right\rfloor
Hout=⌊strideHin+2×padding−dilation×(kernel_size−1)−1+1⌋
Dilated Conv 在已有像素点的基础上,有意skip掉一些像素点,或者输入不变,但是Conv的kernel中某些权值部分设置为0,达到增大感受野的目的。