超越nnFormer!UNETR++:高效准确的3D医学图像分割

news/2024/5/19 22:03:39/文章来源:https://blog.csdn.net/m0_59596990/article/details/128359954

UNETR++: Delving into Efficient and Accurate 3D Medical Image Segmentation

论文链接:

https://arxiv.org/abs/2212.04497
代码链接:
https://github.com/Amshaker/unetr_plus_plus

导读

这篇论文主要讲述了一种名为 UNETR++ 的 3D 医学图像分割方法,它提供了高质量的分割结果,并具有高效的参数和计算成本。作者介绍了一种新的有效的配对注意力(EPA)模块,该模块使用一对基于空间和通道注意的相互依赖分支来有效地学习空间和通道方向的区分性特征。实验结果表明,该方法在 Synapse、BTCV 和 ACDC 数据集上均优于现有方法。

背景

3D 分割是医学图像中的一个基础问题,并且用于许多应用,包括肿瘤识别和器官定位等诊断目的。3D 分割任务通常采用 U-Net 类似的编码器-解码器架构,其中编码器生成 3D 图像的分层低维表示,解码器将这个学习的表示映射到体素分割。早期的基于 CNN 的方法在编码器和解码器中分别使用卷积和反卷积,但很难实现准确的分割结果,可能是由于其局限的局部感受野。另一方面,基于 transformer 的方法天生是全局的,并且最近已经证明了具有竞争性能的成本,但模型复杂度增加。这篇论文提出了一种混合架构来结合局部卷积和全局注意力的优点。作者指出,这种架构能够在提高分割精度的同时减小模型的参数数量和 FLOPs,提高模型的鲁棒性。作者认为,这种方法的优势在于它捕捉了空间和通道特征之间的显式依赖关系,从而提高了分割质量。

UNETR++是一种新型的3D医学图像分割混合层次架构,旨在提高分割准确度和效率。它是在UNET的基础上提出的一种改进模型,通过引入精细化模块和跨层连接来增强特征表示能力,并通过尺度匹配和跨层金字塔来减少模型参数和计算复杂度。经过实验验证,UNETR++在主流数据集上的分割准确度和效率都优于其他现有模型。UNETR++基于最近提出的UNETR框架,引入了一种新的有效的配对注意力(EPA)模块通过在两个分支中应用空间注意力和通道注意力,有效地捕捉了丰富的相互依存的空间和通道特征。我们的EPA中的空间注意力将key和value投影到固定的较低维空间,self attention的计算与input token的数量成线性关系。这有助于提高模型的特征表示能力,同时又不会增加太多的参数和计算复杂度。另一方面,我们的通道注意力通过在通道维度上对query和key执行点积运算,强调了通道特征映射之间的依赖性。此外,为了捕捉空间和通道特征之间的强相关性,query和key的权重在两个分支之间共享,这也有助于控制网络参数的数量。相比之下,值的权重是独立的,以强制在两个分支中学习互补特征。这种设计能够有效地平衡两个分支的贡献,提高模型的性能。

Method

上图展示了UNETR++模型的层级编解码结构。

  • 动机: 在设计混合框架时要考虑的两个理想属性:效率和准确性。这两个属性都非常重要,因为它们可以帮助框架在实际应用中更好地发挥作用。在设计混合框架时,应该尽量将这两个属性结合起来,以达到更好的性能。

  • 有效的全局注意力: 现有混合方法中使用的自注意力操作复杂度为平方,并且在体积医学分割中具有较高的计算代价。与这些方法不同,作者认为,在特征通道而不是体积维度上计算自注意力可以将复杂度从平方降低到线性。此外,空间注意力信息可以通过将key和query空间矩阵投影到较低维空间中来有效地学习。这种方法可以在保证性能的同时减少计算复杂度,从而更好地处理大型体积数据。

  • 增强空间和通道特征表示: 大多数现有的体积医学图像分割方法通常通过注意力计算来捕获空间特征,并忽略了通道信息。有效地结合空间维度中的交互作用和通道特征之间的相互依赖关系,有望提供丰富的上下文空间通道特征表示,从而提高掩模预测的准确性。通过这种方式,算法可以更好地利用通道信息来捕获更丰富的空间信息,从而提高分割精度。

