当前位置: 首页 > 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 循…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...