UNETR++:深入研究高效和准确的3D医学图像分割

论文:https://arxiv.org/abs/2212.04497

代码:GitHub - Amshaker/unetr_plus_plus: UNETR++: Delving into Efficient and Accurate 3D Medical Image Segmentation

机构:Mohamed Bin Zayed University of Artificial Intelligence1, University of California Merced2, Google Research3, Linkoping University4

UNETR++作者和UNETR居然完全不沾边来着,继续找思路所以主要写写方法部分,别的部分简略一点.....!感觉挺有收获的!

摘要

由于Transformer模型的成功,最近的工作研究了它们在三维医学分割任务中的适用性。在Transformer模型中,自注意力机制是努力获取远程依赖关系的主要构建块之一。然而,自注意运算具有二次复杂度,这被证明是一个计算瓶颈,特别是在体积医学成像中,其中输入是三维的,有许多切片。在本文中,我们提出了一种名为unetr++的三维医学图像分割方法,该方法既提供了高质量的分割mask,又在参数、计算成本和推理速度方面具有效率。我们设计的核心是引入一种新的高效成对注意(efficient paired attention, EPA)块,该块使用基于空间和通道注意的一对相互依赖的分支有效地学习空间和通道方面的判别特征。我们的空间注意公式是有效的,具有相对于输入序列长度的线性复杂性(linear complexity)。为了实现空间分支和以通道为中心的分支之间的通信,我们共享查询(query)和键映射(key mapping)功能的权重,这些功能提供了互补的好处(配对关注),同时还减少了整体网络参数。我们对Synapse、BTCV、ACDC、BRaTs和Decathlon-Lung这五个基准进行了广泛的评估,揭示了我们在效率和准确性方面的贡献的有效性。在Synapse上,我们的UNETR++设置了一个新的最先进的骰子得分为87.2%,同时与文献中最好的方法相比,在参数和FLOPs方面都降低了71%以上,效率显著。

背景

早期基于CNN的网络受限于他们的感受野,但是基于transformer的方法计算成本高

后面也冒出了一些混合方法,一些用基于transformer的encoder和卷积的decoder,另外一些设计编码器和解码器子网的混合块。但是这些网络主要关注于提高分割进度,这反过来又大大增加了模型在参数和FLOPs的大小,导致鲁棒性不理想。我们认为这是由于他们低效的self-attention的设计,在体数据分割中显露出更大的问题。此外,这些现有的方法没有捕捉到空间和通道特征之间的显式依赖关系,这可以提高分割质量。在这项工作中,我们的目标是在一个统一的框架中同时提高分割精度和模型效率。

贡献

1)我们提出了一种高效的混合分层结构用于三维医学图像分割,命名为unetr++,力求在参数、FLOPs和推理速度方面实现更好的分割精度和效率。基于最近的UNETR框架[13],我们提出的UNETR++分层方法引入了一种新的高效的对注意力(EPA)块,该块通过在两个分支中应用空间和通道注意力有效地捕获丰富的相互依赖的空间和通道特征。我们在EPA中的空间注意将键和值投射到一个固定的低维空间,使自注意计算相对于输入令牌的数量呈线性。另一方面,我们的通道注意通过在通道维度中执行查询和键之间的点积操作来强调通道特征映射之间的依赖关系。此外,为了捕获空间和通道特征之间的强相关性,查询和键的权重在分支之间共享,这也有助于控制网络参数的数量。相反,值的权重保持独立,以强制学习两个分支中的互补特征。

2)我们通过在五个基准上进行全面实验来验证我们的UNETR++方法:
Synapse[19]、BTCV[19]、ACDC[1]、BRaTs[24] Decathlon-Lungs[30]。定性和定量结果都证明了UNETR++的有效性,与文献中已有的方法相比,在分割精度和模型效率方面都有更好的表现。

相关工作

CNN-based Segmentation Methods 

unet,多尺度三维全卷积,nnunet

金字塔[35]、大核[26]、扩展卷积[6]和可变形卷积[20]等方法,在基于cnn的框架内编码整体上下文信息

Transformers-based Segmentation Methods

ViT, 1d-embedding,shifted windows for 2D

Hybrid Segmentation Methods

TransFuse[34]提出了一种带有BiFusion模块的并行cnn-Transformer架构,用于融合编码器中的多级特征。

MedT[31]在自注意中引入了门控的位置敏感轴向注意机制来控制编码器中的位置嵌入信息,而解码器中的ConvNet模块产生分割模型。

TransUNet[5]结合了Transformer和U-Net架构,其中Transformer对来自卷积特征的嵌入图像补丁进行编码,解码器将上采样编码特征与高分辨率CNN特征相结合进行定位。

Ds-transunet[21]采用双尺度编码器 Swin-transformer[22]处理多尺度输入,并通过自注意编码来自不同语义尺度的局部和全局特征表示。

UNETR,三维混合模型, 该模型将变压器的远程空间依赖关系与CNN的感应偏置结合成“u形”编码器结构。其参数量是nnunet的2.5倍,但是如果nnFormer要在UNETR的基础上获得了更好的性能,需要进一步增加了1.6X参数和2.8Xflop。 UNETR:用于三维医学图像分割的Transformer-CSDN博客

nnFormer, 该方法适应swing - unet[3]架构。在这里,卷积层将输入扫描转换成三维patches,并引入基于体积的自关注模块来构建分层特征金字塔。nnFormer在取得良好性能的同时,其计算复杂度明显高于UNETR和其他混合方法。

我们认为上述混合方法难以有效捕获特征通道之间的相互依赖关系,以获得丰富的特征表示,既编码空间信息,也编码通道间的特征依赖关系。

方法

我们首先确定了我们要设计混合框架的两个理想属性:

1)Efficient Global Attention 高效的全局注意力:

在体积医学分割的情况下,计算上是昂贵的,并且在混合设计中交织窗口关注和卷积组件时变得更加成问题。与这些方法不同的是,我们认为跨特征通道计算自关注而不是计算体积维度,有望将相对于体积维度的复杂性从二次型降低到线性型。此外,通过将键和值的空间矩阵投影到较低维空间中,可以有效地学习空间注意信息。

2) Enriched Spatial-channel Feature Representation丰富的空间通道特征表示:

现有的混合体医学图像分割方法大多是通过注意力计算来捕获空间特征,而忽略了以编码不同通道特征映射之间相互依赖关系的形式来获取通道信息。

整体框架

我们的UNETR++框架基于最近推出的UNETR[13],在编码器和解码器之间使用跳过连接,然后是卷积块(ConvBlocks)来生成预测掩码。

我们的unetr++采用分层设计,而不是在整个编码器中使用固定的特征分辨率,其中特征的分辨率在每个阶段逐渐降低两倍。在我们的UNETR++框架中,编码器有四个阶段,其中第一阶段包括Patch embedding,将体积输入划分为3D补丁,然后是我们新颖的高效成对注意(EPA)块。

Patch embedding

UNETR++的这个部分和 UNETR挺像的呢,但是有点好奇的是为什么UNETR里面用的直接是P,而没有分为P1,P2,P3这样,到时候看看代码其中P1,P2,P3是否不同好了

把3D输入 x∈R  HxWxD 变成不重叠的补丁 xu∈R Nx(P1,P2,P3),其中P1,P2,P3是每个patch的分辨率, N=H/P1 x W/P2 xD/P3,是序列长度。

然后,将这些补丁投影到C通道维度,得到的特征图尺寸为 H/P1 x W/P2 xD/P3 x C

对于每个剩余的编码器阶段,我们使用非重叠卷积的下采样层将分辨率降低两倍,然后是EPA块。

在我们提出的unetr++框架中,每个EPA块包括两个注意模块,通过使用共享关键字查询方案对空间和通道维度的信息进行编码,有效地学习丰富的空间通道特征表示

在我们提出的unetr++框架中,每个EPA块包括两个注意模块,通过使用共享keys-queries方案对空间和通道维度的信息进行编码,有效地学习丰富的空间通道特征表示。编码器级通过skip-connection 与解码器级连接以合并不同分辨率的输出。这可以恢复下采样操作期间丢失的空间信息,从而预测更精确的输出。与编码器类似,解码器也包括四个阶段,其中每个解码器阶段包括一个上采样层,使用反卷积将特征图的分辨率提高两倍,然后是EPA块(最后一个解码器除外)。Channel 的数量在每两个解码器阶段之间减少2倍。因此,最后一个解码器的输出与卷积特征映射融合,以恢复空间信息并增强特征表示。然后将结果输出馈送到3x3x3和1x1x1个卷积块中以生成voxel-wise的最终掩码预测。

