深度学习_深度学习基础知识_卷积感受野(RF)

目标检测和目标跟踪都用到了RPN层,anchor是RPN的基础,感受野(receptive field,RF)是anchor的基础。

感受野概念介绍

在经典CNN网络中,FC层每个输出节点的值都依赖FC层所有输入,而卷积层每个输出节点的值仅依赖卷积层输入的一个区域,这个区域之外的其他输入值都不会影响输出值,该区域就是感受野。

在这里插入图片描述

上图是个微型CNN,来自Inception-v3论文,原图是为了说明一个 5 × 5 5\times5 卷积可以用两个 3 × 3 3\times3 卷积代替,从下到上称为第1,2,3层:

  1. 第2层左下角的值,是第1层坐下红框中 3 × 3 3\times3 区域的值经过卷积,也就是乘加运算计算出来的,即第2层左下角位置的感受野是第1层左下红框区域。
  2. 第3层唯一值,是第2层所有 3 × 3 3\times3 区域卷积得到的,即第3层唯一位置的感受野是第2层所有 3 × 3 3\times3 区域。
  3. 第3层唯一值,是第1层所有 5 × 5 5\times5 区域经过两层卷积得到的,即第3层唯一位置的感受野是第1层所有 5 × 5 5\times5 区域。

某一层feature map中某个位置的特征向量,是由前面某一层固定区域的输入计算出来的,那这个区域就是这个位置的感受野。

任意两个层之间都有位置——感受野对应关系,但我们更常用的是feature map层到输入图像的感受野,如目标检测中我们需要知道feature map层每个位置的特征向量对应输入图像哪个区域,以便我们在这个区域中设置anchor,检测该区域内的目标。

感受野区域之外图像的像素不会影响feature map层的特征向量,所以我们不太可能让CNN仅依靠某个特征向量去找到其对应输入感受野之外的目标。这里说“不太可能”而不是“绝无可能”,是因为CNN很强大,且图像像素之间有相关性,有时候感受野之外的目标是可以猜出来的,就好像见微知著一样,对CNN目标检测都是有可能的,但猜出来的结果并不总是那么靠谱。

感受野的作用

  1. 一般任务要求感受野越大越好,比如图像分类中最后卷积层的感受野要大于输入图像,网络深度越深感受野越大性能越好。
  2. 密集预测任务要求输出像素的感受野足够大,确保做出决策时没有忽略重要信息,一般也是越深越好。
  3. 目标检测任务中设置anchor要严格对应感受野,anchor太大或偏离感受野都会严重影响检测性能。

感受野计算

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

有效感受野

并不是感受野内所有像素对输出向量的共享相同,在很多情况下感受野区域内像素的影响分布是高斯,有效感受野仅占理论感受野的一部分,且高斯分布从中心到边缘快速衰减。(博主这一块还不太了解,等看了一些相关的论文和材料后再补充)

发布了156 篇原创文章 · 获赞 48 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Rocky6688/article/details/104759599