卷积的感受野

article/2025/9/14 16:14:18

title: 卷积的感受野
date: 2022-06-14 19:52:38
tags: 深度学习基础

卷积的感受野

文章目录

    • title: 卷积的感受野 date: 2022-06-14 19:52:38 tags: 深度学习基础
    • 卷积的感受野
      • 什么是感受野
      • 为什么浅层特征预测小目标,深层特征预测大目标
      • 深层特征检测大目标,为什么不同时检测小目标?
      • 怎么计算感受野
        • 计算感受野示例
      • 有效感受野(Effective Reception Field, ERF)

什么是感受野

是指输出特征图上某个像素对应到输入空间(原图)中的区域范围。所以感受野可以理解为特征图像素到输入区域的映射。

如图所示,黄色部分为最外层输出特征;左上角像素对应的内层的感受野为绿色区域,依次类推,最后推到原图上区域。

为什么浅层特征预测小目标,深层特征预测大目标

很显然,深层特征,即黄色特征映射回原图,感受野大,能够捕捉到大目标的全部特征,所以深层特征预测大目标。
蓝色(浅层)特征,感,受野小,对于小目标来说,能够很全面的捕捉到其特征,所以浅层特征预测大目标。
反过来想:如果浅层特征预测大目标,由于感受野太小,只能看到大目标的一部分特征(大象的一部分),就会有盲人摸象的意思,全靠猜。

深层特征检测大目标,为什么不同时检测小目标?

深层特征有足够大的感受野,感受野大于检测的目标,理论上来说就可以检测到结果。按照道理肯定也能检测小目标。
简单来说是因为stride太大,层层卷积之后,Feature map逐渐减小,感受野逐渐增大。检测的时候在feature map上的每个像素点生成指定scale rato的Anchor,由于feature map小,产生的anchor覆盖密度就越低,那么anchor映射回原图因为非极大值抑制(nms)过滤掉,所以小目标也检不出来。

怎么计算感受野

  • R F n 表 示 第 n 层 的 感 受 野 , 第 0 层 的 感 受 野 默 认 为 1 RF_n表示第 n层的感受野,第0层的感受野默认为1 RFnn01
  • f K 表 示 卷 积 核 的 大 小 f_K 表示卷积核的大小 fK
  • S i 表 示 第 i 层 的 步 长 S_i表示第i层的步长 Sii

计算感受野示例