Efficient PairedAttention Block

空间注意模块将自注意的复杂度从二次型降低到线性型。另一方面,通道注意模块有效地学习了通道特征映射之间的相互依赖关系。EPA块基于两个注意模块之间的共享keys-queries查询方案,以相互通知,以产生更好和更有效的特征表示。这可能是由于通过共享keys-queries来学习互补特性,但使用不同的value layer。

如图所示,输入特征映射x被馈送到EPA块的通道和空间注意模块。

Q和K线性层的权值是在两个注意模块之间共享的,每个注意模块使用不同的V层。两个注意模块计算为:

其中,^X s和^X c分别表示空间和通道注意图。SA为空间注意模块,CA为通道注意模块。Qshared、Kshared、Vspatial和Vchannel分别是共享查询、共享键、空间值层和通道值层的矩阵。!就是这里的QK都是共享的但是值做单独注意

Spatial attention

我们用这个模块把获取空间信息的复杂度从O(n^2)降低到O(np) (所以到底和原先的相比怎么降的呢🤔),其中n为记号的个数,p为投影向量的维数,其中p << n。

给定shape为 HW DXC的归一化张量x,我们使用三个线性层计算Qshared, Kshared和vspace投1影,收益率Qshared = WQX, Kshared=WKX, vspace =WVX,其中,WQ、WK、WV分别为Qshared、Kshared、Vspatial的投影权值。

1)Kshared和Vspatial层从HWD XC投影到形状为p C的低维矩阵中。(坏了我怎么记得是把channel压瘪,我再回去看看先)

2)其次,通过将Qshared层乘以投影Kshared的转置来计算空间注意图,然后使用softmax来度量每个特征与其他空间特征之间的相似性。

3)这些相似度乘以投影的vspace层,生成shapeHWDxC的最终空间注意图。空间注意的定义如下:

