【YOLO v5 v7 v8 v9小目标改进】AFPN 渐进式特征金字塔网络:解决多尺度特征融合中,信息在传递过程丢失

news2025/1/24 8:52:13

AFPN 渐进式特征金字塔网络:解决多尺度特征融合中,信息在传递过程丢失

    • 提出背景
      • AFPN = 多尺度特征金字塔 + 非邻近层次的直接特征融合 + 自适应空间融合操作
    • 小目标涨点
      • YOLO v5 魔改
      • YOLO v7 魔改
      • YOLO v8 魔改
      • YOLO v9 魔改

 


提出背景

论文:https://arxiv.org/pdf/2306.15988.pdf

代码:https://github.com/gyyang23/AFPN

 
对象检测是计算机视觉中的一个任务,目的是在图片或视频中识别出各种物体,并确定它们的位置。

随着深度学习技术的发展,对象检测领域取得了巨大进步。

在这些进步中,一个关键技术是特征金字塔网络(FPN),它帮助模型更好地处理不同大小的物体。

特征金字塔(如FPN、PAFPN、NASFPN)建立了一个多层次的特征表示体系,允许系统在不同的分辨率上捕捉图像的特征,以便能够检测不同大小的物体。

  • 它们解决了单一尺度特征分析的局限性,为特征融合提供了多尺度的特征来源。

特征融合模块(如CARAFE、ASFF、DRFPN)则进一步增强了这些特征的表示能力,通过各种方法(上采样、加权融合、注意力机制)优化了不同层级特征之间的融合,提高了特征金字塔中特征的质量和检测模型的性能。

 

AFPN = 多尺度特征金字塔 + 非邻近层次的直接特征融合 + 自适应空间融合操作

什么是AFPN?

AFPN(渐进式特征金字塔网络)是在特征金字塔和特征融合模块基础上的进一步创新和优化。

AFPN不仅采用了特征金字塔的多尺度特征表示理念,还引入了高效和创新的渐进式特征融合策略,特别是非邻近层次的直接特征融合自适应空间融合操作

  • 自适应空间融合操作解决了特征融合过程中的信息冲突问题
  • 渐进式特征融合则优化了信息流在不同层级间的传递,最大化地保留了有用的信息
  • 非邻近层次的直接特征融合,跨层级信息融合,允许高层特征直接与更低层特征结合,跳过中间层级,这样可以更快地将语义信息整合到细节信息中

AFPN的设计思路与软件工程中的迭代开发有共同点。

在软件开发过程中,开发团队通常不会一开始就完全设计出所有细节,而是通过不断迭代,逐步完善软件的功能和性能。

每个迭代周期中,都会评估现有的设计,引入新的功能,并改进用户体验。

这种逐步逼近最终目标的方法,既保证了项目的灵活性,也允许团队根据反馈不断调整方向,最终达到更优的产品质量。

同样,在建筑领域,设计和构建一个建筑物也往往采用类似的渐进式方法。

从概念设计开始,到初步设计,再到详细设计和施工图纸的制作,每一步都在逐渐加深对建筑物的理解和控制,同时也允许在过程中根据新的信息和条件进行调整。

这种思路的共同点在于,无论是组织活动、软件开发,还是建筑设计,都强调了在过程中灵活适应变化、逐步完善和精细化的重要性。

AFPN通过将这一思路应用到特征金字塔网络的设计中。

AFPN 核心组件:

  1. 非邻近层次直接特征融合:传统的FPN通常只将相邻层次的特征进行融合,而AFPN能够直接将不同层次的特征进行融合,这样可以更好地保留高层的语义信息和低层的细节信息。

  2. 自适应空间融合操作:在合并不同层次的特征时,AFPN使用一种特殊的方法来确保信息不会相互冲突,这样做可以更精准地保留对于识别对象有用的信息。

    因为在多层级特征融合过程中,不同层次的对象信息可能存在矛盾,通过引入自适应空间融合操作,可以过滤并保留对融合过程有用的信息,解决了简单的元素级求和不足以处理复杂信息融合的问题。

    在这里插入图片描述
    上图是对AFPN中使用的自适应空间融合操作的具体说明,展示了在不同层级特征之间应用该操作的效果。

    表明了如何结合来自不同层级的特征以生成一个综合特征,并使用策略自动分配权重,选择来区分上采样、下采样和横向连接。

  3. 从低层特征开始逐步融合高层特征:AFPN采取从低层次开始,并逐步添加高层次特征的方法

    是因为低层特征包含更多的细节信息,而高层特征包含更丰富的语义信息。

    通过从低层开始并逐步融合高层特征,可以确保融合后的特征同时包含细节和语义信息,避免了信息的丢失和降级。

