论文阅读 | FPN:Feature Pyramid Networks for Object Detection
论文地址:https://arxiv.org/pdf/1612.03144v2.pdf
代码地址:https://github.com/unsky/FPN
概述
FPN是FAIR发表在CVPR 2017上的一篇文章,采用特征金字塔的方法进行目标检测。文中利用深层卷积网络固有的多尺度金字塔层次结构,高效地构造特征金字塔。文章提出了FPN——一种具有横向连接的自顶向下的结构,来构建所有尺度上的高级语义特征映射。
网络结构
下图展示了几种不同的利用特征的方式:(a)为图像金字塔,就是对图像resize成不同大小,然后在不同大小的图像上生成feature map,在不同大小的feature map上分别进行预测,这种方法很耗时间;(b)是只在最后一层的feature map上进行预测,如SPPNet、Faster RCNN等等;(c)是多尺度的特征融合,也就是利用网络的不同层的feature map做预测,融合多个尺度特征层的预测结果,代表算法是SSD。(c)对feature map的利用仍然不够充分,注意到低层的目标位置信息比较准确,而高层的特征语义信息很丰富,进行多尺度特征的融合,每层对融合后的特征做独立预测的效果更好,也就是图(d)。

实际上,采用自顶向下以及跳跃连接结构的网络并不少,不过他们的目标是产生一个单一的、高分辨率的高层特征图,然后对其进行预测,如图2上半部分所示。而作者提出的网络则是在每一层中独立进行预测(图2下半部分)。

文中使用ResNet作为基础网络,特征金字塔的构造包括一个自底向上的路径,一个自顶向下的路径,以及横向连接,如图3所示。

自底向上的过程实际上就是前馈神经网络的计算过程。以ResNet为例,对每个阶段提取最后一个residual block的输出(conv2,conv3,conv4和conv5)来构成特征金字塔,相对于输入图像,步长分别为4、8、16、32像素(不使用conv1是因为它占内存太大)。自顶向下的过程通过上采样完成,也就是把高层的feature map通过最近邻上采样使其尺寸*2。横向连接就是将上采样的高层feature map和自底向上产生的feature map(通过1*1的卷积操作来减少feature map的通道数)融合(元素加)。通过上述过程不断迭代产生最好的feature map,即C2。在每个合并的map上附加一个3*3卷积产生最终特征映射,以降低上采样的混叠效应。
应用
1、FPN用于RPN
通过用FPN代替单尺度特征映射来改进RPN,也就是用FPN生成不同尺度的特征然后融合作为RPN的输入。在特征金字塔的每层都附加了一个相同设计的network head(3*3 conv和两个兄弟1*1卷积),为每一层设计了单尺度的anchors(P2、P3、P4、P5、P6的anchor尺度分别为32*32、64*64、128*128、256*256、512*512),而且anchors使用多种宽高比(1:2、1:1和2:1)。整个特征金字塔一共有15种anchor。
2、FPN用于Fast R-CNN
为了将FPN用于Fast R-CNN,需要给金字塔的各层分配不同尺度的RoIs。第Pk层分配策略如下:

其中,224是ImageNet预训练的标准尺寸,k0是w*h=224^2的RoI应该映射到的目标层。文中k0设置为4。
实验结果
作者分别在Fast R-CNN和Faster R-CNN上做了对比实验,结果如下表2和表3所示,可以看出FPN的效果比单尺度特征更好,而且在小目标的检测中具有良好的表现。

在COCO比赛上的检测结果:

此外,将FPN用于实例分割也具有很好的效果,其结构及结果对比如下:


