FPN和PAN的内容及区别

news2024/9/27 15:21:44

  FPN和PAN都是用于解决在目标检测中特征金字塔网络(FPN)在多尺度检测任务上的不足的方法。下面分别详细介绍一下它们的原理和区别。

FPN

  FPN全称Feature Pyramid Network,是由FAIR在2017年提出的一种处理多尺度问题的方法。FPN的主要思路是通过构建金字塔式的特征图来提取不同尺度下的目标特征,进而提高检测精度。
  FPN的构建方式是从高分辨率的特征图开始向下采样,同时从低分辨率的特征图开始向上采样,将它们连接起来形成金字塔。在这个过程中,每一层特征图的信息都会与上下相邻层的特征图融合,这样可以使得高层特征图中的目标信息得以保留,同时低层特征图中的背景信息也可以被高层特征图所补充。经过这样的处理,FPN可以提高模型在多尺度检测任务上的精度,同时还可以在不影响检测速度的情况下提高检测速度。

  FPN的主要思想是在图像的不同层次上构建特征金字塔,以便能够捕获不同尺度的物体。

  FPN的核心是特征融合,其基本步骤如下:

  1. 输入图像经过卷积神经网络,得到一系列特征图,每个特征图对应网络的一层。
  2. 对于较浅的特征图,进行上采样操作,使其尺寸与较深的特征图相同。这里的上采样可以使用插值等方法进行。
  3. 将上采样后的较浅特征图与较深特征图进行融合,这里采用的是加法操作。
  4. 对融合后的特征图进行卷积,进一步融合信息。
  5. 重复步骤2~4,直到所有特征图都进行了融合操作。最终得到的特征金字塔包含多个尺度的特征图,可用于物体检测和分割等任务。
    在这里插入图片描述
    如上图中的d所示。

FPN的融合过程

  在FPN中,浅层特征图和深层特征图的融合是通过上采样(up-sampling)和下采样(down-sampling)完成的。具体来说,FPN将深层特征图分解为一系列分辨率更低但语义更高的特征图,并将这些特征图与对应的上采样浅层特征图进行加和融合,最终得到多尺度的特征图。融合的具体过程如下:

  1. 自下而上生成金字塔:FPN首先采用ResNet等网络作为骨干网络,自下而上生成一系列特征图,每个特征图的分辨率比上一层低,但语义更高。

  2. 自上而下进行特征融合:FPN然后从自下而上生成的特征图序列的顶部(即最高分辨率的特征图)开始,通过上采样将其分辨率加倍,然后将结果与该特征图序列中分辨率较低但语义更高的下一层特征图进行加和,从而获得一组新的特征图。FPN将该过程称为“特征上采样(feature up-sampling)”。

  3. 横向连接进行特征融合:接下来,FPN将新生成的高分辨率特征图(上采样后的图)与 与之相对应的浅层特征图(分辨率较低但语义相似)进行加和,从而生成新的特征图。这一过程称为“特征横向连接(feature lateral connection)”,可以有效地将低分辨率特征图中的语义信息传递到高分辨率特征图中。

  4. 重复步骤2和3:FPN在步骤2和3中重复使用相同的操作,从而生成多尺度特征图金字塔。在该金字塔中,每个特征图都与不同分辨率的输入图像区域相对应,这使得FPN可以同时对不同尺度的目标进行检测。

  总体来说,FPN通过上下采样和横向连接操作实现了浅层和深层特征图的融合,从而提高了检测器对不同尺度目标的检测能力。与PAN不同,FPN使用了上采样操作,这使得FPN生成的特征图具有更高的分辨率,从而能够更好地保留目标的细节信息。
  FPN的优点在于能够自然地融合不同尺度的特征图,提高目标检测和分割的准确性。FPN的缺点在于计算量较大,需要耗费较长时间进行训练和推断。

