【目标检测】FPN特征金字塔完整流程详解

学习视频:1.1.2 FPN结构详解

对比

可以看到FPN是自上而下、自下而上并且可以进行多尺度特征融合的的层级结构。

在这里插入图片描述

具体结构

在这里插入图片描述

  • 1x1 conv: 对通道数进行调整,不同大小的特征图通道数不同,越高层次的特征图通道数越大,论文中使用256个1x1的卷积核,从而把特征图的通道数都调整为256。

  • 2x up: 使用插值法把高层次特征图大小放大两倍从而变为和低一层的特征图大小一样大。

整体流程

在这里插入图片描述

1. 生成C2-C5特征层

使用不同大小的卷积对特征图进行操作,从而生成了不同大小的4个特征层。

  • C2: 160x160x256 (HxWxC)
  • C3: 80x80x512
  • C4: 40x40x1024
  • C5: 20x20x2048

在这里插入图片描述

2. 使用1x1conv进行通道数统一和2x up上采样后相加完成多尺度特征融合

因为4个特征图大小和通道数都不同,所以需要调整为相同的通道数和大小后才能两两相加。

  • 通道数调整:使用256个1x1 conv进行通道数的调整,把4个特征图的通道数都调整为256。

  • 大小调整:自上而下,把小尺度的图两倍上采样,就可以成为和下一层一样的大小。e.g. 20x20大小的特征图2倍上采样就可以变成40x40的大小。

在这里插入图片描述

3. 3x3conv进行进一步特征融合

在相加后加一个3x3的卷积来进行相加后的进一步的特征融合。

  • P5: C5 —> 3x3 conv
  • P4: P5 + C4 —> 3x3 conv
  • P3: P4 + C3 —> 3x3 conv
  • P2: P3 + C2 —> 3x3 conv

在这里插入图片描述

4. 得到P2-P5特征层

最终得到了4张通道数相同、大小分别两倍递减的特征图。

  • P2: 160x160x256 (HxWxC)
  • P3: 80x80x256
  • P4: 40x40x256
  • P5: 20x20x256

5. P5下采样形成P6

P6根据P5下采样得到。

  • P6: 10x10x256。

注:P6这一层只在RPN中生成proposal部分进行使用,即使用P2-P6这5层来生成候选区域,在faster rcnn的预测部分不使用,还是只用P2-P5这4层进行预测。
在P2-P6生成proposals,然后把生成的proposals映射到P2-P5上从而预测结果。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/643912.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用大模型与AI Agent,实现企业数据智能分析

导语:大模型爆火之后,很多企业也用大模型做了相关探索和实践,我们发现大模型解决单点问题时效果更好。但同时会产生安全、幻想等相关问题。今天从传统数据分析的痛点,到大模型智能分析的建设方式,并结合相关实践案例&a…

appium相关的知识

>adb shell dumpsys window | findstr mCurrentFocus adb devices # 实例化字典 desired_caps = dict() desired_caps[platformName] = Android desired_caps[platformVersion] = 9 # devices desired_caps[deviceName] = emulator-5554 # 包名 desired_caps[appPackage] …

【数据结构(邓俊辉)学习笔记】向量03——无序向量

文章目录 0.概述1.元素访问2.置乱器3.判等器与比较器4.无序查找4.1 判等器4.2 顺序查找4.3 实现4.4 复杂度 5. 插入5.1 算法实现5.2 复杂度分析 6. 删除6.1 区间删除6.2 单元删除6.3 复杂度 7. 唯一化7.1 实现7.2 正确性7.3 复杂度 8. 遍历8.1 实现8.2 复杂度 9. 总结 0.概述 …

东南亚留学:留学费低廉中华文化浓厚

东南亚留学信息整理 东南亚地区因其独特的地缘优势、相对低廉的留学费用以及与中国相近的文化背景,吸引了大量的中国留学生。以下是一些受欢迎的东南亚留学国家及其相关费用信息: 新加坡 学费范围:根据不同学位和学校,学费每年…

网络编程-libuv介绍

官网 https://libuv.org/ 概要 libuv是一个强大的跨平台异步I/O库,主要用于构建高性能、可扩展的网络应用程序。它最初是为Node.js开发的,用于处理Node.js的异步I/O操作,但随着时间的推移,它也被广泛应用于其他系统&#xff0…

html--canvas粒子球

<!doctype html> <html> <head> <meta charset"utf-8"> <title>canvas粒子球</title><link type"text/css" href"css/style.css" rel"stylesheet" /></head> <body><script…

每天学习一个Linux命令之stat

每天学习一个Linux命令之stat 简介 在Linux系统中&#xff0c;stat命令用于显示文件的详细信息&#xff0c;包括文件的设备号、文件类型、权限、链接数、所有者、组、大小、时间戳等。stat命令是一个非常常用的命令&#xff0c;能够帮助我们了解文件的属性和状态。本篇博客将介…

栈和队列-介绍与实现(超级!!!详解-C语言)

目录 栈 栈的介绍 栈的概念 栈的结构 栈的实现 初始化栈 StackInit 销毁栈 StackDestroy 入栈 StackPush 出栈 StackPop 获取栈顶元素 StackTop 检查栈是否为空 StackEmpty 获取栈中有效元素个数 StackSize 队列 队列的介绍 队列的概念 队列的结构 队列的应用 队列的实现 …

世媒讯提供海内外媒体宣发服务,引领企业新媒体发展之路

在这个信息化的时代&#xff0c;软文发稿已经成为企业发展不可或缺的重要工具。随着社会的快速发展&#xff0c;消费者需要更多定制化、个性化的信息。利用软性推广&#xff0c;凭借其细致入微的信息传递&#xff0c;可以迅速抓住消费者的注意力&#xff0c;从而进一步推动企业…

文件操作和IO

文章目录 前言一、文件操作1.1认识文件1.2硬盘上的文件目录结构1.3文件的路径1.4文本文件VS二进制文件 二、文件系统操作2.1File概述2.2代码示例 三、文件内容操作--文件流3.1字节流3.2字符流3.3练习 前言 文件操作与IO&#xff08;Input/Output&#xff09;是计算机编程中非常…

数据结构(学习笔记)王道

一、绪论 1.1 数据结构的基本概念 数据&#xff1a;是信息的载体&#xff0c;是描述客观事物属性的数、字符以及所有输入到计算机中并被计算机程序识别和处理的符号的集合。&#xff08;计算机程序加工的原料&#xff09;数据元素&#xff1a;数据的基本单位&#xff0c;由若干…

jsp实验11 JavaBean

二、实验项目内容&#xff08;实验题目&#xff09; 编写代码&#xff0c;掌握javabean的用法。【参考课本 上机实验 5.5.2 】 三、源代码以及执行结果截图&#xff1a; 源代码&#xff1a; Memory.java package sea.water; import java.util.ArrayList; import java.util…