当卷积为空洞卷积的时候,卷积核的大小计算公式如下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pgzKoXeB-1655214690504)(https://raw.githubusercontent.com/stepstep123/TestUploadImage/master/20220614_3.jpg)]

  • D表示膨胀系数,默认为1即为常规卷积,D等于2的时候卷积核间出现一个空洞

那么感受野的通用公式变为

  1. conv 3*3 stride=2 Dilation=2 Padding=2
  2. conv 5*5 stride=2 Dilation=2 Padding=0
  3. conv 3*3 stride=1 Dilation=1 Padding=1
  4. conv 3*3 stride=1 Dilation=3 Padding=1
  5. conv 7*7 stride=2 Dilation=2 Padding=1

计算过程

  • 第零层的感受野是1
  • 第一层的感受野是 1 + ((3-1)* 2 + 1)- 1 = 5
  • 第二层的感受野是 5 + (((5-1)2 + 1)- 1) 2 = 21
  • 第三层的感受野是 21 + (3 -1)* 2 * 2 = 29
  • 第四层的感受野是 29 + (((3 - 1) * 3 + 1) - 1) * 2 * 2 = 53
  • 第五层的感受野是53 + ((((7 - 1)* 2 + 1)- 1)* 2 * 2 = 101

解析:

  1. 如果Dilation=1,那么卷积核是多少就是多少
  2. 如果Dilation>1,那么就用公式替换之前的卷积核
  3. 对前n-1层的步长累乘

有效感受野(Effective Reception Field, ERF)

有效感受野指的是并不是感受野内所有像素对输出向量的贡献相同,在很多情况下感受野区域内的影响分别是高斯,有效感受野仅占理论感受野的一部分,其高斯分布从中心到边缘快速衰减。

其实很好理解,我们来分析第1层,下图标出了conv3x3 s1卷积操作对每个输入值的使用次数,用蓝色数字表示,很明显越靠近感受野中心的值被使用次数越多,靠近边缘的值使用次数越少。5x5输入是特殊情况刚好符合高斯分布,3x3输入时所有值的使用次数都是1,大于5x5输入时大部分位于中心区域的值使用次数都是9,边缘衰减到1。每个卷积层都有这种规律,经过多层堆叠,总体感受野就会呈现高斯分布。


http://chatgpt.dhexx.cn/article/5AMsRSe2.shtml

相关文章

感受野

感受野 先图解一下啥是感受野 感受野具体就是通过卷积核扫描原始图片之后一个feature map的格子代表原始图片的范围大小。 如上图,这是一个55的原始图片padding11,卷积核33,步距2。卷积扫描两次的示意图。 (2个33的卷积核扫描两次…

卷积神经网络中感受野的详细介绍

"微信公众号" 本文同步更新在我的微信公众号里面,地址:https://mp.weixin.qq.com/s/qMasyxRILzyEF3YyLvjzqQ 本文同步更新在我的知乎专栏里面,地址:https://zhuanlan.zhihu.com/p/39184237 1. 感受野的概念 在卷积神经…

感受野详解

目录 概念举例感受野的计算规律两种计算感受野的方法从前往后从后往前 推导VGG16网络的感受野结构从后往前从前往后 感受野大于图片为什么要增大感受野 概念 在卷积神经网络中,感受野(Receptive Field)的定义是卷积神经网络每一层输出的特征…

深度理解感受野(一)什么是感受野?

Introduction 经典目标检测和最新目标跟踪都用到了RPN(region proposal network),锚框(anchor)是RPN的基础,感受野(receptive field, RF)是anchor的基础。本文介绍感受野及其计算方法,和有效感受野概念 什么是感受野? 感受野与视觉 感受…

感受野的含义及计算方法

1 感受野(Receptive Field)的概念 感受野(Receptive Field)的概念:在卷积神经网络中,感受野的定义是 卷积神经网络每一层输出的特征图(feature map)上的像素点在原始输入图像上映射的区域大小。第一层卷积层的输出特征图像素的感…

感受野是什么?

在卷积神经网络中,感受野(Receptive Field)是指特征图上的某个点能看到的输入图像的区域,即特征图上的点是由输入图像中感受野大小区域的计算得到的。神经元感受野的值越大表示其能接触到的原始图像范围就越大,也意味着它可能蕴含更为全局,语义层次更高的…

细说卷积神经网络(CNN)中所谓的“感受野”(Receptive Field)

感受野 一、感受野1.全连接网络与卷积神经网络2.进一步体验“感受野”3.计算感受野通用方式4.综合实例5.总结 一、感受野 感受野:卷积神经网络中每个网络层输出的特征图中的单个元素映射回原始输入特征中的区域大小,网络层越深,其输出特征的元…

【Kafka】10道不得不会的 Kafka 面试题

博主介绍: 🚀自媒体 JavaPub 独立维护人,全网粉丝15w,csdn博客专家、java领域优质创作者,51ctoTOP10博主,知乎/掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和副业。🚀 公众号&…

Java程序员必备的50道Kafka面试题及解析,面试再也不怕问Kafka了

前言 Apache Kafka的受欢迎程度很高,Kafka拥有充足的就业机会和职业前景。此外,在这个时代拥有kafka知识是一条快速增长的道路。所以,在这篇文章中,我们收集了Apache Kafka面试中常见的问题,并提供了答案。因此&#…

Kafka面试题总结

1、kafka是什么? 可以用来做什么? Kafka 是一个分布式的、高吞吐量的、可持久性的、自动负载均衡的消息队列。 它不仅可以实现传统意义上MQ功能,异步、解耦、削峰。 还可以作为大数据的流处理平台。 2、为什么kafka安装需要依赖Zookeeper? 配置中心&#xf…

kafka面试题知识点整理

kafka-面试题整理 刚刚学了kafka,整理一些面试题知识点,帮助记忆1、什么是kafka2、什么是消息队列3、kafka通信流程4、Leader选举流程5、副本及同步原理6、消费者消费数据的方式7、分区分配策略以及原理8、如何保证消息的可靠性9、数据有序/乱序10、幂等…

kafka面试题

1.Kafka数据积压如何处理? 1. 实时/消费任务挂掉导致的消费滞后 a. 任务重新启动后直接消费最新的消息,对于"滞后"的历史数据采用离线程序进行"补漏"。b. 任务启动从上次提交offset处开始消费处理 如果积压的数据量很大&#xff0c…

Kafka 面试题,看这一篇就够了

Kafka 基础 消息系统的作用 大部分小伙伴应该都清楚,这里用机油装箱举个例子: 所以消息系统就是如上图我们所说的仓库,能在中间过程作为缓存,并且实现解耦合的作用。 引入一个场景,我们知道中国移动,中国联…

32 道常见的 Kafka 面试题

最近很多粉丝后台留言问了一些大数据的面试题,其中包括了大量的 Kafka、Spark等相关的问题,所以我特意抽出时间整理了一些大数据相关面试题,本文是 Kafka 面试相关问题,其他系列面试题后面会陆续整理,欢迎关注过往记忆…

Kafka面试题及答案整理 110道 (持续更新)

最新Kafka面试题【附答案解析】Kafka面试题及答案,Kafka最新面试题及答案,Kafka面试题新答案已经全部更新完了,有些答案是自己总结的,也有些答案是在网上搜集整理的。这些答案难免会存在一些错误,仅供大家参考。如果发…

2022 最新 Kafka 面试题

Kafka 面试题 1、如何获取 topic 主题的列表2、生产者和消费者的命令行是什么?3、consumer 是推还是拉?4、讲讲 kafka 维护消费状态跟踪的方法5、讲一下主从同步\6、为什么需要消息系统,mysql 不能满足需求吗?1.解耦:2…

20道常见的kafka面试题以及答案

JAVA面试宝典,搞定JAVA面试,不再是难题,系列文章传送地址,请点击本链接。 目录 1、kafka的消费者是pull(拉)还是push(推)模式,这种模式有什么好处? 2、kafka维护消息状态的跟踪方法 3、zookeeper对于ka…

VS2017安装打包插件

1、打开VS2017:工具-》》扩展和更新-》》 2、搜索Microsoft Visual Studio 2017 Installer Projects 3、点击下载,下载完成 4、按照提示,关闭所有VS后,自动安装 5、选择修改 6、安装完成

VS2017安装CLR

打开Visual Studio Community 2017,选择更改,然后在右侧安装详细信息将C/CLI支持打上勾,然后更新就可以了。 在VS里面新建项目就可以看见已经有CLR了。

VS2017安装成功后,无MFC选项解决办法

在安装VS2017时,勾选了安装MFC工作负载,但是新建项目时没有MFC选项。解决办法如下: 首先打开VS INSTALLER,点击修改 发现已经勾选MFC工作负载,点击右侧“安装详细信息”栏中的“使用C的桌面开发” 勾选“用于X86和X6…