Neck网络 FPN + PAN 改进解读

news2024/11/24 4:35:50

呃 这篇文章的目的在于补充一些知识以便于理解Neck部分的网络

特征提取网络 与 目标检测之间的关系

一个特征提取网络,假设有1000层,开始的特征图包含的细节信息就很多,而随着网络的加深,特征提取网络经过多次被卷积和池化操作,会逐渐抛弃原始图像中的细节信息,而更偏向于抽象的语义信息。

语义信息:

语义信息是指描述了物体的类别、形状、位置、空间关系等高层次抽象特征,比如说在图像中,猫和狗就是不同的语义信息。

 对于一个特征提取网络来说,浅层特征图,会拥有以下的特点:

较小的感受野 -----> 较少的语义信息  ------> 难以获得更广泛的上下文信息 

尺寸较大的特征图 ----> 更多的细节信息 -----> 更高的分辨率

那么同理,对于深层特征图 

会具有较大的感受野  ----->  具有较强的语义抽象能力  ----->能够获得更广泛的上下文信息(获得较为全局的特征信息)

尺寸较小的特征图   ----->  丧失较多的细节信息   ----->难以获得最够的分辨率

那么对于大目标和小目标的检测问题

相对于大目标,小目标的定位和检测更加困难一些。

由于小目标的尺寸较小,因此小目标的需要更高的分辨率和更准确的定位信息,因此更加注重图像细节的表达能力,常常采用浅层特征图来判断(浅层特征更好地捕捉图像的细节信息,包括边缘、纹理等低层次特征),深层特征图注重更高层次的语义信息提取,导致在图像的细节上缺失。

对于大目标,大目标通常具有更为明显的高层次语义信息,比如物体的形状、结构和类别,而这些信息在深层特征图中更能够清洗地表达,此外,深层特征图具有更大的感受野,能够获得更为广泛的上下文信息,也就更能把握全局特征,因此深层特征图更适合大目标的定位和检测。

简而言之,在进行目标检测和定位时,对于大目标,深层特征和大的感受野通常更加适合;而对于小目标,则需要更注重浅层特征和更高的分辨率。

插一嘴,图像的分类需要深层特征图,

而对于目标检测,则得分大目标和小目标选择合适的特征图(当然后面都是浅层信息和深层信息融合了)。

Neck 特征融合

其实看论文更好,找英翻嘛

FPN详解_技术挖掘者的博客-CSDN博客

深度学习-路径聚合网络(PANet网络)_Tc.小浩的博客-CSDN博客

对于FPN结构(细节不概述了)其实可以总结为

将处理过的低层特征和处理过的高层特征进行累加,这样做的目的是因为低层特征可以提供更加准确的位置信息,而多次的降采样和上采样操作使得深层网络的细节信息存在误差,因此我们将其结合其起来使用,这样我们就构建了一个更深的特征金字塔,融合了多层特征信息。

 看似好像我们确实深层特征图通过concat融合了低层特征图,然后似乎拥有了低层特征图的细节信息。但是如果构建很深的网络,其实即使是相对于低层的特征图也走过了很多层(这也是PANet的改进:

  • 缩短信息路径和用低层级的准确定位信息增强特征金字塔,创建了自下而上的路径增强

)。因此当一个网络深度较大,其实FPN的特征融合仍然损失了巨大的细节特征信息。

那么PANet网络的缩短信息路径是什么意思。

 我们知道P5、P4、P3融合的是主干网络里特征图(这种特征图可能已经经过了100层,只是特征图大小大而已,语义信息更多,细节信息已经较少了)。

那么我另辟一个只有降维行为通道不就行了(也就是我们的PAN)

官方的图其实需要配着文字说明才好阅读,PAN那一列其实与第一列的特征提取层数并不相同,PAN那一列只有降维而已,而N2也就是P2,N2~N5这一列,并不是主干网络的提取特征图,因此这样特征传递需要“穿越”的特征图数量大大减少,几层就到了,特征图保留的也更多的是细节信息了。

BiFPN

[Reading] EfficientDet: Scalable and Efficient Object Detection | nex3z's blog

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

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

相关文章

让你的SQL变得更简洁:学会ChatGPT活用技巧,轻松实现SQL格式化

文章目录 前言让你的SQL变得更简洁!学会ChatGPT活用技巧,轻松实现SQL格式化ChatGPT格式化SQL效果讯飞星火认知大模型格式化SQL效果文心一言格式化SQL效果格式化SQL效果结果比较 总结 【免责声明】文章仅供学习交流,观点代表个人,与…

Vue--》如何在Vue3中书写TSX

在vue2的时候就已经可以使用 jsx 语法,但是不是很友好,写起来是一件很痛苦的事情,所以你很少见到有人会在vue2中书写 jsx 语法,官方也不建议我们在vue2中进行书写 jsx 的代码风格: 但随着vue3版本的到来,对…

SBUS协议解析图解

SBUS协议在硬件上是串口反相协议。 在软件上就是普通串口协议,波特率100k,8位数据位,2位停止位,偶校验even。注意,stm32把校验位也当做数据,所以数据位要设置成9,而不是8。 其报文格式为&…

scala---spark本地调式远程获取hdfs数据注意事项

