YOLOv11 改进 - C2PSA | C2PSA融合Mask Attention掩码注意力,可学习掩码矩阵破解低分辨率特征提取难题 | 2025 预印

简介: 本文提出MaskAttn-UNet,融合卷积效率与注意力全局视野,通过可学习掩码选择性关注关键区域,提升低分辨率图像分割精度。模块集成至YOLOv11,兼顾性能与效率,适用于资源受限场景,在多任务中表现优异。

前言

本文提出了用于低分辨率图像分割的MaskAttn - UNet框架,并将其核心的掩码注意力机制集成到YOLOv11中。传统U - Net类模型难以捕捉全局关联,Transformer类模型计算量大,而掩码注意力机制通过可学习的掩码,让模型选择性关注重要区域,融合了卷积的局部效率和注意力的全局视野。其工作流程包括特征适配、掩码生成、定向注意力计算和特征融合。我们将掩码注意力机制代码集成到YOLOv11中。

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

专栏链接: YOLOv11改进专栏

介绍

image-20251222223212145

摘要

低分辨率图像分割在机器人技术、增强现实和大规模场景理解等实际应用中至关重要。在这些场景中,由于计算资源限制,高分辨率数据往往难以获取。为解决这一挑战,我们提出了一种新颖的分割框架MaskAttn-UNet,它通过掩码注意力机制对传统UNet架构进行了优化。该模型能够选择性地突出重要区域,同时抑制无关背景,从而在杂乱复杂场景中提升分割精度。与传统UNet变体不同,MaskAttn-UNet有效平衡了局部特征提取与全局上下文感知能力,使其特别适用于低分辨率输入场景。我们在三个基准数据集上对该方法进行了评估,所有输入图像均调整为128×128分辨率,结果表明其在语义分割、实例分割和全景分割任务中均展现出具有竞争力的性能。实验结果显示,MaskAttn-UNet的精度可与当前最先进方法媲美,且计算成本远低于基于Transformer的模型,为资源受限场景下的低分辨率图像分割提供了高效且可扩展的解决方案。

文章链接

论文地址:论文地址

代码地址:代码地址

基本原理

掩码注意力模块是MaskAttn-UNet模型的核心创新组件,核心目标是在低分辨率图像分割场景中,高效平衡“局部细节捕捉”与“全局关联建模”,同时避免传统注意力机制的算力浪费,其原理可从核心设计逻辑、工作流程、关键特性三方面展开:

一、核心设计逻辑

该模块的核心思路是“选择性关注”——不像传统自注意力机制那样对图像中所有像素进行无差别全局计算,也不像纯卷积那样局限于局部区域,而是通过一个“可学习的掩码”(类似智能筛选器),让模型自动聚焦于对分割任务有用的区域(如物体轮廓、关键结构、前景目标),同时抑制无意义的背景噪音或冗余信息。

其设计初衷是解决两大痛点:

  1. 传统U-Net类模型:依赖卷积的局部性,难以捕捉图像中远距离物体的关联(如重叠物体、分散目标的整体特征),导致复杂场景分割模糊;
  2. Transformer类模型:全局自注意力计算量大(像素间两两匹配),内存和算力消耗极高,不适合低分辨率、资源受限的实际场景。

因此,掩码注意力模块本质是“卷积的局部效率”与“注意力的全局视野”的融合——用掩码筛选关键区域,只在有用区域内进行注意力计算,实现“精准且高效”的特征提取。

二、完整工作流程

模块的工作过程可拆解为4个关键步骤,全程围绕“筛选-计算-融合-优化”展开:

  1. 特征格式适配:先接收来自编码器或解码器的特征图(包含图像的局部细节和初步语义信息),并调整其格式,使其适配后续注意力计算的需求;
  2. 掩码生成与筛选:自动学习一个二进制掩码(可理解为一张“关注地图”),地图上的“高亮区域”对应图像中需要重点关注的部分(如物体边缘、前景目标),“暗区”对应无关背景。这个掩码是动态学习的,会根据不同图像、不同场景自适应调整,而非固定规则;
  3. 定向注意力计算:采用多头注意力机制(共4个注意力头,相当于从多个角度捕捉特征),但仅在掩码筛选后的“高亮区域”内计算像素间的关联。比如,对于低分辨率图像中的小物体,掩码会聚焦于该物体的像素范围,让这些像素间相互传递信息,从而强化物体的整体特征,同时忽略背景像素的无效关联;
  4. 特征融合与优化:将注意力计算后的特征,与原始输入的特征通过“残差连接”融合(保留初始的局部细节),再经过两层前馈网络进一步优化特征质量,最终输出“既包含局部精准细节,又融入全局关键关联”的增强特征。

  5. 鲁棒性强:掩码能有效抑制背景噪音,在复杂场景(如 clutter 杂乱环境、重叠物体、光线变化)中,仍能精准区分前景目标与背景,提升分割的稳定性。

核心代码


