Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >YoloV8改进策略:注意力改进|Neck层改进|SCSA,探索空间与通道注意力之间的协同效应|即插即用

YoloV8改进策略:注意力改进|Neck层改进|SCSA,探索空间与通道注意力之间的协同效应|即插即用

作者头像
AI浩
发布于 2025-01-02 06:36:31
发布于 2025-01-02 06:36:31
67000
代码可运行
举报
文章被收录于专栏:AI智韵AI智韵
运行总次数:0
代码可运行

摘要

论文介绍

  • 摘要内容:论文提出了一种新的空间与通道协同注意模块(SCSA),旨在通过结合空间注意力和通道注意力,提高各种下游视觉任务的性能。SCSA由可共享多语义空间注意力(SMSA)和渐进通道自注意力(PCSA)两部分组成,通过整合多语义信息并有效引导通道再校准,实现了性能的提升。

创新点

  • 多语义空间注意力:利用多尺度深度共享的1D卷积捕获多语义空间信息,增强了局部和全局特征表示。
  • 渐进通道自注意力:采用输入感知的自注意力来细化通道特征,有效缓解语义差异,确保跨通道的稳健特征整合。
  • 协同作用:通过空间注意力引导通道注意力学习,实现了空间与通道注意力的有效协同,提高了模型性能。

方法

  • SMSA模块:首先采用多尺度、深度共享的1D卷积从四个独立的子特征中提取不同语义级别的空间信息,并通过组归一化加速模型收敛。然后将SMSA调制后的特征图输入到PCSA中。
  • PCSA模块:结合了渐进式压缩和通道特定的单头自注意力机制,利用输入感知的单头自注意力机制有效地探索通道相似性,从而缓解SMSA中不同子特征之间的语义差异,并促进信息融合。

模块作用

  • 提高特征提取能力:SCSA模块通过整合多语义空间信息和通道注意力,提高了模型对特征的提取能力,使得模型能够从多个角度学习到更高质量的表征。
  • 增强泛化能力:在多个基准数据集上的实验结果表明,SCSA模块不仅超越了当前的即插即用型最先进注意力方法,而且在各种任务场景中展现出增强的泛化能力。

改进的效果

  • 应用于YoloV8:将SCSA模块加入到YoloV8的neck中,通过整合多语义信息和协同空间与通道注意力,提高了neck部分的特征提取能力。
  • 性能提升:在目标检测任务中,使用SCSA模块改进后的YoloV8模型在准确率、召回率等关键指标上均实现了显著提升。同时,由于SCSA模块的设计具有轻量级和高效性,因此改进后的模型在推理速度和内存占用方面也得到了优化。
  • 实际应用:改进后的YoloV8模型在复杂场景下的目标检测任务中表现出色,具有更高的鲁棒性和准确性,为实际应用提供了有力的支持。

论文翻译:《SCSA:探索空间与通道注意力之间的协同效应》

https://arxiv.org/pdf/2407.05128 通道注意力和空间注意力分别为各种下游视觉任务在提取特征依赖性和空间结构关系方面带来了显著改进。通道注意力和空间注意力的结合使用被广泛认为有利于进一步提升性能;然而,通道注意力和空间注意力之间的协同作用,尤其是在空间引导和缓解语义差异方面,尚未得到深入研究。这促使我们提出了一种新的空间与通道协同注意模块(SCSA),该模块涉及我们在多个语义层面上对空间注意力和通道注意力之间协同关系的研究。我们的SCSA由两部分组成:可共享多语义空间注意力(SMSA)和渐进通道自注意力(PCSA)。SMSA整合了多语义信息,并利用渐进压缩策略将判别性空间先验注入到PCSA的通道自注意力中,有效引导通道再校准。此外,PCSA中基于通道单头自注意力机制的稳健特征交互进一步缓解了SMSA中不同子特征之间多语义信息的差异。我们在七个基准数据集上进行了大量实验,包括在ImageNet-1K上的分类、在MSCOCO上的目标检测、在ADE20K上的分割以及四个其他复杂场景检测数据集。实验结果表明,我们提出的SCSA不仅超越了当前的即插即用型最先进注意力方法,而且在各种任务场景中展现出增强的泛化能力。代码和模型可在以下网址获取:https://github.com/HZAIZJNU/SCSA。

1 引言

注意力机制通过增强感兴趣区域的表示,有助于学习更具判别性的特征,并被广泛用于重新分配通道关系和空间依赖性。现有的即插即用型注意力方法主要可分为三类:通道注意力[23, 27, 62, 55, 31, 41]、空间注意力[22, 56, 42, 9]和混合通道-空间注意力[57, 40, 38, 14, 20, 65, 39, 61]。它们的侧重点不同:通道注意力通过自适应地为不同通道加权来增强关键对象特征的提取,而空间注意力则旨在增强关键空间信息。空间信息在像素级别表示语义特征对象。局部空间信息捕获低语义对象,如精细细节和纹理,而全局空间信息感知高语义对象,如整体形状。

在基于卷积神经网络(CNN)架构的模型中,深度卷积算子通常用于特征提取。这些算子生成的梯度可以在不同的特征通道之间流动和传播,从而促进卷积权重的更新并有效表示图像特征。然而,众多研究表明,仅依赖卷积分支进行特征提取会导致梯度流失真[54],从而导致关键信息丢失或相似特征冗余[4, 17, 66, 35]。为解决此问题,已提出了一些基于激发和抑制机制[23]的方法,这些方法将特征学习重点放在对不同任务最关键的特征上,从而增强了模型的表示能力。特别是,CBAM[57]通过串联通道和空间注意力分别聚合全局空间和通道信息,但压缩所有通道信息会导致所有空间结构之间共享信息。这削弱了空间上下文对不同特征图的适应性。为克服此问题,CPCA[24]引入了通道优先注意力机制和深度条纹卷积,独立提取每个特征的空间结构,显著提高了医学图像分割性能。此外,基于分组注意力和跨空间多尺度交互的EMA[39]模块有效融合了长短期依赖的空间信息,但忽略了组间特征交互。

在这里插入图片描述

尽管这些混合注意力机制增强了表征学习,但它们忽视了跨空间和通道维度的固有多语义信息,以及多语义特征的交互和差异缓解,这对于检测和分割等细粒度任务至关重要,从而限制了这些方法的即插即用能力。如图1所示,我们分析了图像的几个特征图,并观察到不同的空间区域由于不同通道的特征选择性而表现出固有的语义差异和相似性。

基于这一见解,我们提出了一个问题:是否可以利用不同特征通道之间固有的空间语义差异来指导重要特征的学习?此外,考虑到语义差异的存在,我们如何缓解这些多语义差异并促进多语义信息的更好融合?

与上述方法不同,我们从以下三个方面探索上述问题的解决方案:维度解耦、轻量级多语义指导和语义差异缓解,并提出了一种新颖的、即插即用的空间和通道协同注意力(SCSA)。我们的SCSA由可共享的多语义空间注意力(SMSA)和顺序连接的渐进式通道自注意力(PCSA)组成。本研究首先采用多尺度、深度共享的1D卷积从四个独立的子特征中提取不同语义级别的空间信息。我们在四个子特征上利用组归一化[58]来加速模型收敛,同时避免引入批次噪声和不同子特征之间语义信息的干扰。随后,我们将SMSA调制后的特征图输入到PCSA中,结合了渐进式压缩和通道特定的单头自注意力机制。我们的渐进式压缩策略旨在最小化计算复杂度,同时保留SMSA中的空间先验,提供了一个实用的折中方案。此外,我们的PCSA利用输入感知的单头自注意力机制有效地探索通道相似性,从而缓解SMSA中不同子特征之间的语义差异,并促进信息融合。我们在四个视觉任务和七个基准数据集上进行了广泛的实验,证明了我们的SCSA中应用的多语义协同的有效性。综上所述,我们的贡献如下:

  • 我们指出了现有即插即用注意力机制的两大关键限制:1)在空间和通道维度上,利用固有的多语义空间信息指导关键特征提取的能力不足;2)对特征图中多语义信息引起的语义差异和交互处理不当。
  • 我们提出了空间和通道协同注意力(SCSA),包括SMSA和PCSA模块。SMSA利用多尺度深度共享的1D卷积捕获多语义空间信息,增强了局部和全局特征表示。PCSA采用输入感知的自注意力来细化通道特征,有效缓解语义差异,确保跨通道的稳健特征整合。
  • 我们的方法在包括ImageNet-1K(分类)、MSCOCO(目标检测)和ADE20K(分割)在内的多个基准测试中优于其他最先进的即插即用注意力机制,并在低光照和小物体基准测试等各种复杂场景中表现出强大的泛化能力。

2 相关工作

2.1 多语义空间信息

多语义空间结构融入了丰富的类别和上下文信息。有效整合全局上下文和局部空间先验,能够使模型从多个角度学习到更高质量的表征。InceptionNets[49,25,50,48]开创了多分支方法,采用并行的不同尺寸的标准卷积来捕获不同的感受野,显著提升了特征提取能力。SKNet[27]将多尺度卷积融入通道注意力中,使用SENet[23]提出的挤压-激励机制来整合具有不同感受野的空间先验。得益于全局上下文建模能力,ViT[9]采用多头自注意力(MHSA)来捕捉不同语义子特征中不同空间位置的相关性,并辅以位置嵌入来补偿空间先验,在各种下游任务中取得了显著的成功。目前,许多研究基于多语义思想开发高效模型[66,35,4,53],以减少参数和计算量,从而提高推理效率。Mamba[16]引入了一个使用扫描机制和GPU并行性的可选状态空间模型,以线性时间复杂度建模全局上下文依赖。此外,VMamba[32]提出了一个跨扫描模块,将1D序列扫描扩展到2D图像扫描,有效地从四个方向捕获多语义全局上下文信息。

2.2 注意力分解

将注意力机制融入主流主干网络或特征融合网络,能够增强对细粒度特征的理解,并提高特征表征的准确性。然而,这不可避免地会导致内存使用量和计算时间的增加。CA[20]和ELA[61]分别在高度()和宽度()维度上进行单向空间压缩,在一个方向上保留空间结构,同时在另一个方向上聚合全局空间信息,从而减轻全局压缩带来的信息损失。SA[65]和EMA[39]将特征重塑为子特征,以减少注意力计算和参数。然而,它们在受GPU带宽限制的高维B(批量大小)和C(通道数)中使用的重塑操作会导致昂贵的数据传输,严重影响推理速度。CPCA[24]在独立通道中使用条纹卷积来减少大核卷积中的参数。近期研究还在MHSA中应用维度分解,其中RMT[12]分别在和维度上单独应用MHSA,以最小化计算成本。

在本研究中,我们基于注意力分解的概念,提出了一个整合多语义空间信息的轻量级引导模块。此外,我们还设计了一个基于渐进式通道单头自注意力机制的多语义差异缓解模块,旨在探索空间维度和通道维度之间更优化的协同关系。

3 方法

在本节中,我们首先讨论SMSA模块,该模块探索了轻量级多语义信息引导的好处。接下来,我们介绍PCSA模块,该模块利用渐进式压缩策略和通道自注意力来缓解语义差异。多语义引导和语义差异缓解的协同作用促使我们提出了SCSA模块。总体架构如图2所示。

3.1. 共享多语义空间注意力:空间与通道分解

神经网络架构中的分解技术显著减少了参数数量和计算开销。受Transformer[52]中1D序列结构的启发,在我们的工作中,我们沿着高度和宽度维度对给定输入进行分解。我们对每个维度应用全局平均池化,从而创建两个单向1D序列结构:和。为了学习不同的空间分布和上下文关系,我们将特征集划分为个大小相同、独立的子特征和,每个子特征的通道数为。在本文中,我们设置默认值。分解为子特征的过程如下:

表示第个子特征,其中。每个子特征是独立的,便于高效地提取多语义空间信息。

在这里插入图片描述

在不相交子特征上应用轻量级卷积策略。在将特征图划分为独立子特征后,我们的目标是在每个子特征内高效地捕获不同的语义空间结构。受减少特征冗余的广泛研究启发[35, 17, 4],这些研究揭示出冗余可能源于特征之间的强烈相互作用,我们也观察到特征之间存在不同的空间结构,如图1所示。基于这些见解,并旨在丰富语义信息、增强语义一致性和最小化语义差距,我们对四个子特征应用了核大小为3、5、7和9的深度一维卷积。此外,为了解决将特征分解为H和W维度并分别应用一维卷积导致的感受野受限问题,我们使用轻量级共享卷积进行对齐,通过在这两个维度上学习一致特征来隐式建模它们之间的依赖关系。关于它们的消融实验细节见表1。提取多语义空间信息的实现过程定义如下:

表示在轻量级卷积操作后获得的第个子特征的空间结构信息。表示应用于第个子特征的卷积核。

在分解独立子特征并捕获不同语义的空间信息后,我们需要构建空间注意力图。具体而言,我们将不同的语义子特征进行拼接,并使用具有组的组归一化(GN)[58]进行归一化。我们选择GN而不是常见的批量归一化(BN)[26],因为我们的研究发现GN在区分子特征之间的语义差异方面表现更优。GN可以对每个子特征进行独立归一化,而不会引入批次统计噪声,有效减轻子特征之间的语义干扰并防止注意力分散。这一设计通过表1中的消融实验得到了验证。最后,使用简单的Sigmoid激活函数生成空间注意力,该函数激活并抑制特定的空间区域。输出特征的计算如下:

表示Sigmoid归一化,而和分别表示沿H和W维度进行K组归一化的GN。

3.2 渐进式通道自注意力

