一. 提出背景

论文: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. 20145303 实验一 Java开发环境的熟悉(Linux + Eclipse)

    20145303 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验题目(4):实现学生成绩管理功能,并进行测试 思路: 对于实现学生成绩管理(student performanc ...

  2. 实现ModelDriver接口的功能(转)

    ModelDriver接口 来自com.opensymphony.xwork2.ModelDriven.是xwork-2.1.2-750.jar包的东西. 下面是源码: package com.ope ...

  3. Mysql binlog设置

    一:Binlog文件信息 1.  binlog基本定义:二进制日志,也成为二进制日志,记录对数据发生或潜在发生更改的SQL语句,并以二进制的形式保存在磁盘中: 2. 作用:MySQL的作用类似于Ora ...

  4. 网络软中断与NAPI函数分析

    网卡只有rx硬中断,外设通过中断控制器向CPU发出有数据包来临的通知, 而没有tx硬中断,因为发送数据包是cpu向外设发出的命令. ixgbe驱动的rx软中断和tx软中断在同一个CPU上处理. htt ...

  5. 机器学习笔记—EM 算法

    EM 算法所面对的问题跟之前的不一样,要复杂一些. EM 算法所用的概率模型,既含有观测变量,又含有隐变量.如果概率模型的变量都是观测变量,那么给定数据,可以直接用极大似然估计法,或贝叶斯估计法来估计 ...

  6. Helper Files

    常用帮助类 C#语法糖 Net 通用工具类 Helloweba Front Program Resources jqGrid   Highcharts  jQuery实现的加载页面过渡效果   jQu ...

  7. javascript闭包和立即执行函数的作用

    一.闭包——closure 先看一个闭包的例子.我们想实现一个计数器,最简单的方法就是定义一个全局变量,计数的时候将其加1.但是全局变量有风险,哪里都有可能不小心改掉它.那局部变量呢, 它只在函数内部 ...

  8. TileMode(平铺模式) 枚举的成员:

    TileMode(平铺模式) 枚举的成员:   成员名称 说明   FlipX 与 Tile 相同,只不过图块的交替列被水平翻转. 基本图块本身不翻转.   FlipXY FlipX 和 FlipY ...

  9. 【转】正向代理vs反向代理

    正向代理 正向代理:是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将 ...

  10. flask学习(七):URL反转

    1. 什么叫反转URL:从视图函数到url的转换叫做反转url 2. 反转url的用处: 1) 在页面重定向的时候,会使用url反转 2) 在模板中,也会使用url反转 3. 实例: 打印出了url