文章目录
- 1. 摘要
- 1.1 背景
- 1.2 提出新方法
- 1.3 贡献
- 2. 引言
- 2.1 提出问题
- 2.2 叙述Feature pyramid
- 2.3 叙述深度卷积网络
- 2.4 Feature pyramid的局限
- 2.5 使用deep ConvNet计算多尺度特征的方式
- 2.6 提出我们的方法
- 2.7 贡献
- 3. 相关工作
- 3.1 手工工程特征和早期神经网络
- 3.2 深度卷积目标检测
- 3.3 使用多层次的方法
- 4. Feature Pyramid Networks
- 4.1 目的
- 4.2 Feature Pyramid Networks结构
- 4.2.1 Bottom-up pathway
- 4.2.2 Top-down pathway
- 4.2.3 Lateral connection
- 5.应用
- 5.1 Feature Pyramid Networks for RPN
- 5.2 Feature Pyramid Networks for Fast R-CNN
1. 摘要
1.1 背景
- 特征金字塔是识别系统中用于检测不同尺度的物体的基本组件
- 由于其计算和存储的密集性,在深度学习中很少用到他
1.2 提出新方法
提出一个自上而下的架构与横向连接的金字塔结构,以建立高层次的语义特征图在所有尺度,叫做Feature Pyramid Network (FPN)
1.3 贡献
将FPN用在Faster-RCNN上实现了先进的单模型结果
2. 引言
2.1 提出问题
- 识别不同尺度的物体是计算机视觉的一个基本挑战
2.2 叙述Feature pyramid
- 建立在图像金字塔上的特征金字塔形成了识别不同尺度标准解决方案的基础
- 特征化图像金字塔在手工设计特征的时代被大量使用,例如DPM
2.3 叙述深度卷积网络
- 对于识别任务,工程化的特征在很大程度上被深度卷积网络(ConvNets)计算的特征所取代
- 除了能够表示更高级别的语义之外,ConvNets对尺度的变化也更鲁棒
- 但即使具有这种鲁棒性,仍然需要金字塔来获得最准确的结果
2.4 Feature pyramid的局限
- 推断时间增加
- 占用内存多
2.5 使用deep ConvNet计算多尺度特征的方式
- 深度ConvNet逐层计算特征层次结构,特征层次结构具有固有的多尺度金字塔形状。
- 该网络内特征层次结构产生不同空间分辨率的特征图,例如SSD,但是SSD是从高级特征开始构造金字塔的,因此他对检测小目标也造成了一定的损失。
2.6 提出我们的方法
- 目标是利用ConvNet的特征层次结构的金字塔形状,同时创建一个在所有尺度上都具有强大语义的特征金字塔。
- 提出一种新的架构,该架构通过自上而下的路径和横向连接将低分辨率、语义强的特征与高分辨率、语义弱的特征相结合。
2.7 贡献
- 该结构结合Faster RCNN在COCO数据集上取得了领先的结果
- 在COCO上将Average Recall提高了8个点,在目标检测上提高了2.3mAP
- 在PSCAL上提高了3.8mAP
- 可以用所有尺度进行端到端的训练,并且在训练/测试时一致地使用
3. 相关工作
3.1 手工工程特征和早期神经网络
- SIFT特征最初是在尺度空间极值处提取的,并用于特征点匹配
- HOG和后来的SIFT特征都是在整个图像金字塔进行密集计算的
3.2 深度卷积目标检测
- OverFeat采用了类似于早期神经网络人脸检测器的策略,将ConvNet作为图像金字塔上的滑动窗口检测器。
- R-CNN采用了一种基于区域提议的策略,其中每个提议在使用ConvNet分类之前都进行了尺度归一化。
- PPnet证明,这种基于区域的检测器可以更有效地应用于在单个图像尺度上提取的特征图
- Fast R-CNN [11]和Faster R-CNN主张使用从单个尺度计算的特征,因为它在准确性和速度之间提供了良好的权衡。然而,多尺度检测仍然表现得更好,特别是对于小对象。
3.3 使用多层次的方法
- Hypercolumn、CN在多个尺度上对每个类别的部分分数求和以计算语义分割
- HyperNet,ParseNet和ION,在计算预测之前连接多个层的特征,这相当于对转换后的特征进行求和。
- SSD 和MS-CNN在特征层次结构的多个层预测对象,而不组合特征或分数
- U-Net and Sharp-Mask利用横向/跳过连接,将跨分辨率和语义层级的低级特征映射关联起来...
4. Feature Pyramid Networks
4.1 目的
- 利用卷积神经网络(ConvNet)的金字塔特征层次结构(从低到高的语义层次),构建一个从头到尾都具有高级语义的特征金字塔。
- 以任意大小的单尺度图像作为输入,并以全卷积的方式在多个层级上输出按比例大小的特征图
4.2 Feature Pyramid Networks结构
4.2.1 Bottom-up pathway
- Bottom-up的过程就是将图片输入到backbone ConvNet中提取特征的过程
- Backbone输出的feature map的尺寸有的是不变的,有的是成2倍的减小的。对于那些输出的尺寸相同的层,把他们归为一个stage,那么每个stage的最后一层输出的特征就被抽取出来。
4.2.2 Top-down pathway
- Top-down的过程就是将高层得到的feature map进行上采样然后往下传递,这样做是因为,高层的特征包含丰富的语义信息,经过top-down的传播就能使得这些语义信息传播到低层特征上,使得低层特征也包含丰富的语义信息。
- 采样方法是最近邻上采样,使得特征图扩大2倍
4.2.3 Lateral connection
使用的原因:使用lateral connection加强相同Stage的特征,因为自下而上的特征图有较低级别的语义,但其激活更准确地定位,因为它被子采样更少的次数。
- 对于每个stage输出的feature map,都先进行一个1*1的卷积降低维度。
- 然后再将得到的特征和上一层采样得到特征图进行融合,就是直接相加
- 加完之后需要进行一个33的卷积才能得到本层的特征输出,使用这个33卷积的目的是为了消除上采样产生的混叠效应(aliasing effect),混叠效应该就是指上边提到的‘插值生成的图像灰度不连续,在灰度变化的地方可能出现明显的锯齿状’。
5.应用
5.1 Feature Pyramid Networks for RPN
- 通过用FPN替换单尺度特征图来适应RPN
- 将相同的设计(3×3 conv和两个1×1 convs)附加到特征金字塔的每个层级上
- 由于头部在所有金字塔等级的所有位置上密集滑动,因此不必在特定等级上使用多尺度的anchor。相反,为每个层级设置单一锚框
- anchor 定义在{P2,P3,P4,P5,P6}上具有{322, 644,1282,2562,5122},并且分别在每个层级使用{1:2, 1:1, 2:1}的anchor。因此金字塔上共有15个anchor
- 如果anchor与ground-truth box的IoU大于0.7则为正样本,小于0.3则为负样本
- 头部的参数在所有金字塔的金字塔层级上都是共享的。表明可以将通用的头部分类器应用于以任何图像比例计算的特征
- 共享参数的良好性能表明金字塔各层次共享相似的语义层次
5.2 Feature Pyramid Networks for Fast R-CNN
- Fast R-CNN是一种基于区域的目标检测器,使用感兴趣区域池(Region-of-Interest, RoI)提取特征
- 将特征金字塔视为是由图像金字塔产生的。因此,通过以下方式将宽度
w
w
w和高度
h
h
h的RoI分配给特征金字塔的水平Pk
- 224是ImageNet的预训练尺寸
- k0是w × h = 2242的RoI应映射到的目标层级