计算通道注意力的常用方法是通过探索通道之间依赖关系的卷积操作[23,55]。使用卷积来建模特征之间的相似性有些不直观,并且难以有效测量不同通道之间的相似性。受ViT[9]在利用多头自注意力(MHSA)建模空间中不同标记之间相似性方面的显著优势启发,我们提出将单头自注意力(SHSA)与来自多语义空间注意力(SMSA)的调制空间先验相结合,以计算通道间相似性。此外,为了保留和利用SMSA提取的多语义空间信息,并降低SHSA的计算成本,我们采用基于平均池化的渐进压缩方法,该方法在我们的协同作用中起指导作用。与使用常见的卷积操作建模通道依赖性相比,渐进式通道自注意力(PCSA)表现出更强的输入感知能力,并有效利用SMSA提供的空间先验来加深学习。我们PCSA的实现细节如下:

表示核大小为的池化操作,将分辨率从缩放到。表示生成查询(Q)、键(K)和值(V)的线性投影。

值得注意的是,与ViT中的MHSA不同,其中且,在我们的PCSA的通道注意力单头自注意力(CA-SHSA)中,自注意力是沿通道维度计算的,其中。此外,为了与SMSA中分解的不同子特征充分交互,我们选择实现更简单的单头自注意力机制,而不是将多头自注意力与通道混洗相结合[66]。

3.3 协同效应

空间与通道注意力机制的协同旨在相互补充。在我们的工作中,我们提出了一种通过空间注意力引导通道注意力学习的新概念。受CBAM [57]和CPCA[24]之间联系的启发,我们采用类似的串行结构来整合我们的空间多语义注意力(SMSA)和位置敏感通道注意力(PSCA)模块,形成空间通道协同注意力(SCSA)。不同的是,首先应用空间注意力SMSA,然后是通道注意力PSCA。前者从每个特征中提取多语义空间信息,为后者提供精确的空间先验;后者通过利用整体特征图来细化局部子特征的语义理解,从而减轻前者中多尺度卷积引起的语义差异。此外,与以前的方法[23,57,40,20]不同,我们没有采用通道压缩,有效防止了关键特征的丢失。最终,我们构建的SCSA如下:

3.4 注意力机制的整合

在我们的工作中,我们将提出的SCSA整合到不同的主干网络中,以验证其在增强特征提取能力方面的有效性。如图3所示,SCSA被整合到四个主流模块中:(a)和(b)代表基于ResNet [19]及其变体系列[60]的模块;(c)代表基于MobileNet系列[46, 21, 37]的倒置残差结构;(d)代表重参数化方法代表RepVGG [8]的模块结构。

在这里插入图片描述

4 实验

4.1 实验设置

在本节中,我们首先介绍实验细节。接下来,我们在四个视觉任务上进行了实验,将我们提出的SCSA与其他最先进的注意力机制进行了比较。之后,在第4.5节中,我们从四个不同角度对我们精心设计的SCSA进行了全面的消融研究。

数据集。我们在四个视觉任务上验证了方法的有效性。对于图像分类,我们选择了广泛使用的ImageNet-1K [44]数据集。在目标检测中,我们使用了几个具有挑战性的检测数据集,包括MSCOCO [30]、Pascal VOC [11]、VisDrone [10]和ExDark [34]。对于语义分割和实例分割,我们选择了广泛使用的ADE20K [67]和MSCOCO [30]基准。

我们热衷于探索注意力机制是否能更有效地应用于各种复杂场景任务。虽然之前的研究[23,55,65,39,57,61]在广泛使用的基准(如ImageNet-1K [44]、MSCOCO [30])上表现出了良好的性能,但在密集、低光照和小目标场景中的有效性仍有待探索。因此,我们使用表4中的代表性基准进行了更多实验:小目标数据集VisDrone [10]、低光照数据集ExDark [34]、红外自动驾驶数据集FLIR-ADAS v2 [13]和通用数据集Pascal VOC [11]。

评估指标。我们使用Top-1和Top-5指标来衡量图像分类性能,使用平均精度(AP)来评估目标检测性能,并报告参数数量(Params)、每秒浮点运算次数(FLOPs)和吞吐量来衡量性能。对于语义分割,我们采用平均交并比(mIoU)。

实现细节。为了评估我们在ImageNet-1K [44]上提出的SCSA,我们选择了四个基于CNN和Transformer架构的主流主干网络,包括ResNet [19]、MobileNetV2 [46]、RepVGG [8]和Swin [33]。具体来说,我们遵循了原始论文[19, 46, 8, 33]中的参数配置,除了批量大小和学习率。由于所有分类模型都在单个NVIDIA RTX 4090 GPU上进行训练,我们根据线性缩放规则[15, 63]调整了批量大小和学习率。对于ResNet [19]、RepVGG [8]和Swin [33],批量大小统一设置为128,学习率分别缩放为0.05、0.05和0.000125。当使用我们的SCSA训练MobileNetV2时,我们使用ECANet [55]中的批量大小和学习率,分别设置为96和0.045。值得注意的是,为了提高训练效率,我们采用了自动混合精度(AMP)训练。

我们使用Faster R-CNN [43]、Mask R-CNN [18]、Cascade R-CNN [3]和RetinaNet [29]在MSCOCO [30]上评估了我们的SCSA。这些检测器使用MMDetection [5]工具箱实现,并采用默认设置。所有模型都使用SGD优化器进行训练,动量设置为0.9,权重衰减设置为,每个GPU的批量大小为2,总共训练12个周期。Faster R-CNN、Mask R-CNN和Cascade R-CNN的学习率从0.0025开始,而RetinaNet的学习率从0.00125开始。所有模型的学习率在第8个和第11个周期时减少10倍。我们使用单个NVIDIA H800 GPU在MSCOCO [30]上对模型进行了12个周期的微调,并在验证集上报告了比较结果。在上述配置的基础上,我们进一步评估了所提出的SCSA方法在Pascal VOC [11]以及VisDrone [10]、ExDark [34]和FLIR-ADAS V2 [13]等复杂场景中的检测性能和泛化能力。

我们还使用UperNet [59]在ADE20K [67]上验证了我们的方法在语义分割方面的有效性。遵循常见做法[6,64],我们使用MMSegmentation [7]工具箱,将批量大小设置为16,并进行80k次训练迭代。所有模型都使用SGD优化器进行训练,初始学习率设置为0.01,动量设置为0.9,权重衰减设置为。我们还使用单个NVIDIA H800 GPU进行训练和推理。

所有模型都使用默认的随机种子0进行训练。

4.2 图像分类

