Feature Pyramid Networks for Object Detection 学习笔记

2024-04-06 14:38

本文主要是介绍Feature Pyramid Networks for Object Detection 学习笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Feature Pyramid Networks for Object Detection 学习笔记

技术小白一枚,这是我的第一遍学习笔记,主要是为了记录自己看过的论文记录。。不是为了分享给大佬们看的,写的不好的地方请大佬们谅解

本篇论文主要包含以下几个部分:

  • 摘要
  • 简介
  • FPN结构介绍
  • 应用
  • 实验

摘要

利用固有的多规模,金字塔层的深层卷积网络,以边缘切割为代价来构造特征金字塔网络,在top-down的基础上在Fast R-CNN 上使用该网络,并在COCO 数据集上取得单模型上的最好效果。

简介

这部分主要介绍了之前现有的一些利用金字塔模型的网络结构,但是它们都存在一定的缺陷,引出该方法的优势。

  • Featurized image pyramid 用图像金字塔生成特征金字塔
  • Single feature map 只在特征的最上层预测
  • Pyramidal feature hierarchy分层预测
  • Feature Pyramid Network 本文的特征金字塔网络
    这里写图片描述

  • 第一种结构对不同尺寸的图片生成不同尺寸的特征图,形成金字塔结构,这种的比较费时,而且要把同一张图做成不同的尺寸,显然麻烦

  • 第二种则比较单一
  • 第三种会错过高层的特征信息,没有对高分辨率图的特征进行合理的利用,总之就是别人的肯定都有缺陷,以此引出自己的很厉害啦
  • 第四种是本文的方法,把低层的细节和高层的特征进行融合,取得了很好的效果,还不费时费内存

The goal of this paper is to naturally leverage the pyramidal shape of a ConvNet’s feature hierarchy while creating a feature pyramid that has strong semantics at all scales.

特征金字塔网络

主要包含三个部分:

  • bottom-up pathway
  • top-down pathway
  • lateral connections

bottom-up pathway

自下而上的路径方法是所有网络的基本的方法,对图片的特征从小往上依次提取,低层的细节多,高层的特征性强

top-down pathway

自上而下的路径是本文中用到的,吧高层的特征进行*2之后,和低层的进行融合,从上往下依次表示,形成金字塔网络

lateral connections 横向连接

在本文的方法中,将低层的网络进行1*1的conv之后,横向传递与高层down下来的进行融合,后面的实验证明这个方法起了很大的作用

这里写图片描述

这里写图片描述

应用

该文中主要对FPN 的两个应用:

  1. in RPN for bounding box proposal
  2. in Fast R-CNN for object detection

    因为我在fast R-cnn这一块才在入门,所以对一些网络专有的名次还不是很懂,只能大概理解一下

在RPN中,用FPN来替代单尺度的特征图
在fast R-CNN中,FRCNN本身是一个区域的目标检测器,ROI池用于分割特征,在这里,为了配合FPN,作者将ROI不同比例分配到不同的金字塔级上,将conv5用来构建特征金字塔,ROI用来分离7*7特征,将两个隐藏的1024-d的fc层放在最终分类器的bounding box回归层之前,作为头部,更轻并且更快。

具体的一些细节,以及应用,在实验部分有更加详细的说明。可惜的是,这篇论文中并没有给出具体的改造的网络图,只能靠自己理解想象了。。。。sad

实验部分

实验部分给了很多对比的数据表,有RPN的,有Fast R-CNN的,还有Faster的,其中分别有用到top-down的,和用到横向连接的,对比很清晰,就不一一赘述了
这里写图片描述

这里写图片描述

这里写图片描述

单模型

这里写图片描述

这篇关于Feature Pyramid Networks for Object Detection 学习笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/880110

相关文章

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

Java中Object类的常用方法小结

《Java中Object类的常用方法小结》JavaObject类是所有类的父类,位于java.lang包中,本文为大家整理了一些Object类的常用方法,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. public boolean equals(Object obj)2. public int ha

深入探讨Java 中的 Object 类详解(一切类的根基)

《深入探讨Java中的Object类详解(一切类的根基)》本文详细介绍了Java中的Object类,作为所有类的根类,其重要性不言而喻,文章涵盖了Object类的主要方法,如toString()... 目录1. Object 类的基本概念1.1 Object 类的定义2. Object 类的主要方法3. O

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert