【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…...
分销商城微信小程序:用户粘性增强,促进复购率提升
在数字化浪潮的推动下,微信小程序作为一种轻便、高效的移动应用形式,正成为越来越多企业开展电商业务的重要平台。而分销商城微信小程序的出现,更是为企业带来了前所未有的机遇。通过分销商城微信小程序,企业不仅能够拓宽销售渠道…...
深度学习与机器学习:互补共进,共绘人工智能宏伟蓝图
在人工智能的广阔天地中,深度学习与机器学习如同两支强大的队伍,各自闪耀着独特的光芒,却又携手共进,共同书写着智能的辉煌篇章。尽管深度学习是机器学习的一个分支,但它们在模型构建、特征提取以及应用场景等多个方面…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
