一. 提出背景

论文:Feature Pyramid Networks for Object Detection  【点击下载

在传统的图像处理方法中,金字塔是比较常用的一种手段,像 SIFT 基于金字塔做了多层的特征采集,对于深度网络来讲,其原生的卷积网络特征决定了天然的金字塔结构。深度网络在目标检测领域的应用 比如早期的 Fast RCNN,Faster RCNN 都是在最后一层卷积层 进行检测,后续针对的改进包括 ION、HyperNet、MSCNN 等都结合多尺度的特征,本文讨论了多尺度的方案对比:

a)传统方法,通过对图像进行降采样处理,提取每层图像的特征,然后在每层预测;

b)借助卷积网络,通过单特征图进行预测,典型的应用包括 Faster RCNN、YOLO;

原 Paper 少了一张图,这里补上(b2),将多个层的特征同时连接到预测层,ION、HyperNet 都是这个思路。

c)通过不同尺度的特征图进行分别预测,更好的处理目标的多尺度问题;

典型的代表是 SSD、MS CNN。

d)本文提出的 FPN 方法,在多尺度特征图的基础上,结合右侧的上采样进行不同 Scale 的整合,每层独立预测;

通过  本层信息(上采样)+原始特征层信息(侧向连接)进行结合;

二. 算法框架

提出了一种新的多尺度网络结构,这个网络结构可以理解为三个组成部分:

1)Bottom-Up Pathway

原生态的金字塔,所有的 ConvNet 都具备的特征,不需要多讲,这里作者选择的是每个Stage 的最后一层作为特征层,这里的 Stage 是指尺寸发生变化的情况。

2)Top-Down Pathway

对应特征图的上采样,思路是通过上采样提取更 Strong 的语义信息,同时上采样带来的是某些信息的丢失。

3)Lateral Connection

侧向连接是将原始的特征信息整合到右侧上采样特征层,原始特征代表了准确的 Location 信息。

通过 Top-Down(更强的语义信息) 和 侧向连接(准确的Loc)的结合,兼顾底层特征和抽象语义,连接方式可以这样描述:

Top-Down 通过2倍的上采样连接,侧向连接通过 1x1 的卷积进行连接,通过 Add 操作进行 Merge。


三. 实验分析

作者分别对比了 RPN 和 Fast R-CNN 的测试精度,分析 侧向连接 和 Top-Down 对于精度的贡献,来看对比表格:

可以看到,本方法(FPN)精度是最高,Lateral 和 Top-Down 对于精度的贡献都比较明显。

特征金字塔网络 FPN的更多相关文章

  1. 常见特征金字塔网络FPN及变体

    好久没有写文章了(对不起我在划水),最近在看北京的租房(真真贵呀). 预告一下,最近无事,根据个人多年的证券操作策略和自己的浅显的AI时间序列的算法知识,还有自己Javascript的现学现卖,在微信 ...

  2. 特征金字塔网络Feature Pyramid Networks

    小目标检测很难,为什么难.想象一下,两幅图片,尺寸一样,都是拍的红绿灯,但是一副图是离得很近的拍的,一幅图是离得很远的拍的,红绿灯在图片里只占了很小的一个角落,即便是对人眼而言,后者图片中的红绿灯也更 ...

  3. SPPNet(特征金字塔池化)学习笔记

    SPPNet paper:Spatial pyramid pooling in deep convolutional networks for visual recognition code 首先介绍 ...

  4. 『计算机视觉』FPN:feature pyramid networks for object detection

    对用卷积神经网络进行目标检测方法的一种改进,通过提取多尺度的特征信息进行融合,进而提高目标检测的精度,特别是在小物体检测上的精度.FPN是ResNet或DenseNet等通用特征提取网络的附加组件,可 ...

  5. 关于目标检测 Object detection

    NO1.目标检测 (分类+定位) 目标检测(Object Detection)是图像分类的延伸,除了分类任务,还要给定多个检测目标的坐标位置.      NO2.目标检测的发展 R-CNN是最早基于C ...

  6. maskrcnn实现.md

    mask rcnn学习 Mask R-CNN实现(https://engineering.matterport.com/splash-of-color-instance-segmentation-wi ...

  7. AI算子列表

    AI算子列表 概述 目前只有部分算子可在一个库中同时运行在MLU220和MLU270平台.也就是用户使用 ./build_cnplugin.sh --mlu270 命令编译生成的 libcnplugi ...

  8. You Only Look One-level Feature

    你只需要看一个层次的特征 摘要:本文回顾了单阶段检测器的特征金字塔网络(FPN),指出FPN的成功在于其对目标检测优化问题的分治解决,而不是多尺度特征融合.从优化的角度来看,我们引入了一种替代的方法来 ...

  9. ICCV2021 | Swin Transformer: 使用移位窗口的分层视觉Transformer

    ​  前言  本文解读的论文是ICCV2021中的最佳论文,在短短几个月内,google scholar上有388引用次数,github上有6.1k star. 本文来自公众号CV技术指南的论文分享系 ...

随机推荐

  1. Mybatis 一对多 简单映射配置

    只需在一对多的 “一” Model中定义一个list集合: public class SelectQuestion{ // 主键ID private Integer id; private Strin ...

  2. log4j:ERROR A "org.apache.log4j.DailyRollingFileAppender" object is not assignable to a "org.apache.log4j.Appender" variable.

    多个classloader加载log4j时需要设置当前Thread的classloader为你自己的classloader Thread.currentThread().setContextClass ...

  3. MySQL: Speed of INSERT Statements

    Speed of INSERT Statements To optimize insert speed, combine many small operations into a single lar ...

  4. 爬虫框架Scrapy之案例一

    阳光热线问政平台 http://wz.sun0769.com/index.php/question/questionType?type=4 爬取投诉帖子的编号.帖子的url.帖子的标题,和帖子里的内容 ...

  5. Spring boot 外部资源配置

    tomcat配置访问图片路径映射到磁盘路径   首先,我在调试页面的时候发现,图片路径为: 1 /webapps/pic_son/img/1234565456.jpg 但是,tomcat中webapp ...

  6. Asp.Net将Session保存在数据库中

    1.由于项目dll文件变动比较频繁,而保存登陆的状态又保存在Session中,所以导致用户经常无故掉线.(dll变动的时候导致Session丢失) 2.有一种方法可以长期保存session,那就是se ...

  7. C和C#两种方式实现邮件的简单接收

    本文的主要内容是通过两种方式实现简单邮件的接收,一种方式是通过C语言实现,另一种是通过C#实现的, 两种方式在实现上有许多的不同之处,但是本质上都是一样的. 一,C语言实现方式 C语言接收邮件的步骤: ...

  8. TestNG,timeOut

    这篇先来介绍@Test注释下的一个属性-timeOut.字面意思就是超时判断,详细点说.如果哪个测试方法需要监听执行的时间,那么就可以考虑采用timeOut属性.例如,实际的接口测试中,加入登录接口时 ...

  9. [Vue]组件——.sync 修饰符实现对prop 进行“双向绑定”

    一.同时设置1个 prop 1.以 update:my-prop-name 的模式触发事件,如对于title属性: this.$emit('update:title', newTitle) 2.然后父 ...

  10. 分布式缓存集群方案特性使用场景(Memcache/Redis(Twemproxy/Codis/Redis-cluster))优缺点对比及选型

    分布式缓存集群方案特性使用场景(Memcache/Redis(Twemproxy/Codis/Redis-cluster))优缺点对比及选型   分布式缓存特性: 1) 高性能:当传统数据库面临大规模 ...