参数仅有0.049M!基于Mamba的医学图像分割新SOTA来了!

2024-04-10 01:52

本文主要是介绍参数仅有0.049M!基于Mamba的医学图像分割新SOTA来了!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目前,基于CNN和Transformer的医学图像分割面临着许多挑战。比如CNN在长距离建模能力上存在不足,而Transformer则受到其二次计算复杂度的制约。

相比之下,Mamba的设计允许模型在保持线性计算复杂度的同时,仍然能够捕捉到长距离的依赖关系。因此基于Mamba的医学图像分割能够结合CNN的局部特征提取能力和Transformer的全局上下文理解能力,更有效地处理医学图像中复杂的结构和模式。

以上海交大提出的VM-UNet为例:

作为首个将Mamba结构融入UNet的模型,VM-UNet引入了视觉态空间(VSS)块作为基础块以捕捉广泛的上下文信息,并构建了一个非对称的编码器-解码器结构。在ISIC17、ISIC18和Synapse数据集上超越UNet++/UNet v2等SOTA。

受此启发,研究者们提出了更多Mamaba医学图像分割改进方案,我整理了其中10个值得学习的最新成果分享,论文以及开源代码也列上了,方便同学们复现。

论文原文以及开源代码需要的同学看文末

UltraLight VM-UNet

UltraLight VM-UNet: Parallel Vision Mamba Significantly Reduces Parameters for Skin Lesion Segmentation

方法:论文提出了一种用于处理深层特征的并行Vision Mamba层(PVM层)。PVM层使用四个并行的VSS块来处理特征,每个VSS块处理的通道数是初始通道数的四分之一。由于Mamba中输入通道数对参数数量有爆炸性影响,处理四分之一通道数的VSS块参数只是原始VSS块参数的6.9%,减少了93.1%。

基于PVM层,作者提出了参数仅为0.049M,GFLOPs仅为0.060的UltraLight Vision Mamba UNet。UltraLight VM-UNet的参数比传统的纯Vision Mamba UNet模型(VM-UNet)低99.82%,比可用的最轻量级Vision Mamba UNet模型(LightM-UNet)低87.84%

创新点:

  • 提出了一种用于处理深度特征的并行视觉曼巴方法,名为PVM Layer,它在保持总体处理通道数不变的同时,以最低的计算负载实现了出色的性能。

  • 对曼巴参数影响的关键因素进行了深入分析,并基于此提出了用于处理深度特征的并行视觉曼巴层(PVM Layer)。

VM-UnetV2

VM-UNET-V2: Rethinking Vision Mamba UNetfor Medical Image Segmentation

方法:论文提出了VM-UnetV2算法,是对医学图像分割中基于SSM的算法的改进探索。作者在七个数据集上进行了详尽的实验,结果表明VM-UNetV2具有显著的竞争力。作者是首次将基于SSM的算法与Unet变种相结合的探索者,推动了更高效、更有效的基于SSM的分割算法的发展。

创新点:

  • 作者提出了VM-UnetV2,首次在医学图像分割中探索了更好的基于SSM的算法。

  • 在七个数据集上进行了全面的实验,结果表明VM-UNetV2展现出显著的竞争力。

  • 作者首次探索了将基于SSM的算法与Unet变体相结合,推动了更高效、更有效的基于SSM的分割算法的发展。

LMa-UNet

Large Window-based Mamba UNet for Medical Image Segmentation: Beyond Convolution and Self-attention

方法:论文引入了一种基于Mamba的UNet模型用于医学图像分割,实现了大窗口空间建模。此外,作者设计了一种分层和双向的SSM,进一步增强了Mamba在局部和全局特征建模方面的能力。

创新点:

  • 提出了基于大窗口的Mamba U-Net(LMa-UNet)用于二维和三维医学图像分割。相比于基于小核的CNN和基于小窗口的Transformer,LMa-UNet利用大窗口在局部空间建模方面具有优势,在全局建模方面保持了超过二次复杂度的自注意力的高效性能。

  • 设计了一种新颖的分层和双向的Mamba模块,进一步增强了Mamba在全局和局部空间建模能力。通过引入双向扫描,模型能够更好地关注图像中具有更多器官和病变的中心区域,并能够很好地对每个补丁的绝对位置信息和相对位置信息进行建模。

