YOLOv9最新改进系列:YOLOv9改进加入新型高效的多尺度注意力(EMA)模块保留每个通道的信息并减少计算成本!助力v9检测性能遥遥领先!

YOLOv9最新改进系列:YOLOv9改进加入新型高效的多尺度注意力(EMA)模块保留每个通道的信息并减少计算成本!助力v9检测性能遥遥领先!

YOLOv9原文链接戳这里,原文全文翻译请关注B站Ai学术叫叫首er

详细的改进教程以及源码,戳这!戳这!!戳这!!!B站:AI学术叫叫兽 源码在相簿的链接中,动态中也有链接,感谢支持!祝科研遥遥领先!

YOLOv9最新改进系列:YOLOv9改进加入新型高效的多尺度注意力(EMA)模块保留每个通道的信息并减少计算成本!助力v9检测性能遥遥领先!

  • YOLOv9最新改进系列:YOLOv9改进加入新型高效的多尺度注意力(EMA)模块保留每个通道的信息并减少计算成本!助力v9检测性能遥遥领先!
  • 摘要
  • 1 简介
  • 2 相关工作
    • 2.1 功能分组。
    • 2.2 多流网络。
    • 2.3多尺度卷积。
  • 3 结论
  • 4 修改步骤!
    • 4.1 修改YAML文件
    • 4.2 新建.py
    • 4.3 修改tasks.py
  • 5、验证是否成功即可


EMA原文(提出原文戳这)

详细的改进教程以及源码,戳这!戳这!!戳这!!!B站:AI学术叫叫兽 源码在相簿的链接中,动态中也有链接,感谢支持!祝科研遥遥领先!
截止到发稿时,B站YOLOv9最新改进系列的源码包,已更新了11种的改进!自己排列组合2-4种后,考虑位置不同后可排列组合上千种!!专注AI学术,关注B站博主:Ai学术叫叫兽er!

摘要

在各种计算机视觉任务中说明了通道或空间注意机制在产生更可辨别的特征表示方面的显着有效性。 然而,通过通道降维来建模跨通道关系可能会给提取深度视觉表示带来副作用。 本文提出了一种新型高效的多尺度注意力(EMA)模块。 着眼于保留每个通道的信息并减少计算开销,我们将部分通道重塑为批量维度,并将通道维度分组为多个子特征,使空间语义特征在每个特征组内均匀分布。 具体来说,除了对全局信息进行编码以重新校准每个并行分支中的通道权重之外,还通过跨维度交互来进一步聚合两个并行分支的输出特征,以捕获像素级的成对关系。 我们使用流行的基准(例如 CIFAR-100、ImageNet-1k、MS COCO 和 VisDrone2019)对图像分类和目标检测任务进行了广泛的消融研究和实验,以评估其性能。

1 简介

