1、定义
空洞卷积(atrous/dilated convolution)又称膨胀卷积是针对图像语义分割问题中下采样会降低图像分辨率、丢失信息而提出的一种卷积思路。空洞卷积向卷积层引入了一个称为“扩张率/膨胀率(dilation rate)”的新参数,该参数定义了卷积核各点之间的间隔数量,即膨胀系数等于卷积核高和宽方向的扩张倍数。
普通的标准convolution的dilatation rate为1
2、图解定义
- 图(a)是3×3的1-dilated conv,和普通卷积操作一样
- 图(b)是3×3的2-dilated conv,实际的卷积核大小仍为3×3,但是空洞为1,空洞的位置用0填补,填补完后的卷积核大小变为5×5,然后再进行卷积操作
- 图©是3×3的4-dilated conv
注意:图中的绿色背景是膨胀后卷积核的感受野;用膨胀后的卷积核大小进行卷积运算
3、公式
膨胀后的卷积核大小 = 膨胀率r × (原始卷积核大小 - 1) + 1
元素间的空洞间隔 = 膨胀率r - 1
举例:
图(a),膨胀率r=1 ----> 元素间的空洞间隔=0 ----> 膨胀后的卷积核大小=3×3
图(b),膨胀率r=2 ----> 元素间的空洞间隔=1 ----> 膨胀后的卷积核大小=5×5
图©,膨胀率r=4 ----> 元素间的空洞间隔=3 ----> 膨胀后的卷积核大小=9×9
4、优点及存在问题
优点:
(1)空洞卷积拥有更大的感受野,且参数量和计算量不发生改变;
(2)保留了内部数据结构;
(3)避免使用下采样。
存在问题:
(1)空洞卷积的卷积核的元素不连续,即不是所有的像素都用来计算,因此这里将信息看作checker-board的方式将会损失信息的连续性。(栅格效应,膨胀卷积不能覆盖所有的图像特征,如下图所示)
(2)我们空洞卷积的设计是用来获取long-ranged information。但是光采用大dilation rate的信息或许只对一些大物体分割有效果,却对小物体来说可能则有弊无利了。如何同时处理不同大小的物体的关系,是设计空洞卷积网络的关键。
5、混合空洞卷积HDC
混合膨胀卷积是针对膨胀卷积存在的问题所提出的,对比膨胀卷积,主要包含以下三方面的特征:
(1)叠加卷积的dilation rate不能有大于1的公约数。比如[2, 4, 6]则不是一个好的三层卷积,依然会出现栅格效应gridding effect。
(2)我们将dilation rate设计成锯齿状结构,例如[1, 2, 5, 1, 2, 5]循环结构。
(3)需要满足以下式子:
其中,ri是第i 层的dilation rate,而Mi是指在i层的最大dilation rate,那么假设总共有n层的话,默认Mn = rn,假设我们使用的卷积核大小为 k × k,我们的目标则是M2 ≤ k,这样我们至少可以用dilation rate = 1即普通卷积的方式来覆盖掉所有洞。
举例:dilation rate = [1, 2, 5] with 3 x 3 kernel (可行的方案)