我们将所提出的空间通道自注意力(SCSA)机制与其他最先进的注意力机制进行了比较,包括SENet[23]、CBAM[57]、ECANet[55]、FcaNet(FCA)[41]、CA[20]、SANet[65]、EMA[39]、CPCA[24]和ELA[61]。如表2所示,我们的SCSA在不同规模的网络中实现了最高的Top-1准确率,同时参数数量和计算复杂度可忽略不计。在混合架构中,我们的方法基于ResNet的吞吐量仅次于CA和ELA,但在适中的模型宽度下,它在准确性、速度和模型复杂度之间提供了更好的平衡。将SCSA方法融入MobileNetV2架构显著提高了模型准确性。尽管SCSA在参数数量上更轻量( vs. ,-),但其多分支结构在倒置残差块内遇到了通道维度急剧增加的问题,从而导致吞吐量降低。值得注意的是,将所提出的SCSA方法融入RepVGG[8]和基于空间自注意力的Swin[33]等先进模型,仍然分别实现了和的显著准确性提升,有效证明了我们的注意力机制在不同模型架构中的适应性。

4.3 目标检测

MSCOCO上的结果。我们在MSCOCO上评估了各种注意力机制,以验证我们的方法在密集检测场景中的有效性。我们使用ResNet50和ResNet-101作为主干网络,FPN[28]作为特征融合网络。如表3所示,我们的方法在各种检测器、模型大小和对象尺度上均优于其他最先进的注意力方法。对于Faster R-CNN[43],与原始ResNet-50和ResNet101相比,我们的SCSA在AP方面分别提高了和。与其他即插即用的注意力模块(包括CBAM[57]、FCA[41]、ECA[55]和CA[20])相比,SCSA表现出更优的性能,在Cascade R-CNN[3]检测器上实现了到的增益。此外,它在不同尺度的目标检测中始终表现出色,证实了其对多尺度特征的强大适应性。

红外、低光照和小目标检测的结果。如表4所示,令人欣慰的是,与其他同类方法相比,所提出的SCSA在这些基准测试[34, 10,11,13]中的表现更佳,进一步证明了我们的策略在保持通道维度和多语义信息协同概念方面的鲁棒性。值得注意的是,我们的结果表明,在长尾数据集(如FLIR-ADASv2[13])上应用注意力机制仍存在一些局限性,这导致了极小的性能提升甚至下降。这可能是由于注意力机制的压缩和激励策略不适合处理不平衡分布的数据,导致关注高频类别而忽视低频类别的学习。

4.4 分割

我们还在ADE20K[67]上的语义分割和MSCOCO[30]上的实例分割中测试了其性能。我们基于UperNet[59]网络进行了广泛的比较实验。如表5和表6所示,我们的SCSA显著优于其他注意力方法。具体而言,在ResNet-50和ResNet101上,SCSA在mIoU方面分别提高了和,而其他方法仅实现了到的提升,甚至有些方法的性能还低于基线模型。同时,在实例分割任务中,SCSA在AP方面实现了到的提升,超越了其他同类方法。这些结果表明,我们的方法基于多语义空间信息,在像素级任务中表现出色。

4.5 消融研究

如表1所示,我们将SCSA应用于ResNet-50,在ImageNet-1K数据集[44]上构建了SCSA-50作为基线,以从四个方面进行消融研究。

宏观设计。我们分别验证了SMSA和PCSA模块,与ResNet-50相比,两者在准确性方面均显示出显著提升。在SMSA中,受多语义信息指导,Top-1准确率显著提高了,而PCSA通过减轻多语义差异并促进通道交互,将准确率提高了。如果PCSA中没有进行渐进式压缩,准确率会下降,这主要是因为在进行直接的全局空间压缩后,PCSA无法利用SMSA提供的判别性空间先验来进行计算。

顺序。我们的研究主要旨在探索跨空间和通道维度的固有多语义空间信息是否能有效指导通道特征的学习。为了进一步证明这种“指导”的好处,我们交换了PCSA和SMSA的顺序。有趣的是,Top-1准确率下降了,这进一步验证了我们之前的假设,即空间注意力可以指导通道特征的学习,从而证实了使用多语义信息进行指导的有效性。

尽管归一化有助于减少数据噪声并加速模型收敛[45],但SMSA中归一化的位置可能会产生不同的效果。基于MHSA[52, 9]的主干网络通常在注意力计算之前使用层归一化(LN)[1],而一些即插即用的注意力模块要么省略归一化层[55,24],要么提前应用它们[65,39]。为了探索归一化在SMSA中的必要性和最佳位置,我们通过在注意力之前添加归一化和移除归一化来进行实验。表1中的结果表明,归一化对于注意力机制至关重要,尽管其具体位置影响较小。预归一化有助于处理输入特征之间的变化并提高训练稳定性,但可能会导致特征细节丢失,降低注意力对细粒度信息的敏感性。相反,在注意力计算后应用归一化可以减轻噪声,但也可能削弱模型对重要特征的关注。最终,基于准确性结果,我们选择在SMSA的注意力计算后放置归一化。

微观设计。在上述实验分析确认归一化层在注意力计算中的重要性后,我们考虑组归一化是否更适合从所提议的SCSA中的多个子特征中提取多语义信息。为了研究这一点,我们进行了消融研究,比较了深度神经网络(DNNs)中流行的归一化方法,如BN[26]和LN[1]。结果表明,当GN依次被BN和LN替换时,准确性和推理速度均下降,Top-1准确率分别降至和。这些下降归因于GN在保留子特征间语义模式独立性方面的卓越能力,从而最小化了语义干扰。相反,BN对批量大小的敏感性在处理多语义信息时可能会引入统计噪声[2]。LN通过沿通道维度进行归一化并捕获所有特征的信息,可能会破坏SMSA的多尺度卷积从单个子特征中提取的独特语义模式。这些消融研究表明,GN在涉及多个语义的卷积层中可能是更合适的选择。此外,使用非共享卷积导致的准确性下降和参数增加进一步验证了使用共享卷积在H和W维度上一致学习和建模特征依赖性的有效性。

此外,当用多头和通道混洗操作[66]替换PCSA中的单个注意力头时,性能从下降到。这种现象主要归因于单个头部促进的强通道间交互,这有效缓解了SMSA中产生的语义差异。为了验证沿高度和宽度维度分解的1D序列上的共享卷积学习,我们将其与非共享卷积学习进行了比较。结果表明,准确性下降了,吞吐量降低,并且由于更多的卷积运算,参数和浮点运算数(FLOPs)增加。这证实了跨维度的共享学习能够捕获互补特征,从而增强模型的表达能力。

分支。SMSA中语义特征捕获的丰富性取决于每个分支中使用的分支数量和卷积核大小。每个分支都设计为学习不同的子特征。减少分支数量会削弱模块提取固有多语义特征的能力。为了评估捕获不同语义特征对模型性能的影响,我们使用了不同数量的分支和卷积核大小进行了实验。如表1的“分支”部分所示,双分支结构的准确性超过了单分支结构,而四分支结构又进一步优于双分支结构。这一结果支持了我们在捕获子特征间不同语义模式方面,多分支、多尺度结构的有效性,从而增强了模型的表征能力。随着分支数量的增加,模型的内存访问开销也随之增加,导致推理速度下降。

