欢迎扫描二维码关注微信公众号 深度学习与数学   [获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]

论文地址: MULTI-SCALE CONTEXT AGGREGATION BY DILATED CONVOLUTIONS
论文代码: github链接-caffe ; github链接-tf

1.论文思想

  传统分类网络通过连续的pooling或者其他下采样层来整合多尺度上下文信息,这种方式会损失一些分辨率。并且,分类网络与稠密预测不同,稠密预测需要多尺度上下文信息,同时还要求足够大的输出分辨率。论文针对图像语义分割中的像素级别的预测分类提出了一种新的卷积网络模块。通过空洞卷积进行多尺度上下文信息聚合而不降低特征图大小,空洞卷积支持感受野的指数增长。

2. 问题

  论文首先提出两个问题:

  • 在图像分割FCN中,图像输入到FCN,FCN先卷积再池化,降低图像像素同时增大感受野,但要逐像素输出需要将小图像上采样后预测,FCN采取了反卷积的方式,这一过程损失了信息。→\rightarrow→ “是否真的需要下采样层?”
  • 提供图像多个重新缩放的版本作为网络的输入。 →\rightarrow→ “对多个重新放缩的图像进行分开分析是否必要?”
      针对这两个问题,论文提出基于空洞卷积的稠密预测专用卷积网络模块,该模块整合上下文信息同时不丧失分辨率,而且不分析重新放缩的图像。

3. 模型架构

3.1 空洞卷积

  2中提到,在网络中加入pooling层会损失信息并降低精度,不加pooling层会使感受野变小,学不到全局的特征,如果单纯地去掉pooling层,扩大卷积核的话,会导致计算量的增长,从而提出支持感受野指数级增长而且不损失分辨率的空洞卷积。
   如下图KernelSzie 3x3 、空洞因子 2、stride 1、input 7x7,可以看出,空洞卷积中卷积核的元素之间都是相邻的,但是在空洞卷积中卷积核的元素是间隔的,间隔大小取决与空洞因子。

  下图解释了空洞卷积为什么在扩大感受野的同时不损失分辨率:

  如上图,红色圆点为卷积核对应的输入“像素”,绿色为其在原输入中的感受野。
    (a)图对应3x3的扩张率为1的卷积,和普通的卷积操作一样;
    (b)图对应3x3的扩张率为2的卷积,实际的卷积核还是3x3,但是空洞率为2,也就是对于一个7x7的图像块,只有9个红色的点也就是3x3的卷积核发生卷积操作,其余的点略过。也可以理解为卷积核的大小为7x7,但是只有图中的9个点的权重不为0,其余都为0。可以看到虽然卷积核的大小只有3x3,但是这个卷积的感受野已经增大到了7x7。如果考虑到这个2-dilated convolution的前一层有一个1-dilated convolution的话,那么每个红点就是1-dilated的卷积输出,感受野为3x3,所以1-dilated和2-dilated合起来就能达到7x7的卷积;
     (c)图是4-dilated convolution操作,同理跟在1-dilated和2-dilated convolution的后面,能达到15x15的感受野。
对比传统的卷积操作,3层3x3的卷积加起来,stride为1的话,只能达到(kernel-1)*layer+1=7的感受野,也就是和层数layer成线性关系,而dilated conv的感受野是指数级的增长

3.2 多尺度语义融合

  在这一部分中,作者提出了的一种基础的上下文模块。上下文模块旨在通过聚合多尺度上下文信息来提高密集预测网络结构的性能。该模块采用C个通道特征图作为输入,并生成C个通道特征图作为输出。输入和输出具有相同的形式,因此该模块可以插入到现有的密集预测网络结构中。
本文设计的基础上下文模块,有7层,每一层都采用具有不同空洞率的3*3卷积核进行空洞卷积。基础上下文模块根据卷积的通道不同又分为两种形式:basic和large

  论文提到用卷积网络通常的初始化不能提高上下文模块的预测精度并提出采用一个具有明确语义的替代初始化更有效果。这是一种确定初始化的一种形式,最近一直被提倡用于循环神经网络。

3.3 前端模块 (Front End)

  论文提到为上下文网络提供输入的是前端模块生成的64*64分辨率的特征图。如下图所示:

  图中fc-final之前的部分就是前端模块,之后的部分就是上下文模块。前端模块改进了VGG-16网络,将VGG-16最后两个poooling层移除,并且随后的卷积层被空洞卷积代替,pool4和pool5之间的空洞卷积的空洞率为2,在pool5之后的空洞卷积的空洞率为4。实际上,只需要前端而不需要前端之后的部分就能够进行稠密预测。

图像语义分割(3)-Dilated Conv:使用空洞卷积进行多尺度语义聚合相关推荐

  1. 深度学习-【语义分割】学习笔记4 膨胀卷积(Dilated convolution)

    文章目录 膨胀卷积 为什么需要膨胀卷积 gridding effect 连续使用三次膨胀卷积--1 连续使用三次膨胀卷积--2 连续使用三次膨胀卷积--3 Understanding Convolut ...

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

    dilated convolution是针对图像语义分割问题中下采样会降低图像分辨率.丢失信息而提出的一种卷积思路. 在基于FCN思想的语义分割问题中,输出图像的size要和输入图像的size一致.但 ...

  3. Dynamic Routing-中科院西交旷视(孙剑团队)提出用于语义分割的动态路由网络,精确感知多尺度目标,代码已开源!...

    关注公众号,发现CV技术之美 ▊ 写在前面 近年来,大量手工设计和基于搜索的网络被用于语义分割.然而,以前的工作(如FCN.U-Net和DeepLab系列)希望在预定义的静态网络结构中处理不同规模的输 ...

  4. [转载] python实现语义分割_使用Keras实现深度学习中的一些语义分割模型

    参考链接: Keras中的深度学习-数据预处理 Keras-Sematic-Segmentation 使用Keras实现深度学习中的一些语义分割模型. 配置 tensorflow 1.13.1+ten ...

  5. 【语义分割数据集制作】使用labelme制作自己的U-net语义分割数据集

      最近有一个工作需要使用Unet的语义分割结果作为上游任务,语义分割数据集需要自己制作,特此记录一下. 1.下载labelme   第一步当然是下载labelme工具,主要有两种方式:   1. 系 ...

  6. 语义分割-Unsupervised Domain Adaptation in Semantic Segmentation:a Review语义分割中的无监督领域自适应:综述

    Unsupervised Domain Adaptation in Semantic Segmentation:a Review语义分割中的无监督领域自适应:综述 0.摘要 1.介绍 1.1.语义分割 ...

  7. 图像语义分割_图像语义分割(9)-DeepLabV3: 再次思考用于图像语义分割的空洞卷积...

    论文地址 :Rethinking Atrous Convolution for Semantic Image Segmentation 论文代码:Github链接 1. 摘要 文章主要的工作: 使用空 ...

  8. 图像语义分割方法研究进展

    全监督学习的图像语义分割方法研究进展 简介 1 全监督学习的图像语义分割方法 1.1 基于全卷积的图像语义分割方法 1.2 基于编码器解码器结构的图像语义分割方法 1.3 基于注意力机制的图像语义分割 ...

  9. 语义分割和实例分割_2019 语义分割指南

    语义分割是指将图像中的每个像素归于类标签的过程,这些类标签可以包括一个人.汽车.鲜花.一件家具等. 我们可以将语义分割认为是像素级别的图像分类.例如,在有许多汽车的图像中,分割会将所有对象标记为汽车对 ...

  10. 语义分割论文学习记录上

    文章目录 论文学习 AlexNet 2012 Inception v1 2014 VGG 2015 FCN 2015 ResNet 2015 U-Net 2015 Inception v3 2015 ...

最新文章

  1. python使用matplotlib可视化线图(line plot)、并自定义设置可视化图像线条的类型(specify the line style of a plot in matplotlib)
  2. Asp.net 用户控件和自定义控件注册
  3. 说出一些数据库优化方面的经验?
  4. 非常有用的css使用总结
  5. 常用的PL/SQL开发原则 by dbsanke
  6. 利用CSS设置页面的垂直居中效果
  7. android EditText inputType
  8. git push被拒绝_规范git项目提交并自动生成项目commit log
  9. 分布式架构--基本思想汇总
  10. java流换行符方法_java换行符的使用方法
  11. 升级 ubuntu_Ubuntu 19.04 已经到期!现有用户必须升级到 Ubuntu 19.10
  12. php 什么是对象,什么是PHP类和类的对象(PHP的类简介)
  13. 给出中序和前序求后序Java,已知二叉樹前序,中序遍歷,求后序遍歷,java實現...
  14. Rushcrm:CRM系统中的进销存管理
  15. Android自定义T9拨号键盘,Android拨号盘 支持T9搜索和号码搜索等拨号盘案例
  16. 7z 7Zip 命令行压缩,解压缩文件
  17. Selina现身代言发福 手臂上伤疤明显
  18. 著名的“三门问题”的验证
  19. Pytorch实战3:DCGAN深度卷积对抗生成网络生成动漫头像
  20. java人民币大小写转换_Java 实现人民币小写转大写[转载http://sunjun.blogchina.com/]

热门文章

  1. 敏捷开发-srcum
  2. JavaWeb出现404一个很隐蔽的原因
  3. .NET LINQ 限定符操作
  4. Access导入Sql 2008 R2 错误 0xc020801c
  5. UITableView方法详解
  6. 向日葵Gantt支持的XML 数据结构
  7. jar包add to build path与放入lib下
  8. 设计HTML标签title属性值换行
  9. C++11 非成员函数begin()、end()
  10. 堆排序(java实现)