随着深度卷积神经网络(CNN)的发展,更多值得注意的网络拓扑被应用于图像分类和目标检测任务领域。 当我们将 CNN 扩展到多个卷积层时,它表现出增强学习特征表示的非凡能力。 然而,它会导致堆叠更多的深度卷积对应物,并且需要大量的内存和计算资源消耗,这是构建深度CNN的主要缺点[1]、[2]。 作为一种替代方法,注意力机制方法由于其灵活的结构特点,不仅加强了更具辨别力的特征表示的学习,而且可以很容易地插入到 CNN 的主干架构中。 因此,注意力机制引起了计算机视觉研究界的极大兴趣。
人们普遍认为主要提出了三种类型的注意力机制,即通道注意力、空间注意力和两者。 作为代表性的通道注意力,挤压和激励(SE)明确地建模了跨维度交互以提取通道注意力[3]。 卷积块注意力模块(CBAM)[4]通过特征图中空间维度和通道维度之间的语义相互依赖性建立了跨通道和跨空间信息。 因此,CBAM 在将跨维度注意力权重集成到输入特征中表现出了巨大的潜力。 然而,池化操作的手动设计涉及复杂的处理,会带来一些计算开销。
为了克服计算成本限制的缺点,提供了一种长期有效的方法,即使用特征分组方法将不同资源上的特征划分为多组[5]。 显然,它可以使每组特征在空间上均匀分布。 在此设置之后,空间分组增强(SGE)注意力[6]将通道维度分组为多个子特征,并改善了不同语义子特征表示的空间分布,取得了出色的性能。 管理模型复杂性的最有效方法之一是使用具有通道降维的卷积[7]。 与SE注意力相比,坐标注意力(CA)[8]将方向特定信息沿空间维度方向嵌入到通道注意力中,并选择适当的通道维度缩减比例,实现了可比的性能。 相反,与粗粒度的 CV 任务相比,这种现象可能是像素级回归中通过降维来减轻计算负担的最常见问题。 受到估计高度非线性像素语义的思想的启发,极化自注意力(PSA)[9]完全折叠了沿对应通道维度的输入特征图并保留了高光谱分辨率。 在较小的减速比下,PSA表现出了巨大的性能提升潜力。 虽然适当的通道缩减率会产生更好的性能,但它可能在提取深度视觉表示时带来副作用,这在高效通道注意(ECA)[10]中探索了不降维的效率。 大层深度对于提高 CNN 的表示能力起着重要作用。 然而,它不可避免地导致更多的顺序处理和更高的延迟[11],[12]。 与描述为线性序列的大深度注意力不同,三重注意力(TA)[13]提出了一种三重平行分支结构,用于捕获针对不同平行分支的跨维度交互。 通过并行子结构,洗牌注意力(SA)[14]将通道维度分组为多个子特征并并行处理它们,这可以跨多个处理器有效地并行化。 此外,并行网络(ParNet)[15]构建了并行子网络,提高了特征提取的效率,同时保持了小深度和低延迟。 受上述注意力机制的启发,可以看出跨维度交互有助于通道或空间注意力预测。 我们基于分组结构,修改了CA的顺序处理方法,提出了一种无需降维的新型高效多尺度注意力(EMA)。 请注意,这里仅将两个卷积核分别放置在并行子网络中。 其中一个并行子网络是 1x1 卷积核,其处理方式与 CA 中所示的相同,另一个是 3x3 卷积核。 为了证明我们提出的 EMA 的通用性,第 4 节介绍了详细的实验,包括 CIFAR-100、ImageNet-1k、COCO 和 VisDrone2019 基准测试的结果。 以及图像分类和目标检测任务的实验结果如图 1 所示。

在这里插入图片描述
图1 比较以 ResNet50 [17] 作为骨干的不同注意力方法的准确性,结果表明 EMA 表现出最高的 Top-1 准确性,同时具有较低的模型复杂性。 模型还在 COCO 基准上以 yolov5s (v6.0) [18] 的标准主干进行评估,这说明 EMA 是高效且有效的。

我们的主要贡献总结如下:
1 我们提出了一种新颖的跨空间学习方法,并设计了一个多尺度并行子网络来建立短程和长程依赖关系。
2 我们考虑一种通用方法,将部分通道维度重塑为批量维度,以避免通过通用卷积进行某种形式的降维。
3 除了在不降低通道维数的情况下在每个并行子网络中构建局部跨通道交互之外,我们还通过跨空间学习方法融合两个并行子网络的输出特征图。
4 与 CBAM、基于归一化的注意力模块(NAM)[16]、SA、ECA 和 CA 相比,EMA 不仅取得了更好的结果,而且在所需参数方面也更加高效。

2 相关工作

2.1 功能分组。

在以前的文献中,特征分组已经被广泛地研究。为了缓解计算机计算预算的限制,AlexNet说明了分组卷积有利于在更多的GPU资源上将模型分布在两个组上[19]。随着特征分组数量的增加,ResNeXt已被证明子特征的激活会受到不同模式和噪声背景的空间影响[20]。Res2Net被假设为传输分组的子特征的分层模式,使得CNN能够在多个尺度上表示特征[21]。针对特征分组结构,SGE充分利用了整个群体空间的整体信息,既加强了语义区域的特征学习,又压缩了噪声,但未能对空间注意和通道注意之间的相关性进行建模。为了强调同时考虑通道和空间注意特征的有意义的表征能力,SA将通道维度划分为多个组,并采用均匀分布的方法将这些组引入两个平行的分支。因此,这两个分支可以分别对空间和通道注意信息之间的相关性进行建模。然而,只考虑部分通道来挖掘通道之间的相互关系,并通过融合空间信息和通道信息来构建信息特征。

2.2 多流网络。

给人的感觉是,一层又一层的堆叠增加了网络的深度,用于学习越来越抽象的特征。作为一种细粒度的注意机制,PSA利用并行结构对高质量像素回归任务的长期依赖关系进行建模,并取得了显著的效果。尽管平行的子结构加强了图1。以ResNet50[17]为主干,比较不同注意方法的准确率,结果表明EMA在模型复杂度较低的情况下表现出最高的Top-1准确率。模型还在COCO基准上使用Yolov5(V6.0)[18]的标准主干进行了评估,这表明EMA是有效的。特征分组。 特征分组在之前的文献中已经被广泛研究。 为了缓解计算机计算预算的限制,AlexNet 表明分组卷积有利于将模型分布在更多 GPU 资源上的两组中 [19]。 随着特征分组数量的增加,ResNeXt已被证明子特征的激活会在空间上受到不同模式和噪声背景的影响[20]。 Res2Net 被假设为一种分层模式,用于传输分组的子特征,使 CNN 能够在多个尺度上表示特征 [21]。 SGE着眼于特征分组结构,利用整个组空间的整体信息来加强语义区域的特征学习并压缩噪声,但未能对空间注意力和通道注意力之间的相关性进行建模。 为了强调考虑通道和空间注意特征的有意义的表示能力,SA将通道维度分为多个组,并使用平均分布方法将这些组引入两个平行分支。 因此,两个分支可以分别对空间和通道注意力信息之间的相关性进行建模。 然而,仅考虑部分通道,以利用通道的相互关系并通过融合空间和通道信息来构建信息特征。 多流网络。 考虑到一层又一层的堆叠会增加网络的深度,以学习越来越抽象的特征。 作为一种细粒度的注意力机制,PSA利用并行结构对高质量逐像素回归任务的长程依赖性进行建模,并取得了显着的成果。 并行子结构虽然增强了视觉表示能力,但带来了许多额外的参数和计算,不太适合应用。 相应地,三元组注意力将跨通道和空间信息与旋转操作混合到三个并行分支中,以学习越来越抽象的特征。 然而,捕获的注意力权重是通过简单平均直接聚合的,这不利于提高深层特征的可区分性。

2.3多尺度卷积。

不同的内核大小可以使 CNN 在同一处理阶段收集多尺度空间信息。 为了丰富特征空间,Inception [22]提出了多分支结构,其中每个分支的局部感受野不固定。 因此,聚合方法使 CNN 能够聚合来自不同分支的多尺度信息。 选择性核网络[23]采用自适应选择策略,实现神经元的自适应感受野大小,以有效丰富特征表示。 此外,EPSANet [24]用已建立的多尺度金字塔结构取代了3x3卷积,以局部方式建模跨通道交互并独立学习多尺度空间信息。 与上述注意模块相比,我们提出的多尺度注意模块显示出更好的性能改进。 与上述注意力方法不同,其中学习的注意力权重通过简单的平均方法聚合,我们通过跨空间学习方法融合并行子网络的学习注意力图。 它使用矩阵点积运算,旨在捕获像素级成对关系并突出显示所有像素的全局上下文[25]、[26]。

…详情改进方法一定要研读原文、全文!

3 结论

在本文中,我们系统地研究了注意力机制的特性,从而找到了将它们结合到 CNN 中的原则性方法。 此外,我们对 CNN 如何通过使用通用方法来享受良好的泛化和计算预算提出了新的见解,该通用方法避免了通过通用卷积进行某种形式的降维。 由于灵活和轻量级的特点,我们提出的 EMA 可以很容易地应用于不同的计算机视觉任务中,以实现最佳性能。 我们相信我们的 EMA 更适用于语义分割等更广泛的应用,并且可以堆叠到其他深度 CNN 结构中,以显着增强特征表示能力。 我们将把它们留给未来的工作。

4 修改步骤!

