前言:
经典目标检测和最新目标跟踪都用到了RPN(region proposal network),锚框(anchor)是RPN的基础,感受野(receptive field, RF)是anchor的基础。本文介绍感受野及其计算方法,和有效感受野概念。同时也向大家补充特征图的相关知识~
一、感受野
介绍:
感受野(receptive field)被称作是CNN中最重要的概念之一。为什么要研究感受野呐?主要是因为在学习SSD,Faster RCNN框架时,其中prior box和Anchor box的设计,一直搞不明白。当我理解了感受野才有点恍然大悟的感觉。快速看完这篇文章的前提是,要对CNN有个大致了解,feature map等术语要知道。
1.1 什么是感受野?
先看八股式定义,感受野:在卷积神经网络CNN中,决定某一层输出结果中一个元素所对应的输入层的区域大小,被称作感受野(receptive field)。我们看这段定义非常简单,用数学的语言就是感受野是CNN中的某一层输出结果的一个元素对应输入层的一个映射。再通俗点的解释是,feature map上的一个点对应输入图上的区域。注意这里是输入图,不是原始图。好多博客写的都是原图上的区域,经过一番的资料查找,发现并不是原图。
编辑
如图为例,输入中阴影部分的四个元素(0,1,3,4)是输出中阴影部分元素(19)的感受野。我们将图5-1中形状为2 x 2的输出记为Y,并考虑一个更深的卷积神经网络:将Y与另一个形状为2 x 2的核数组做互相关运算(卷积运算),输出单个元素z。那么z在Y上的感受野包括Y全部的4个元素(19,25,37,43),在输入上的感受野包括其中全部9个元素(0,1,2,3,4,5,6,7,8)。
可见 ,我们可以通过更深的卷积神经网络使特征图中单个元素的感受野变得更加广阔,从而捕捉输入上更大尺寸的特征。
1.1.1 感受野与视觉
- 感受野(receptive field)这一概念来自于生物神经科学,是指感觉系统中的任一神经元,其所受到的感受器神经元的支配范围。感受器神经元就是指接收感觉信号的最初级神经元
- 视觉的产生来自于光在个体感受器上的投射,将客观世界的物理信息转换为人能感知的神经脉冲信号
1.1.2 感受野的定义
深度cnn的基本概念之一是网络中某一层单元的接受场或视场。与全连接网络中每个单位的值取决于网络的整个输入不同,卷积网络中的单位只取决于输入的一个区域。输入的这个区域是该单元的接受域。
- 在卷积神经网络中,感受野(receptive field)不像输出由整个网络输入所决定的全连接网络那样,它是可以存在于网络中任意某层,输出仅由输入部分决定
- 就是指输出feature map上某个元素受输入图像上影响的区域
如图所示,共有3个feature map输出。该图说明了2个3 x 3的conv可以代替1个5 x 5的conv层
编辑
- Layer1中方格可看作是一个元素,33的绿色方格则是一个33的卷积核
- Layer2由一个33的卷积核经过卷积运算输出,输出尺寸是33(假设stride=1,padding=0)显而易见,layer2中的绿色方格是由layer1中33的绿色方格所决定的。那么这一位置的感受野就是layer1中的绿色方格区域
- Layer3由layer2经过33的conv层输出,只有一个
二、特征图
介绍:
二维卷积层输出的二维数组可以看作输入在空间维度(宽和高)上某一级的表征,也叫特征图(feature map)。
含义:
在每个卷积层,数据都是以三维形式存在的。你可以把它看成许多个二维图片叠在一起,其中每一个称为一个feature map。在输入层,如果是灰度图片,那就只有一个feature map;如果是彩色图片,一般就是3个feature map(红绿蓝)。层与层之间会有若干个卷积核(kernel),上一层和每个feature map跟每个卷积核做卷积,都会产生下一层的一个feature map。
编辑
特征图可视化
特征图可视化有两类方法,一类是直接将某一层的feature map映射到0-255的范围,变成图像。另一类是使用一个预训练的反卷积网络(反卷积、反池化)将feature map变成图像,从而达到可视化feature map的目的。
Feature Map尺寸计算
编辑