在这里插入图片描述
上图展示了AFPN的结构细节,如特征是如何通过网络的不同层次进行融合的。

它通常会展示从输入图像的原始特征开始,如何通过上采样(增加分辨率)和下采样(降低分辨率)以及横向连接来融合特征。

图中可能会用不同颜色的箭头表示不同操作,比如蓝色箭头可能代表卷积操作,绿色箭头代表自适应空间融合。

 

假设我们要在一张照片中识别和定位不同大小的狗。

  1. 非邻近层次直接特征融合

    • 传统的FPN可能会分别处理照片中的大型狗(使用高层次的特征)和小型狗(使用低层次的特征),然后将这些特征逐层融合。
    • AFPN的方式:它可以直接将识别大型狗的高层次特征与识别小型狗的低层次特征合并。

     
    这意味着,不管狗的大小,模型都能同时考虑狗的整体形状(高层次的语义信息)和毛发、眼睛等细节(低层次的细节信息)。

  2. 自适应空间融合操作

    • 在融合特征时,可能会遇到一些矛盾,比如同一个位置既有大型狗的一部分也有小型狗的一部分。
    • AFPN的方法:它能够识别出这种矛盾,并自动调整融合策略,只保留有助于识别和定位狗的信息。

     
    这样,无论是大狗还是小狗,模型都能更准确地识别它们。

  3. 渐进式特征融合 - 从低层特征开始逐步融合高层特征

    • 一开始,AFPN专注于捕捉照片中的所有狗的细节特征,如毛发纹理和眼睛。
    • 然后,它逐渐添加了识别狗的整体形状和姿态的高层次特征。
    • 这个过程的结果:是一个综合的特征表示,既包含了细节信息(帮助区分不同种类的狗),也包含了语义信息(帮助理解狗的整体形态)。

     
    这使得模型能够在各种大小和姿态的狗中做出准确的识别和定位。

AFPN 不直接处理单个大小的对象,而是综合考虑不同层次的信息,以更全面地理解图像内容。

小目标涨点

更新中…

YOLO v5 魔改

YOLO v7 魔改

YOLO v8 魔改

YOLO v9 魔改

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

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

相关文章

GO语言环境安装---VScode.2024

目录 一、下载并安装GO 二、配置环境变量 三、VScode环境安装 由于工作原因,需要用到go来写web后端,正好从零记录下环境安装 一、下载并安装GO 首先在官网根据PC系统选择对应的包下载 源地址:https://go.dev/dl/ 打不开的用这个也行&a…

鸿蒙岗位大反攻:几十家头部应用加入鸿蒙后,鸿蒙工程师薪酬水涨船高

华为原生鸿蒙生态开始百花齐放:已经有几十家国内应用软件,宣布适配华为原生鸿蒙APP,其中就包括支付宝、美团、新浪微博、小红书、B站、高德地图、58同城等多家头部应用。 因为华为已经公开宣布:2024年的鸿蒙5.0系统将不再兼容安卓…

Operator开发

概述 基于k8s做扩展的时候,一种典型方式则是 operator 开发,通过 CRD(CustomResourceDefinition) 来定义自定义资源,开发对应的 controller 来做业务控制,以期实现特定的业务需求。那么其本质是什么?是事件驱动。与我…

视频产品介绍:国标28181网关(GB/T28118网关)