4.1 修改YAML文件

详细的改进教程以及源码,戳这!戳这!!戳这!!!B站:AI学术叫叫兽 源码在相簿的链接中,动态中也有链接,感谢支持!祝科研遥遥领先!

4.2 新建.py

详细的改进教程以及源码,戳这!戳这!!戳这!!!B站:AI学术叫叫兽er 源码在相簿的链接中,动态中也有链接,感谢支持!祝科研遥遥领先!

4.3 修改tasks.py

详细的改进教程以及源码,戳这!戳这!!戳这!!!B站:AI学术叫叫兽er 源码在相簿的链接中,动态中也有链接,感谢支持!祝科研遥遥领先!

5、验证是否成功即可

执行命令

python train.py

改完收工!
关注B站:Ai学术叫叫兽er
从此走上科研快速路
遥遥领先同行!!!!

详细的改进教程以及源码,戳这!戳这!!戳这!!!B站:AI学术叫叫兽er 源码在相簿的链接中,动态中也有链接,感谢支持!祝科研遥遥领先!

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

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

相关文章

PCL SAC_IA配准高阶用法——统计每次迭代的配准误差并可视化

目录 一、概述二、代码实现三、可视化代码四、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、概述 在进行论文写作时,需要做对比实验,来分析改进算法的性能,期间用到了迭代误差分布统计的比较分析,为直…

Java web应用性能分析之服务端慢和优化概叙

前面已经分析了客户端慢、前端页面慢、入口Nginx慢,按照上图接下来就是我们服务端重点的接口慢分析优化、服务器资源性能瓶颈分析、服务器带宽性能瓶颈分析。 性能优化的目的 性能优化的目标是提高应用的性能,使其更加高效、稳定和可靠。性能优化包括服…

CSS 格式化上下文 + CSS兼容处理

个人主页:学习前端的小z 个人专栏:HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 ✍CSS 格式化上下文🔥1 格式化上下文🌷1.1 块级格式化…

Kubernetes Pod的配置管理 ConfigMap和Secret

目录 前言 一、为什么需要配置管理 二、使用ConfigMap管理Pod的配置信息 2.1 创建ConfigMap(4种方式) 2.1.1 指定ConfigMap的参数创建 2.1.2 指定配置文件创建ConfigMap 2.1.3 通过一个文件内的多个键值对创建ConfigMap 2.1.4 yaml文件创建Config…

环境多介质逸度模型实践技术与典型案例【代码】

随着污染物在各种环境中的迁移和转化,多介质污染物模型日益受到关注。在各类多介质模型中,基于逸度概念的逸度模型由于运用范围广,建模数据要求较低而广受欢迎。 专题一:基本理论 1.逸度的定义 2.逸度模型的基本原理 3.各介质…

Golang | Leetcode Golang题解之第36题有效的数独

