当前位置: 首页 > news >正文

nnMamba:基于状态空间模型的3D生物医学图像分割、分类和地标检测

摘要
本文提出了一种基于状态空间模型(SSMs)的创新架构——nnMamba,用于解决3D生物医学图像分割、分类及地标检测任务中的长距离依赖建模难题。nnMamba结合了卷积神经网络(CNN)的局部特征提取能力与SSMs的全局上下文建模优势,通过设计的MICCSS模块(通道-孪生空间学习)显著提升了模型性能。在BraTS 2023、ADNI等6个数据集上的实验表明,nnMamba在分割Dice系数(73.98%)、分类准确率(89.41%)及地标检测误差(2.11)等指标上均优于现有方法。该框架为医学图像分析提供了高效且轻量化的解决方案。
关键词:3D医学图像分析 状态空间模型 长距离依赖建模 图像分割


引言

生物医学图像分析在疾病诊断、治疗规划等领域至关重要,但面临高维数据处理和长距离依赖建模的挑战。传统CNN依赖局部感受野,难以捕捉全局上下文;Transformer虽能建模长距离关系,但计算复杂度高,尤其对3D医学图像(如MRI、CT)不友好。状态空间序列模型(SSMs)因其在长序列数据中的高效性受到关注,而Mamba模型进一步引入输入自适应机制,显著提升了密集数据场景的性能。

在这里插入图片描述
本文提出nnMamba,一种融合CNN与SSMs的新型架构,通过MICCSS模块在通道和空间维度建模长距离关系,并针对分割、分类和地标检测任务优化设计。实验表明,nnMamba在多项任务中达到SOTA,且参数和计算量更低,为医学图像分析提供了一种高效解决方案。


方法

在这里插入图片描述

1. 状态空间模型(SSMs)基础

SSMs通过线性常微分方程建模输入序列的全局关系。其数学形式为:
x ′ ( t ) = A x ( t ) + B u ( t ) , y ( t ) = C x ( t ) , x'(t)=A x(t)+B u(t), \quad y(t)=C x(t), x(t)=Ax(t)+Bu(t),y(t)=Cx(t),
其中, A A A B B B C C C为系统参数。结构化SSM(如图2 c)通过参数优化提升长序列建模能力,而Mamba进一步引入输入自适应机制,使其在医学图像等高维数据中更具优势。


2. MICCSS模块:通道-孪生空间学习

MICCSS是nnMamba的核心模块,结合CNN与SSMs,实现局部特征提取与全局关系建模的协同。

2.1 并行CNN与SSM设计
  • Mamba卷积(MIC):将SSM嵌入CNN框架(如图2 d),公式为:
    F o u t = Convs.O ( SSM ( Convs.I ( F i n ) ) + Convs.I ( F i n ) ) , F_{out} = \text{Convs.O}\left( \text{SSM}\left( \text{Convs.I}(F_{in}) \right) + \text{Convs.I}(F_{in}) \right), Fout=Convs.O(SSM(Convs.I(Fin))+Convs.I(Fin)),
    其中, Convs.I \text{Convs.I} Convs.I Convs.O \text{Convs.O} Convs.O为1×1卷积、批归一化及ReLU激活,用于特征过滤与增强。
2.2 通道-孪生空间(CSS)交互
  • 多维度翻转增强:将输入特征重塑为 B × C × L B \times C \times L B×C×L,通过翻转不同维度(如空间维度)生成增强特征,共享SSM权重以捕获多向长距离依赖(算法1)。

算法1 CSS:用于长距离建模的通道 - 孪生空间输入
1: SiamSSM // 具有共享参数的SSM
2: xflat ← 形状为[B, L, C]的输入特征 // 遍历翻转维度的组合
3: xmamba ← SiamSSM(xflat)
4: for d in {[1], [2], [1, 2]} do
5: xflip ← flip(xflat, dims = d)
6: xmamba ← xmamba + flip(SiamSSM(xflip), dims = d)
7: end for
8: xmamba ← 1/4 xmamba


3. 任务特定架构设计