5 可视化与分析

5.1 注意力可视化

我们通过确保对关键区域给予适当关注来评估我们的方法在缓解语义差异和提高一致性方面的有效性。如图4所示,与其他最先进的注意力机制相比,我们的SCSA(语义通道和空间注意力)明显关注多个关键区域,在显著减少关键信息丢失的同时提供了丰富的特征信息。我们还可视化了SCSA的组成部分,包括SMSA(语义多尺度注意力)和PCSA(位置交叉语义注意力)模块。在没有PCSA模块来处理语义差异的情况下,激活强度的分布仍然不够平衡。如果没有SMSA模块来引导多语义空间,对重要区域的关注可能会受到限制。

5.2 有效感受野可视化

如图5所示,利用多语义建模的空间结构,我们的SCSA实现了更广泛的感知区域。更大的有效感受野(ERF)有助于网络利用丰富的上下文信息进行集体决策,这是性能提升的重要因素之一。为了验证我们的方法性能受益于更大的ERF,我们从ImageNet-1K验证集[44]中随机抽取了300张不同类别的图像,测量原始图像中每个像素对模型第三阶段和第四阶段输出特征图中心点的贡献,并通过加权和归一化的梯度值量化ERF的范围。可视化结果表明,随着网络层的加深,我们的SCSA的ERF变得越来越明显,这证实了我们的假设和方法的有效性。

5.3 计算复杂度

给定输入 ,池化大小为 ,深度卷积核大小为 ,我们依次考虑维度解耦、深度共享的1D卷积、归一化、渐进压缩和通道自注意力对SCSA模块的影响。为了简化观察,我们忽略系数。SCSA的计算复杂度为:

其中, 和 分别表示渐进压缩操作产生的中间特征图的高度和宽度。

我们观察到,当模型宽度(即通道数 )适中时, 与输入序列的长度呈线性关系。这表明当模型宽度适中时,我们的SCSA可以以线性复杂度进行推理。

5.4 推理吞吐量评估

如表1和表2所示,我们在消融实验中评估了SCSA各个组件的吞吐量,并比较了使用不同注意力机制的各种基准模型的吞吐量。我们使用GeForce RTX 4090 GPU在224×224的分辨率下进行了实验,批量大小为32,以模拟实际应用并最大化GPU利用率。为了最小化变异性,我们对每种注意力机制重复了100次实验,并报告了平均推理时间。具体而言,如表2所示,尽管SCSA略慢于纯通道注意力,但它优于大多数混合注意力机制,包括CBAM、SANet、EMA和CPCA,并实现了最高的准确性。

5.5 目标检测定性结果

如图6所示,我们的方法在具有挑战性的场景中表现出优越的性能,包括遮挡、密集环境、小物体群集和低光照条件。

在这里插入图片描述

5.6 实例分割定性结果

如图7所示,我们的方法对遮挡和重叠的对象进行了更全面和准确的分割,获得了更高的置信度分数。这些结果突出了我们的方法在利用多语义信息以更好地感知相关对象的上下文空间方面的优势。

5.7 语义分割定性结果

从图8可以看出,我们的方法显著改善了重叠和语义相邻对象的分割,有效区分了如坐在椅子上的观众和浴缸附近的厕所等场景。

在这里插入图片描述

6 局限性

我们证明了所提出的即插即用协同注意力方法——空间通道协同注意力(SCSA)在图像分类、目标检测以及实例和语义分割方面表现出色。尽管我们致力于探索不同维度之间的协同作用,并已通过实证验证了利用多语义空间信息来指导通道重新校准并增强特征交互以缓解语义差异的有效性,但在现实世界的部署中,推理延迟仍然是一个重大挑战。我们的方法在适当的模型宽度下实现了模型参数、准确性和推理速度的最佳平衡。然而,在更大的宽度下,推理速度的主要瓶颈在于构建多语义空间结构时使用了深度卷积和分支,这些操作具有较低的浮点运算数(FLOPS),频繁访问内存,且计算密度较低[4,51,36]。我们认为,应根据具体任务和场景优化这些即插即用注意力模块的定位和数量,以确保达到峰值性能。未来,我们将研究更轻量、更快的即插即用注意力机制,探索不同维度之间的协同关系。

7 结论

在本研究中,我们分析了大多数即插即用注意力方法在利用特征和空间及通道维度中固有的多语义信息方面存在的局限性,以及语义差异带来的挑战。为解决这些问题,我们提出了一种新颖的即插即用空间通道协同注意力(SCSA)机制,该机制融合了维度解耦、轻量级多语义指导和语义差异缓解。SCSA利用多语义空间注意力来指导不同通道特征的学习,随后在通道维度上应用单头自注意力来缓解语义差异并促进语义交互。大量实验表明,SCSA在广泛使用的基准测试中始终优于最先进的注意力机制,表现出增强的性能和稳健的泛化能力。我们希望我们的工作能够鼓励进一步探索不同领域中多个维度之间的协同特性。

代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import typing as t

import torch
import torch.nn as nn
from einops import rearrange
__all__ = ['SCSA']


