zoukankan      html  css  js  c++  java
  • 图像分割论文 | DRN膨胀残差网络 | CVPR2017

    文章转自:同作者个人微信公众号【机器学习炼丹术】。欢迎交流沟通,共同进步,作者微信:cyx645016617

    0 综述

    这篇文章的最大特色自然是提出了DRN,Dilated Residual Networks,在残差网络的基础上加入了膨胀卷积。

    膨胀卷积,又叫做空洞卷积,是在卷积核参数不变的基础上,增加视野域的一种手段。通过使用膨胀卷积,可以放大最深层特征图的尺寸并且保持视野域大小不变,说白了就是少了几个池化层,然后用膨胀卷积维持同样大小的视野域。比方说,resnet众所周知,包括stem中的下采样和4个layer的下采样,5次下采样,整体的步长为32;但是DRN中,整体步长仅为8。

    当然文章如果仅仅是把碰撞卷积代替一般卷积,那么这篇文章就毫无特色了。碰撞卷积会引出一个degridding效应,如何解决这个问题才是文章的核心。

    再加上一句,虽然模型的参数没有改变,但是因为增加了特征图的尺寸,计算量和内存消耗必然有增加,请大家仁者见仁。

    1 空洞卷积

    这个长话短说,直接看图:

    dilation是一个参数,如果是1的话,就是上图左图的常规卷积核,如果dilation是2的画,就变成右边的膨胀卷积的样子。dilation表示卷积核中参数相邻的距离。

    2 结构变化

    先来看Resnet的结构图:

    输入的图片是224x224大小的,第一次下采样在stem中(图中的conv1),随后的下采样在每一层layer的第一个卷积层前面。

    DRN结构没有了resnet最后的两次下采样,也就是说,特征图在28x28的大小之后就不再变小了。不再减小特征图尺寸,那么就要增加卷积核的膨胀系数

    上图中展示的是后两次下采样的resnet和DRN的区别,可以看到,DRN没有后两次下采样,因此特征图的尺寸都相同。

    • 但是DRN在本该第四次采样的卷积过程中,将膨胀系数改成2,这样保持相同的视野域;
    • 在本该第五次采样的卷积过程中,将膨胀系数改成4,这样保持相同的视野域。

    3 degridding

    使用膨胀卷积来代替下采样,会产生degriding栅格化问题

    这种情况产生的原因在原文中有这样的一句解释:

    Gridding artifacts occur when a feature map has higher-frequency content than the sampling rate of the dilated convolution.

    就是说,当一某一个特征的重要性超过采样率。作者给出了这样的一个例子:

    上面图(a)是一个单个像素异常重要的特征图,然后经过一个膨胀卷积,变成(c),变成网格状的输出。可以说gridding artifiacts是膨胀卷积性质产生的现象。

    为了解决这样的问题,作者对DRN作出了改进:

    1. DRN-B,DRN-C取消了pooling层,改用stride=2的卷积作为下采样,因为作者发现pooling会让degridding更加严重
    2. 此外,作者在DRN-B和DRN-C的最后加上了膨胀系数为2和1的几层卷积层,来消除degridding现象。其中DRN-C取消了最后几层卷积的跳层结构。这个非常好理解,毕竟膨胀卷积会产生degridding,那么我就让最后的输出是用一般的卷积输出就避免了这种结构,然后跳层结构会让degridding直接连入最后的输出结果,所以取消了

    因此在上面的展示图汇中,DRN-C的输出的语义分割效果图,非常丝滑。

    4 总结

    效果有非常大的提高。这个不降低特征图的尺寸,从而提高了小物体的目标检测的效果。值得尝试。

    5 如何实现

    这个也挺好实现的,我们记住:

    1. 用stride=2的卷积层代替pooling层;
    2. 后面两个下采样取消,使用膨胀系数2和4的卷积代替;
    3. 最后在加上膨胀系数为2和1的卷积层消除degridding现象。
    人不可傲慢。
  • 相关阅读:
    Linux软件安装中RPM与YUM 区别和联系
    Linux分区类型EXT2、EXT3、EXT4详解
    【转】SQLServer数据库还原数据库后因孤立用户问题导致无法登陆的处理
    CVE-2018-8045 Joomla内核SQL注入漏洞
    SQL注入漏洞靶场-sqli-labs学习[1-10]
    SQL注入漏洞
    文件包含漏洞
    CSRF的攻击与防御
    XSS漏洞的基本原理
    Linux高性能服务器编程(一):TCP/IP协议族
  • 原文地址:https://www.cnblogs.com/PythonLearner/p/14308161.html
Copyright © 2011-2022 走看看