本文提出了一种UNETR++框架,旨在更有效地学习空间信道特征表示。为了实现这一目标,这篇论文中提出了一种新的EPA模块,它包含两个注意力模块,通过共享key-query方案来有效地在空间和通道维度上编码信息。该论文还提出了在编码阶段和解码阶段之间通过跳过连接来连接的方法,以便在不同的分辨率上合并输出。这有助于恢复在下采样操作期间丢失的空间信息,从而预测更精确的输出。与编码器类似,解码器由四个阶段组成,每个阶段都包含一个使用反卷积来增加特征图分辨率的上采样层,然后是 EPA 模块(除了最后一个解码器)。在每两个解码器阶段之间,通道数减少了一倍。因此,最后一个解码器的输出与卷积特征图融合,以恢复空间信息并增强特征表示。然后将得到的输出输入 3×3×3 和 1×1×1 卷积块,生成体素方面的最终掩码预测。

接下来是 EPA 模块的介绍。EPA 模块执行高效的全局注意力,有效地捕获丰富的空间-通道特征表示。EPA 模块包括空间注意力和通道注意力模块。空间注意力模块将自我关注的复杂度从二次降低到线性。另一方面,通道注意力模块有效地学习通道特征图之间的相互依赖性。EPA 模块基于两个注意力模块之间的共享key和query方案,以便互相信息交流,以生成更好、更高效的特征表示。这可能是因为通过共享key和query来学习互补特征,但使用不同的值层。

实验

在abdominal multi-organ Synapse dataset中,对比SOTA模型,UNETR++仅用了其1/3的参数量和1/4的计算量取得了最高的精度。

在多器官分割的BTCV测试集中,UNETR++的综合精度比SOTA模型高出1.5%以上。

在ACDC数据集中,UNETR++的综合精度比SOTA模型高出0.2%以上。

将EPA模块分别应用在编码器和解码器的精度提升。

效果展示

可以很清晰地观察到,无论是小体积还是粘连等复杂场景,UNETR++都能略胜一筹。

局限性

本文所提出的UNETR++在三种医学图像分割数据集上均以更少的模型复杂度获得了更高的分割精度,超越了目前所有的医学图像分割SOTA模型。然而,在对于以下两种情况:器官形状模糊以及器官边界不明显,UNETR++也无法很好的分割。这是由于这些困难场景样本远少于正常场景样本,导致模型无法很好地关注到困难样本特征。未来,作者将会在数据预处理阶段使用特定的几何数据增强技术来对这些困难场景进行针对性的优化。

总结

  1. 本文提出了一种用于3D医学图象分割的分层方法:UNETR++。通过引入有效的配对注意力(EPA)模块,UNETR++能够丰富空间和通道之间相关依赖的特征

  2. 在配对注意力(EPA)模块中,共享query和key的映射函数权重能够使得空间和通道分支进行更高效地交流特征信息,这可以为双方提供互补的有益特征并且降低参数量。

  3. UNETR++在三个国际著名医学图象分割数据集中均以更少的模型复杂度取得最更高的精度结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_237148.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring MVC【创建与使用】

Spring MVC【创建与使用】🍎一.Spring MVC介绍🍒1.1 什么是SpringMVC?🍒1.2 MVC 定义🍒1.3 Spring MVC 与 MVC 的区别🍒1.4 Spring MVC的基本功能🍎二. Spring MVC项目的创建🍒2.1 Spring MVC …

[附源码]计算机毕业设计PythonQ宝商城(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

WebService基于Baidu OCR和Map API的导航服务

哈尔滨工业大学国家示范性软件学院 《面向服务的软件系统》大作业 项目题目: 基于OCR和地图API的路牌定位与导航服务 项目组成员: 姓名 学号 李启明 120L021920 完成日期: 2022年 12 月 15 日 1.选题 1.1 作业…

Spring Boot热部署配置

⭐️前言⭐️ 在我们进行Spring Boot项目的编写过程中,会有局部的代码,发生一些变动,这时候,我们只有将项目重启,发生变动的代码才能够生效,为了解决这个问题,我们可以设置Spring Boot热部署&a…

【财务】FMS财务管理系统---应收管理

笔者前面介绍了FMS财务管理系统相关逻辑结构,本篇文章继续对应收管理进行了系统的介绍,希望通过此文能够加深你对FMS财务管理系统的认识。 上一篇主要介绍了财务进销存系统的数据流与模块组成,知道了FMS系统中数据的来源并从系统结构上说明了…

Wireshark 实验

本部分按照数据链路层、网络层、传输层以及应用层进行分类,共有 10 个实验。需要使用协议分析软件 Wireshark 进行,请根据简介部分自行下载安装。 准备 请自行查找或使用如下参考资料,了解 Wireshark 的基本使用: 选择对哪块网…

Linux——linux面试题

cat a.txt | cut -d "/" -f 3 | sort | uniq -c |sort -nrgrep ESTABLISHED | awk -F " " {print $5} |cut -d ":" -f 1 | sort |uniq -c | sort -nr找回mysql的root用户的密码 首先,进入到/etc/my.cnf,插入一句skip-gra…

Linux——虚拟机安装Linux系统

实验1-2 虚拟机安装Linux系统 VMware 9.0 虚拟机Linux镜像ISO文件相关工具可以在这里边找到 http://pan.baidu.com/s/1ntA18FJ 或者请自行下载使用 创建新的虚拟机,如下图: 下一步:选择安装配置类型为“典型”如下图: 下一步&…

大厂频频裁员,0基础转行做IT是不是已经晚了

现在转行做程序员是不是已经晚了 转行不会晚,晚的是你数不清的犹豫 对于二十来岁刚毕业或者毕业没几年的人来说,经历过社会的“摧残”,面对着一眼能够望到头的工作,拿着也不太高的工资,总是会去寻求一些改变与其每天…

net/http 库的客户端实现(上)

前言 Go语言标准库 net/http 是一个非常强大的标准库,使得构建 HTTP 请求和编写 Web 服务器的工作变得非常简单。 我们来看看是他是如何实现客户端和服务端的。 使用示例 假设本地有一个GET方法的HTTP接口,响应 Hello World! 使用 net/ht…

密西根大学张阳实验室郑伟博士在CASP15蛋白质结构预测大赛中斩获多项冠军

简报:在有着蛋白质结构预测领域奥林匹克竞赛之称的最新一届CASP比赛中(CASP15),密西根大学张阳教授和Peter Freddolino教授实验室的郑伟博士在多个比赛项目中获得冠军。其中D-I-TASSER算法(参赛名:“UM-TBM…

python中调用命令行执行外部程序

🌞欢迎来到python的世界 🌈博客主页:卿云阁 💌欢迎关注🎉点赞👍收藏⭐️留言📝 🌟本文由卿云阁原创! 🌠本阶段属于练气阶段,希望各位仙友顺利完成…

Web前端大作业——城旅游景点介绍(HTML+CSS+JavaScript) html旅游网站设计与实现

👨‍🎓学生HTML静态网页基础水平制作👩‍🎓,页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码,这是一个不错的旅游网页制作,画面精明,排版整洁,内容…

【YOLOv7-环境搭建】PyTorch安装后输出版本显示No module named ‘Torch’的解决方法

可能一:PyCharm环境导入错误 配置的解释器,必须为所创建的虚拟环境下的python.exe文件,别的路径下的python.exe文件不好使!! 解决方法:根据【YOLOv7-环境搭建③】PyCharm安装和环境、解释器配置文中配置解…

spring @annotation 注解

切入点函数:用于执行切入点函数 1.execution 1.最为重要的切入点函数,功能最全 2.可以执行方法切入点表达式,可以执行类切入点表达式,可以执行包切入点表达式 弊端:书写比较麻烦 2.args 1.作用:主要用…

零基础怎么学Python编程,新手常犯哪些错误?

Python是人工智能时代最佳的编程语言,入门简单、功能强大,深获初学者的喜爱。 很多零基础学习Python开发的人都会忽视一些小细节,进而导致整个程序出现错误。下面就给大家介绍一下Python开发者常犯的几个错误。 1、错误的使用变量。 在Pyt…

三面美团测开岗,HR 现场直接发 offer,他是横着走出来的

前情提要 这是一个发生在我朋友身上的真实事情: 这里就叫他程序员 Y 吧。 程序员 Y 工作不到两年,周末在朋友圈发了个喜报,准备入职美团。 之后,我就带着祝福跟 Y 聊了许久,聊天的内容就是具体了解一下他面试的过程…

行为树 --- [7] BehaviorTree.CPP 4.x版本的编译及使用

根据BehaviorTree.CPP的官方介绍,3.x版本已经不再维护了,建议使用4.x版本, 4.x版本和3.x版本的区别可以看这里 — https://www.behaviortree.dev/migration 本文介绍4.x版本的编译及使用,环境是Debian 10.5,编译器是…

非零基础自学Golang 第12章 接口与类型 12.2 接口的创建与实现 12.2.1 接口创建

非零基础自学Golang 文章目录非零基础自学Golang第12章 接口与类型12.2 接口的创建与实现12.2.1 接口创建第12章 接口与类型 12.2 接口的创建与实现 Go语言接口是方法的集合,使用接口是实现模块化的重要方式。 下面将重点介绍如何创建和实现一个Go语言接口。 12…

一篇文章带你轻松手撕AVL树的构建

1.AVL树介绍 我们知道一般情况下二叉搜索树的查找效率是很高的,但是遇到极端情况下时间复杂度就会来到O(N) 那么为了消除这种极端情况的影响,我们就需要调节这个二叉树通过一些操作转成一颗二叉平衡树,调节完毕就会得到一颗AVL树。 2.AVL树模…