3.1 分割与地标检测
  • UNet式编码器-解码器:编码器采用残差块与MICCSS模块,解码器通过跳跃连接融合多尺度特征。跳跃连接公式为:
    X cat = [ X h ′ , X h ⋅ SE ( pooling ( X h ) ) ] , X_{\text{cat}} = \left[ X_h', X_h \cdot \text{SE}\left( \text{pooling}(X_h) \right) \right], Xcat=[Xh,XhSE(pooling(Xh))],
    其中, SE \text{SE} SE为通道注意力模块,用于特征缩放。
3.2 分类任务
  • 分层顺序学习:将不同分辨率的特征图池化后拼接为序列,由SSM提取全局上下文,公式为:
    P h = MaxPool ( X h ) , 序列 = Reshape ( [ P 2 , P 3 , P 4 ] ) . P_h = \text{MaxPool}(X_h), \quad \text{序列} = \text{Reshape}([P_2, P_3, P_4]). Ph=MaxPool(Xh),序列=Reshape([P2,P3,P4]).

实验

1. 实现细节

  • 优化器:Adam(学习率0.002,权重衰减0.001)
  • 评估指标:Dice系数、NSD(归一化表面Dice)、HD95(Hausdorff距离)、MRE(平均误差)等。

2. 分割性能

在这里插入图片描述

表1 BraTS 2023脑肿瘤分割结果

方法Dice (%)NSD (%)HD95 (mm)
TransUNet72.3463.218.45
nnFormer73.1264.787.89
nnMamba75.8666.026.23

在这里插入图片描述

表2 AMOS2022多器官分割结果

方法mDice (%)mNSD (%)Params (MB)
UNet68.2158.3432.10
SwinUNet71.4562.1545.22
nnMamba73.9865.1315.55

nnMamba在保持轻量化(仅15.55MB参数)的同时,分割性能显著领先。


3. 分类与地标检测

表3 ADNI分类结果

方法ACC (%)F1 (%)AUC (%)
ResNet-3D85.3284.1292.34
ViT-Base87.8986.4594.21
nnMamba89.4188.6895.81

表4 地标检测误差对比(单位:mm)

方法TCD1TCD2HDV1HDV2ADV1ADV2平均
ResUNet2.452.672.893.123.013.342.91
VitPose2.212.352.542.782.662.922.58
nnMamba1.982.052.112.242.172.282.11

结论

nnMamba通过融合CNN的局部特征提取与SSMs的全局建模能力,在3D医学图像分析中实现了高效的长距离依赖建模。实验表明其在分割、分类和地标检测任务中均达到SOTA性能,且模型轻量化优势显著。未来工作将探索其在更多模态医学图像中的应用。

代码开源地址:https://github.com/lhaof/nnMamba

相关文章:

nnMamba:基于状态空间模型的3D生物医学图像分割、分类和地标检测

摘要 本文提出了一种基于状态空间模型(SSMs)的创新架构——nnMamba,用于解决3D生物医学图像分割、分类及地标检测任务中的长距离依赖建模难题。nnMamba结合了卷积神经网络(CNN)的局部特征提取能力与SSMs的全局上下文建…...

nginx 配置403页面(已亲测)

问题:GET请求访问漏洞url即可看到泄露的内网ip 解决方式: 1.配置nginx 不显示真实Ip 2.限制接口只能是POST请求 具体配置: 编写一个403.html 在nginx的配置文件中,配置location参数: location /api/validationCode…...

SyntaxError: Invalid or unexpected token in JSON at position x

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…...

Uncaught TypeError: Cannot read properties of undefined (reading ‘xxx‘)

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…...

Nginx 跨域配置详细讲解

一、跨域请求概述 跨域资源共享(CORS,Cross-Origin Resource Sharing)是一种机制,它使用额外的HTTP头部来告诉浏览器让运行在一个origin(域)上的Web应用被准许访问来自不同源服务器上的指定的资源。当一个资…...

前端开发基石:HTML语义化深度解析与实践指南

一、语义化设计的本质价值 1.1 从文档结构到信息表达 在Web诞生初期(1991年),HTML仅包含18个标签用于学术文档展示。经过30年发展,HTML5已拥有超过110个标签,其中语义化标签占比提升至60%。这种演进背后是互联网从简…...

mongodb安装教程以及mongodb的使用

MongoDB是由C语言编写的一种面向文档的NoSQL数据库,旨在为WEB应用提供可扩展的高性能数据存储解决方案。与传统的关系型数据库(如 MySQL 或 PostgreSQL)不同,MongoDB 存储数据的方式是以 BSON(类似于 JSON 的二进制格式…...

C# 中的多线程同步机制:lock、Monitor 和 Mutex 用法详解

在多线程编程中,线程同步是确保多个线程安全地访问共享资源的关键技术。C# 提供了几种常用的同步机制,其中 lock、Monitor 和 Mutex 是最常用的同步工具。本文将全面介绍这三种同步机制的用法、优缺点以及适用场景,帮助开发者在多线程开发中做…...

【通义万相】蓝耘智算 | 开源视频生成新纪元:通义万相2.1模型部署与测评

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈人工智能与大模型应用 ⌋ ⌋ ⌋ 人工智能(AI)通过算法模拟人类智能,利用机器学习、深度学习等技术驱动医疗、金融等领域的智能化。大模型是千亿参数的深度神经网络(如ChatGPT&…...

期权帮|中证1000股指期权交割结算价怎么算?

期权帮锦鲤三三每日分享期权知识,帮助期权新手及时有效地掌握即市趋势与新资讯! 中证1000股指期权交割结算价怎么算? 一、按照最后交易日结算价: (1)计算方法:最后交易日标的指数&#xff08…...

Python 面向对象高级编程-定制类

目录 __str__ __iter__ __getitem__ __getattr__ __call__ 小结 看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的。 __slots__我们已经知道怎么用了,__len__()方法我们也知道是为了能让class作用于len()…...

qt creator示例空白

通常情况下,进入qt后,就会弹出以下窗口: 但如果出现示例空白,那可能是因为 Qt Creator 无法正确识别 Qt 的安装路径或配置。 解决: 点击“添加”: 然后跳转到你的qmake.exe的目录,例如我的qmak…...

MyBatis-Plus 与 Spring Boot 的最佳实践

在现代 Java 开发中,MyBatis-Plus 和 Spring Boot 的结合已经成为了一种非常流行的技术栈。MyBatis-Plus 是 MyBatis 的增强工具,提供了许多便捷的功能,而 Spring Boot 则简化了 Spring 应用的开发流程。本文将探讨如何将 MyBatis-Plus 与 Spring Boot 进行整合,并分享一些…...

TDengine 中的标签索引

简介 本节说明 TDengine 的索引机制。在 TDengine 3.0.3.0 版本之前(不含),默认在第一列 TAG 上建立索引,但不支持给其它列动态添加索引。从 3.0.3.0 版本开始,可以动态地为其它 TAG 列添加索引。对于第一个 TAG 列上…...

工业自动化核心:BM100 信号隔离器的强大力量

安科瑞 吕梦怡 18706162527 BM100系列信号隔离器可以对电流、电压等电量参数或温度、电阻等非电量参数进行快速精确测量,经隔 离转换成标准的模拟信号输出。既可以直接与指针表、数显表相接,也可以与自控仪表(如PLC)、各种 A/D …...

Ascend开发板镜像烧录、联网、其他设备访问

Ascend开发板镜像烧录、联网、外部访问 1.1 Ascend开发板制卡方式一:镜像烧录 SD卡插入读卡器,读卡器插入PC的USB接口 烧录镜像前,先格式化一下SD卡 参考教程:格式化SD卡、修复烧写系统失败的SD卡 WinR,输入cmd DIS…...

Llama-Factory框架下的Meta-Llama-3-8B-Instruct模型微调

目录 引言 Llama - Factory 训练框架简介: Meta - Llama - 3 - 8B - Instruct 模型概述: Lora 方法原理及优势: 原理 优势 环境准备: 部署环境测试: 数据准备: 模型准备: 模型配置与训练&#xff1…...

MySQL进阶-分析查询语句EXPLAIN

概述 能做什么? 表的读取顺序 数据读取操作的操作类型 哪些索引可以使用 哪些索引被实际使用 表之间的引用 每张表有多少行被优化器查询 官网介绍 https://dev.mysql.com/doc/refman/5.7/en/explain-output.html https://dev.mysql.com/doc/refman/8.0/…...

Python 高级编程与实战:构建数据可视化应用

在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧、数据科学、机器学习、Web 开发、API 设计、网络编程、异步IO、并发编程、设计模式与软件架构、性能优化与调试技巧、分布式系统、微服务架构、自动化测试框架以及 RESTf…...

学习threejs,Animation、Core、CustomBlendingEquation、Renderer常量汇总

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️Animation常量汇总1.1.1 循…...

Java直通车系列14【Spring MVC】(深入学习 Controller 编写)

目录 基本概念 编写 Controller 的步骤和要点 1. 定义 Controller 类 2. 映射请求 3. 处理请求参数 4. 调用业务逻辑 5. 返回响应 场景示例 1. 简单的 Hello World 示例 2. 处理路径变量和请求参数 3. 处理表单提交 4. 处理 JSON 数据 5. 异常处理 基本概念 Cont…...

【蓝桥杯集训·每日一题2025】 AcWing 5539. 牛奶交换 python

AcWing 5539. 牛奶交换 Week 3 3月6日 题目描述 农夫约翰的 N N N 头奶牛排成一圈,使得对于 1 , 2 , … , N − 1 1,2,…,N−1 1,2,…,N−1 中的每个 i i i,奶牛 i i i 右边的奶牛是奶牛 i 1 i1 i1,而奶牛 N N N 右边的奶牛是奶牛 …...

Mybatis缓存机制(一级缓存和二级缓存)

前言 为什么要学习Mybatis 缓存机制? 学习Mybatis 缓存机制,可以有效解决 数据库的压力,提高数据库的性能。 例如:你要 对tb_user 表 ,查询 所有用户的信息,并且多次查询所有用户信息。我们知道第一次查询表信息流…...

设计模式--单例模式

一、单例模式代码实现 public class DatabaseConnection {// 1. 私有静态实例变量private static DatabaseConnection instance;// 2. 私有构造函数,防止外部直接创建实例private DatabaseConnection() {// 初始化数据库连接System.out.println("Database con…...

ubuntu22.04本地部署OpenWebUI

一、简介 Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 AI 平台,旨在完全离线运行。它支持各种 LLM 运行器,如 Ollama 和 OpenAI 兼容的 API,并内置了 RAG 推理引擎,使其成为强大的 AI 部署解决方案。 二、安装 方法 …...

2025-3-7二叉树的线索化

一、中序线索化 代码其实就是和中序遍历相似,增加了两个标志位 ltag rtag。 完整的代码: 二、先序线索化: 三、后序线索化: 总结:其核心其实还是遍历算法的改造。 并且注意处理最后一个被访问的节点。...

以商业思维框架为帆,驭创业浪潮前行

创业者踏入商海,如同航海家奔赴未知海域,需有清晰的思维罗盘指引方向。图中“为什么—用什么—怎么做—何人做—投入产出”的商业框架,正是创业者破解商业谜题的密钥,从需求洞察到落地执行,为创业之路铺就逻辑基石。 …...

海思Hi3516DV300交叉编译opencv

OpenCV是一个开源的跨平台计算机视觉库,支持C、Python等多种语言,适用于图像处理、目标检测、机器学习等任务。其核心由C编写,高效轻量,提供实时视觉处理功能,广泛应用于工业自动化、医疗影像等领域。 1 环境准备 1…...

基于NIST后量子算法的混合加密系统

目录 基于NIST后量子算法的混合加密系统一、前言二、后量子密码学概述2.1 后量子密码学的背景2.2 NIST候选后量子算法 三、混合加密系统的设计原理3.1 混合加密的基本思想3.2 数学公式与证明3.3 混合加密系统的优势 四、工程实现与优化策略4.1 算法层面优化4.2 工程实现优化 五…...

uni-app 开发ios 使用testFlight 进行分发测试

一、生成ipa 首先你要生成一个ipa包,怎么生成这个包,可以在uniapp打包安卓和iOS包 二、上传到分发平台 在这里我使用的是Transporter ,当然你也可以看下其他分发平台 在mac电脑app store中下载Transporter,双击打开, 点击添加,将打包好的ipa文件放上去,注意打包的时…...