一、空洞卷积

空洞卷积是是为了解决基于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. 洛谷 P2915 [USACO08NOV]奶牛混合起来Mixed Up Cows 解题报告

    P2915 [USACO08NOV]奶牛混合起来Mixed Up Cows 题意: 给定一个长\(N\)的序列,求满足任意两个相邻元素之间的绝对值之差不超过\(K\)的这个序列的排列有多少个? 范围: ...

  2. MySQL使用笔记(八)统计函数和分组数据记录查询

    By francis_hao    Dec 17,2016 统计函数数据记录查询 统计函数 统计函数 描述 count() count(*):统计表中记录条数(包括NULL值字段) count(fie ...

  3. Django JSON 时间

    在views.py中导入: from django.core.serializers.json import DjangoJSONEncoder 在返回JSON数据时调用: return HttpRe ...

  4. C++:(拷贝,继承,智能指针)练习

    #include <iostream> #include <string> #include <memory> #include <functional> ...

  5. spring cloud-zuul的Filter详解(十一)

    本文转自:http://blog.csdn.net/liuchuanhong1/article/details/62236793 关于网关的作用,这里就不再次赘述了,我们今天的重点是zuul的Filt ...

  6. python基础4--文件操作

    文件操作 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 1.open()打开文件 #获取文件句柄 f = open("yesterday" ...

  7. python中高阶函数与装饰器(2)

    函数返回值为内置函数名: def sum(*args):    def sum_in():        ax = 0        for n in args:            ax = ax ...

  8. 【转载】C#, VB.NET如何将Excel转换为PDF

    在日常工作中,我们经常需要把Excel文档转换为PDF文档.你是否在苦恼如何以C#, VB.NET编程的方式将Excel文档转换为PDF文档呢?你是否查阅了许多资料,运用了大量的代码,但转换后的效果依 ...

  9. 华为手机不能连接android studio进行调试的解决办法

    出现情景:在开启了usb debugging(usb调试模式)后,AS(android studio)还是找不到真机. 解决办法:下载驱动精灵,检测是否安装了huawei的usb驱动,如果没有,安装成 ...

  10. openstack虚拟机启动过程源码分析

    源码版本:H版 以nova-api为起点开始分析! 一.在nova-api进程中进行处理 根据对nova api的分析,当请求发过来的时候,由相应的Controller进行处理,此处如下: nova/ ...