https://www.toutiao.com/a6695893685260780044/

原论文链接

https://arxiv.org/pdf/1705.09914.pdf

一、论文核心

《Dilated Residual Networks》这篇论文的核心在于创造性地提出了空洞卷积(Dilated Convolution)使 ResNet 在保持参数量不变、每个阶段的卷积层视野不变的前提下,靠后的卷积层也可保持较大的 feature maps 尺寸从而有利于对小目标的检测,提高模型整体性能。具体来说,ResNet最后一层卷积的 整体步长为32,DRN(Dilated ResNet) 则仅为8。当然,既然 feature maps 尺寸大了,计算量当然也会变大,虽然作者在论文中避而不谈,但作为读者可还要心知肚明。

二、什么是空洞卷积

参考链接:如何理解空洞卷积(dilated convolution)?

两张图就可以秒懂:小朋友们,你们学会了吗?

普通卷积 i.e. dilation=1

空洞卷积 i.e. dilation=2

空洞卷积核中的点距离由 1 增加到了 dilation 值,即中间 dilation-1 的地方都是空着的,这个空着的地方,一方面保持了卷积的参数的单次卷积运算量的不变,同时扩大了卷积的视野。所谓有之以为利,无之以为用是也。

小朋友们,你们学会了吗?

三、DRN 的设计和改进

首先我们看看ResNet,它大致可分为6个阶段,即 conv1~5加上最后的分类层:

其中conv2~5为4个分别由相同结构、规模的Residual Block堆砌而成,每个阶段都会进行 stride=2 的下采样,其带来的作用是:

  1. feature maps 尺寸在长宽长都减半下采样后续卷积核的视野翻倍

如何在保持第2点的同时取消第1点呢?DRN是这样处理的:

总结来说即以下几点:

  1. 在conv4、conv5阶段不下采样,即保持整体 stride=8 的步长、feature maps 尺寸相较conv3 不变。由于原ResNet 的conv4视野相对于conv3是两倍,conv5是conv3的四倍,为了弥补视野行的缺陷,如上图 DRN 在 conv4 设置卷积的 dilation=2,conv5 的dilation=4,卷积核大小依然为3x3。

然而这样设计虽然在不增加模型参数量的情况下,提高了模型对小物体的识别精度,但存在明显的问题,作者称之为 degridding,如下图(c):

为了消除空洞卷积带来的 degridding 效应,作者改进了DRN:

绿色竖线表示 stride=2 的下采样,可以看到,DRN 整体下采样只有3次。整体而言的改进有以下几点:

  1. DRN-B、DRN-C 都取消了pooling,使用 stride=2 的卷积层替代。因为作者发现其会导致更严重的 degriding 效应,如下图(b)所示。

2. DRN-B 在最后加了两个 dilation 分别是2、1(即正常卷积)的Residual Block,而DRN-C 在此基础上进一步取消了二者的跳层连接,最后使得输出的 fature maps 如丝般顺滑,如下图(d)(e)。

一个小问题是,上面这张图是怎么画出来的?NIN里的 AvgPooling + conv1x1 替代全连接层输出分类还有印象么?这样可以使得模型参数量大大减少的同时,提高模型的精度,所以许多模型都采用这种方式输出预测分类,而这样训练出来的模型,将 AvgPooling 取消,对于 hxw 大小的 feature map 上的每一点,即 shape 为 (1,1,c) 的 tensor 使用原有的 conv1x1,即可得到上图,此过程如下图所示:

四、DRN 的性能

DRN 的性能如下列图所示,可以看到,在物体检测任务上,模型最后高分辨率输出的feature maps 的确带来了极高的性能提升。

图像分类

物体检测

语义分割

转自:https://zhuanlan.zhihu.com/p/66796313