论文阅读 | FPN:Feature Pyramid Networks for Object Detection的更多相关文章
- 【Network Architecture】Feature Pyramid Networks for Object Detection(FPN)论文解析(转)
目录 0. 前言 1. 博客一 2.. 博客二 0. 前言 这篇论文提出了一种新的特征融合方式来解决多尺度问题, 感觉挺有创新性的, 如果需要与其他网络进行拼接,还是需要再回到原文看一下细节.这里 ...
- 『计算机视觉』FPN:feature pyramid networks for object detection
对用卷积神经网络进行目标检测方法的一种改进,通过提取多尺度的特征信息进行融合,进而提高目标检测的精度,特别是在小物体检测上的精度.FPN是ResNet或DenseNet等通用特征提取网络的附加组件,可 ...
- Feature Pyramid Networks for Object Detection比较FPN、UNet、Conv-Deconv
https://vitalab.github.io/deep-learning/2017/04/04/feature-pyramid-network.html Feature Pyramid Netw ...
- Feature Pyramid Networks for Object Detection
Feature Pyramid Networks for Object Detection 特征金字塔网络用于目标检测 论文地址:https://arxiv.org/pdf/1612.03144.pd ...
- 论文阅读笔记三十三:Feature Pyramid Networks for Object Detection(FPN CVPR 2017)
论文源址:https://arxiv.org/abs/1612.03144 代码:https://github.com/jwyang/fpn.pytorch 摘要 特征金字塔是用于不同尺寸目标检测中的 ...
- FPN(feature pyramid networks)
多尺度的object detection算法:FPN(feature pyramid networks). 原来多数的object detection算法都是只采用顶层特征做预测,但我们知道低层的特征 ...
- FPN-Feature Pyramid Networks for Object Detection
FPN-Feature Pyramid Networks for Object Detection 标签(空格分隔): 深度学习 目标检测 这次学习的论文是FPN,是关于解决多尺度问题的一篇论文.记录 ...
- Parallel Feature Pyramid Network for Object Detection
Parallel Feature Pyramid Network for Object Detection ECCV2018 总结: 文章借鉴了SPP的思想并通过MSCA(multi-scale co ...
- 【CV论文阅读】Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
由RCNN到FAST RCNN一个很重要的进步是实现了多任务的训练,但是仍然使用Selective Search算法来获得ROI,而FASTER RCNN就是把获得ROI的步骤使用一个深度网络RPN来 ...
随机推荐
- 02 Transcribing DNA into RNA
Problem An RNA string is a string formed from the alphabet containing 'A', 'C', 'G', and 'U'. Given ...
- Swig在Mac OS X上的安装
网上有很多类似文章介绍Swig怎么在Mac OS X上安装和配置,一般来说就是: 下载pcre,configure & make & make install 下载swig,confi ...
- 免秘钥oracel官方下载jdk
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-co ...
- UVa 11996 Jewel Magic (splay + Hash + 二分)
题意:给定一个长度为n的01串,你的任务是依次执行如表所示的m条指令: 1 p c 在第p个字符后插入字符,p = 0表示在整个字符串之前插入2 p 删除第p个字符,后面的字符往前移3 p1 p2反转 ...
- java中Integer常量池
我们先看一个关于Integer的例子 public static void main(String[] args) { // TeODO Auto-generated method stu Integ ...
- Thrift辅助类,用于简化Thrift编程
CThriftServerHelper用于服务端,CThriftClientHelper用于客户端. IDL定义: service PackageManagerService { } 服务端使用示例: ...
- (转载)get和 post方法的不同
HTTP的Get/Post请求区别归纳 1. get是从服务器上获取数据,post是向服务器传送数据.g et 和 post只是一种传递数据的方式,get也可以把数据传到服务器,他们的本质都是发送请求 ...
- Linux Crontab 任务管理工具命令以及示例
Crontab 是 Linux 平台下的一款用于循环执行例行任务的工具,Linux 系统由 cron (crond) 这个系统服务来控制任务 , Linux系统本来就有很多的计划任务需要启动 , 所以 ...
- delphi实现窗体组建随窗体大小改变而改变
在网上查了许多资料去论述如何在dephi中去实现组件随窗口大小的变化而变化,然都不尽如人意.有人说用组件的align + anchors 这两个属性去控制,但是我用了之后,让我大惊失色.把anchor ...
- 用 Inkscape 做 SVG 给 TPath
FireMonkey 里的 TPathData 支持 SVG 的基本绘图指令,因此可以运用 Inkscape 软件,提取 SVG 的绘图内容,请见图片说明: INKSCAPE https://inks ...