class Mask2FormerAttention(nn.Module):
    def __init__(self, channels, size):
        super(Mask2FormerAttention, self).__init__()
        self.channels = channels
        self.size = size
        self.query = nn.Linear(channels, channels)
        self.key = nn.Linear(channels, channels)
        self.value = nn.Linear(channels, channels)
        self.mask = None
        self.norm = nn.LayerNorm([channels])
    def forward(self, x):
        batch_size, channels, height, width = x.size()
        if channels != self.channels:
            raise ValueError("Input channel size does not match initialized channel size.")
        x = x.view(batch_size, channels, height * width).permute(0, 2, 1)
        Q = self.query(x)
        K = self.key(x)
        V = self.value(x)
        scores = torch.matmul(Q, K.transpose(-2, -1))
        scores = scores / (self.channels ** 0.5)
        if self.mask is None or self.mask.size(-1) != height * width:
            binary_mask = torch.randint(0, 2, (batch_size, height, width), device=x.device)
            binary_mask = binary_mask.view(batch_size, -1)
            processed_mask = torch.where(binary_mask > 0.5, torch.tensor(0.0, device=x.device), torch.tensor(-float('inf'), device=x.device))
            self.mask = processed_mask.unsqueeze(1).expand(-1, height * width, -1)
        scores = scores + self.mask
        attention_weights = F.softmax(scores, dim=-1)
        attention_output = torch.matmul(attention_weights, V)
        attention_output = attention_output + x
        attention_output = self.norm(attention_output)
        return attention_output.view(batch_size, channels, height, width)

结果

image.png

相关文章
|
2月前
|
机器学习/深度学习 算法 数据挖掘
YOLOv11改进 - C3k2融合 | C3k2融合CBSA 收缩 - 广播自注意力:轻量级设计实现高效特征压缩,优化处理效率 | NeurIPS 2025
本文提出收缩-广播自注意力(CBSA),通过选取代表性token进行收缩计算并广播结果,实现高效、可解释的线性复杂度注意力机制。其逻辑透明,统一多种注意力形式,并集成至YOLOv11的C3k2模块,在视觉任务中展现优越性能与速度优势。
YOLOv11改进 - C3k2融合 | C3k2融合CBSA 收缩 - 广播自注意力:轻量级设计实现高效特征压缩,优化处理效率 | NeurIPS 2025
|
2月前
|
机器学习/深度学习 人工智能 监控
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 替换骨干,破解全局依赖建模难题,实现高效实时检测
|
12天前
|
机器学习/深度学习 计算机视觉 网络架构
YOLO26改进 - 注意力机制 |融合HCF-Net维度感知选择性整合模块DASI 增强小目标显著性
本文介绍将HCF-Net中的维度感知选择性融合(DASI)模块集成至YOLO26检测头,通过通道分区与Sigmoid自适应加权,融合高/低维及当前层特征,显著提升红外小目标检测精度,在SIRST数据集上超越主流方法。(239字)
|
2月前
|
机器学习/深度学习 算法 索引
YOLOv11改进 - 卷积Conv | 加权卷积wConv:无损替换标准卷积,增强空间建模与特征提取质量
本文提出加权卷积(wConv),通过引入距离感知的密度函数,自适应调整邻域像素权重,突破传统卷积等权局限。结合双优化器策略,在不增加参数量的前提下提升特征提取能力。集成于YOLOv11后显著降低损失、提高检测精度,适用于图像去噪等密集预测任务。
|
编解码 异构计算
YOLOv11改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
YOLOv11改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
3270 7
YOLOv11改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
|
机器学习/深度学习 数据可视化 测试技术
YOLO11实战:新颖的多尺度卷积注意力(MSCA)加在网络不同位置的涨点情况 | 创新点如何在自己数据集上高效涨点,解决不涨点掉点等问题
本文探讨了创新点在自定义数据集上表现不稳定的问题,分析了不同数据集和网络位置对创新效果的影响。通过在YOLO11的不同位置引入MSCAAttention模块,展示了三种不同的改进方案及其效果。实验结果显示,改进方案在mAP50指标上分别提升了至0.788、0.792和0.775。建议多尝试不同配置,找到最适合特定数据集的解决方案。
3521 0
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【注意力机制篇】| ICLR2023 高效计算与全局局部信息融合的 Sea_Attention 模块(含C2PSA二次创新)
YOLOv11改进策略【注意力机制篇】| ICLR2023 高效计算与全局局部信息融合的 Sea_Attention 模块(含C2PSA二次创新)
745 2
YOLOv11改进策略【注意力机制篇】| ICLR2023 高效计算与全局局部信息融合的 Sea_Attention 模块(含C2PSA二次创新)
|
编解码 计算机视觉
YOLOv11改进策略【YOLO和Mamba】| 替换骨干 Mamba-YOLOv11-T !!! 最新的发文热点
YOLOv11改进策略【YOLO和Mamba】| 替换骨干 Mamba-YOLOv11-T !!! 最新的发文热点
1886 7
YOLOv11改进策略【YOLO和Mamba】| 替换骨干 Mamba-YOLOv11-T !!! 最新的发文热点
|
Serverless 计算机视觉
YOLOv11改进策略【小目标改进】| Shape-NWD:融合改进,结合Shape-IoU和NWD 更好地适应小目标特性
YOLOv11改进策略【小目标改进】| Shape-NWD:融合改进,结合Shape-IoU和NWD 更好地适应小目标特性
1990 9
|
机器学习/深度学习 存储 TensorFlow
YOLOv11改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头
YOLOv11改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头
2766 11
YOLOv11改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头