一、空洞卷积

空洞卷积是是为了解决基于FCN思想的语义分割中,输出图像的size要求和输入图像的size一致而需要upsample,但由于FCN中使用pooling操作来增大感受野同时降低分辨率,导致upsample无法还原由于pooling导致的一些细节信息的损失的问题而提出的。为了减小这种损失,自然需要移除pooling层,因此空洞卷积应运而生。

所谓空洞卷积,有一种理解就是在卷积核中注入空洞(即0),注入的空洞的数量由参数dilation决定,以 卷积核为例,dilation=2即在卷积核每行每列中间加0 ,将卷积核变为 。如下图所示:

二、空洞卷积核的计算

(a) 普通卷积,1-dilated convolution,卷积核的感受野为3x33×3
(b) 扩张卷积,2-dilated convolution,卷积核的感受野为7x77×7
(c) 扩张卷积,4-dilated convolution,卷积核的感受野为15x1515×15

由以上可归纳,当普通卷积核大小为ksize(如上图ksize=3)的时候,n-dilated convolution的膨胀卷积核大小为:

[(n-1)*(ksize+1)+ksize]×[(n-1)*(ksize+1)+ksize]

有了这个公式,当给定n和ksize,就可以计算出膨胀卷积核,然后在以下方法计算出感受野即可。

三、空洞卷积的感受野

  OUT = (IN − FILTER + 2×PADDING )/STRIDE+1

  • IN:输入Feature Map
  • OUT:输出Feature Map
  • FILTER:卷积核的尺寸
  • PADDING:补零圈数
  • STRIDE:滑动步长

卷积操作就是IN->OUT的过程,而求感受野是从OUT->IN的过程。假设不考虑PADDING,那么卷积公式变成:

  OUT = (IN − FILTER )/STRIDE+1

因此,OUT->IN的,

  IN = (OUT-1)×STRIDE+FILTER

计算某一层的一个特征图上的一个像素在原图上的感受野,就从该像素(OUT=1)开始,向前推算(使用FOR循环)。

这里的IN就是对应的感受野r。

OUT代表前一层的输出m。

FILTER:ksize

STRIDE:stride

##################################

以下内容来自

知乎:https://zhuanlan.zhihu.com/p/43784441

作者:机器学习学习之路

##################################

所以有cnn感受野计算公式: 这里 为本层感受野, 上层感受野, 卷积或池化的步长, 卷积核大小。例子如下(初始感受野大小为1):

卷积(stride=1): 感受野为

池化(stride=2): 感受野为

卷积(stride=3): 感受野为

空洞卷积的感受野计算方法和上面相同所谓的空洞可以理解为扩大了卷积核的大小,下面来介绍一下空洞卷积的感受野变化(卷积核大小为 ,stride=1,下面的卷积过程后面的以前面的为基础):

1-dilated conv:rate=1的卷积其实就是普通 因此 )卷积因此感受野为

2-dilated conv:rate=2可以理解为将卷积核变成了 ,因此 )感受野大小为

4-dilated conv:rate=3可以理解为将卷积核变成了 因此 )感受野大小为 15×15

可以看到将卷积以上面的过程叠加感受野变化会指数增长,感受野公式为

####################################

