【转】空洞卷积

https://zhuanlan.zhihu.com/p/43784441

一.why is dilated Convolution

引入空洞卷积不得不提的是感受野,感受野就是卷积神经网络的每一层输出的特征图(fe ature map)上的像素点在原图像上映射的区域大小。空洞卷积主要为了解决图像分割中的一些问题而提出的,在FCN中通过pooling增大感受野缩小图像尺寸,然后通过upsampling还原图像尺寸,但是这个过程中造成了精度的损失,那么为了减小这种损失理所当然想到的是去掉pooling层,然而这样就导致特征图感受野太小,因此空洞卷积应运而生。

二.what is dilated Convolution

空洞卷积顾名思义就是卷积的一种,如下图所示这个就是空洞卷积,这里stride:1,padding:0。这里空洞卷积有两种理解,一是可以理解为将卷积核扩展,如图卷积核为 【转】空洞卷积 但是这里将卷积核变为 【转】空洞卷积 即在卷积核每行每列中间加0。二是理解为在特征图上每隔1行或一列取数与 【转】空洞卷积 卷积核进行卷积。当然这里改变stride、padding空洞卷积就会和下图有区别。

【转】空洞卷积

三.空洞卷积的感受野

首先介绍cnn感受野计算公式: 【转】空洞卷积 这里 【转】空洞卷积 为本层感受野, 【转】空洞卷积 上层感受野, 【转】空洞卷积 卷积或池化的步长, 【转】空洞卷积 卷积核大小。例子如下(初始感受野大小为1):

【转】空洞卷积 卷积(stride=1): 【转】空洞卷积 感受野为 【转】空洞卷积

【转】空洞卷积 池化(stride=2): 【转】空洞卷积 感受野为 【转】空洞卷积

【转】空洞卷积 卷积(stride=3): 【转】空洞卷积 感受野为 【转】空洞卷积

空洞卷积的感受野计算方法和上面相同所谓的空洞可以理解为扩大了卷积核的大小,下面来介绍一下空洞卷积的感受野变化(卷积核大小为 【转】空洞卷积 ,stride=1,下面的卷积过程后面的以前面的为基础):

1-dilated conv:rate=1的卷积其实就是普通 【转】空洞卷积 因此 【转】空洞卷积 ( 【转】空洞卷积 )卷积因此感受野为 【转】空洞卷积

2-dilated conv:rate=2可以理解为将卷积核变成了 【转】空洞卷积 ,因此 【转】空洞卷积 ( 【转】空洞卷积 )感受野大小为 【转】空洞卷积 。

4-dilated conv:rate=3可以理解为将卷积核变成了 【转】空洞卷积 因此 【转】空洞卷积 ( 【转】空洞卷积 )感受野大小为 【转】空洞卷积

可以看到将卷积以上面的过程叠加感受野变化会指数增长,感受野公式为 【转】空洞卷积 。

【转】空洞卷积

 

reference:

vdumoulin/conv_arithmetic

https://arxiv.org/pdf/1511.07122.pdf

https://blog.****.net/guvcolie/article/details/77884530?locationNum=10&fps=1