YOLOv11 改进 - 注意力机制 MCAttn 蒙特卡洛注意力:全局上下文与局部细节协同建模,破解微小目标特征表达难题

简介: 本文提出将蒙特卡洛注意力(MCAttn)模块融入YOLOv11,通过随机采样多尺度池化特征并加权融合,增强模型对小目标的敏感性。MCAttn兼顾局部细节与全局上下文,提升检测精度,尤其适用于医学图像中小面积病灶识别,显著改善特征丢失问题,且保持轻量化与高效推理。

前言

本文介绍了将蒙特卡洛注意力(MCAttn)模块与YOLOv11相结合的方法。MCAttn是尺度可变注意力网络(SvANet)的核心创新模块,模拟蒙特卡洛随机采样逻辑,从多尺度池化张量中随机选特征,按关联概率加权融合生成注意力图,兼顾局部细节与全局上下文。我们将MCAttn模块引入YOLOv11,对相关代码进行修改和注册,并配置了yolov11 - MoCAttention.yaml文件。实验脚本显示,该结合方式应用于目标检测任务。

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

专栏链接: YOLOv11改进专栏

介绍

image-20251203203715237

摘要

摘要——早期检测与准确诊断能够预测恶性疾病转化风险,进而提高有效治疗的概率。具有微小感染区域的轻微症状是不祥预警,在疾病早期诊断中至关重要。卷积神经网络(CNNs)等深度学习算法已被用于自然目标或医疗目标分割,取得了良好效果。然而,由于CNNs中卷积和池化操作会导致信息丢失与压缩伪影,图像中小面积医疗目标的分析仍面临挑战。随着网络深度增加,这些丢失和缺陷愈发显著,对小医疗目标的影响尤为突出。为应对这些挑战,本文提出一种新型尺度可变注意力网络(SvANet),用于医学图像中小尺度目标的精准分割。该网络整合了蒙特卡洛注意力(Monte Carlo attention)、尺度可变注意力(scale-variant attention)与视觉Transformer(vision transformer),通过融合跨尺度特征、减轻压缩伪影,提升小医疗目标的辨识度。定量实验结果表明,SvANet性能优异:在KiTS23、ISIC 2018、ATLAS、PolypGen、TissueNet、FIVES和SpermHealth数据集上,对占图像面积不足1%的肾肿瘤、皮肤病变、肝肿瘤、息肉、手术切除细胞、视网膜血管和精子进行分割时,平均Dice系数分别达到96.12%、96.11%、89.79%、84.15%、80.25%、73.05%和72.58%。

文章链接

论文地址:论文地址

代码地址:代码地址

基本原理

MCAttn(Monte Carlo Attention)是SvANet的核心创新模块之一,专为解决小医疗目标分割中“跨尺度特征捕捉不足”和“细节信息丢失”问题设计,通过蒙特卡洛随机采样机制生成多尺度注意力图,同时兼顾局部细节与全局上下文,显著提升小/超小医疗目标的辨识度。

核心原理与数学表达

1. 核心思想

模拟蒙特卡洛随机采样逻辑,从多个尺度的池化张量中随机选择特征,通过概率加权融合,生成兼具泛化性和细节捕捉能力的注意力图,避免单一尺度的特征偏见。

2. 数学公式

给定输入张量 ( x ),MCAttn的输出注意力图 ( A_m(x) ) 计算如下:
[ Am(x) = \sum{i=1}^n P_1(x,i) \cdot f(x,i) ]

  • ( n=3 ):固定采用3种池化尺度(1×1、2×2、3×3),覆盖局部到全局特征;
  • ( f(x,i) ):第 ( i ) 种尺度的平均池化函数;
  • ( P1(x,i) ):关联概率,满足 ( \sum{i=1}^3 P1(x,i)=1 ) 和 ( \prod{i=1}^3 P_1(x,i)=0 ),确保随机采样的泛化性,避免单一尺度主导。

工作流程与结构细节

1. 模块定位

MCAttn集成于 MCBottleneck(蒙特卡洛注意力瓶颈模块) 中,每个编码器阶段均包含MCBottleneck,结构链为:
3×3卷积 → 1×1卷积 → MCAttn → 1×1卷积 → AssemFormer
MCBottleneck作为“信息压缩-扩展”节点,MCAttn负责在压缩阶段保留小目标关键特征。

2. 具体步骤

  1. 多尺度池化:对输入张量 ( x ) 分别进行1×1、2×2、3×3池化,得到3种尺度的特征张量;
  2. 概率采样:根据关联概率 ( P_1(x,i) ) 随机选择1种尺度的池化结果,生成初始注意力图;
  3. 特征校准:将注意力图与输入张量进行逐元素乘积(Hadamard product),强化小目标特征、抑制背景噪声;
  4. 跨尺度融合:通过随机采样的随机性,间接融合3种尺度的特征信息,兼顾局部细节(小尺度池化)和全局上下文(大尺度池化)。

关键优势

1. 跨尺度特征捕捉