class SCSA(nn.Module):

    def __init__(
            self,
            dim: int,
            head_num: int,
            window_size: int = 7,
            group_kernel_sizes: t.List[int] = [3, 5, 7, 9],
            qkv_bias: bool = False,
            fuse_bn: bool = False,
            down_sample_mode: str = 'avg_pool',
            attn_drop_ratio: float = 0.,
            gate_layer: str = 'sigmoid',
    ):
        super(SCSA, self).__init__()
        self.dim = dim
        self.head_num = head_num
        self.head_dim = dim // head_num
        self.scaler = self.head_dim ** -0.5
        self.group_kernel_sizes = group_kernel_sizes
        self.window_size = window_size
        self.qkv_bias = qkv_bias
        self.fuse_bn = fuse_bn
        self.down_sample_mode = down_sample_mode
        assert self.dim // 4, 'The dimension of input feature should be divisible by 4.'
        self.group_chans = group_chans = self.dim // 4
        self.local_dwc = nn.Conv1d(group_chans, group_chans, kernel_size=group_kernel_sizes[0],
                                   padding=group_kernel_sizes[0] // 2, groups=group_chans)
        self.global_dwc_s = nn.Conv1d(group_chans, group_chans, kernel_size=group_kernel_sizes[1],
                                      padding=group_kernel_sizes[1] // 2, groups=group_chans)
        self.global_dwc_m = nn.Conv1d(group_chans, group_chans, kernel_size=group_kernel_sizes[2],
                                      padding=group_kernel_sizes[2] // 2, groups=group_chans)
        self.global_dwc_l = nn.Conv1d(group_chans, group_chans, kernel_size=group_kernel_sizes[3],
                                      padding=group_kernel_sizes[3] // 2, groups=group_chans)
        self.sa_gate = nn.Softmax(dim=2) if gate_layer == 'softmax' else nn.Sigmoid()
        self.norm_h = nn.GroupNorm(4, dim)
        self.norm_w = nn.GroupNorm(4, dim)
        self.conv_d = nn.Identity()
        self.norm = nn.GroupNorm(1, dim)
        self.q = nn.Conv2d(in_channels=dim, out_channels=dim, kernel_size=1, bias=qkv_bias, groups=dim)
        self.k = nn.Conv2d(in_channels=dim, out_channels=dim, kernel_size=1, bias=qkv_bias, groups=dim)
        self.v = nn.Conv2d(in_channels=dim, out_channels=dim, kernel_size=1, bias=qkv_bias, groups=dim)
        self.attn_drop = nn.Dropout(attn_drop_ratio)
        self.ca_gate = nn.Softmax(dim=1) if gate_layer == 'softmax' else nn.Sigmoid()

        if window_size == -1:
            self.down_func = nn.AdaptiveAvgPool2d((1, 1))
        else:
            if down_sample_mode == 'recombination':
                self.down_func = self.space_to_chans
                # dimensionality reduction
                self.conv_d = nn.Conv2d(in_channels=dim * window_size ** 2, out_channels=dim, kernel_size=1, bias=False)
            elif down_sample_mode == 'avg_pool':
                self.down_func = nn.AvgPool2d(kernel_size=(window_size, window_size), stride=window_size)
            elif down_sample_mode == 'max_pool':
                self.down_func = nn.MaxPool2d(kernel_size=(window_size, window_size), stride=window_size)

    def forward(self, x: torch.Tensor) -> torch.Tensor:
        """
        The dim of x is (B, C, H, W)
        """
        # Spatial attention priority calculation
        b, c, h_, w_ = x.size()
        # (B, C, H)
        x_h = x.mean(dim=3)
        l_x_h, g_x_h_s, g_x_h_m, g_x_h_l = torch.split(x_h, self.group_chans, dim=1)
        # (B, C, W)
        x_w = x.mean(dim=2)
        l_x_w, g_x_w_s, g_x_w_m, g_x_w_l = torch.split(x_w, self.group_chans, dim=1)

        x_h_attn = self.sa_gate(self.norm_h(torch.cat((
            self.local_dwc(l_x_h),
            self.global_dwc_s(g_x_h_s),
            self.global_dwc_m(g_x_h_m),
            self.global_dwc_l(g_x_h_l),
        ), dim=1)))
        x_h_attn = x_h_attn.view(b, c, h_, 1)

        x_w_attn = self.sa_gate(self.norm_w(torch.cat((
            self.local_dwc(l_x_w),
            self.global_dwc_s(g_x_w_s),
            self.global_dwc_m(g_x_w_m),
            self.global_dwc_l(g_x_w_l)
        ), dim=1)))
        x_w_attn = x_w_attn.view(b, c, 1, w_)

        x = x * x_h_attn * x_w_attn

        # Channel attention based on self attention
        # reduce calculations
        y = self.down_func(x)
        y = self.conv_d(y)
        _, _, h_, w_ = y.size()

        # normalization first, then reshape -> (B, H, W, C) -> (B, C, H * W) and generate q, k and v
        y = self.norm(y)
        q = self.q(y)
        k = self.k(y)
        v = self.v(y)
        # (B, C, H, W) -> (B, head_num, head_dim, N)
        q = rearrange(q, 'b (head_num head_dim) h w -> b head_num head_dim (h w)', head_num=int(self.head_num),
                      head_dim=int(self.head_dim))
        k = rearrange(k, 'b (head_num head_dim) h w -> b head_num head_dim (h w)', head_num=int(self.head_num),
                      head_dim=int(self.head_dim))
        v = rearrange(v, 'b (head_num head_dim) h w -> b head_num head_dim (h w)', head_num=int(self.head_num),
                      head_dim=int(self.head_dim))
        # (B, head_num, head_dim, head_dim)
        attn = q @ k.transpose(-2, -1) * self.scaler
        attn = self.attn_drop(attn.softmax(dim=-1))
        # (B, head_num, head_dim, N)
        attn = attn @ v
        # (B, C, H_, W_)
        attn = rearrange(attn, 'b head_num head_dim (h w) -> b (head_num head_dim) h w', h=int(h_), w=int(w_))
        # (B, C, 1, 1)
        attn = attn.mean((2, 3), keepdim=True)
        attn = self.ca_gate(attn)
        return attn * x

if __name__ == "__main__":
    scsa = SCSA(dim=32, head_num=8, window_size=7)
    input_tensor = torch.rand(1, 32, 256, 256)
    print(f"输入张量的形状: {input_tensor.shape}")
    output_tensor = scsa(input_tensor)
    print(f"输出张量的形状: {output_tensor.shape}")

结构图

改进方法

https://jingjing.blog.csdn.net/article/details/144810066?spm=1001.2014.3001.5502

测试结果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
YOLOv8l summary: 799 layers, 43,746,992 parameters, 0 gradients, 165.0 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|??????????| 58/58 [00:05<00:00, 11.04it/s]
                   all        230       1412      0.968       0.98      0.991      0.745
                   c17         40        131       0.99      0.992      0.995      0.832
                    c5         19         68      0.943      0.982      0.994      0.833
            helicopter         13         43      0.952      0.977      0.986      0.608
                  c130         20         85          1      0.992      0.995      0.663
                   f16         11         57      0.924       0.93      0.967      0.653
                    b2          2          2      0.922          1      0.995      0.697
                 other         13         86      0.988      0.926      0.974      0.544
                   b52         21         70      0.981      0.971      0.986      0.842
                  kc10         12         62          1      0.979       0.99      0.843
               command         12         40      0.994          1      0.995      0.834
                   f15         21        123      0.988          1      0.995       0.66
                 kc135         24         91      0.986      0.989      0.991      0.696
                   a10          4         27          1      0.825      0.981      0.485
                    b1          5         20          1      0.977      0.995      0.736
                   aew          4         25      0.953          1      0.995      0.806
                   f22          3         17      0.966          1      0.995      0.757
                    p3          6        105      0.999          1      0.995      0.799
                    p8          1          1      0.866          1      0.995      0.697
                   f35          5         32          1      0.966      0.995      0.606
                   f18         13        125      0.992      0.965      0.991      0.832
                   v22          5         41          1      0.998      0.995      0.719
                 su-27          5         31      0.981          1      0.995      0.857
                 il-38         10         27      0.989          1      0.995      0.855
                tu-134          1          1      0.835          1      0.995      0.895
                 su-33          1          2          1          1      0.995      0.697
                 an-70          1          2      0.895          1      0.995      0.826
                 tu-22          8         98      0.998          1      0.995      0.852
Speed: 0.1ms preprocess, 19.5ms inference, 0.0ms loss, 0.6ms postprocess per image
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-01-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI智韵 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
YoloV8改进策略:注意力改进|VOLO,视觉识别中的视觉展望器|即插即用|附代码+改进方法
本文参考的是《VOLO:视觉识别中的视觉展望器》一文,该论文主要讨论了视觉识别领域中卷积神经网络(CNNs)与视觉转换器(ViTs)的性能对比,并提出了一个新的模型架构——Vision Outlooker(VOLO)。VOLO通过引入一种新颖的前景注意力机制(Outlook Attention),在ImageNet分类任务上实现了卓越的性能,且能够很好地迁移到下游任务,如语义分割。
AI浩
2024/11/13
1.4K0
YoloV8改进策略:注意力改进|VOLO,视觉识别中的视觉展望器|即插即用|附代码+改进方法
YoloV8改进策略:注意力改进|引入DeBiLevelRoutingAttention注意力模块(全网首发)
在计算机视觉领域,目标检测任务的性能提升一直是研究热点。我们基于对YoloV8模型的深入理解,创新性地引入了DeBiLevelRoutingAttention(简称DBRA)注意力模块,旨在进一步增强模型的特征提取能力和目标检测精度。
AI浩
2024/10/22
8650
YoloV8改进策略:注意力改进|引入DeBiLevelRoutingAttention注意力模块(全网首发)
Yolo11改进策略:Neck层改进|EFC,北理提出的适用小目标的特征融合模块|即插即用
论文题目:A Lightweight Fusion Strategy With Enhanced Interlayer Feature Correlation for Small Object Detection
AI浩
2025/01/20
8840
Yolo11改进策略:Neck层改进|EFC,北理提出的适用小目标的特征融合模块|即插即用
YOLO11改进 | 北理工团队在小目标检测领域新创新!NECK层改进,即插即用特征融合模块!
近年来,无人机物体检测在遥感、交通监控、搜索行动和安全等应用领域获得了巨大的发展势头。这些应用的成功实施依赖于快速有效地识别无人机捕获图像中的物体。无人机物体检测面临着独特的挑战,由于分辨率低和背景混杂,导致特征信息有限,因此在无人机图像中小物体检测更容易受到噪声影响,导致有效信息有限。
CoovallyAIHub
2025/02/07
7680
YOLO11改进 | 北理工团队在小目标检测领域新创新!NECK层改进,即插即用特征融合模块!
YOLOv8改进:全网原创首发 | 多尺度空洞注意力(MSDA) | 中科院一区顶刊 DilateFormer 2023.9
本文全网首发独家改进:多尺度空洞注意力(MSDA)采用多头的设计,在不同的头部使用不同的空洞率执行滑动窗口膨胀注意力(SWDA),全网独家首发,创新力度十足,适合科研
AI小怪兽
2023/10/20
2.3K0
YOLOv8优化策略:全新的聚焦线性注意力模块(Focused Linear Attention)| ICCV2023 FLatten Transforme
本文独家改进:全新的聚焦线性注意力模块(Focused Linear Attention),既高效又具有很强的模型表达能力,解决视觉Transformer计算量过大的问题,最终引入到YOLOv8,做到二次创新;
AI小怪兽
2023/11/10
8780
YoloV8改进策略:Block改进|注意力改进|FCA,自适应细粒度通道注意|即插即用
论文标题:Unsupervised Bidirectional Contrastive Reconstruction and Adaptive Fine-Grained Channel Attention Networks for image dehazing
AI浩
2025/01/22
2020
YoloV8改进策略:Block改进|注意力改进|FCA,自适应细粒度通道注意|即插即用
YoloV8改进策略:Block改进|细节增强注意力模块(DEAB)|即插即用
DEA-Net通过提出细节增强注意力模块(DEAB),在单幅图像去雾任务中取得了显著成果。将该模块应用于YoloV8中,通过替换Bottleneck模块,进一步提升了目标检测任务的准确性和鲁棒性,同时保持了较高的计算效率。这一改进为深度学习在图像处理和计算机视觉领域的应用提供了新的思路和方法。
AI浩
2024/12/19
5490
YoloV8改进策略:Block改进|细节增强注意力模块(DEAB)|即插即用
YoloV8改进:Neck层改进|使用ContextAggregation模块改善Neck的输出特征|即插即用
在本文中,我们创新性地将ContextAggregation模块引入到了YoloV8模型中,特别是在其Neck部分的三个输出特征中融入了该模块,从而实现了显著的性能提升。ContextAggregation模块的核心优势在于其强大的多尺度上下文聚合能力。通过该模块,YoloV8能够更有效地捕捉和利用图像中的全局视觉信息,特别是针对遥感图像中普遍存在的尺度变化严重、对比度低和分布密集等挑战,这一能力显得尤为重要。模块在特征域、空间域和实例域中分别进行上下文信息的聚合,从而极大地增强了目标特征的区分性,提高了目标检测和实例分割的准确性。
AI浩
2024/10/22
2700
YoloV8改进:Neck层改进|使用ContextAggregation模块改善Neck的输出特征|即插即用
YOLOv8独家首发改进:聚合全局、局部信息模块D-Mixer和全新重叠空间降维注意力 | TransXNet ,CNN 与 ViT 的完美结合,2023.11
💡💡💡本文独家改进:改进1)重叠空间降维注意力(OSRA),2)混合网络模块(D-Mixer),聚合全局信息和局部细节,分别引入到YOLOv8,做到二次创新;
AI小怪兽
2023/11/28
9900
YoloV8改进策略:三元注意力,小参数大能力,即插即用,涨点自如
注意力机制在计算机视觉领域得到了广泛的研究和应用,利用构建通道或空间位置之间的依赖关系的能力,有效地应用于各种计算机视觉任务。本文研究了轻量级但有效的注意力机制,并提出了一种新的计算注意力权重的方法——三元组注意力,通过一个三分支结构捕捉跨维度交互。对于输入张量,三元组注意力通过旋转操作和残差变换建立跨维度的依赖关系,并以极小的计算开销编码了跨通道和空间信息。这种方法既简单又高效,可以轻松地插入经典的主干网络中作为附加模块。在各种具有挑战性的任务中,如ImageNet-1k图像分类和MSCOCO和PASCAL VOC数据集上的目标检测,证明了该方法的有效性。此外,通过可视化检查GradCAM和GradCAM++结果,提供了对三元组注意力性能的深入见解。本文方法的实证评估支持了在计算注意力权重时捕捉跨维度依赖关系的重要性的直觉。相关代码可以在https://github.com/LandskapeAI/triplet-attention上公开访问。
AI浩
2024/10/22
1970
YoloV8改进策略:三元注意力,小参数大能力,即插即用,涨点自如
YOLOv8改进:Dual-ViT:一种多尺度双视觉Transformer ,Dualattention助力检测| 顶刊TPAMI 2023
💡💡💡本文独家改进:DualViT:一种新的多尺度视觉Transformer主干,它在两种交互路径中对自注意力学习进行建模,即学习更精细像素级细节的像素路径和提取整体全局语义信息的语义路径,性能表现出色,Dualattention引入到YOLOv8实现创新涨点!!!
AI小怪兽
2023/10/08
1.6K0
YoloV8改进策略:Block改进|RFE模块|即插即用
本文介绍了一种基于YOLOv5的人脸检测方法,命名为YOLO-FaceV2。该方法旨在解决人脸检测中的尺度变化、简单与困难样本不平衡以及人脸遮挡等问题。通过引入一系列创新模块和损失函数,YOLO-FaceV2在WiderFace数据集上取得了优异的表现,特别是在小物体、遮挡和困难样本的检测上。
AI浩
2024/10/31
5210
YoloV8改进策略:Block改进|RFE模块|即插即用
NeurIPS 2021 | Twins:重新思考高效的视觉注意力模型设计
总第498篇 2022年 第015篇 Twins 是美团和阿德莱德大学合作提出的视觉注意力模型,相关论文已被 NeurIPS 2021 会议接收。本文主要讲述 Twins 解决的难点、设计和实现思路,以及在美团场景的探索落地,希望能对从事视觉算法研发的同学有所帮助和启发。 导读 背景 视觉注意力模型设计的难点 Twins 模型设计 Twins-PCPVT Twins-SVT 实验 ImageNet-1k 分类 ADE20K 分割 COCO 目标检测(Retina 框架) COCO 目标检测(Mask-RC
美团技术团队
2022/03/25
8390
图像恢复SwinIR: Image Restoration Using Swin Transformer
在图像超分辨率、图像去噪、压缩等图像修复(Image restoration)任务中,卷积神经网络目前仍然是主流。但是卷积神经网络有以下两个缺点:
JOYCE_Leo16
2024/03/19
1.4K0
图像恢复SwinIR: Image Restoration Using Swin Transformer
MoA-Transformer | Swin-Transformer应该如何更好地引入全局信息?
基于Transformer的体系结构在自然语言处理(NLP)领域取得了巨大的成功。受Transformer在语言领域的巨大成功的启发,Vision Transformer被提出,并在ImageNet数据集上取得了优秀的性能。Vision Transformer就像NLP中的word token一样,将图像分割成patches并输入Transformer之中,并通过Transformer的几个multi-head self-attention层来建立远程依赖关系。
集智书童公众号
2022/02/11
9800
MoA-Transformer | Swin-Transformer应该如何更好地引入全局信息?
YoloV8改进策略:卷积篇|CGAFusion,增强模型对特征的提取能力|附代码|即插即用
量化是提升卷积神经网络(CNNs)速度并降低其内存使用量的常用方法。当存在已标记的训练数据时,网络权重和激活已成功量化到l位。然而,对于没有已标记训练数据的场景(例如,在量化预训练模型时),则不能这样说。目前的方法显示,在8位量化时,最佳情况下不会损失精度。
AI浩
2024/12/24
5050
YoloV8改进策略:卷积篇|CGAFusion,增强模型对特征的提取能力|附代码|即插即用
【YOLOv8】YOLOv8改进系列(8)----替换主干网络之Swin Transformer
论文介绍了一种新的视觉Transformer模型——Swin Transformer,它旨在成为计算机视觉领域的通用骨干网络。Swin Transformer通过其独特的层次化结构和移位窗口(Shifted Windows)机制,解决了传统Transformer在视觉任务中的计算复杂度问题,并在图像分类、目标检测和语义分割等多个任务中取得了优异的性能。
HABuo
2025/03/19
3100
【YOLOv8】YOLOv8改进系列(8)----替换主干网络之Swin Transformer
YOLOv8改进:全网原创首发 | 新颖的多尺度卷积注意力(MSCA),即插即用,助力小目标检测 | NeurIPS2022
💡💡💡本文全网首发独家改进:多尺度卷积注意力(MSCA),有效地提取上下文信息,新颖度高,创新十足。
AI小怪兽
2023/10/29
2.6K0
YOLOv12优化:注意力魔改 | 新颖的多尺度卷积注意力(MSCA),即插即用,助力小目标检测
💡💡💡本文改进:多尺度卷积注意力(MSCA),有效地提取上下文信息,新颖度高,创新十足。
AI小怪兽
2025/03/10
9110
推荐阅读
YoloV8改进策略:注意力改进|VOLO,视觉识别中的视觉展望器|即插即用|附代码+改进方法
1.4K0
YoloV8改进策略:注意力改进|引入DeBiLevelRoutingAttention注意力模块(全网首发)
8650
Yolo11改进策略:Neck层改进|EFC,北理提出的适用小目标的特征融合模块|即插即用
8840
YOLO11改进 | 北理工团队在小目标检测领域新创新!NECK层改进,即插即用特征融合模块!
7680
YOLOv8改进:全网原创首发 | 多尺度空洞注意力(MSDA) | 中科院一区顶刊 DilateFormer 2023.9
2.3K0
YOLOv8优化策略:全新的聚焦线性注意力模块(Focused Linear Attention)| ICCV2023 FLatten Transforme
8780
YoloV8改进策略:Block改进|注意力改进|FCA,自适应细粒度通道注意|即插即用
2020
YoloV8改进策略:Block改进|细节增强注意力模块(DEAB)|即插即用
5490
YoloV8改进:Neck层改进|使用ContextAggregation模块改善Neck的输出特征|即插即用
2700
YOLOv8独家首发改进:聚合全局、局部信息模块D-Mixer和全新重叠空间降维注意力 | TransXNet ,CNN 与 ViT 的完美结合,2023.11
9900
YoloV8改进策略:三元注意力,小参数大能力,即插即用,涨点自如
1970
YOLOv8改进:Dual-ViT:一种多尺度双视觉Transformer ,Dualattention助力检测| 顶刊TPAMI 2023
1.6K0
YoloV8改进策略:Block改进|RFE模块|即插即用
5210
NeurIPS 2021 | Twins:重新思考高效的视觉注意力模型设计
8390
图像恢复SwinIR: Image Restoration Using Swin Transformer
1.4K0
MoA-Transformer | Swin-Transformer应该如何更好地引入全局信息?
9800
YoloV8改进策略:卷积篇|CGAFusion,增强模型对特征的提取能力|附代码|即插即用
5050
【YOLOv8】YOLOv8改进系列(8)----替换主干网络之Swin Transformer
3100
YOLOv8改进:全网原创首发 | 新颖的多尺度卷积注意力(MSCA),即插即用,助力小目标检测 | NeurIPS2022
2.6K0
YOLOv12优化:注意力魔改 | 新颖的多尺度卷积注意力(MSCA),即插即用,助力小目标检测
9110
相关推荐
YoloV8改进策略:注意力改进|VOLO,视觉识别中的视觉展望器|即插即用|附代码+改进方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验