【YOLO v5 v7 v8 v9小目标改进】AFPN 渐进式特征金字塔网络:解决多尺度特征融合中,信息在传递过程丢失
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 核心组件:
-
非邻近层次直接特征融合:传统的FPN通常只将相邻层次的特征进行融合,而AFPN能够直接将不同层次的特征进行融合,这样可以更好地保留高层的语义信息和低层的细节信息。
-
自适应空间融合操作:在合并不同层次的特征时,AFPN使用一种特殊的方法来确保信息不会相互冲突,这样做可以更精准地保留对于识别对象有用的信息。
因为在多层级特征融合过程中,不同层次的对象信息可能存在矛盾,通过引入自适应空间融合操作,可以过滤并保留对融合过程有用的信息,解决了简单的元素级求和不足以处理复杂信息融合的问题。

上图是对AFPN中使用的自适应空间融合操作的具体说明,展示了在不同层级特征之间应用该操作的效果。表明了如何结合来自不同层级的特征以生成一个综合特征,并使用策略自动分配权重,选择来区分上采样、下采样和横向连接。
-
从低层特征开始逐步融合高层特征:AFPN采取从低层次开始,并逐步添加高层次特征的方法
是因为低层特征包含更多的细节信息,而高层特征包含更丰富的语义信息。
通过从低层开始并逐步融合高层特征,可以确保融合后的特征同时包含细节和语义信息,避免了信息的丢失和降级。

