【小样本图像分割-4】nnU-Net: Self-adapting Framework for U-Net-Based Medical Image Segmentation

简介: 《nnU-Net: 自适应框架用于基于U-Net的医学图像分割》是一篇2018年的论文,发表在Nature上。该研究提出了一种自适应的医学图像分割框架nnU-Net,能够自动调整模型的超参数以适应不同的数据集。通过2D和3D U-Net及级联U-Net的组合,nnU-Net在10个医学分割数据集上取得了卓越的性能,无需手动调整。该方法强调数据增强、预处理和训练策略等技巧,为医学图像分割提供了一个强大的解决方案。

【小样本图像分割-4】nnU-Net: Self-adapting Framework for U-Net-Based Medical Image Segmentation

image-20240821180027918

这是一个2018年的文章,其中很多医学图像分割领域的专家都知道的论文,虽然不是完全的小样本学习,我这里也还是放在这里做一个简单的笔记。牛逼的是,这个文章后面是发表在nature上的。

文章的地址:[1809.10486] nnU-Net: Self-adapting Framework for U-Net-Based Medical Image Segmentation (arxiv.org)

代码的地址:github.com

摘要

nnU-Net 中的nn分别表示no和new,这个网络不能算作是小样本的医学图像分割方法,但是可以作为一种自适应的医学图像分割方法。该方法能够根据数据集的内容自动的修改模型的超参数,让你的unet模型更加适配你的数据集,从而可以得到一个比较sota的模型。这里作者实践出真知,在比赛中提供了10个数据集上都拿到了不错的成绩,并且这个模型中使用的一些tricks在后续的比赛中都可以借鉴。

U-Net于2015年推出。凭借其简单而成功的架构,它迅速发展成为医学图像分割中常用的基准。然而,U-Net对新问题的适应包括关于精确架构、预处理、训练和推理的几个自由度。这些选择不是相互独立的,并且会对整体性能产生重大影响。本文介绍了nnU-Net(“nonew-Net”),它是一种基于2D和3D vanilla U-Nets的鲁棒自适应框架。我们认为去掉许多网络设计中多余的花里胡哨,而把重点放在其他方面,使方法的性能和通用性。我们在医学分割十项挑战的背景下评估了nnU-Net,该挑战测量了包含不同实体、图像模式、图像几何形状和数据集大小的10个学科的分割性能,不允许在数据集之间进行手动调整。在稿件提交时,nnU-Net在挑战的在线排行榜上获得了所有类别和七个阶段1任务(脑瘤1类除外)的最高平均骰子分数。

当前的主要问题是很多医学图像分割的方法都是在各自的任务上设计了特殊的结构,才让各自的任务达到了最佳,但是这些方法切换一个任务效果就会下降很多。The Medical Segmentation Decathlon计划通过这种方式解决这个问题:希望参赛者设计一种算法,在10种数据集上进行测试,都能够达到很好的效果,而算法不能够针对某种数据集进行人为的调整,只能自动的去适应。

所以作者这里的方法没有侧重于网络结构,而是更多地侧重于tricks,包括数据增强、预处理和训练策略以及后处理方面。

作者提出的方法

模型方面

首先是模型方面,因为作者后面使用到了模型集成的技术,模型集成也就是使用了多个模型进行投票,按照作者原文的方法,作者通过排列组合的方式两两去组合模型,得到结果之后选择投票分数最高的进行预测,其中选择模型的依据是根据五折交叉验证中选择平均分数来决定。作者这里使用了3个模型,分别是2d-unet、3d-unet和作者提出的cascade-unet。

2d-unet : 直观地说,在3D医学图像分割的背景下使用2D U-Net似乎是次优的,因为沿着z轴的有价值的信息不能被聚合和考虑。然而,有证据表明,如果数据集是各向异性的,传统的3D分割方法的性能会下降

3d-unet: 3D U-Net似乎是选择3D图像数据的合适方法。在一个理想的世界里,我们会在病人的整个图像上训练这样一个架构。然而,在现实中,我们受到可用GPU内存数量的限制,这使得我们只能在图像补丁上训练这种架构。虽然对于由较小图像组成的数据集(按每个患者的体素数计算),如脑肿瘤、海马体和前列腺数据集来说,这不是问题,但对于具有大图像的数据集(如肝脏)来说,基于补丁的训练可能会阻碍训练。这是由于建筑的视野有限,因此无法收集足够的上下文信息,例如,正确区分肝脏的部分和其他器官的部分。

cascade-unet: 为了解决3D U-Net在大图像数据集上的这个实际缺点,我们另外提出了一个级联模型。因此,首先在下采样图像上训练3D U-Net(阶段1)。然后将该U-Net的分割结果上采样到原始体素间隔,并作为额外的(一个热编码)输入通道传递给第二个3D U-Net,后者在全分辨率的补丁上进行训练(阶段2)。

image-20240821173512311