空洞卷积(dilated Convolution) 与感受野(Receptive Field)的更多相关文章

  1. [翻译] 扩张卷积 (Dilated Convolution)

    英文原文: Dilated Convolution 简单来说,扩张卷积只是运用卷积到一个指定间隔的输入.按照这个定义,给定我们的输入是一个2维图片,扩张率 k=1 是通常的卷积,k=2 的意思是每个输 ...

  2. 关于感受野 (Receptive field) 你该知道的事

    Receptive field 可中译为“感受野”,是卷积神经网络中非常重要的概念之一. 我个人最早看到这个词的描述是在 2012 年 Krizhevsky 的 paper 中就有提到过,当时是各种不 ...

  3. 神经网络中的感受野(Receptive Field)

    在机器视觉领域的深度神经网络中有一个概念叫做感受野,用来表示网络内部的不同位置的神经元对原图像的感受范围的大小.神经元之所以无法对原始图像的所有信息进行感知,是因为在这些网络结构中普遍使用卷积层和po ...

  4. Dilated Convolutions 空洞卷积

    Dilated Convolutions,中文一般称为空洞卷积或者扩张卷积,是一种改进的图像卷积方法. 扩张卷积工作示意图如下: 图a是普通的卷积,感受野是3*3,相当于扩充dilation=0 图b ...

  5. CNN中各类卷积总结:残差、shuffle、空洞卷积、变形卷积核、可分离卷积等

    CNN从2012年的AlexNet发展至今,科学家们发明出各种各样的CNN模型,一个比一个深,一个比一个准确,一个比一个轻量.我下面会对近几年一些具有变革性的工作进行简单盘点,从这些充满革新性的工作中 ...

  6. Understanding the Effective Receptive Field in Deep Convolutional Neural Networks

    Understanding the Effective Receptive Field in Deep Convolutional Neural Networks 理解深度卷积神经网络中的有效感受野 ...

  7. 各种卷积类型Convolution

    从最开始的卷积层,发展至今,卷积已不再是当初的卷积,而是一个研究方向.在反卷积这篇博客中,介绍了一些常见的卷积的关系,本篇博客就是要梳理这些有趣的卷积结构. 阅读本篇博客之前,建议将这篇博客结合在一起 ...

  8. 机器视觉:Convolutional Neural Networks, Receptive Field and Feature Maps

    CNN 大概是目前 CV 界最火爆的一款模型了,堪比当年的 SVM.从 2012 年到现在,CNN 已经广泛应用于CV的各个领域,从最初的 classification,到现在的semantic se ...

  9. Receptive Field Block Net for Accurate and Fast Object Detection

    Receptive Field Block Net for Accurate and Fast Object Detection 作者:Songtao Liu, Di Huang*, and Yunh ...

随机推荐

  1. 沉迷AC自动机无法自拔之:穿越广场 square

    如标题所言,我已经沉迷于AC自动机无法自拔了... 这又是一道AC自动的题,红红火火恍恍惚惚 穿越广场 [问题描述] L 国的仪仗队要穿越首都广场了.首都广场可以看做是一块 N*M 的矩形网格,仪仗队 ...

  2. 【BZOJ2962】序列操作(线段树)

    [BZOJ2962]序列操作(线段树) 题面 BZOJ 题解 设\(s[i]\)表示区间内选择\(i\)个数的乘积的和 考虑如何向上合并? \(s[k]=\sum_{i=0}^klson.s[i]*r ...

  3. 【转】64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解

    64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解,开发裸机环境之前需要先搭建其开发环境,毕竟工欲善其事必先利其器嘛.  安装步骤 1.准备工具安装目录 下载 ar ...

  4. Jump Game - LeetCode

    目录 题目链接 注意点 解法 小结 题目链接 Jump Game - LeetCode 注意点 解法 解法一:贪心算法,只关注能到达最远距离,如果能到达的最远距离大于结尾说明能到达,否则不能.并且如果 ...

  5. BZOJ3142 [Hnoi2013]数列 【组合数学】

    题目链接 BZOJ3142 题解 题意:选一个正整数和\(K - 1\)个\([1,M]\)中的数,使得总和小于等于\(N\),求方案数模\(P\) 题目中\(K(M - 1) < N\)的限制 ...

  6. sqlmap利用DNS进行oob(out of band)注入(转)

      0x00 起因 实际案子的时候遇到了一个注入,过狗可以使用sqlmap,但是是基于时间的注入和限制频率需要使用--delay参数,本来就是延时再加上--delay等的心力憔悴.所有有了下面介绍使用 ...

  7. Windows环境下,将Django部署到Apache Web Server

    在Windows上部署Django(用mod_wsgi)会出现各种奇怪的问题,现简单记录下配置过程及遇到的错误及解决方法. 环境搭建                                   ...

  8. 2018 “百度之星”程序设计大赛 - 初赛(A)度度熊学队列 list rope

    c++ list使用 #include <cstdio> #include <cstdlib> #include <cmath> #include <cstr ...

  9. python【数据类型:字典】

    字典的定义 infos = {'name':'张晓红','sex':'女','address':'上海','age':18} stus = {"name":"张三&quo ...

  10. samba和nginx服务

    samba和nginx服务 1.s配置amba samba的功能: samba是一个网络服务器,用于Linux和Windows之间共享文件. 1.1配置环境 关闭防火墙和selinux systemc ...