PAN

  PAN全称Path Aggregation Network,是由Megvii在2018年提出的一种处理多尺度问题的方法。

  PAN(Path Aggregation Network)是一个用于图像语义分割的深度神经网络架构。PAN的主要思路是通过聚合来自不同层级的特征图,使得每个特征图中的信息都可以被充分利用,从而提高检测精度。与FPN类似,PAN也是一种金字塔式的特征提取网络,但是它采用的是自下而上的特征传播方式。
  PAN的构建方式是从低分辨率的特征图开始向上采样,同时从高分辨率的特征图开始向下采样,将它们连接起来形成一条路径。在这个过程中,每一层特征图的信息都会与上下相邻层的特征图融合,但与FPN不同的是,PAN会将不同层级的特征图融合后的结果进行加和,而不是级联。这样可以避免在级联过程中信息的损失,同时还可以保留更多的细节信息,从而提高检测精度。
  在PAN中,网络的主干部分通常采用ResNet等常用的卷积神经网络结构。在主干网络的后半部分,PAN引入了一个自下而上的侧边分支,用于将低分辨率的特征图传递到高分辨率的层中。这个侧边分支与主干网络是平行的,由一系列卷积和上采样(即反卷积)操作组成,从而将低分辨率的特征图上采样到与高分辨率的特征图相同的分辨率。

  在将不同分辨率的特征图进行融合时,PAN采用了一种类似于FPN的方法,但稍有不同。具体而言,PAN中首先将低分辨率的特征图进行上采样,然后将其与高分辨率的特征图进行拼接,得到一个更加丰富的特征图。接着,对这个特征图进行卷积操作,以得到最终的特征表示。

  与FPN相比,PAN中自下而上的特征传播方式更为高效,可以在更少的计算资源下实现更好的语义分割效果。同时,PAN中的特征融合方式也具有一定的优势,能够更好地保留低分辨率特征图中的细节信息,从而提高分割的准确性。
在这里插入图片描述
如图所示,b区域是PAN多出的一条自底向上的路径。

区别

在这里插入图片描述

  FPN和PAN的主要区别在于特征融合方式不同,而且PAN比FPN多了一条自底向上的路径。FPN采用级联的方式进行特征融合,会在融合过程中丢失一部分细节信息,因此对于需要高精度检测的场景,可能表现不如PAN。而PAN采用加和的方式进行特征融合,可以保留更多的细节信息,但同时也会增加计算量。

参考及图片来自

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/flyfish1986/article/details/110520667
————————————————
版权声明:本文为CSDN博主「西西弗Sisyphus」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/flyfish1986/article/details/110520667

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hadoop入门篇02---HDFS学习与简单使用

Hadoop入门篇02---HDFS学习与简单使用 存储系统概念认识硬盘,RAID小结 存储架构DAS,NAS,SAN对比 文件系统 大数据存储大数据存储面临的问题如何解决小结 HDFSHDFS的起源和发展HDFS的设计目标HDFS的应用场景HDFS的特性命令行实践常用命令 Java客户端API使…

双向带头循环链表

双向带头循环链表 1.前言2.带头双向循环链表的初始化3.创建一个哨兵位头节点4.链表的打印5.malloc函数创建节点5.链表的尾插6.链表的尾删7.链表的头插8.链表的头删9.链表的查找10.链表任意位置插入(在给点定位置的前面插入)11.链表任意位置删除12.空间释…

IPWorks Bluetooth ! IPWorks BLE 2022 C++ Edition Crack

蓝牙库-IPWorks Bluetooth ! IPWorks BLE 2022 C Edition 一个蓝牙低功耗组件库,提供对 BLE 操作的直接访问。IPWorks BLE 组件提供简单的服务发现和对支持 BLE 的设备的访问。 最新的 IPWorks BLE 现已推出!最新版本的 IPWorks BLE 具有现代化和简化的…

【MySQL】MySQL 知识点总结

文章目录 前言关系型数据库和非关系型数据库关系型数据库非关系型数据库关系型数据库与非关系型数据库之间的区别 MySQL整体架构SQL 的执行步骤MySQL 的架构图示连接器分析优化和执行查询缓存分析器优化器&执行器 存储引擎MyISAM和InnoDB的区别 事务事务的四大特性隔离级别…

