赞
踩
nnU-Net: 破除魔咒,一个成功的医学图象分割技术
Author:Fabian Isensee et al.
Abstract.
由于数据集的多样性,语义分割现在是医学图像领域一个非常热门的子环节,大量的新方法每年都会出现。但是,这个野蛮生长的领域,正在日益变得令人捉摸不透。同时,很多新提出的办法不能推广在超出所在实验的范围之外,因此妨碍了在新数据集上继续开发相应的分割算法。现在,我们提出了nnU-Net(‘no new-Net’), 这是一个能够自动适应新数据集的框架。当这一过程现在还完全由人为驱动,我们基于给定的数据集,做出了历史上第一次的自动化适用程序,比如预训练(preprocessing),确定的patch size,batch size和推理设置(inference settings)。值得一提的是,nnU-Net抛弃了结构种零零碎碎的东西,而只依赖于简单U-Net结构,并将其镶嵌在一个鲁棒的训练结构之中。突破了常规,nnU-Net在6个高规格的分割比赛中取得了目前最好的表现。
Source code is available at https://github.com/MIC-DKFZ/nnunet.
Keywords: Medical Image Segmentation · U-Net · Generalization
关键词:医学图象分割 · U-Net · 泛化
1 Introduction
语义分割现在是个热门话题,在医学图象领域70%的国际比赛都是关于这个。引起人们长期兴趣的原因很显然是医学图像领域中遇到的数据集的多样性和独特性。当考虑图像的大小、尺寸、分辨率、体素强度等等,数据集之间的差别常常变得非常之大。 传统的图像标签常常十分地失衡,而且可以是非常模棱两可的,而且医学专家标注的结果,在不同的数据集上,也常常是千差万别的。不仅如此,某些数据集在图像几何和形状等属性上非常不同,切片不对齐和各向异性的问题也非常地严重。总结起来就是,在医学图像上,想泛化一些具有普适性方法是非常地困难。 想要做出新的设计和调整新的设计是非常地难的,而且很多的设计的决定之间的依赖关系非常低复杂。分割相关的论文被发表,很多相关的设计的论文其实根本就是噪音(noise)。这里提供一些常见的很优秀的案例:跳跃连接skip connection的很多变种,首先被引入到U-Net中,其中包括残差连接residual connections。 注意力机制,额外的损失层。特征图重校等。这些修改彼此之间差别很大,但是大多都是聚焦在结构上。一方面是大量的论文被发表,另一方面是大量的千差万别的数据集,越来越难以确定到底哪些设计才是真正适用于所有数据集的好办法。根据我们的经验,很多设计不但没有改善甚至有恶化的作用。 医疗图像领域一个很关键的问题是,对一个旧问题,迁移到新问题的时候,这一过程常常是人为驱动的。大量的论文只会关注于结构的改善,而对超参数则常常略微提及,超参数的不足常由结构的改良所抵消。因为强烈的特定问题的依赖性,和超参数空间里的局部最优使得优化一个普适的办法十分地困难。这也不是任何一个人的问题,这是这个领域的问题。但是这个现状真的是让人很抓狂,特别是医学领域这个领域,数据集之间的异化十分严重。
这篇论文就是在解决这个问题上,向这个方向迈出了第一步:我们提出了一个叫做no-new-Net(nnU-Net)的分割结构,包括一套能够自动适应新数据集的办法。根据对数据集的自动分析,nnU-Net自动设计网络和执行训练流程。在标准原始的U-Net网络结构下,我们认定一套系统地,精心挑选的超参数会产生极具竞争力的表现。实际上,没有任何人工调参操作,这个办法取得了state of the art的表现,在很多高规格医学分割比赛上都是如此。
2 Method
一个分割算法可以表示为function fθ(x) = ˆy ,x表示图片,ˆy表示对应的分割结果,θ是训练和应用方法对应的超参数。θ 的维度可以灰常之高,囊括了预训练的全部实验流程。其他的论文大多聚焦在报告和证实有关θ的超参数的选择上,理想情况下会提供源代码以覆盖全部的θ。
这种做法,缺乏对于问题深入的了解,因为由于不同的数据集的不同属性,θ必须做出变化。这里我们做出了第一次的尝试,试图将这个过程正规化。特别低,我们提出一个function g(X,Y)= θ,这个function能适应不同的数据集。首先,要求首先确认那些不需要调整的超参数, 因为这些参数在我们的案例中反映出简单强大的鲁棒性的训练方案。而那些需要动态调整的超参数,需要依赖X和Y的不同做相应的调整。
其次,我们定义g,代表动态参数,在我们的案例中,表示一系列启发性的设置,它们能够适应正则化和重采样方案,配置patch size、batch size等,并确定网络的几何形状。总而言之,这是nnU-Net,一个分割框架,无需人工自动适应新数据集。
2.1 Preprocessing
Image Normalization.
nnU-Net需要知道其输入通道是哪种形式的。 如果不是CT,则nnU-Net通过减去平均值并除以标准差来归一化强度值。 如果模态是CT,则将收集训练集中的所有前景体素,并基于这些值的0.5%和99.5%进行强度值的类似水平窗口的自动裁剪。 为了符合典型的权重初始化方法,然后使用全局前景均值和标准差对数据进行归一化。所描述的方案被独立地应用于每种情况。 体素间距:nnU-Net收集训练数据中的所有间距,并为每个轴选择中位数作为目标间距。 然后,使用三阶样条插值对所有训练案例进行重新采样。 各向异性间距(此处的平面外间距是平面内间距的三倍)会引起插值伪像。 在这种情况下,平面外插值是使用临近插值完成的。 对于相应的分割标签,通过使用线性插值分别对每个标签重新采样来替换样条插值。
2.2 Training Procedure
Network Architecture.
三个U-net模型彼此独立地配置,设计和训练:一个2D U-Net,一个3D U-Net和两个3D U-Net模型的级联,其中第一个生成低分辨率,随后进行细分 由第二个模型完善。 对原始U-Net体系结构的唯一显着变化是使用填充卷积来实现相同的输出和输入形状,实例规范化和Leaky ReLU(而不是ReLU)。
Network Hyperparameters.
根据预处理训练数据的形状,调整U-Net。具体来说,nnU-Net会自动设置批处理大小,补丁大小和池化操作数,同时将内存消耗保持在一定范围内(12 GB TitanXp GPU)。因此,与大批处理大小(最小批处理大小为2)相比,大补丁大小更受青睐,以最大程度地捕获可捕获的空间上下文。完成沿每个通道的池化,直到进一步池化将使该通道的空间大小减小到4个体素以下。所有的U-Net架构在第一层中都使用30个卷积滤波器,并且在每次池化操作中将这个数量加倍。如果在典型的训练情况下,选定的面片大小不足25%的体素,则将另外配置3D U-Net级联,并在训练数据的下采样版本上进行训练。如果太小而无法覆盖整个分辨率,则级联旨在使nnU-Net仍能获取足够的上下文。
Network Training.
所有UNet架构均经过五重交叉验证训练。一个时期定义为处理250个批次。交叉熵损失和dice损失的总和用作损失函数。 Adam被用作随机梯度下降的优化器,初始学习率为3×10-4,l2权重衰减为3×10-5。每当训练损失的指数移动平均值在最近30个时期内没有提高时,学习率就会下降0.2倍。当学习率降至10-6以下或超过1000个迭代时,训练将停止。在使用batchgenerators framework4进行训练的过程中,我们可以动态地应用数据增强。具体来说,我们使用弹性变形,随机缩放和随机旋转以及伽玛增强。如果数据是各向异性的,则空间变换将被原地应用,类似于2D变换。
2.3 Inference
使用滑动窗口方法对案例进行预测,预测之间的patch size重叠为一半。 相对于边界,这增加了靠近中心的预测的权重。 通过沿所有的轴做镜像来实现测试数据的增强。 nnU-Net集成了两个U-Net配置(2D,3D和级联)的组合,并根据交叉验证结果自动选择最佳的单个模型或整体用于测试集预测。 对于选定的配置,nnU-Net还使用交叉验证生成的五个模型进行集成。
3 Results
4 Discussion
我们介绍了nnU-Net,该框架可自动适应任何给定的医学细分数据集,而无需用户干预。 据我们所知,nnU-Net是形式化数据集之间必要的必要调整的首次尝试。 nnU-Net在六个公开可用的细分挑战中达到了最先进的性能。 鉴于nnU-Net夺走了近几年来大多数较复杂的开发成果,并且仅依赖简单的U-Net架构,所以这一点非常了不起。
最重要的是,我们并未在数据集之间手动调整超参数,并且所有设计选择均由nnU-Net自动确定。 因此,更令人惊讶的是,它在数据集中创造了新的最高的技术水平,特别是与手动调整的算法比较下。 nnU-Net围绕选择通用化的静态设计选择(例如U-Net架构,dice损失,数据扩充和集成)以及由一组规则确定的许多动态设计选择 最终反映出我们的细分专业知识。
但是,这可能不是解决此问题的最佳方法。 给定大量的细分数据集,未来可以尝试直接从数据集的属性中学习。 尽管nnU-Net的特定属性可在许多数据集中实现强大的分割性能,但我们并未声称已找到全局最佳配置。 实际上,查看图2中显示的消融研究,我们发现选择用leaky ReLU代替ReLU不会影响性能,并且我们的数据增强方案可能并不适合所有数据集。 后处理也有待进一步研究。我们在LiTS上的结果表明,适当选择的后处理可能是有益的。 这样的后处理可以通过分析训练数据或根据交叉验证结果选择方案来实现自动化。 进行此类自动化的尝试是用于“十项全能挑战赛”的nnU-Net初始版本的一部分,但后来因过于保守而不能始终如一地改善结果而被放弃。
现在,我们已经建立了迄今为止最强的U-Net基准,现在,我们可以相对于此处采用的普通体系结构,针对其更广泛的通用性以及它们的性能提升,系统地评估更高级的网络设计。 因此,nnU-Net不仅可以用作开箱即用的细分工具,而且可以用作强大的U-Net基准,并且可以用作未来的分割相关的研究基础。
References
略
配图:
nnU-Net: Breaking the Spell on Successful Medical Image Segmentation
nnU-Net: 破除魔咒,一个成功的医学图象分割技术
Author:Fabian Isensee et al.
Abstract.
由于数据集的多样性,语义分割现在是医学图像领域一个非常热门的子环节,大量的新方法每年都会出现。但是,这个野蛮生长的领域,正在日益变得令人捉摸不透。同时,很多新提出的办法不能推广在超出所在实验的范围之外,因此妨碍了在新数据集上继续开发相应的分割算法。现在,我们提出了nnU-Net(‘no new-Net’), 这是一个能够自动适应新数据集的框架。当这一过程现在还完全由人为驱动,我们基于给定的数据集,做出了历史上第一次的自动化适用程序,比如预训练(preprocessing),确定的patch size,batch size和推理设置(inference settings)。值得一提的是,nnU-Net抛弃了结构种零零碎碎的东西,而只依赖于简单U-Net结构,并将其镶嵌在一个鲁棒的训练结构之中。突破了常规,nnU-Net在6个高规格的分割比赛中取得了目前最好的表现。
Source code is available at https://github.com/MIC-DKFZ/nnunet.
Keywords: Medical Image Segmentation · U-Net · Generalization
关键词:医学图象分割 · U-Net · 泛化
1 Introduction
语义分割现在是个热门话题,在医学图象领域70%的国际比赛都是关于这个。引起人们长期兴趣的原因很显然是医学图像领域中遇到的数据集的多样性和独特性。当考虑图像的大小、尺寸、分辨率、体素强度等等,数据集之间的差别常常变得非常之大。 传统的图像标签常常十分地失衡,而且可以是非常模棱两可的,而且医学专家标注的结果,在不同的数据集上,也常常是千差万别的。不仅如此,某些数据集在图像几何和形状等属性上非常不同,切片不对齐和各向异性的问题也非常地严重。总结起来就是,在医学图像上,想泛化一些具有普适性方法是非常地困难。 想要做出新的设计和调整新的设计是非常地难的,而且很多的设计的决定之间的依赖关系非常低复杂。分割相关的论文被发表,很多相关的设计的论文其实根本就是噪音(noise)。这里提供一些常见的很优秀的案例:跳跃连接skip connection的很多变种,首先被引入到U-Net中,其中包括残差连接residual connections。 注意力机制,额外的损失层。特征图重校等。这些修改彼此之间差别很大,但是大多都是聚焦在结构上。一方面是大量的论文被发表,另一方面是大量的千差万别的数据集,越来越难以确定到底哪些设计才是真正适用于所有数据集的好办法。根据我们的经验,很多设计不但没有改善甚至有恶化的作用。 医疗图像领域一个很关键的问题是,对一个旧问题,迁移到新问题的时候,这一过程常常是人为驱动的。大量的论文只会关注于结构的改善,而对超参数则常常略微提及,超参数的不足常由结构的改良所抵消。因为强烈的特定问题的依赖性,和超参数空间里的局部最优使得优化一个普适的办法十分地困难。这也不是任何一个人的问题,这是这个领域的问题。但是这个现状真的是让人很抓狂,特别是医学领域这个领域,数据集之间的异化十分严重。
这篇论文就是在解决这个问题上,向这个方向迈出了第一步:我们提出了一个叫做no-new-Net(nnU-Net)的分割结构,包括一套能够自动适应新数据集的办法。根据对数据集的自动分析,nnU-Net自动设计网络和执行训练流程。在标准原始的U-Net网络结构下,我们认定一套系统地,精心挑选的超参数会产生极具竞争力的表现。实际上,没有任何人工调参操作,这个办法取得了state of the art的表现,在很多高规格医学分割比赛上都是如此。
2 Method
一个分割算法可以表示为function fθ(x) = ˆy ,x表示图片,ˆy表示对应的分割结果,θ是训练和应用方法对应的超参数。θ 的维度可以灰常之高,囊括了预训练的全部实验流程。其他的论文大多聚焦在报告和证实有关θ的超参数的选择上,理想情况下会提供源代码以覆盖全部的θ。
这种做法,缺乏对于问题深入的了解,因为由于不同的数据集的不同属性,θ必须做出变化。这里我们做出了第一次的尝试,试图将这个过程正规化。特别低,我们提出一个function g(X,Y)= θ,这个function能适应不同的数据集。首先,要求首先确认那些不需要调整的超参数, 因为这些参数在我们的案例中反映出简单强大的鲁棒性的训练方案。而那些需要动态调整的超参数,需要依赖X和Y的不同做相应的调整。
其次,我们定义g,代表动态参数,在我们的案例中,表示一系列启发性的设置,它们能够适应正则化和重采样方案,配置patch size、batch size等,并确定网络的几何形状。总而言之,这是nnU-Net,一个分割框架,无需人工自动适应新数据集。
2.1 Preprocessing
Image Normalization.
nnU-Net需要知道其输入通道是哪种形式的。 如果不是CT,则nnU-Net通过减去平均值并除以标准差来归一化强度值。 如果模态是CT,则将收集训练集中的所有前景体素,并基于这些值的0.5%和99.5%进行强度值的类似水平窗口的自动裁剪。 为了符合典型的权重初始化方法,然后使用全局前景均值和标准差对数据进行归一化。所描述的方案被独立地应用于每种情况。 体素间距:nnU-Net收集训练数据中的所有间距,并为每个轴选择中位数作为目标间距。 然后,使用三阶样条插值对所有训练案例进行重新采样。 各向异性间距(此处的平面外间距是平面内间距的三倍)会引起插值伪像。 在这种情况下,平面外插值是使用临近插值完成的。 对于相应的分割标签,通过使用线性插值分别对每个标签重新采样来替换样条插值。
2.2 Training Procedure
Network Architecture.
三个U-net模型彼此独立地配置,设计和训练:一个2D U-Net,一个3D U-Net和两个3D U-Net模型的级联,其中第一个生成低分辨率,随后进行细分 由第二个模型完善。 对原始U-Net体系结构的唯一显着变化是使用填充卷积来实现相同的输出和输入形状,实例规范化和Leaky ReLU(而不是ReLU)。
Network Hyperparameters.
根据预处理训练数据的形状,调整U-Net。具体来说,nnU-Net会自动设置批处理大小,补丁大小和池化操作数,同时将内存消耗保持在一定范围内(12 GB TitanXp GPU)。因此,与大批处理大小(最小批处理大小为2)相比,大补丁大小更受青睐,以最大程度地捕获可捕获的空间上下文。完成沿每个通道的池化,直到进一步池化将使该通道的空间大小减小到4个体素以下。所有的U-Net架构在第一层中都使用30个卷积滤波器,并且在每次池化操作中将这个数量加倍。如果在典型的训练情况下,选定的面片大小不足25%的体素,则将另外配置3D U-Net级联,并在训练数据的下采样版本上进行训练。如果太小而无法覆盖整个分辨率,则级联旨在使nnU-Net仍能获取足够的上下文。
Network Training.
所有UNet架构均经过五重交叉验证训练。一个时期定义为处理250个批次。交叉熵损失和dice损失的总和用作损失函数。 Adam被用作随机梯度下降的优化器,初始学习率为3×10-4,l2权重衰减为3×10-5。每当训练损失的指数移动平均值在最近30个时期内没有提高时,学习率就会下降0.2倍。当学习率降至10-6以下或超过1000个迭代时,训练将停止。在使用batchgenerators framework4进行训练的过程中,我们可以动态地应用数据增强。具体来说,我们使用弹性变形,随机缩放和随机旋转以及伽玛增强。如果数据是各向异性的,则空间变换将被原地应用,类似于2D变换。
2.3 Inference
使用滑动窗口方法对案例进行预测,预测之间的patch size重叠为一半。 相对于边界,这增加了靠近中心的预测的权重。 通过沿所有的轴做镜像来实现测试数据的增强。 nnU-Net集成了两个U-Net配置(2D,3D和级联)的组合,并根据交叉验证结果自动选择最佳的单个模型或整体用于测试集预测。 对于选定的配置,nnU-Net还使用交叉验证生成的五个模型进行集成。
3 Results
4 Discussion
我们介绍了nnU-Net,该框架可自动适应任何给定的医学细分数据集,而无需用户干预。 据我们所知,nnU-Net是形式化数据集之间必要的必要调整的首次尝试。 nnU-Net在六个公开可用的细分挑战中达到了最先进的性能。 鉴于nnU-Net夺走了近几年来大多数较复杂的开发成果,并且仅依赖简单的U-Net架构,所以这一点非常了不起。
最重要的是,我们并未在数据集之间手动调整超参数,并且所有设计选择均由nnU-Net自动确定。 因此,更令人惊讶的是,它在数据集中创造了新的最高的技术水平,特别是与手动调整的算法比较下。 nnU-Net围绕选择通用化的静态设计选择(例如U-Net架构,dice损失,数据扩充和集成)以及由一组规则确定的许多动态设计选择 最终反映出我们的细分专业知识。
但是,这可能不是解决此问题的最佳方法。 给定大量的细分数据集,未来可以尝试直接从数据集的属性中学习。 尽管nnU-Net的特定属性可在许多数据集中实现强大的分割性能,但我们并未声称已找到全局最佳配置。 实际上,查看图2中显示的消融研究,我们发现选择用leaky ReLU代替ReLU不会影响性能,并且我们的数据增强方案可能并不适合所有数据集。 后处理也有待进一步研究。我们在LiTS上的结果表明,适当选择的后处理可能是有益的。 这样的后处理可以通过分析训练数据或根据交叉验证结果选择方案来实现自动化。 进行此类自动化的尝试是用于“十项全能挑战赛”的nnU-Net初始版本的一部分,但后来因过于保守而不能始终如一地改善结果而被放弃。
现在,我们已经建立了迄今为止最强的U-Net基准,现在,我们可以相对于此处采用的普通体系结构,针对其更广泛的通用性以及它们的性能提升,系统地评估更高级的网络设计。 因此,nnU-Net不仅可以用作开箱即用的细分工具,而且可以用作强大的U-Net基准,并且可以用作未来的分割相关的研究基础。
References
略
配图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。