Astrous Convolution, or Dialated Convolution, is firstly introduced in paper Multi-Scale Context Aggregation by Dilated Convolutions. It is aimed to increase the size of reception field without increasing parameter sizes. It’s mainly use in the field of semantic segmentation. By stacking a series of dialated convolution with different rates(e.g., dialate [1, 3, 5] with 3x3 kernel), it can fully cover the original input features.
Standard Conv:
Dialated Conv:
Reception field size of n-dialated conv:
Standard discrete conv is just 1-dialated conv。
In tensorflow, we can either use tf.nn.conv2d
or tf.nn.astrous_conv2d
to perform a dialated conv operation. The following is a demonstration code:
1 | import tensorflow as tf |
References
[1] https://www.zhihu.com/question/54149221
[2] Rethinking Atrous Convolution for Semantic Image Segmentation
[3] Understanding 2D Dilated Convolution Operation with Examples in Numpy and Tensorflow with Interactive Code
Комментарии