【电动车】基于双层凸优化的燃料电池混合动力汽车研究(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清…

聚观早报 | 巴菲特后悔减持苹果;羊了个羊侵害用户权利被通报;

今日要闻:巴菲特两年前减持苹果是个愚蠢的决定;羊了个羊侵害用户权利被通报;英特尔预计二季度营收同比下滑;陆奇最称中国要先赶上GPT-3.5;任天堂对GitHub展开大规模DMCA行动 巴菲特两年前减持苹果是个愚蠢的决定 在伯…

【Linux】Redis数据库、实例项目搭建redis服务器环境下mysql实现la/nmp架构缓存

一、Redis简介 Redis 是当前互联网世界最为流行的 NoSQL(Not Only SQL)数据库。NoSQL 在互联网系统中的作用很大,因为 它可以在很大程度上提高互联网系统的性能。 Redis 具备一定持久层的功能,也可以作为一种缓存工具。对于 NoSQL…

【论文复现】基于区块链的分布式光伏就地消纳交易模式研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

盖雅案例入选「首届人力资源服务国际贸易交流合作大会20项创新经验」

近日,首届人力资源服务国际贸易交流合作大会顺利召开。为激励企业在人力资源服务贸易领域不断创新,加快培育对外贸易新业态、新模式,形成人力资源服务领域国际竞争新优势,大会评选出了「首届人力资源服务国际贸易交流合作大会20项…

第2天学习——Docker安装

一、前言 Docker 是一个用于开发、传送和运行应用程序的开放平台。Docker 使您能够将应用程序与基础设施分开,以便您可以快速交付软件。使用 Docker,您可以像管理应用程序一样管理基础设施。通过利用 Docker 的快速交付、测试和部署代码的方法&#xff0…

sqli-labs通关(十四)(十五)(十六)

第十四关 输入1",出现如下报错信息,告诉我们要双引号闭合 所以我们输入 1" or 11# 没有任何返回信息,这一关和十三关一样,利用报错信息爆出数据 1" and extractvalue(1,concat(0x7e,(select database())))# 第十五关 输入1是这…

【软件测试】第二章 黑盒测试

系列文章目录 文章目录 系列文章目录前言第二章 黑盒测试2.1 等价类划分2.2 边界值分析2.3 因果图法2.4 判定表驱动2.5 正交试验法2.6 其他黑盒测试方法2.7 功能性测试总结 总结 前言 第二章 黑盒测试 黑盒测试:功能测试或数据驱动测试测试对象:需求规格…

发布会实录|悠易科技CTO李旸:洞察新引擎 品牌新增长

4月26日,悠易科技LinkFlow对其核心的 “洞察”产品能力进行了升级。作为开场嘉宾,悠易科技CTO李旸做了题为《洞察新引擎 品牌新增长》的精彩分享,为我们阐释了本次发布升级的背景和出发点,帮助我们更好地理解LinkFlow CDP如何借助…

【postgresql】一些函数记录

1、coalesce函数:合并,coalesce(值1,值2,值3……),返回第一个不为null的值; 2、coalesce和ifnull的区别,ifnull只有两个参数,返回第一个不为null的参数 3、if和casewhen的区别&…

信息安全评估

安全评估基础 概念、作用、安全评估标准 安全评估基本概念 什么是安全评估 针对潜在影响资产正常执行其职能的行为产生干扰或者破坏的因素进行识别、评价的过程 对安全评估的理解 狭义指对一个具有特定功能的工作系统中固有的或潜在的危险及其严重程度所进行的分析与评估&a…

通用路由封装协议GRE

通用路由封装协议原理 通用路由封装协议GRE(Generic Routing Encapsulation)可以对某些网络层协议(如IPX、ATM、IPv6、AppleTalk等)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如IPv4)中传输。 GRE提供了将一种协议的报文封装在另一种协议报文中…

国产AI大模型酣战,科大讯飞打响“智慧涌现”第一枪

配图来自Canva可画 ChatGPT问世半年之久,人与AI“你问我答”的游戏热度不降反升,AI大模型技术需求也随之水涨船高,成为科技企业重点关注的方向。 在海外,OpenAI、谷歌、微软的AI大模型战争正打得火热;在国内&#xf…

PowerShell系列(二):PowerShell和Python之间的差异介绍

目录 1、Python定义 2、Python用途 4、PowerShell用途 5、PowerShell和Python对比 5.1 共同点 5.2 不同点 6、总结 今天给大家聊聊PowerShell和Python之间有哪些共同之处,各自有哪些优势,希望对运维的朋友了解两种语言能提供一些有用的信息。 1、Python定…

Unit 为啥还能当函数参数?面向实用的 Kotlin Unit 详解

视频先行 下面是视频内容的脚本文案原稿分享。 文案原稿 很多从 Java 转到 Kotlin 的人都会有一个疑惑:为什么 Kotlin 没有沿用 Java 的 void 关键字,而要引入这个叫 Unit 的新东西? // Java public void sayHello() {System.out.println(&qu…

Unity大面积草地渲染——2、草地的动态交互

大家好,我是阿赵。 这里继续讲大面积草地渲染的第二个部分,草地动态交互。这里主要有风吹效果和球体碰撞效果2种。 一、风吹效果 Unity使用shader控制草的渲染和动画 风吹动草的效果,主要还是使用顶点程序来控制顶点的偏移 回顾一下之前的基…