『计算机视觉』空洞卷积(待续)

一、空洞卷积的提出

空洞卷积(atrous convolutions)又名扩张卷积(dilated convolutions),向卷积层引入了一个称为 “扩张率(dilation rate)”的新参数,该参数定义了卷积核处理数据时各值的间距。

该结构的目的是在不用pooling(pooling层会导致信息损失)且计算量相当的情况下,提供更大的感受野。 顺便一提,卷积结构的主要问题如下:

池化层不可学

内部数据结构丢失;空间层级化信息丢失。

小物体信息无法重建 (假设有四个pooling layer 则 任何小于 2^4 = 16 pixel 的物体信息将理论上无法重建。)

而空洞卷积就有内部数据结构的保留和避免使用 down-sampling 这样的特性,优点明显。

二、空洞卷积原理

如下如,卷积核没有红点标记位置为0,红点标记位置同正常卷积核。

假设原始特征为feat0,首先使用扩张率为0的空洞卷积生成feat1,feat1上一点相对feat0感受野为3*3(如图a);

然后使用扩张率为1的空洞卷积处理feat1生成feat2(如图b),使第一次空洞卷积的卷积核大小等于第二次空洞卷积的一个像素点的感受野,图b即feat1上一个点综合了图a即feat0上3*3区域的信息,则生成的feat2感受野为7*7,即整个图b深色区域;

第三次处理同上,第二次空洞卷积的整个卷积核大小等于第三次空洞卷积的一个像素点的感受野,图c即feat2上每个点综合了feat0上7*7的信息(感受野),则采用扩张率为3的空洞卷积,生成的feat3每一个点感受野为15*15。

相比较之下,使用stride为1的普通3*3卷积,三层之后感受野仅仅为(kernel-1)*layer+1=7

三、空洞卷积问题

感受野跳跃

我们对同一张图连续三次使用扩张率为1的空洞卷积,观察整张图的中心点的感受野(如下图)

很明显,感受野不连续(我们上一小结的例子就没这个问题,所以空洞卷积依赖网络设计)。

小尺度物体检测

类似第一个问题,仍然需要调整扩张率的组合来解决这个问题。

四、网络设计研究

五、常用框架API介绍

六、参考来源

【Tensorflow】tf.nn.atrous_conv2d如何实现空洞卷积?

如何理解空洞卷积(dilated convolution)?

猜你喜欢

转载自www.cnblogs.com/hellcat/p/9687624.html