Multi-Scale Context Aggregation by Dilated Convolution 对空洞卷积(扩张卷积)、感受野的理解

        dilated convolution是针对图像语义分割问题中下采样会降低图像分辨率、丢失信息而提出的一种卷积思路。

        在基于FCN思想的语义分割问题中,输出图像的size要和输入图像的size一致。但是FCN中由于有若干stride>1的池化层,所以越到较高的网络层,单位像素中包含的原始图像的信息就越多,也就是感受野越大,但这是以通过池化降低分辨率、损失原始图像中的信息作为代价而得来的;由于pooling层的存在,后面层的feature map的size会越来越小,但由于需要计算loss等原因,最后输出图像的size要和输入图像的size保持一致,所以在FCN中的后段网络层中,必须对feature map进行上采样操作,将缩小的feature map再还原到原始尺寸,在这个过程中,不可能将在池化过程中丢失的信息完全还原回来,这样就造成了信息的丢失、语义分割的精度降低。

        若如果不加pooling层,在较小的卷积核尺寸的前提下,感受野会很小;但如果为了增大感受野,在中段的网络层中使用size较大的卷积核计算量又会暴增,内存扛不住!因为中段的channel一般会非常大,比如1024、2018,跟最开始rgb图像的3个channel比起来,增大了几百倍。

Dilated Convolution的提出

       加pooling层,损失信息,降低精度;不加pooling层,感受野变小,模型学习不到全局信息...怎么办?

        ====> 我们先做一个决定:不要pooling层。没有pooling层,后续网络层中,较小size的卷积核的感受野会很小,没有全局视野;

        ====> 既然小size的卷积核感受野小,那就增大卷积核的size;

        ====> 但卷积核size越大,计算量就会随之加大;

        ====> 那可不可以让卷积核增大,使感受野增大,但计算量不变呢?

        ====> 有啊,把原本紧密贴着的卷积核变得"蓬松"一些,但卷积核需要计算的点不变,也就是蓬松出来的位置全填进去0,还按照卷积核原本的计算方式计算就)可以了。

        ====> 这样,由于卷积核的"蓬松",感受野变大了,又由于卷积核中的有效计算点不变,所以计算量不变。除此之外,每层的feature map的size都不变,所以图像信息都保存了下来一举三得,OK!妥了!

       

        文章中的卷积核的dilated和感受野有一个关系,按我自己的理解可以写成下面这个形式(和文章中的原始公式实际上是同样的含义)

F(dilated) = [pow(2, (dilated / 2) +2) - 1] × [pow(2, (dilated / 2) +2) - 1]

其中,dilated表示卷积核中每个计算点自己的"半径", F(dilated)就是卷积核的感受野尺寸。比如上图中(a),dilated=1,F(dilated) = 3×3;图(b)中,dilated=2,F(dilated)=7×7;图(c)中,dilated=4, F(dilated)=15×15。


Dilated Convolution感受野指数级增长

        对于经典卷积核情况,比如用3*3卷积核经过1、2层卷积层,在第3层中得到1个Feature点,那么第3层这个Feature点换算回第1层覆盖了多少个Feature点呢?

                                                           第3层:

 

                                                  第2层:


                                               第1层:


也就是从size上来讲,2层3*3卷积转换相当于1层5*5卷积。但对于dilated=2,3*3卷积核来讲,还按照上面3层计算:

第1层:


第2层:


第3层:


从size上来讲,2层3*3卷空洞卷积转换相当于1层13*13卷积.

  • 13
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值