文章目录 前言一、Hadoop配置注意事项1.1 core-site.xml1.2 core-site.xml 二、本地hadoop环境配置注意事项三、本地scala项目spark代码调试总结 前言 这篇文章主要帮大家绕开一些本地使用spark调试获取远程hdfs数据的坑,个人在使用时也是基本把这些坑踩了一遍。希望…

永远不该忘记!科技才是硬道理,手中没有剑,跟有剑不用,是两回事

今天是全国防灾减灾日,距离2008年汶川大地震也已经过去15年了。但时至今日,看到那些图像视频资料,那种触及灵魂的疼痛仍是存在的,2008年的大地震在每个中国人身上都留下了无法抚平的伤疤。 2008年是所有中国人都无法忘记的一年&am…

设计模式——单一职责模式之装饰模式

文章目录 前言一、“单一职责” 模式二、Decorator 装饰模式1、动机2、模式定义3、伪代码示例①、第一种写法②、第二种写法③、第三种写法 4、结构 总结 前言 一、“单一职责” 模式 在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是…

深度指南:WhatsApp广播vs WhatsApp群组(二)

如何为创建WhatsApp群组? 建立 WhatsApp 群组,请按下列步骤操作。 1. 导航到您的WhatsApp或WhatsApp for Business(布局或界面相同),然后点击“新建组”。 2.现在,您可以将参与者添加到您的WhatsApp群组…

华为OD机试真题 Java 实现【静态代码扫描服务】【2023Q1 100分】

一、题目描述 静态扫描快速识别源代码的缺陷,静态扫描的结果以扫描报告作为输出: 文件扫描的成本和文件大小相关,如果文件大小为N,则扫描成本为N个金币;扫描报告的缓存成本和文件大小无关,每缓存一个报告…

算法修炼之练气篇——练气十层

博主:命运之光 专栏:算法修炼之练气篇 前言:每天练习五道题,炼气篇大概会练习200道题左右,题目有C语言网上的题,也有洛谷上面的题,题目简单适合新手入门。(代码都是命运之光自己写的…

华为网络篇 静态路由与BFD联动-21

实验难度2实验复杂度2 目录 一、实验原理 二、实验拓扑 三、实验步骤 四、实验过程 总结 一、实验原理 BFD(Bidirectional Forwarding Detection,双向转发检测)是一种实验网络可靠性的机制,它可用于快速检测网络中的链路状况…

常见自动化测试工具及框架有哪些?怎么选?

目录 一、自动化测试简介 1、什么是自动化测试 2、它可以做自动化测试么 二、工具篇 1、UFT(QTP) 2、Selenium 3、Appium 4、工具对比 三、框架篇 1、TestNG 2、unittest 3、pytest 4、Robot Framework 5、框架对比 四、如何选择 总结 一…

ES6知识点

目录 1、let、cons、var的区别 2、const对象的属性可以修改吗 3、如果new一个箭头函数会怎么样 4、箭头函数和普通函数的区别: 5、扩展运算符的作用及使用场景 1、let、cons、var的区别 1️⃣:块级作用域:块作用域由{}包括,le…

Flink 常用API(1)—— 源算子

目录 执行环境(Execution Environment) 创建执行环境 执行模式配置 触发程序执行 源算子(Source) 从集合中读取数据 从文件中读取数据 从Socket读取数据 从Kafka读取数据*** 自定义 Source(数据源&#xff0…

【结构与算法】—— 游戏概率常用算法整理 | 游戏中的常见概率设计分析

📢博客主页:肩匣与橘📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢本文由肩匣与橘编写,首发于CSDN🙉📢生活依旧是美好而又温柔的,你也是✨ …

Smartbi X 广州轻工集团,打造集团价值创造型总部

广州轻工工贸集团有限公司(简称“广州轻工集团”)是广州市第一家工贸合一的大型企业集团公司,最早起源于1950年9月成立的广州市合作事业管理局,逐渐演化形成广州市轻工业局。1995年10月,广州市轻工业局成建制改建为经济…

【C++】搜索二叉树

文章目录 📕 概念📕 搜索二叉树的实现框架插入节点查找节点★ 删除节点 ★ 📕 源代码 📕 概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 若它的左子树不为空&…

5。STM32裸机开发(2)

嵌入式软件开发学习过程记录,本部分结合本人的学习经验撰写,系统描述各类基础例程的程序撰写逻辑。构建裸机开发的思维,为RTOS做铺垫(本部分基于库函数版实现),如有不足之处,敬请批评指正。 &a…

全景描绘云原生技术图谱,首个《云原生应用引擎技术发展白皮书》发布

5月12日,由神州数码主办、北京经开区国家信创园、中关村云计算产业联盟协办的2023通明湖论坛-云原生分论坛在京召开。论坛期间,神州数码联合北京通明湖信息技术应用创新中心、中国信通院和通明智云正式发布了《云原生应用引擎技术发展白皮书》&#xff0…

干货 | 心理学人电脑选购指南来了!

Hello,大家好! 这里是壹脑云科研圈,我是喵君姐姐~ 当我们在选择电脑时经常会无从下手,不知道该如何才能选择一款既能满足我们的科研需要又具有良好性价比的电脑。 本期我们邀请到了唐仙和梦马来为我们详细解答心理学…

我的Makefile模板

OBJxxxxCFLAGS -g -Wall${OBJ}:${OBJ}.o main.o%*.o:%*.c.PHONY:clean clean:${RM} *.o ${OBJ} core xxxx → xxxx.c xxxx.h main.c 比如: 包含了: