空洞卷积(Atrous Convolution)

介绍

空洞卷积,又称 带孔卷积(Atrous Convolution),又称 扩张卷积/膨胀卷积(Dilated Convolutions)

出处:Multi-Scale Context Aggregation by Dilated Convolutions

作用

在出现空洞卷积之前的CNN分割网络中,习惯于使用Pooling的方式降低图像的尺寸,同时增大网络的 感受野。
最后再使用Upsampling操作将图像的尺寸恢复到原始的大小,以得到像素级的分割结果。

这样的一个 Pooling->Upsampling 的操作导致图像的一些信息丢失(Pooling不可逆),尤其在细节上可能会有比较大的影响。
所以为了达到 增大感受野 同时 不丢失图像信息 的效果,提出了空洞卷积

卷积 vs 空洞卷积

卷积

计算公式:

  • S是strides(滑动步长)
  • 原图片大小为N1xN1(下图为4x4)
  • 卷积核大小为N2xN2(下图为3x3)
  • P是padding大小

卷积后图像大小:(N1-N2+2P)/S+1

如下图:

空洞卷积

空洞卷积(Atrous convolutions)在卷积时,在卷积核元素之间插入0值

引入了一个新的超参数 d,插入的0值数量:(d - 1),假设原来的卷积核大小为 k,那么插入了 (d - 1) 个0值后的卷积核大小 n 为:

n=k+(k-1)*(d-1)

空洞卷积结果大小计算公式为:

  • S是strides(滑动步长)
  • 原图片大小为N1xN1(上图为7x7)
  • 卷积核大小为N2xN2(上图为3x3)
  • P是padding大小(上图为0)
(N1-n+2p)/S+1

代入式子:

空洞卷积核大小为:

n=N2+(N2-1)*(d-1) = 3+(3-1)*(2-1)=5

空洞卷积结果大小为:

(N1-n+2p)/S+1 = (7-5+2*0)/1+1 = 3

感谢:https://www.jianshu.com/p/09ea4df7a788