目标检测篇-FPN论文精读

2023-05-16

1、FPN网络结构

基于feature pyrimid来检测不同scale的object,共有4种思路

(a)使用图像金字塔构建特征金字塔,在每个图像尺度上独立计算的

(b)只使用单一尺度的特征

(c)重用由卷积神经网络计算的金字塔特征层次,仿佛它是一个特征图像金字塔。

(d)我们提出的特征金字塔网络(FPN)与(b)和(c)一样快,但更准确。 

FPN-Structure:基于CNN固有的pyramid hierarchy,通过skip connection构建top-down path,仅需少量成本生成feature pyramid,并且feature pyramid的每个scale都具有high-level semantic feature,最终在feature pyramid的各个level上进行目标检测

 FPN包含两个部分: 1、Bottom-up pathway 2、Top-down pathway and lateral connections

bottom-up path:

将backbone分为多个stage,将每个stage定义为1个pyramid level

输出:每个stage中,所有layer输出特征图的size是相同的,取其中最后1层的输出作为该stage的输出,因为每个stage中最深的层应该具有最强的特征

下采样:相邻stage之间的下采样比例为2

top-down path:

动机:high-level semantic information有助于识别目标但不利于定位目标,low-level spatial information有害于识别目标但有助于定位目标

构建:通过skip connection来构建top-down path

注:在开始top-down path之前,会在bottom-up path顶层使用1×1卷积生成较低分辨率的特征图

skip connection:

1、将来自top-down path的coarser-resolution feature map上采样。上采样比例为2,简单起见就使用nearest neighbor upsampling

2、使用1×1卷积减少来自bottom-up path的对应feature map的通道数

3、对上2步得到的2个feature map(size和channel数量都相同)进行element-wise addition

最近邻插值:

 2、FPN-ResNet结构

本文将ResNet的后4个stage[C2.C3.C4.C5](相对于输入的下采样比例分别为4、8、16、32)的输出定义为4个pyramid level,不将第1个stage的输出包含到FPN中因为其内存占用量比较大。

 3、在Faster RCNN中的应用

FPN应用于RPN:

FPN输出:[P2,P3,P4,P5,P6],其中[P6]只是1个步长为2的下采样,引入它是为了覆盖更大的anchor scale [512*512] RPN结构:1个3×3卷积 + 2个并行1×1卷积

RPN输入:在5个pyramid level上,分别运行同1个RPN

anchor:5个level共有5×3=15种

anchor scale:引入FPN后,每个pyrimid level上的anchor就不需要是multi-scale的了。每个pyramid level上的anchor各只有1种scale,[P2,P3,P4,P5,P6]上anchor的scale分别为

纵横比:每个level上都有3个aspect ratio的anchor(1:2, 1:1, 2:1)

 FPN for Fast RCNN

1个在input image上的size为(w,h)的RoI应该被分配到feature pyramid上的level Pk:

其中224为ImageNet的预训练size,k0是1个224×224的RoI应该被映射到的target pyramid level。 ResNet原文中的Faster RCNN使用C4作为RPN的输入,所以本文将k0设为4。

假如RoI的scale小于224×224(比如112×112,正好是224的一半),则它会被映射到像素数多的层(比如3)。

ResNet中使用conv5作为conv4输出的feature map顶部的head,但本文已经将conv5用于构建FPN。因此本文使用RoI pooling生成7×7的feature,然后用2个1024维的FC层+ReLU,然后再输入到最终的classification layer和BBox regression layer。相比于standard conv5 head,我们的方法参数更少、速度更快 

4、Faster R-CNN+FPN细节图

 FPN事实上不是一个独立的目标检测算法,而是相当于一个Backbone网络!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

目标检测篇-FPN论文精读 的相关文章

