特征金字塔网络 FPN
一. 提出背景
论文: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的更多相关文章
- 常见特征金字塔网络FPN及变体
好久没有写文章了(对不起我在划水),最近在看北京的租房(真真贵呀). 预告一下,最近无事,根据个人多年的证券操作策略和自己的浅显的AI时间序列的算法知识,还有自己Javascript的现学现卖,在微信 ...
- 特征金字塔网络Feature Pyramid Networks
小目标检测很难,为什么难.想象一下,两幅图片,尺寸一样,都是拍的红绿灯,但是一副图是离得很近的拍的,一幅图是离得很远的拍的,红绿灯在图片里只占了很小的一个角落,即便是对人眼而言,后者图片中的红绿灯也更 ...
- SPPNet(特征金字塔池化)学习笔记
SPPNet paper:Spatial pyramid pooling in deep convolutional networks for visual recognition code 首先介绍 ...
- 『计算机视觉』FPN:feature pyramid networks for object detection
对用卷积神经网络进行目标检测方法的一种改进,通过提取多尺度的特征信息进行融合,进而提高目标检测的精度,特别是在小物体检测上的精度.FPN是ResNet或DenseNet等通用特征提取网络的附加组件,可 ...
- 关于目标检测 Object detection
NO1.目标检测 (分类+定位) 目标检测(Object Detection)是图像分类的延伸,除了分类任务,还要给定多个检测目标的坐标位置. NO2.目标检测的发展 R-CNN是最早基于C ...
- maskrcnn实现.md
mask rcnn学习 Mask R-CNN实现(https://engineering.matterport.com/splash-of-color-instance-segmentation-wi ...
- AI算子列表
AI算子列表 概述 目前只有部分算子可在一个库中同时运行在MLU220和MLU270平台.也就是用户使用 ./build_cnplugin.sh --mlu270 命令编译生成的 libcnplugi ...
- You Only Look One-level Feature
你只需要看一个层次的特征 摘要:本文回顾了单阶段检测器的特征金字塔网络(FPN),指出FPN的成功在于其对目标检测优化问题的分治解决,而不是多尺度特征融合.从优化的角度来看,我们引入了一种替代的方法来 ...
- ICCV2021 | Swin Transformer: 使用移位窗口的分层视觉Transformer
前言 本文解读的论文是ICCV2021中的最佳论文,在短短几个月内,google scholar上有388引用次数,github上有6.1k star. 本文来自公众号CV技术指南的论文分享系 ...
随机推荐
- 20145302张薇《Java程序设计》实验二报告
20145302张薇<Java程序设计>实验二:Java面向对象程序设计 使用TDD的方式设计实现复数类:Complex 测试代码 import org.junit.Test; publi ...
- swift学习笔记 - 判断当前运行的系统和平台
最近代码需要判断代码运行的系统与平台,下面总结了一下swift下一些可以用来判断的属性: // 代码运行在32位的 Windows public var TARGET_OS_MAC: Int32 { ...
- Can't connect to any repository: xxxxxx Error writing request body to server
今天在git提交代码时一直报如下错误: Can't connect to any repository: https://gitee.com/xxxxxx(https://gitee.com/xxxx ...
- ETL增量处理总结
1 LOG表 1.1 思路 用log表记录业务库某表yw_tableA发生变化数据的主键.数据进入BI库目标表bi_tableA前,先根据log表记录的主键进行delete. 1.2 设计 1.2.1 ...
- .net 获取当前电脑账户
string domainAndName = User.Identity.Name; ] { '\\' }, StringSplitOptions.RemoveEmptyEntries); strin ...
- mac配置jenkins遇到的问题及解决办法
写这篇博客的时候,我暂时放弃了mac配置jenkins,先记着遇到的坑吧.虽然无数次想砸电脑,但是回头想想,对于经常用windows系统和接触过linux的测试的我来说,这也是个熟悉mac系统的机会. ...
- Warsaw U Contest Petrozavo dsk Summer 2011 Training Camp, Monday, September 5, 2011
Warsaw U Contest Petrozavo dsk Summer 2011 Training Camp, Monday, September 5, 2011 Problem A.Chocol ...
- JavaScript设计模式与开发实践:分时函数
web端在进行大量DOM数据插入的时候,如果一次性插入上千条数据,浏览器吃不消会出现卡顿假死的情况,代码如下: var arr = []; for(var i = 0; i < 1000; i+ ...
- SQL SERVER连接池
Connection Pool 是什么呢 ?每当程序需要读写数据库的时候.Connection.Open()会使用ConnectionString连接到数据库,数据库会为程序建立 一个连接,并且保持打 ...
- 前端构建大法 Gulp 系列
参考: 前端构建大法 Gulp 系列 (一):为什么需要前端构建 前端构建大法 Gulp 系列 (二):为什么选择gulp 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gulp ...