YOLOv11 改进 - 注意力机制 | DCAFE双坐标注意力:并行坐标注意力 + 双池化融合

简介: 本文提出DCAFE模块,结合并行坐标注意力与双池化融合机制,增强YOLOv11对药用花卉的特征提取能力。通过平均与最大池化并行捕获全局与局部特征,提升分类精度,在两个数据集上准确率分别提高6.50%和5.59%。

前言

本文介绍了将双坐标注意力特征提取(DCAFE)模块与YOLOv11相结合的方法。DCAFE模块采用“并行坐标注意力+双池化融合”设计,通过平均池化和最大池化并行支路捕获特征,经通道自适应调整生成注意力权重,增强特征表达。我们将DCAFE模块引入YOLOv11,对相关代码进行修改和注册,并配置了yolov11 - DCAFE.yaml文件。

文章目录: YOLOv11改进大全:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总

专栏链接: YOLOv11改进专栏

介绍

image-20251202233716904

摘要

精准的药用花卉分类是其在医疗保健、制药以及食品和化妆品行业中发挥重要作用的前提。此外,了解药用花卉物种也是保护和维护生物多样性的必要条件。然而,由于较大的类内差异、较小的类间差异以及与其他树木类别的视觉相似性,野外药用花卉分类是一项具有挑战性的任务。如今,众多深度学习方法(尤其是卷积神经网络)已被应用于多个基于图像的目标分类任务中。但现有方法难以捕捉花瓣纹理、花卉结构变异等复杂特征图。本文提出一种新型 “Flora-NET” 方法,首次将坐标注意力与内卷神经网络相结合,应用于花卉行业的分类任务。该方法实现了全新的特征细化模块,即双坐标注意力特征提取(DCAFE)和内卷基特征细化(Inv-FR)。DCAFE 模块采用平均池化与最大池化相结合的并行坐标注意力方法;Inv-FR 模块通过串行内卷层和自适应核,进一步增强空间信息。研究人员在两个公开可用的药用花卉数据集上对 Flora-NET 方法进行了训练和测试。大量实验表明,该方法在两个基准数据集上的准确率分别比现有的深度神经分类方法高出约 6.50% 和 5.59%。超参数调优、k 折交叉验证和消融实验也验证了 Flora-NET 方法的有效性。相关代码和数据集可通过以下链接获取:https://github.com/ersachingupta11/Flora-NET。

文章链接

论文地址:论文地址

代码地址:代码地址

基本原理

核心设计原理

DCAFE模块的核心是“并行坐标注意力+双池化融合”,突破了传统坐标注意力(CA)仅用平均池化的局限,具体逻辑如下:

  • 坐标注意力基础:通过水平(X轴)和垂直(Y轴)两个方向的特征编码,捕获位置敏感信息,让模型精准定位花卉区域。
  • 双池化并行设计:同时使用平均池化(捕获全局通用特征,抑制背景噪声)和最大池化(保留局部关键特征,突出花卉纹理/边缘),两条支路独立运算后融合,避免单一池化导致的信息丢失。
  • 通道自适应调整:通过1×1卷积实现通道降维与恢复,平衡模型复杂度和特征表达能力。

详细结构与流程

假设输入特征图为 ( F \in H×W×C )(H=高度、W=宽度、C=通道数),DCAFE模块的处理步骤如下:

1. 特征方向编码(双池化并行支路)

  • 平均池化支路:对输入特征图分别进行水平(核尺寸 (H,1))和垂直(核尺寸 (1,W))平均池化,得到 ( X{AvgPool} \in H×1×C ) 和 ( Y{AvgPool} \in 1×W×C ),捕获全局平滑特征。
  • 最大池化支路:同理,进行水平和垂直最大池化,得到 ( X{MaxPool} \in H×1×C ) 和 ( Y{MaxPool} \in 1×W×C ),保留局部尖锐特征(如花瓣边缘、花蕊轮廓)。

2. 特征拼接与降维

  • 每条支路中,将水平和垂直编码后的特征向量拼接,得到 ( (H+W)×1×C ) 的特征向量(如64×64×96的输入,拼接后为128×1×96)。
  • 通过1×1卷积进行通道降维,下采样率 ( D_r=32 ),将通道数从C压缩至 ( C/D_r ),减少计算量,得到中间特征向量 ( f^a \in (H+W)×1×(C/D_r) )。

3. 注意力权重生成

  • 将降维后的特征向量沿空间维度拆分为水平(( f_h^a \in H×1×(C/D_r) ))和垂直(( f_w^a \in W×1×(C/D_r) ))两个张量。
  • 对两个张量分别应用1×1卷积恢复通道数至C,并通过sigmoid激活函数生成注意力权重矩阵 ( s_h \in H×1×C )(水平权重)和 ( s_w \in 1×W×C )(垂直权重)。