Mamba-UNet

Mamba-UNet: UNet-Like Pure Visual Mamba for Medical Image Segmentation

方法:论文介绍了一种用于医学图像分割的纯视觉Mamba块基于UNet风格的网络,称为Mamba-UNet。研究结果表明,与UNet和Swin-UNet等经典相似网络相比,Mamba-UNet具有更好的性能。作者还计划将Mamba-UNet扩展到3D医学图像,并进行半/弱监督学习,以进一步推动医学成像领域的发展。

创新点:

  • Mamba-UNet:引入了一种纯视觉Mamba块为基础的UNet风格网络,用于医学图像分割。与经典的UNet和Swin-UNet等类似网络相比,Mamba-UNet表现出更出色的性能。

  • Visual Mamba块:在U-Net架构中引入了Visual Mamba块(VSS),以改善医学图像分析中的远距离依赖建模。这种创新提供了一种新的方法来处理长序列数据,并在医学图像分割领域中取得了优越的性能。

关注下方《学姐带你玩AI》🚀🚀🚀

回复“曼巴医学”获取全部论文+代码

码字不易,欢迎大家点赞评论收藏

这篇关于参数仅有0.049M!基于Mamba的医学图像分割新SOTA来了!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/889781

相关文章

SpringBoot利用@Validated注解优雅实现参数校验

《SpringBoot利用@Validated注解优雅实现参数校验》在开发Web应用时,用户输入的合法性校验是保障系统稳定性的基础,​SpringBoot的@Validated注解提供了一种更优雅的解... 目录​一、为什么需要参数校验二、Validated 的核心用法​1. 基础校验2. php分组校验3

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

C++字符串提取和分割的多种方法

《C++字符串提取和分割的多种方法》在C++编程中,字符串处理是一个常见的任务,尤其是在需要从字符串中提取特定数据时,本文将详细探讨如何使用C++标准库中的工具来提取和分割字符串,并分析不同方法的适用... 目录1. 字符串提取的基本方法1.1 使用 std::istringstream 和 >> 操作符示

基于@RequestParam注解之Spring MVC参数绑定的利器

《基于@RequestParam注解之SpringMVC参数绑定的利器》:本文主要介绍基于@RequestParam注解之SpringMVC参数绑定的利器,具有很好的参考价值,希望对大家有所帮助... 目录@RequestParam注解:Spring MVC参数绑定的利器什么是@RequestParam?@

SpringBoot接收JSON类型的参数方式

《SpringBoot接收JSON类型的参数方式》:本文主要介绍SpringBoot接收JSON类型的参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、jsON二、代码准备三、Apifox操作总结一、JSON在学习前端技术时,我们有讲到过JSON,而在

JAVA虚拟机中 -D, -X, -XX ,-server参数使用

《JAVA虚拟机中-D,-X,-XX,-server参数使用》本文主要介绍了JAVA虚拟机中-D,-X,-XX,-server参数使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录一、-D参数二、-X参数三、-XX参数总结:在Java开发过程中,对Java虚拟机(JVM)的启动参数进

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像

解读docker运行时-itd参数是什么意思

《解读docker运行时-itd参数是什么意思》在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景... 目录docker运行时-itd参数是什么意思1. -i(或 --interactive)2. -t(或 --

Java通过反射获取方法参数名的方式小结

《Java通过反射获取方法参数名的方式小结》这篇文章主要为大家详细介绍了Java如何通过反射获取方法参数名的方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、解决方式方式2.1: 添加编译参数配置 -parameters方式2.2: 使用Spring的内部工具类 -

使用Python实现批量分割PDF文件

《使用Python实现批量分割PDF文件》这篇文章主要为大家详细介绍了如何使用Python进行批量分割PDF文件功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、架构设计二、代码实现三、批量分割PDF文件四、总结本文将介绍如何使用python进js行批量分割PDF文件的方法