随机推荐

  • uCos的多任务实现

    uCos的多任务实现 作为操作系统 OS xff0c 最基本的一项服务就是提供多线程 xff0c 在实时操作系统uCos里 xff0c 多线程被称为多任务 Task 多任务并不是CPU能真正同时运行多个程序 xff0c 实际是靠CPU在多个
  • 设置vnc登录远程虚拟机

    设置vnc登录远程虚拟机 原理简介 xff1a vnc分为vnc server 和vnc view xff0c 我们经常用来连接远端服务器的是vnc view客户端 xff0c server端部署在服务器端 vnc 能够与远端服务器实现通信
  • S03_CH13_ZYNQ A9 TCP UART双核AMP例程

    S03 CH13 ZYNQ A9 TCP UART双核AMP例程 13 1概述 ZYNQ中存在两个独立的ARM核 xff0c 在很多应用场景中往往只需使用其中的1个核心即可 然而 xff0c 对于复杂的设计 xff0c 例如多任务 xff0
  • Git 本地仓库(使用小乌龟进行操作,一个人开发)

    一 首先在本地创建版本库 创建成功最明显的特征是该目录下存在一个隐藏文件夹 xff08 git xff09 前提 xff1a 已设置显示隐藏文件 三种方式 xff1a 1 Git GUI Here xff08 右击 xff09 2 Git
  • ubuntu html5桌面,docker-ubuntu-vnc-desktop

    docker ubuntu vnc desktop Docker image to provide HTML5 VNC interface to access Ubuntu 16 04 LXDE desktop environment Qu
  • Docker容器跨主机通信--overlay网络

    一 Docker主机间容器通信的解决方案 Docker网络驱动 Overlay 基于VXLAN封装实现Docker原生Overlay网络Macvlan Docker主机网卡接口逻辑上分为多个子接口 xff0c 每个子接口标识一个VLAN 容
  • intel和AMD CPU性能对比(2016年CPU天梯图)组装电脑必读!

    http www 365pcbuy com article 411 html 特别提示 xff1a 此文已经于2016年10月12日更新 xff01 内容变动较大 xff0c 请细细品鉴 xff01 如何为客户推荐高性价比机型是我站的重要工
  • SDN控制器-POX学习(一)

    本文实验环境 1 VirtualBox 2 SDN Hub tutorial VM 64bit 学习目标 1 熟悉SDN Hub tutorial 2 学习POX提供的样例代码 tutorial l2 hub py SDN Hub tuto
  • android 编译突然出错,错误原因 Could not resolve com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+....

    错误追根是因为微信支付依赖的错误 解决办法 xff1a 微信支付依赖版本 43 号改为微信支付依赖最新版本 在这里https bintray com wechat sdk team maven可以查看到wechat sdk的最新版本号 xf
  • 浏览器相关知识

    1 认识浏览器 浏览器是把在互联网上找到的文本文档翻译成网页 xff0c 网页包括图形 音频 视频和文本等 2 浏览器的主要功能 展示网页资源 xff0c 即请求服务器并将请求的结果显示在浏览器窗口中 资源的格式一般是HTML xff0c
  • linux vnc的默认端口修改

    linux vnc的默认端口修改 2014 02 08 20 01 28 分类 xff1a LINUX vnc的默认端口是5901 xff0c 这个说法是不对的 vnc并不是只有一个端口 以前另一个文章介绍了nvcserver的配置用户的过
  • redis配置

    1 Redis 3 2x配置文件详解 2 3 4 默认redis不是以后台进程的方式启动 xff0c 如果需要在后台运行 xff0c 需要将这个值设置成yes 5 以后台方式启动的时候 xff0c redis会写入默认的进程文件 var r
  • Cosmos OpenSSD架构分析--FSC

    接口速度 xff1a type bw read75 s1s 75 s 8k 1s 61 104m swrite 1300 s 1s 1300 s 8k 1s 61 6m serase3 8ms 1s 3 8ms 8k 256 1s 61 5
  • 单片机的栈

    导读 xff1a 在C语言的世界里 xff0c 栈的地位非常举足轻重 xff0c 许多错误都可能和栈设置有关 xff0c 那么该如何确定栈的大小 xff1f 今天分享一点栈知识 xff0c 帮助你确定栈的大小 xff0c 参考链接请点击下方
  • GPS数据接收 串口调试感受

    注册这个账户也有一段日子了 xff0c 不知不觉已经研2了 xff0c 时间过的好快 xff0c 研3的学长已经答辩完 xff0c 马上要离开学校去工作了 xff0c 在南京 xff0c 一份不错的工作 这学期已经过去一个月了 xff0c
  • 使用VNC访问Windows桌面

    1 背景介绍 两台电脑 xff0c 一个笔记本 xff0c 一个台式机 笔记本上装的是Windows 10 通过上网小助手上网 xff08 P S 上网小助手 Stupid Policy xff09 台式机上装的是Ubuntu 14 04L
  • Maven 与 IntelliJ IDEA 的完美结合<转>

    转载地址 xff1a http www open open com lib view open1388650391891 html 你是否正在学习Maven xff1f 是否因为Maven难用而又不得不用而苦恼 xff1f 是否对Eclip
  • Cannot install ubuntu or other linux flavours on citrix Xen server

    Citrix Xen sucks When u try to install linux stuff on its Xen servers u will get an error complaining errors like below
  • web网站css,js更新后客户浏览器缓存问题,需要刷新才能正常展示的解决办法

    问题描述 最近将公司官网样式进行了调整 xff0c 部署到服务器后访问发现页面展示不正常 xff0c 但是刷新之后就会展示正常 问题分析 研究之后发现可能的原因有 css文件过大 xff0c 加载缓慢本地缓存问题 xff0c 虽然服务器修改
  • 目标检测篇-FPN论文精读

    1 FPN网络结构 基于feature pyrimid来检测不同scale的object xff0c 共有4种思路 a 使用图像金字塔构建特征金字塔 在每个图像尺度上独立计算的 b 只使用单一尺度的特征 c 重用由卷积神经网络计算的金字塔特