空洞卷积(Dilated Convolution):有之以为利,无之以为用相关推荐

  1. 膨胀卷积(空洞卷积 dilated convolution)

    学习的B站大佬的视频大部分图片来自于课中,文章结尾有大佬视频链接,以及阅读<深度学习之pytorch物体检测实战>,刚开始学习可能有些错误,希望大佬指正 1.空洞卷积了解 空洞卷积最初是为 ...

  2. 空洞卷积(dilated convolution)理解

    1.简介 Dilated/Atrous Convolution(中文叫做空洞卷积或者膨胀卷积) 或者是 Convolution with holes 从字面上就很好理解,是在标准的 convoluti ...

  3. casual Convolution因果卷积、空洞卷积dilated convolution、Hybrid Dilated Convolution (HDC)

    1.因果卷积 2.空洞因果卷积 3.HDC https://blog.csdn.net/qq_26369907/article/details/97624028 https://blog.csdn.n ...

  4. 总结-空洞卷积(Dilated/Atrous Convolution)、gridding问题以及解决方案、训练技巧BN和PReLU、CReLU

    这里有个可视化.直观的图:https://github.com/vdumoulin/conv_arithmetic https://zhuanlan.zhihu.com/p/50369448 http ...

  5. 膨胀卷积dilated convolution 相关

    [时间]2019.03.10 [题目]膨胀卷积dilated convolution 相关及keras实现 1.Dilated Convolution 2.Dilated Convolutions 空 ...

  6. 有之以为利无之以为用

     <道德经到底在说什么>(十三)有之以为利无之以为用 伯阳 · 三十辐共一毂,当其无,有车之用. 辐,车轮辐条.毂(gǔ),指车轮中心有洞可以插车轮辐条的部分.当,持用之意. 车轮上, ...

  7. 深度学习之空洞卷积(Dilated/Atrous Convolution)

    空洞卷积 Convolution with holes 是在标准的卷积映射(convolution map )里注入空洞,以此来增加感受野( reception field),捕获多尺度上下文信息. ...

  8. 空洞卷积dilated conv

    空洞卷积 a.b.c图卷积核均为3*3,图a和普通的卷积操作一样,a)图对应3x3的1-dilated conv,b)图对应3x3的2-dilated conv,2-dilated conv的前一层是 ...

  9. 如何理解扩张卷积(dilated convolution)

    原理 扩张卷积(Dilated Convolution)也被称为空洞卷积或者膨胀卷积,是在标准的卷积核中注入空洞,以此来增加模型的感受野(reception field).相比原来的正常卷积操作,扩张 ...

  10. 空洞卷积(Dilated Convolutions)

    在深度学习中,我们常见的就是卷积神经网络.这篇博客来给大家介绍一下空洞卷积跟普通卷积的区别. 空洞卷积的应用处:空洞卷积(dilated convolution)是针对图像语义分割问题中下采样会降低图 ...

最新文章

  1. 基于tensorflow的MNIST手写字识别
  2. 生命的真谛不在于你呼吸的次数,而在于那些令你无法呼吸的时刻
  3. java 数据库 空值_java – 是否可以将枚举属性的空值存储到数据库?
  4. ThinkPad L440 FN键设置
  5. c++的ORM解决方案 -- ODB
  6. 最小二乘法多项式拟合的Java实现--转
  7. 史上最大规模,天猫新零售如何爆改100家大润发?
  8. kmeans鸢尾花分类python代码_python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
  9. python url拼接_python学习笔记——urllib篇
  10. windows复制文件到 vmware centos虚拟机问题
  11. python常用开放工具_python学习笔记16-各种模块和开放工具收集整理
  12. 集成新版(5.17+)Activiti Modeler与Rest服务
  13. 03-13 微信小程序自动化测试
  14. 为什么使用 SLF4J 而不是 Log4J 来做 Java 日志
  15. AIO、NIO、BIO
  16. pdfplumber库解析pdf格式
  17. flask不运行主函数解决方法
  18. 计算机组成原理——常用计算单位的转换(时间单位换算s、ms、μs;K、M、G为单位的数值大小)
  19. RabbitMQ中交换机的几种模式
  20. 1st anniversary for my first job

热门文章

  1. 简单粗暴tensorflow2.0
  2. 【Keras】Linux一个shell脚本安装python、keras、tensorflow、anaconda等~
  3. EJB基础 作者 Richard Monson-HaefelTim Rohaly
  4. centos删除文件不释放_centos 磁盘空间不释放 各位有什么解决方案吗
  5. 《强化学习周刊》第21期:EMNLP 2020-2021强化学习的最新研究与应用
  6. 低调的 Linux 文件系统家族
  7. 码农新手白日梦:学最少的数学,编最靓的程
  8. 【连载】优秀程序员的45个习惯之37——提供有用的错误信息
  9. Dijkstra算法--有向图的源点到其他顶点的最短路径(连接矩阵、邻接矩阵两种方式)
  10. 独家|OpenCV1.9 如何利用OpenCV的parallel_for_并行化代码(附代码)