相比SE(仅通道注意力)、CBAM(通道+空间单尺度)、CoorAttn(坐标感知单尺度),MCAttn通过3种尺度随机采样,天然具备跨尺度关联能力,对超小目标(如占比<1%的精子、视网膜血管)的稀疏区域识别更精准。

2. 泛化性强

关联概率 ( P_1(x,i) ) 的约束条件(求和为1、乘积为0)确保注意力图不依赖固定尺度,适配不同模态(CT、MRI、显微镜图像)和不同形态的小医疗目标(肿瘤、细胞、血管)。

3. 轻量化设计

参数数量仅2.77M(与SE相同),远低于复杂注意力机制,且不显著增加计算量,保证SvANet的实时推理能力(46.91 FPS)。

核心代码

 class MoCAttention(nn.Module):
    # Monte carlo attention
    def __init__(
        self,
        InChannels: int,
        HidChannels: int=None,
        SqueezeFactor: int=4,
        PoolRes: list=[1, 2, 3],
        Act: Callable[..., nn.Module]=nn.ReLU,
        ScaleAct: Callable[..., nn.Module]=nn.Sigmoid,
        MoCOrder: bool=True,
        **kwargs: Any,
    ) -> None:
        super().__init__()
        if HidChannels is None:
            HidChannels = max(makeDivisible(InChannels // SqueezeFactor, 8), 32)

        AllPoolRes = PoolRes + [1] if 1 not in PoolRes else PoolRes
        for k in AllPoolRes:
            Pooling = AdaptiveAvgPool2d(k)
            setMethod(self, 'Pool%d' % k, Pooling)

        self.SELayer = nn.Sequential(
            BaseConv2d(InChannels, HidChannels, 1, ActLayer=Act),
            BaseConv2d(HidChannels, InChannels, 1, ActLayer=ScaleAct),
        )

        self.PoolRes = PoolRes
        self.MoCOrder = MoCOrder

    def monteCarloSample(self, x: Tensor) -> Tensor:
        if self.training:
            PoolKeep = np.random.choice(self.PoolRes)
            x1 = shuffleTensor(x)[0] if self.MoCOrder else x
            AttnMap: Tensor = callMethod(self, 'Pool%d' % PoolKeep)(x1)
            if AttnMap.shape[-1] > 1:
                AttnMap = AttnMap.flatten(2)
                AttnMap = AttnMap[:, :, torch.randperm(AttnMap.shape[-1])[0]]
                AttnMap = AttnMap[:, :, None, None] # squeeze twice
        else:
            AttnMap: Tensor = callMethod(self, 'Pool%d' % 1)(x)

        return AttnMap

    def forward(self, x: Tensor) -> Tensor:
        AttnMap = self.monteCarloSample(x)
        return x * self.SELayer(AttnMap)
相关文章
|
1天前
|
云安全 监控 安全
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
815 5
|
12天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
1051 37
|
8天前
|
机器学习/深度学习 人工智能 数据可视化
1秒生图!6B参数如何“以小博大”生成超真实图像?
Z-Image是6B参数开源图像生成模型,仅需16GB显存即可生成媲美百亿级模型的超真实图像,支持中英双语文本渲染与智能编辑,登顶Hugging Face趋势榜,首日下载破50万。
620 36
|
12天前
|
人工智能 前端开发 算法
大厂CIO独家分享:AI如何重塑开发者未来十年
在 AI 时代,若你还在紧盯代码量、执着于全栈工程师的招聘,或者仅凭技术贡献率来评判价值,执着于业务提效的比例而忽略产研价值,你很可能已经被所谓的“常识”困住了脚步。
677 57
大厂CIO独家分享:AI如何重塑开发者未来十年
|
8天前
|
存储 自然语言处理 测试技术
一行代码,让 Elasticsearch 集群瞬间雪崩——5000W 数据压测下的性能避坑全攻略
本文深入剖析 Elasticsearch 中模糊查询的三大陷阱及性能优化方案。通过5000 万级数据量下做了高压测试,用真实数据复刻事故现场,助力开发者规避“查询雪崩”,为您的业务保驾护航。
429 27
|
15天前
|
数据采集 人工智能 自然语言处理
Meta SAM3开源:让图像分割,听懂你的话
Meta发布并开源SAM 3,首个支持文本或视觉提示的统一图像视频分割模型,可精准分割“红色条纹伞”等开放词汇概念,覆盖400万独特概念,性能达人类水平75%–80%,推动视觉分割新突破。
911 59
Meta SAM3开源:让图像分割,听懂你的话
|
5天前
|
弹性计算 网络协议 Linux
阿里云ECS云服务器详细新手购买流程步骤(图文详解)
新手怎么购买阿里云服务器ECS?今天出一期阿里云服务器ECS自定义购买流程:图文全解析,阿里云服务器ECS购买流程图解,自定义购买ECS的设置选项是最复杂的,以自定义购买云服务器ECS为例,包括付费类型、地域、网络及可用区、实例、镜像、系统盘、数据盘、公网IP、安全组及登录凭证详细设置教程:
200 114