上图展示了AFPN的结构细节,如特征是如何通过网络的不同层次进行融合的。
它通常会展示从输入图像的原始特征开始,如何通过上采样(增加分辨率)和下采样(降低分辨率)以及横向连接来融合特征。
图中可能会用不同颜色的箭头表示不同操作,比如蓝色箭头可能代表卷积操作,绿色箭头代表自适应空间融合。
假设我们要在一张照片中识别和定位不同大小的狗。
-
非邻近层次直接特征融合:
- 传统的FPN可能会分别处理照片中的大型狗(使用高层次的特征)和小型狗(使用低层次的特征),然后将这些特征逐层融合。
- AFPN的方式:它可以直接将识别大型狗的高层次特征与识别小型狗的低层次特征合并。
这意味着,不管狗的大小,模型都能同时考虑狗的整体形状(高层次的语义信息)和毛发、眼睛等细节(低层次的细节信息)。 -
自适应空间融合操作:
- 在融合特征时,可能会遇到一些矛盾,比如同一个位置既有大型狗的一部分也有小型狗的一部分。
- AFPN的方法:它能够识别出这种矛盾,并自动调整融合策略,只保留有助于识别和定位狗的信息。
这样,无论是大狗还是小狗,模型都能更准确地识别它们。 -
渐进式特征融合 - 从低层特征开始逐步融合高层特征:
- 一开始,AFPN专注于捕捉照片中的所有狗的细节特征,如毛发纹理和眼睛。
- 然后,它逐渐添加了识别狗的整体形状和姿态的高层次特征。
- 这个过程的结果:是一个综合的特征表示,既包含了细节信息(帮助区分不同种类的狗),也包含了语义信息(帮助理解狗的整体形态)。
这使得模型能够在各种大小和姿态的狗中做出准确的识别和定位。
AFPN 不直接处理单个大小的对象,而是综合考虑不同层次的信息,以更全面地理解图像内容。
小目标涨点
更新中…
YOLO v5 魔改
YOLO v7 魔改
YOLO v8 魔改
YOLO v9 魔改
相关文章:
【YOLO v5 v7 v8 v9小目标改进】AFPN 渐进式特征金字塔网络:解决多尺度特征融合中,信息在传递过程丢失
AFPN 渐进式特征金字塔网络:解决多尺度特征融合中,信息在传递过程丢失 提出背景AFPN 多尺度特征金字塔 非邻近层次的直接特征融合 自适应空间融合操作 小目标涨点YOLO v5 魔改YOLO v7 魔改YOLO v8 魔改YOLO v9 魔改 提出背景 论文:https:…...
问题解决 | vscode无法连接服务器而ssh和sftp可以
解决步骤 进入家目录删除.vscode-server rm -rf .vscode-server 然后再次用vscode连接服务器时,会重新安装,这时可能报出一些缺少依赖的错 需要联系管理员安装相关依赖,比如 sudo apt-get install libstdc6 至此问题解决...
Git 远程操作
1.分布式版本控制系统 我们目前所说的所有内容(工作区,暂存区,版本库等等),都是在本地!也就是在你的笔记本或者计算机上。而我们的 Git 其实是分布式版本控制系统!什么意思呢 可以简单理解为&am…...
Windows C++ 实现远程虚拟打印机(远程共享打印机)
编译错误已经修改完后的工程修改后的下载地址 https://download.csdn.net/download/2403_83063732/88928550 1、下载clawpdf(0.8.7版本) https://github.com/clawsoftware/clawPDF 2、打开clawpdf工程开始编译C#工程,出现如下错误…...
【jvm】java对象占用内存问题深入解析
一个Java对象占用多大内存-CSDN博客 关于Object o new Object()追魂九连问(个人学习笔记) - 知乎JVM(Java虚拟机)-史上最全、最详细JVM笔记-CSDN博客...
金现代产品方案部部长王宁,将出席“ISIG-低代码/零代码技术与应用发展峰会”
3月16日,第四届「ISIG中国产业智能大会」将在上海中庚聚龙酒店拉开序幕。本届大会由苏州市金融科技协会指导,企智未来科技(LowCode低码时代、RPA中国、AIGC开放社区)主办。大会旨在聚合每一位产业成员的力量,深入探索低…...
数据结构——lesson7二叉树 堆的介绍与实现
前言💞💞 啦啦啦~这里是土土数据结构学习笔记🥳🥳 💥个人主页:大耳朵土土垚的博客 💥 所属专栏:数据结构学习笔记 💥对于数据结构顺序表链表有疑问的都可以在上面数据结…...
阿里云DSW做AI绘画时的显卡选择A10?V100?
V100是Volta架构,A10是Ampere架构,架构上讲A10先进点,其实只是制程区别,用起来没区别。 V100是HBM的内存读取,带宽大,但是DDR5的。 二块卡都是全精度为主的算力卡,半精度优势不明显。 需要用…...
MySQL安装使用(mac)
目录 一、下载MySQL 二、环境变量 三、启动 MySql 四、初始化密码设置 一、下载MySQL 打开 MySql 官方下载页面 我是macOS12,所以选择了8.0.30 下载完成之后,打开安装,一直下一步安装完成,在最后安装完成时,会弹出…...
Qt控制台项目也能使用opencv的imshow来显示摄像头视频
创建一个Qt控制台项目,目的是实现在控制台打开摄像头视频。由于windows平台是支持GUI(图形用户界面)功能,所以在windows环境下是可以打开的,但是linux环境下,由于不支持GUI功能,而是支持wayland,…...
前端缓存使用规范
一、Cookie使用规范 cookie的存储空间非常有限且会携带在请求头中会浪费不必要的流量,如果仅仅是为存储数据,可以采用其他替代方案,例如 webStorage,非必要不使用cookie。 1、使用方法 注意:过期时间时需转换成UTC格…...
Linux rmmod命令教程:如何卸载内核模块(附实例详解和注意事项)
Linux rmmod命令介绍 rmmod(全称:remove module)用于从Linux内核中卸载已加载的内核模块。它允许您在运行时移除不再需要的模块,以释放系统资源或更改内核配置。 Linux rmmod命令适用的Linux版本 rmmod在大多数Linux发行版中通…...
中国气象要素年度空间插值数据集
摘要 中国气象要素年度空间插值数据集是地理遥感生态网平台基于全国2400多个站点的气象要素站点日观测数据,在计算各气象要素年值的基础上,基于Anuspl插值软件生成1960-2021年各年度蒸发量、地温、降水量、气压、相对湿度、日照时数 、气温、风速8个气象…...
链表习题-力扣oj (附加思路版)
LCR 140. 训练计划 IIhttps://leetcode.cn/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof/ 给定一个头节点为 head 的链表用于记录一系列核心肌群训练项目编号,请查找并返回倒数第 cnt 个训练项目编号。 思路:双指针,快指针先走cnt…...
HNU-计算机网络-甘晴void学习感悟
前言 计算机网络其实我没太学懂, 仅从应试来说,考试成绩也不太好。 这也是为什么一直没有更新这一学科的学习感悟。 大三下还是有点闲,一周三天小长假,闲来无事还是给写了。 教材使用这本: 总领 期中考试 30% 期…...
混合输入矩阵乘法的性能优化
作者 | Manish Gupta OneFlow编译 翻译|宛子琳、杨婷 AI驱动的技术正逐渐融入人们日常生活的各个角落,有望提高人们获取知识的能力,并提升整体生产效率。语言大模型(LLM)正是这些应用的核心。LLM对内存的需求很高&…...
安卓Kotlin面试题 41-50
41、如何在 Kotlin 中实现 Builder 模式?首先,在大多数情况下,您不需要在 Kotlin 中使用构建器,因为我们有默认和命名参数,但如果您需要使用://add private constructor if necessary class Car( val model: String?,val year: Int) { private constructor(build…...
portainer管理远程docker和docker-swarm集群
使用前请先安装docker和docker-compose,同时完成docker-swarm集群初始化 一、portainer-ce部署 部署portainer-ce实时管理本机docker,使用docker-compose一键拉起 docker-compose.yml version: 3 services:portainer:container_name: portainer#imag…...
分销商城微信小程序:用户粘性增强,促进复购率提升
在数字化浪潮的推动下,微信小程序作为一种轻便、高效的移动应用形式,正成为越来越多企业开展电商业务的重要平台。而分销商城微信小程序的出现,更是为企业带来了前所未有的机遇。通过分销商城微信小程序,企业不仅能够拓宽销售渠道…...
深度学习与机器学习:互补共进,共绘人工智能宏伟蓝图
在人工智能的广阔天地中,深度学习与机器学习如同两支强大的队伍,各自闪耀着独特的光芒,却又携手共进,共同书写着智能的辉煌篇章。尽管深度学习是机器学习的一个分支,但它们在模型构建、特征提取以及应用场景等多个方面…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...
未授权访问事件频发,我们应当如何应对?
在当下,数据已成为企业和组织的核心资产,是推动业务发展、决策制定以及创新的关键驱动力。然而,未授权访问这一隐匿的安全威胁,正如同高悬的达摩克利斯之剑,时刻威胁着数据的安全,一旦触发,便可…...
react-pdf(pdfjs-dist)如何兼容老浏览器(chrome 49)
之前都是使用react-pdf来渲染pdf文件,这次有个需求是要兼容xp环境,xp上chrome最高支持到49,虽然说iframe或者embed都可以实现预览pdf,但为了后续的定制化需求,还是需要使用js库来渲染。 chrome 49测试环境 能用的测试…...
免费批量Markdown转Word工具
免费批量Markdown转Word工具 一款简单易用的批量Markdown文档转换工具,支持将多个Markdown文件一键转换为Word文档。完全免费,无需安装,解压即用! 官方网站 访问官方展示页面了解更多信息:http://mutou888.com/pro…...
如何让非 TCP/IP 协议驱动屏蔽 IPv4/IPv6 和 ARP 报文?
——从硬件过滤到协议栈隔离的完整指南 引言 在现代网络开发中,许多场景需要定制化网络协议(如工业控制、高性能计算),此时需确保驱动仅处理特定协议,避免被标准协议(如 IPv4/IPv6/ARP)干扰。本文基于 Linux 内核驱动的实现,探讨如何通过硬件过滤、驱动层拦截和协议栈…...
ubuuntu24.04 编译安装 PostgreSQL15.6+postgis 3.4.2 + pgrouting 3.6.0 +lz4
文章目录 下载基础包下载源码包编译 PG编译 postgis编译安装 pgrouting下载源码包配置编译参数编译安装 初始化数据库建表并检查列是否使用了 lz4 压缩算法检查 postgis 与 pgrouting 是否可以成功创建 下载基础包 sudo apt update && sudo apt upgrade -y sudo apt i…...