题目: 题解: func isValidSudoku(board [][]byte) bool {var rows, columns [9][9]intvar subboxes [3][3][9]intfor i, row : range board {for j, c : range row {if c . {continue}index : c - 1rows[i][index]columns[j][index]subboxes[i/3][j/3]…

爆炸之linux-nacos2.0系列集群安装部署

一、环境配置 1、新建磁盘分区 fdisk /dev/vdb 2、创建文件系统 mkfs.xfs /dev/vdb13、创建挂载点: 在 / 目录下创建一个新的目录作为挂载点。/afc 目录 mkdir /afc4、挂载磁盘: 使用 mount 命令将磁盘挂载到新创建的目录。 mount /dev/vdb /afc5、…

用html写一个搜索页面

<!DOCTYPE html> <html lang"en" > <head><meta charset"UTF-8"><title>搜索框设计</title><link rel"stylesheet" href"./style.css"> </head> <body> <div class"se…

pytorch-手写数字识别之全连接层实现

目录 1. 背景2. nn.Linear线性层2. 实现MLP网络3. train4. 完整代码 1. 背景 上一篇https://blog.csdn.net/wyw0000/article/details/137622977?spm1001.2014.3001.5502中实现手撸代码的方式实现了手写数字识别&#xff0c;本文将使用pytorch的API实现。 2. nn.Linear线性层…

开发一个农场小游戏需要多少钱

开发一个农场小游戏的费用因多个因素而异&#xff0c;包括但不限于游戏的规模、复杂性、功能需求、设计复杂度、开发团队的规模和经验&#xff0c;以及项目的时间周期等。因此&#xff0c;无法给出确切的费用数字。 具体来说&#xff0c;游戏的复杂程度和包含的功能特性数量会直…

企业文档知识库建设,数据安全如何保障?

随着现代市场经济的高速发展&#xff0c;企业的竞争优势越来越多体现在人才和科技的优势。而随着员工流动率的提升&#xff0c;随之流失的则是员工积累多年的宝贵工作经验&#xff0c;如果缺乏有效的内部知识库的建设和管理&#xff0c;企业的竞争优势将难以维系。「企业网盘」…

Claude和chatgpt的区别

ChatGPT是OpenAI开发的人工智能的聊天机器人&#xff0c;它可以生成文章、代码并执行各种任务。是Open AI发布的第一款大语言模型&#xff0c;GPT4效果相比chatgpt大幅提升。尤其是最新版的模型&#xff0c;OpenAI几天前刚刚发布的GPT-4-Turbo-2024-04-09版本&#xff0c;大幅超…

架构设计-流程引擎的架构设计

1、什么是流程引擎 流程引擎是一个底层支撑平台&#xff0c;是为提供流程处理而开发设计的。流程引擎和流程应用&#xff0c;以及应用程序的关系如下图所示。 常见的支撑场景有&#xff1a;Workflow、BPM、流程编排等。本次分享&#xff0c;主要从 BPM 流程引擎切入&#xff0…

【前端】3. CSS【万字长文】

CSS 是什么 层叠样式表 (Cascading Style Sheets). CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果. 能够做到页面的样式和结构分离. CSS 就是 “东方四大邪术” 之化妆术. 基本语法规范 选择器 {一条/N条声明} 选择器决定针对谁修改 (找谁)声明决…

钉钉直播回放怎么下载到本地

钉钉直播回放如何下载到本地,本文就给大家解密如何下载到本地 工具我已经给大家打包好了 钉钉直播回放下载软件链接&#xff1a;https://pan.baidu.com/s/1_4NZLfENDxswI2ANsQVvpw?pwd1234 提取码&#xff1a;1234 --来自百度网盘超级会员V10的分享 1.首先解压好我给大家…

【Qt】Qt Hello World 程序

文章目录 1、Qt Hello World 程序1.1 使用按钮实现1.1.1 使用可视化方式实现 1.1.2 纯代码方式实现 label创建堆&#xff08;内存泄漏&#xff09;或者栈问题Qt基础类&#xff08;Qstring、Qvector、Qlist&#xff09;乱码问题零散知识 1、Qt Hello World 程序 1.1 使用按钮实…

Swin Transformer 浅析

Swin Transformer 浅析 文章目录 Swin Transformer 浅析引言Swin Transformer 的网络结构W-MSA 窗口多头注意力机制SW-MSA 滑动窗口多头注意力机制Patch Merging 图块合并 引言 因为ViT无法实现CNN中的层次化构建以及局部信息&#xff0c;由此微软团队提出了Swin Transformer来…

C语言(二维数组)

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸各位能阅读我的文章&#xff0c;诚请评论指点&#xff0c;关注收藏&#xff0c;欢迎欢迎~~ &#x1f4a5;个人主页&#xff1a;小羊在奋斗 &#x1f4a5;所属专栏&#xff1a;C语言 本系列文章为个人学习笔记&#x…

15.7 2011年42题真题讲解

2&#xff0c;4&#xff0c;6&#xff0c;8&#xff0c;11&#xff0c;13&#xff0c;15&#xff0c;17&#xff0c;19&#xff0c;20 可以推出题目的一个隐含条件&#xff1a;偶数个元素的中位数是靠前的那一个 应试技巧&#xff1a;如果实在想不出高效的算法&#xff0c;那…

基于springboot+vue+Mysql的房产销售平台

开发语言&#xff1a;Java框架&#xff1a;springcloudJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a…