(我记忆中的空间注意力是CBAM的这个↓

Channel attention 

该模块通过在通道值层和通道注意图之间的通道维度中应用点积运算来捕获特征通道之间的相互依赖关系。

利用空间注意模块相同的Qshared和Kshared,计算通道的值层,利用线性层学习互补特征,得到Vchannel = WVX,维数为 HWDxC,其中wv为Vchannel的投影权值。

定义如下

式中,Vchannel、Qshared、Kshared分别表示通道值层、共享查询、共享键,d为每个向量的大小。

最后,我们对两个关注模块的输出进行和融合,并通过卷积块对其进行变换,以获得丰富的特征表示。EPA块的最终输出^X为:

其中,^X s和^X c表示空间和通道注意图,Conv1和Conv3分别为1x1x1和3x3x3卷积块。

dbq我到时候在琢磨一下CBAM的通道和空间注意力和这个什么关系好了,感觉不太一样

损失函数

soft dice loss + cross-entropy loss

式中,I为类数;V为体素数;Yv;i和Pv;i分别表示类i在体素v处的真实情况和输出概率。

实验

数据集

Synapse 多器官CT分割

BTCV 多器官CT分割

ACDC 心脏自动诊断

BraTS 脑肿瘤分割

Decathlon-Lung

实现细节

Pytorch v1.10.1, MONAI库(可恶这个也用的是那个库,我有空直接进行一个学!)

硬件:A100 40GB GPU

1k epochs

learning rate :0.01 , weight decay :3e^5.

评估指标

Dice Similarity Coefficient (DSC

95% Hausdorff Distance (HD95

结果

Synapse

BTCV

ACDC

BRATS

Lungs

展望

为了观察UNETR++的潜在局限性,我们分析了Synapse的不同异常情况。虽然我们的预测比现有的方法更好,更接近真实情况,但我们发现,在一些情况下,我们的模型和现有的方法一样,难以分割某些器官。当一些切片中器官的几何形状异常(由细边界描绘)时,我们的模型和现有的模型很难准确地分割它们。原因可能是与正常样本相比,具有这种异常形状的训练样本的可用性有限。我们计划在预处理阶段应用几何数据增强技术来解决这个问题。

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

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

相关文章

工业级5G路由器:稳定性更高,网络速度更快!

随着5G技术的发展&#xff0c;5G路由器也越来越受到人们的关注。特别是工业级5G路由器&#xff0c;它的应用范围更广&#xff0c;稳定性更高&#xff0c;网络速度更快&#xff0c;已成为许多企业和工业领域的必备选择。 一、工业级5G路由器的特点 工业级5G路由器具有很多独特的…

社区物联网云服务架构设计

文章目录 1 摘要2 架构图2.1 社区物联网云服务网络拓扑图2.2 社区物联网云服务通讯流程图2.3 社区远程开锁功能流程图 3 应用场景 1 摘要 随着社区管理越来越智能化&#xff0c;社区物联网升级与改造的市场空间也越来越大。社区物联网包含楼宇对讲、门禁门锁、通道闸等等设备系…

Vue3(setup)中使用vue-cropper图片上传裁剪插件,复制代码直接使用

最近在项目中用到上传裁剪&#xff0c;看了一下代码&#xff0c;觉得这插件可可以。梳理了一下代码分享给大家 前端UI组件element-plus 如果你也用到了 &#xff0c;快速帮你解决了问题,别忘记点赞收藏 1.首先看效果图 因为版本vue-cropper 众多 &#xff0c;虽然网上有各…

S71200通过PROFINET协议和岛电数字控制器通讯

项目要求 西门子S71200PLC需要通过PROFINET协议和岛电数字控制器&#xff08;型号&#xff1a;SRS13A&#xff09;通讯&#xff0c;读取温度的测量值PV和设定值SV。 项目实施 采用NET90-PN-MBT&#xff08;以下简称“网关”&#xff09;&#xff0c;它是一款将Modbus TCP/RT…

用户隐私与游戏体验如何平衡?第二周 Web3 开发者集结精华回顾

由 TinTinLand 联合 Dataverse 、Web3Go 、Subquery 、Cregis 、Litentry、Aspecta、SpaceID、ANOME、VARA&Gear、Moonbeam、Mantle、Obelisk 等 10 余家 Web3 项目共同举办的 Web3 开发者赢积分活动已举办至第三周。精彩线上主题活动分享、近距离交流体验互动&#xff0c;…

京东采销面对面,洞悉行业新趋势 京东3C数码生态大会在武汉圆满举行

为促进湖北省3C数码产业发展&#xff0c;本地企业降本增效、促进行业交流、充分发挥京东集团全链路生态服务能力&#xff0c;支持地方3C特色产业提质增量。2023年11月23日&#xff0c;由京东零售、京东物流主办&#xff0c;湖北省电子商务行业协会联合协办的“聚力共赢、携手共…

想问问各位大佬,网络安全这个专业普通人学习会有前景吗?

网络安全是一个非常广泛的领域&#xff0c;涉及到许多不同的岗位。这些岗位包括安全服务、安全运维、渗透测试、web安全、安全开发和安全售前等。每个岗位都有自己的要求和特点&#xff0c;您可以根据自己的兴趣和能力来选择最适合您的岗位。 渗透测试/Web安全工程师主要负责模…

山西电力市场日前价格预测【2023-11-25】

1.日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-11-25&#xff09;山西电力市场全天平均日前电价为312.19元/MWh。其中&#xff0c;最高日前电价为350.80元/MWh&#xff0c;预计出现在09:15。最低日前电价为273.49元/MWh&#xff0c;预…

NX二次开发UF_CSYS_map_point 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CSYS_map_point Defined in: uf_csys.h int UF_CSYS_map_point(int input_csys, double input_point [ 3 ] , int output_csys, double output_point [ 3 ] ) overview 概述 Ma…

2.19 keil里面工具EventCorder使用方法

设置方法如下&#xff1a; 添加初始化代码如下&#xff1a; eventRecord.c #include "eventRecord.h" #include "usart.h" extern UART_HandleTypeDef *pcControlUart;/* RecordEvent初始化 */ void InitEventRecorder(void) {#ifdef RTE_Compiler_Even…

Elasticsearch知识

目录 Elasticsearch逻辑设计和物理设计 逻辑设计物理设计Elasticsearch原理 倒排索引文档的分析过程保存文档搜索文档写数据的底层原理 数据刷新&#xff08;fresh&#xff09;事务日志的写入ES在大数据量下的性能优化 文件系统缓存优化数据预热文档&#xff08;Document&…

名酒新周期,西凤复兴的“四个自信”

执笔 | 文 清 编辑 | 萧 萧 11月18日&#xff0c;四大名酒之一、凤香品类龙头企业的西凤酒&#xff0c;携全系列产品亮相AIIC酒业创新展暨中国名酒成就展。 在当日下午举行的“筑梦新征程”2023中国名酒纪念大会暨《大师》影像志上线仪式上&#xff0c;陕西西凤酒股份有限…

linux网络之网络层与数据链路层

文章目录 一、网络层 1.IP协议 2.IP协议头格式 3.网段划分 4.特殊ip地址 5.IP地址的数量限制 6.私有ip和公网IP 7.路由 二、数据链路层 1.以太网 2.以太网帧格式 3.MAC地址 4.对比理解MAC地址和IP地址 5.MTU 6.ARP协议 ARP协议的工作流程 ARP数据报的格式 7.DNS 8.ICMP协议 9.N…

无需外接显示器,直接使用windows安装树莓派系统并可远程桌面登录

准备工作: 1.安装树莓派官方烧录工具 raspberry pi imager 2.下载树莓派系统镜像(也可选择在线下载安装) 打开imager工具&#xff0c;选择需要安装包树莓派版本 点击"NEXT"&#xff0c;在弹出的选项中选择编辑设置。 设置登录名和密码&#xff0c;已经所连接的wif…

针对CSP-J/S的每日一练:Day 11

一、审题 题目描述 给定两个大小分别为 m m m 和 n n n 的正序&#xff08;从小到大&#xff09;数组 n u m s 1 nums1 nums1 和 n u m s 2 nums2 nums2。请你找出并返回这两个正序数组的中位数。 算法的时间复杂度应该为 O ( l o g ( m n ) ) O(log (mn)) O(log(mn)) 。…

如何做接口测试呢?接口测试有哪些工具!

回想入职测试已经10年时间了&#xff0c;初入职场的我对于接口测试茫然不知。后来因为业务需要&#xff0c;开始慢慢接触接口测试。从最开始使用工具进行接口测试到编写代码实现接口自动化&#xff0c;到最后的测试平台开发。回想这一路走来感触颇深&#xff0c;因此为了避免打…

软件测试基础知识 —— 白盒测试

白盒测试 白盒测试&#xff08;White Box Testing&#xff09;又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试只测试软件产品的内部结构和处理过程&#xff0c;而不测试软件产品的功能&#xff0c;用于纠正软件系统在描述、表示和规格上的错误&#xff0c;…

ESP32 ESP-IDF5.1 在Visual Studio Code中自定义分区表与调整Flash大小

好记心不如烂笔头 使用ESP-IDF开发ESP32的时候,要是同时用到蓝牙和WIFI的话,很多时候会提示Flash不够, 我是照着这样解决的,存档记录 来源 : zaixingxing2539 大佬的 ESP32 ESP-IDF5.0 在VSCODE中自定义分区表 用Visual Studio Code自定义分区表 # ESP-IDF Partition Table…

MATLAB实战 | MEX文件

应用接口是MATLAB与其他语言相互调用各自函数的方法&#xff0c;MEX文件使MATLAB程序中可以调用或链接其他语言编写的函数&#xff0c;而MATLAB引擎使其他语言程序中可以调用MATLAB函数。 01、MEX文件 MEX是MATLAB Executable的缩写&#xff0c;是MATLAB中用于调用其他语言编写…

GEE:生成超链接方式下载影像

作者:CSDN @ _养乐多_ 本文将介绍如何使用Google Earth Engine(GEE)平台以生成下载超链接的形式下载遥感数据。 结果如下图所示,只需点击链接,即可下载数据到本地。 文章目录 一、函数详解二、代码示例一、函数详解 用法返回值Image.getDownloadURL(params, callback)Ob…