zoukankan      html  css  js  c++  java
  • 扩张卷积(dilated convolution)

    最早出现在DeeplLab系列中,作用:可以在不改变特征图尺寸的同时增大感受野,摈弃了pool的做法(丢失信息);

    我们设: kernel size = k, dilation rate = d, input size = W1, output size = W2, stride=s, padding=p;

    Dilation convolution(扩张卷积)的原理其实也比较简单,就是在kernel各个像素点之间加入0值像素点,变向的增大核的尺寸从而增大感受野。

    结构如下:

    如上图所示,(a)是我们常见的卷积核,可以看成d=1的扩张卷积,核的尺寸为3,感受野为3;(b)是d=2的扩张卷积,核的尺寸上升为5=2*(3-1)+1,如果与(a)叠加使用的话感受野则为7;(c)是d=4的扩张卷积,核的尺寸上升为9=4*(k-1)+1,若与(a)(b)叠加则感受野区域为15;

     (1)经过dilation rate放大后,fliter大小上升为:k*(d-1)+1;

    (2)扩张卷积的输入和输出特征图的尺寸关系如下:

            {color{Purple}W_{2} = frac{ W_{1} + 2p -d(k-1)-1}{s} + 1 }

    ps:在s=1,k=3时,令d = p,则输出特征图尺寸不变

    扩张卷积可用于图像分割、文本分析、语音识别等领域;

     存在的问题棋盘效应(特征图不是处处可导!)

     解决方法:使用锯齿状的卷积核

  • 相关阅读:
    <<剪绳子>>题解
    P5743 小猴吃桃 题解
    注意C++中的int与long long 的乘法
    数组初始化方法总结
    一维差分和二维差分
    一维前缀和与二维前缀和
    例2-6 字母转换
    例1-11 评测机队列
    golang ---查找字串实例 IP address
    mongodb ---加减等操作
  • 原文地址:https://www.cnblogs.com/zf-blog/p/12101300.html
Copyright © 2011-2022 走看看