4. 特征加权与融合

  • 每条支路(平均/最大池化)的权重矩阵与原始输入特征图 ( F ) 相乘,得到加权后的特征图 ( Y^a )(平均池化支路输出)和 ( Y^m )(最大池化支路输出)。
  • 将两条支路的输出特征图拼接,最终生成1260个增强通道的特征图,传递给后续Inv-FR模块。

核心代码

class CoordAttMeanMax(nn.Module):
    def __init__(self, inp, oup, groups=32):
        super(CoordAttMeanMax, self).__init__()
        self.pool_h_mean = nn.AdaptiveAvgPool2d((None, 1))
        self.pool_w_mean = nn.AdaptiveAvgPool2d((1, None))
        self.pool_h_max = nn.AdaptiveMaxPool2d((None, 1))
        self.pool_w_max = nn.AdaptiveMaxPool2d((1, None))

        mip = max(8, inp // groups)

        self.conv1_mean = nn.Conv2d(inp, mip, kernel_size=1, stride=1, padding=0)
        self.bn1_mean = nn.BatchNorm2d(mip)
        self.conv2_mean = nn.Conv2d(mip, oup, kernel_size=1, stride=1, padding=0)

        self.conv1_max = nn.Conv2d(inp, mip, kernel_size=1, stride=1, padding=0)
        self.bn1_max = nn.BatchNorm2d(mip)
        self.conv2_max = nn.Conv2d(mip, oup, kernel_size=1, stride=1, padding=0)

        self.relu = nn.ReLU(inplace=True)

    def forward(self, x):
        identity = x
        n, c, h, w = x.size()

        # Mean pooling branch
        x_h_mean = self.pool_h_mean(x)
        x_w_mean = self.pool_w_mean(x).permute(0, 1, 3, 2)
        y_mean = torch.cat([x_h_mean, x_w_mean], dim=2)
        y_mean = self.conv1_mean(y_mean)
        y_mean = self.bn1_mean(y_mean)
        y_mean = self.relu(y_mean)
        x_h_mean, x_w_mean = torch.split(y_mean, [h, w], dim=2)
        x_w_mean = x_w_mean.permute(0, 1, 3, 2)

        # Max pooling branch
        x_h_max = self.pool_h_max(x)
        x_w_max = self.pool_w_max(x).permute(0, 1, 3, 2)
        y_max = torch.cat([x_h_max, x_w_max], dim=2)
        y_max = self.conv1_max(y_max)
        y_max = self.bn1_max(y_max)
        y_max = self.relu(y_max)
        x_h_max, x_w_max = torch.split(y_max, [h, w], dim=2)
        x_w_max = x_w_max.permute(0, 1, 3, 2)

        # Apply attention
        x_h_mean = self.conv2_mean(x_h_mean).sigmoid()
        x_w_mean = self.conv2_mean(x_w_mean).sigmoid()
        x_h_max = self.conv2_max(x_h_max).sigmoid()
        x_w_max = self.conv2_max(x_w_max).sigmoid()

        # Expand to original shape
        x_h_mean = x_h_mean.expand(-1, -1, h, w)
        x_w_mean = x_w_mean.expand(-1, -1, h, w)
        x_h_max = x_h_max.expand(-1, -1, h, w)
        x_w_max = x_w_max.expand(-1, -1, h, w)

        # Combine outputs
        attention_mean = identity * x_w_mean * x_h_mean
        attention_max = identity * x_w_max * x_h_max

        # Sum the attention outputs
        return attention_mean + attention_max

class DCAFE(nn.Module):
    def __init__(self, in_channels,out_channels):
        super(DCAFE, self).__init__()
        self.coord_att = CoordAttMeanMax(in_channels, out_channels)

    def forward(self, x):
        return self.coord_att(x)
相关文章
|
1月前
|
机器学习/深度学习 算法 atlas
YOLOv11 改进 - 注意力机制 MCAttn 蒙特卡洛注意力:全局上下文与局部细节协同建模,破解微小目标特征表达难题
本文提出将蒙特卡洛注意力(MCAttn)模块融入YOLOv11,通过随机采样多尺度池化特征并加权融合,增强模型对小目标的敏感性。MCAttn兼顾局部细节与全局上下文,提升检测精度,尤其适用于医学图像中小面积病灶识别,显著改善特征丢失问题,且保持轻量化与高效推理。
YOLOv11 改进 - 注意力机制 MCAttn 蒙特卡洛注意力:全局上下文与局部细节协同建模,破解微小目标特征表达难题
|
1月前
|
机器学习/深度学习 算法 索引
YOLOv11改进 - 卷积Conv | 加权卷积wConv:无损替换标准卷积,增强空间建模与特征提取质量
本文提出加权卷积(wConv),通过引入距离感知的密度函数,自适应调整邻域像素权重,突破传统卷积等权局限。结合双优化器策略,在不增加参数量的前提下提升特征提取能力。集成于YOLOv11后显著降低损失、提高检测精度,适用于图像去噪等密集预测任务。
|
Ubuntu Linux 开发工具
Linux下的IMX6ULL——环境搭建与软件安装(一)
Linux下的IMX6ULL——环境搭建与软件安装(一)
732 0
Linux下的IMX6ULL——环境搭建与软件安装(一)
|
27天前
|
机器学习/深度学习 编解码 计算机视觉
YOLOv11改进 - C3k2融合 | C3k2融合 IIA信息整合注意力(Information Integration Attention )平衡精度与计算成本 | TGRS2025
本文提出信息整合注意力(IIA)机制,融合通道拼接、双方向池化与轻量1D卷积,精准捕捉遥感图像空间关系,抑制噪声,平衡精度与效率。集成于YOLOv11后显著提升分割性能。
YOLOv11改进 - C3k2融合 | C3k2融合 IIA信息整合注意力(Information Integration Attention )平衡精度与计算成本 | TGRS2025
|
29天前
|
机器学习/深度学习 算法 数据挖掘
YOLOv11改进 - C3k2融合 | C3k2融合CBSA 收缩 - 广播自注意力:轻量级设计实现高效特征压缩,优化处理效率 | NeurIPS 2025
本文提出收缩-广播自注意力(CBSA),通过选取代表性token进行收缩计算并广播结果,实现高效、可解释的线性复杂度注意力机制。其逻辑透明,统一多种注意力形式,并集成至YOLOv11的C3k2模块,在视觉任务中展现优越性能与速度优势。
YOLOv11改进 - C3k2融合 | C3k2融合CBSA 收缩 - 广播自注意力:轻量级设计实现高效特征压缩,优化处理效率 | NeurIPS 2025
|
23天前
|
机器学习/深度学习 人工智能 监控
YOLOv11 改进 - 主干网络| 集成Mamba-YOLO(AAAI 2025),Mamba-YOLOv11-T 替换骨干,破解全局依赖建模难题,实现高效实时检测
Mamba YOLO提出将状态空间模型(SSM)引入实时目标检测,融合YOLO架构优势,实现“又快又准”。其通过ODMamba骨干网络解决自注意力二次复杂度问题,无需预训练;设计RG块增强局部细节建模,提升定位精度;结合多尺度融合策略,在COCO上小模型达1.5毫秒推理、mAP提升7.5%,兼顾高效与性能。
YOLOv11 改进 - 主干网络| 集成Mamba-YOLO(AAAI 2025),Mamba-YOLOv11-T 替换骨干,破解全局依赖建模难题,实现高效实时检测
|
28天前
|
机器学习/深度学习 编解码 机器人
YOLOv11 改进 - C2PSA | C2PSA融合Mask Attention掩码注意力,可学习掩码矩阵破解低分辨率特征提取难题 | 2025 预印
本文提出MaskAttn-UNet,融合卷积效率与注意力全局视野,通过可学习掩码选择性关注关键区域,提升低分辨率图像分割精度。模块集成至YOLOv11,兼顾性能与效率,适用于资源受限场景,在多任务中表现优异。
YOLOv11 改进 - C2PSA | C2PSA融合Mask Attention掩码注意力,可学习掩码矩阵破解低分辨率特征提取难题 | 2025 预印
|
1月前
|
人工智能 算法 新能源
2025 全球GEO优化行业年度观察:市场格局与技术革新双轮驱动
2025年,GEO(生成式引擎优化)从营销工具升级为品牌数字化生存刚需。依托多模态大模型与AI搜索变革,即搜AI、边鱼科技等领军企业推动技术标准落地,助力品牌抢占AI信源主权。国内市场规模达480亿元,跨境增长达93.1%。GEO正重塑全球流量格局,成为企业降本增效、出海突围的核心引擎。
|
1月前
|
存储 弹性计算 Linux
阿里云服务器怎么购买?阿里云服务器便宜购买教程
阿里云服务器怎么购买?阿里云服务器提供三种不同的购买入口,每种方式在配置灵活性、操作复杂度等方面各有特点,用户可根据自身需求选择合适的购买方式,以下是详细介绍:
|
1月前
|
数据采集 人工智能 文字识别
降低AI幻觉,破解非结构化数据之困:司马阅自研模型DocMind-V3.0加速重塑企业数据价值
数字经济时代,数据是企业的核心竞争力,80%以上的企业数据深藏于制度、合同、报表、标书、扫描件等各类文档中。这些非结构化“沉默数据”如未被开采金矿,因无法被机器直接理解、调用,成为企业AI落地的“堵点”。 大语言模型为处理这类数据提供新可能,但企业在AI落地过程中,常常被AI幻觉“绊住”:大语言模型会“自信地犯错”,会“帮你凑一个看似合理的答案”,即大模型会基于模糊信息生成偏离事实的内容,导致数据应用失真,无法支撑精准决策与合规要求,其根本原因在于输入数据质量太低。 数据处理遵循“GIGO(垃圾进垃圾出)”原则,低质量无规范输入,再强的模型也难输出可靠结果。
113 7