网络自适应的策略是:我们从网络配置开始,我们知道它与我们的硬件设置一起工作。对于2D U-Net,该配置是输入补丁大小为256×256,批处理大小为42,最高层中有30个特征图(每次下采样特征图的数量增加一倍)。我们自动将这些参数调整到每个数据集的中位数平面大小(其中我们使用平面内间距最小的平面,对应于最高分辨率),以便网络有效地在整个切片上进行训练。我们将网络配置为沿着每个轴进行池,直到该轴的特征映射大小小于8(但不超过最多6个池化操作)。就像2D U-Net一样,我们的3D U-Net使用最高分辨率层的30个特征图。这里我们从输入补丁大小为128 × 128 × 128的基本配置开始,批处理大小为2。由于内存限制,我们没有将输入补丁体积增加到1283体素以上,而是将输入补丁大小的纵横比与数据集体素中位数大小的纵横比相匹配。如果数据集的中位数形状小于1283,那么我们使用中位数形状作为输入patch大小并增加批大小(以便处理的体素总数与128 × 128 × 128和批大小为2相同)。就像2D U-Net一样,我们沿着每个轴进行池(最多5次),直到特征地图具有大小8. 对于任何网络,我们将每个优化器步骤处理的体素总数(定义为输入补丁体积乘以批处理大小)限制为最大值数据集的5%。对于过多的情况,我们减少批大小(下界为2)。

通过这样的设计得到的网络结构如下:

image-20240821175228151

另外作者还采用了切片、重采样、归一化等一系列的技术保证数据的分布尽可能科学。切片之后可能会导致网络中有大量的背景类存在,为此,为了提高网络训练的稳定性,我们强制要求批处理中超过三分之一的样本至少包含一个随机选择的前景类。推理的时候使用五折交叉验证,验证之后的结果通过后处理来进行操作,对训练数据进行所有地面真值分割标签的连通成分分析。如果一个类在所有情况下都位于单个连接的组件中,则此行为将被解释为数据集的一般属性。因此,在相应数据集的预测图像上,除了最大的连接组件外,该类的所有组件都被自动删除。以及最终的结果由多个模型投票得出。

本方法的一些效果

作者给出了在榜单上的效果,可以说是遥遥领先。

image-20240821175558388

结论

总的来说,是一份非常工程化的论文,也可以说是非常实际化的一篇论文,除了论文之外,很多比赛、项目都是要效果的。同样的,在这样的基础上,可以将现在的一系列的sam、transoformer的方法移动到这个二阶段的分割网络上面,从小样本或者单纯网络结构改进的角度出来,应该可以得到不错的效果。

目录
相关文章
|
2天前
|
编解码 Java 程序员
写代码还有专业的编程显示器?
写代码已经十个年头了, 一直都是习惯直接用一台Mac电脑写代码 偶尔接一个显示器, 但是可能因为公司配的显示器不怎么样, 还要接转接头 搞得桌面杂乱无章,分辨率也低,感觉屏幕还是Mac自带的看着舒服
|
4天前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1540 5
|
1月前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
7天前
|
人工智能 Rust Java
10月更文挑战赛火热启动,坚持热爱坚持创作!
开发者社区10月更文挑战,寻找热爱技术内容创作的你,欢迎来创作!
578 22
|
4天前
|
存储 SQL 关系型数据库
彻底搞懂InnoDB的MVCC多版本并发控制
本文详细介绍了InnoDB存储引擎中的两种并发控制方法:MVCC(多版本并发控制)和LBCC(基于锁的并发控制)。MVCC通过记录版本信息和使用快照读取机制,实现了高并发下的读写操作,而LBCC则通过加锁机制控制并发访问。文章深入探讨了MVCC的工作原理,包括插入、删除、修改流程及查询过程中的快照读取机制。通过多个案例演示了不同隔离级别下MVCC的具体表现,并解释了事务ID的分配和管理方式。最后,对比了四种隔离级别的性能特点,帮助读者理解如何根据具体需求选择合适的隔离级别以优化数据库性能。
201 3
|
10天前
|
JSON 自然语言处理 数据管理
阿里云百炼产品月刊【2024年9月】
阿里云百炼产品月刊【2024年9月】,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。
阿里云百炼产品月刊【2024年9月】
|
10天前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
578 5
|
23天前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
6天前
|
XML 安全 Java
【Maven】依赖管理,Maven仓库,Maven核心功能
【Maven】依赖管理,Maven仓库,Maven核心功能
233 3
|
9天前
|
存储 人工智能 搜索推荐
数据治理,是时候打破刻板印象了
瓴羊智能数据建设与治理产品Datapin全面升级,可演进扩展的数据架构体系为企业数据治理预留发展空间,推出敏捷版用以解决企业数据量不大但需构建数据的场景问题,基于大模型打造的DataAgent更是为企业用好数据资产提供了便利。
327 2