目 录 一、概述 二、产品功能 (一)功能描述 (二)功能展示 1、国标接入 2、资源绑定 三、产品能力 (一)接入能力 (二)多级架构 四、特点优势 (一&am…

VSCode 隐藏侧边栏文件或文件夹

开发时有些文件根部就会动,可能是运行的环境或者缓存,可能是其他的文件。 但是又不能删除,影响开发的观感,那么怎么在侧边栏栏隐藏文件呢 搜索的时候想要加快速度,怎么屏蔽某些文件呢 隐藏侧栏显示文件或屏蔽搜索范围…

【计算机网络】IO多路转接之epoll

文章目录 一、epoll的相关系统调用二、epoll工作原理三、epoll的优点(和 select 的缺点对应)四、epoll工作方式五、epoll服务器1.Sock.hpp2.Log.hpp3.Err.hpp4.epollServer.hpp5.epollServer.cc 一、epoll的相关系统调用 按照man手册的说法: 是为处理大批量句柄而作了改进的po…

前端实现一个绕圆心转动的功能

前言: 今天遇到了一个有意思的需求,如何实现一个元素绕某一个点来进行圆周运动,用到了一些初高中的数学知识,实现起来还是挺有趣的,特来分享🎁。 一. 效果展示 我们先展示效果,如下图所示&…

C#知识点-22(ADO.NET五个对象,SQL漏洞注入攻击)

ADO.NET 概念:ADO.NET就是一组类库,这组类库可以让我们通过程序的方式访问数据库,就像System.IO的类用类操作文件一样,System.Data这组类是用来操作数据库的(不光是MSSql Server),它提供了统一…

骨传导蓝牙耳机哪款好?掌握几大选购技巧不再踩坑

骨传导蓝牙耳机,顾名思义就是依靠骨头传递声音的耳机,它们的佩戴方式与市面上常见的入耳式耳机显著不同。在骨传导技术领域,它的地位犹如智能手机界的苹果,无论是用户体验还是整体声誉都相当出色,赢得了广泛的消费者认…

【Web安全】SQL各类注入与绕过

【Web安全】SQL各类注入与绕过 【Web安全靶场】sqli-labs-master 1-20 BASIC-Injection 【Web安全靶场】sqli-labs-master 21-37 Advanced-Injection 【Web安全靶场】sqli-labs-master 38-53 Stacked-Injections 【Web安全靶场】sqli-labs-master 54-65 Challenges 与62关二…

删除指定的数

删除指定的数 题目描述:解法思路:解法代码:运行结果: 题目描述: 先输入10个整数存放在数组中,再输入⼀个整数n,删除数组中所有等于n的数字,数组中剩余的数组保证数组的最前面&#…

python跨文件夹调用

如图所示,我们要在bin文件夹下的run_patchcore.py文件中调用src/patchcore文件夹下的backbone.py, common.py等文件。如第13行 方法1:将patchcore的上一层目录src添加到环境变量中 run_patchcore.py 文件中写入import sys sys.path.append(/home/rui/P…

【QA-SYSTEMS】CANTATA-解决Jenkins中build Cantata报错

【更多软件使用问题请点击亿道电子官方网站查询】 1、 文档目标 解决Jenkins中build Cantata测试项目报找不到license server的错误。 2、 问题场景 在Jenkins中build Cantata测试项目,报错“Failed to figure out the license server correctly”。 3、软硬件环…

Java精品项目--第7期基于SpringBoot的驾校后台管理系统的设计分析与实现

项目使用技术栈 JavaSpringBootMavenMySQLMyBatisShiroHTMLVue.js(非前后端分离)… 项目截图

开发一个小程序需要多少钱

【腾讯云】 爆款2核2G3M云服务器首年 61元,叠加红包再享折上折 要做小程序的小伙伴们福利来啦! 抢购方式: 方式一:直达链接》点我直接抢购 方式二:长按住识别以下官方二维码直接抢购 01 小程序认证 根据微信公众平台…

每日一题 — 有效三角形的个数

611. 有效三角形的个数 - 力扣(LeetCode) 思路: 双指针思想,先将数据排序 然后先固定最大的数Max,也就是数组最后的数再定义一左一右两个下标 left 、 right,当这个值相加大于最大的数,那么他两…

软件设计师12--进程的概念概述

软件设计师12--进程的概念概述 考点1:线程的概念进程的概念进程与程序进程与线程例题: 考点2:进程的状态例题: 考点1:线程的概念 进程的概念 进程与程序 进程与线程 进程的2个基本属性:可拥有资源的独立单…

二分查找算法:高效搜索有序数据的利器

二分查找算法:高效搜索有序数据的利器 在计算机科学中,搜索是一项基本而重要的操作。对于有序数据,二分查找算法是一种高效的搜索方法。本文将介绍二分查找算法的原理、实现以及其在实际应用中的优势,帮助读者理解和应用这一常用的…

当前爆火的:ChatGPT4、Claude3、Gemini、Sora、GPTs及AI领域中的集中大模型的最新技术

原文链接:当前爆火的:ChatGPT4、Claude3、Gemini、Sora、GPTs及AI领域中的集中大模型的最新技术 第一:2024年AI领域最新技术 1.最新超强模型Claude3使用 2.OpenAI新模型-GPT-5 3.谷歌新模型-Gemini使用 4.Meta新模型-LLama3 5.阿里巴巴…

【教育部白名单赛事】C语言编程题解析--软件编程邀请赛(决赛)

文章目录 1、保留12位小数的浮点数2、气温统计3.大写字母的判断4、【递归】母鸡的故事5、小白免再排队 1、保留12位小数的浮点数 输入一个双精度浮点数,保留12位小数,输出这个浮点数。 时间限制:1000 内存限制:65536 【输入】 只…