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卷积.

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

  1. 【语义分割专题】语义分割相关工作--Multi-Scale Context Aggregation by Dilated Convolution

    Multi-Scale Context Aggregation by Dilated Convolution Yu, Fisher and Vladlen Koltun. "Multi-Sc ...

  2. 膨胀卷积--Multi-scale context aggregation by dilated convolutions

    Multi-scale context aggregation by dilated convolutions ICLR 2016 https://arxiv.org/abs/1511.07122 C ...

  3. DL之DilatedConvolutions:Dilated Convolutions(膨胀卷积/扩张卷积)算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

    DL之DilatedConvolutions:Dilated Convolutions(膨胀卷积/扩张卷积)算法的简介(论文介绍).架构详解.案例应用等配图集合之详细攻略 目录 Dilated Con ...

  4. DL之CNN:卷积神经网络算法简介之卷积矩阵、转置卷积(反卷积Transpose)、膨胀卷积(扩张卷积Dilated/带孔卷积atrous)之详细攻略

    DL之CNN:卷积神经网络算法简介之卷积矩阵.转置卷积(反卷积Transpose).膨胀卷积(扩张卷积Dilated/带孔卷积atrous)之详细攻略 目录 卷积矩阵的简介 卷积.转置卷积--Tran ...

  5. 【Dilated Conv】《Multi-Scale Context Aggregation by Dilated Convolutions》

    ICLR-2016 文章目录 1 Background and Motivation 2 Advantages / Contributions 3 Method 3.1 Dilated Convolu ...

  6. 空洞卷积/扩张卷积(Dilated convolution)-笔记

    空洞卷积/膨胀卷积 (1)普通卷积操作 3*3的kernel,上方深绿色为输出特征图,下方蓝色为原输入图 (2)空洞卷积 其中r为扩张率,指的是卷积核的点的间隔数量.特别的,当r=1时,为普通卷积. ...

  7. Multi-Scale Context Aggregation By Dilated Convolutions

    1 Introduction 之前的网络比如FCN或者Deep Lab v1都存在从小的分辨率图像往大了进行上采样,那么问题就来了,下采样是必要的嘛?话有一些方法提供多个重构版本(multiple r ...

  8. 对Dilated Convolution理解

    "微信公众号" 本文同步更新在我的微信公众号里,地址:https://mp.weixin.qq.com/s/erRlLajvOYmwcfZApNOzIw 本文同步更新在我的知乎专栏 ...

  9. dilated convolution

    首先是诞生背景,在图像分割领域,图像输入到CNN(典型的网络比如FCN[3])中,FCN先像传统的CNN那样对图像做卷积再pooling,降低图像尺寸的同时增大感受野,但是由于图像分割预测是pixel ...

最新文章

  1. 在CSDN中增加图片版权保护的方法
  2. Premiere Pro CC2019安装资料及安装教程
  3. 一个空的C++类中有什么
  4. 【OpenCV】8邻域种子填充法剔除短连通域的高效算法
  5. LeetCode 30串联所有单词的子串31下一个排列
  6. SARscape_5.2.0和SARscape_5.2.1安装包下载
  7. WebMagic学习-解析json
  8. PinnerSage模型
  9. android 桥梁模式,【设计模式】桥接模式
  10. RabbitMQ 开启WEB管理
  11. 程序员如何巧妙学习算法技巧?
  12. bzoj 4033: [HAOI2015]树上染色(树形DP)
  13. APUE---chap3文件I/O---3.11原子操作
  14. pano2vr怎么制作漫游_如何制作全景图?Pano2VR制作FLASH全景图教程
  15. html发起微信或支付宝支付,vue实现-微信网页中唤起支付宝支付
  16. 飞桨框架v2.3 API最新升级 | 对科学计算、概率分布和稀疏Tensor等提供更全面支持
  17. ExecuteNonQuery()的用法
  18. html 有序无序列表,无序列表、有序列表和定义列表
  19. 架设linux服务器下的samba,Linux 服务器搭建之Samba服务
  20. [转]国内地图服务可用性比较

热门文章

  1. Corda ledger技术性白皮书原文和翻译
  2. 阿里巴巴参与共建之江实验室 开展国家重大前沿基础研究
  3. 阿拉伯数字转中文(go语言实现)
  4. 16_OpenCV实现查找表变换
  5. 2015 c语言高考题,高考英语真题全国卷
  6. 计算机二级c语言证书含金量高吗,计算机二级证书含金量高吗
  7. 安装Erlang和RabbitMQ详细教程
  8. 【移动端网页布局】流式布局案例 ④ ( Banner 栏制作 | 固定定位 | 标准流 | 百分比宽度设置 )
  9. 手机QQ超级萌宠自动培养
  10. 程序员必须掌握的高薪技术—微服务架构的实施原理技术