医学影像分割难题获突破:可自动调参,适应所有数据集

2019-05-12    来源:raincent

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

近日,一篇来自德国癌症研究中心、海德堡大学以及海德堡大学医院研究人员的名为nnU-Net的医学影像分割论文引起了广泛关注。

该团队提出了一个可以自适应任何新数据集的医学影像分割框架,该框架能根据给定数据集的属性自动调整所有超参数,整个过程无需人工干预。仅仅依赖于朴素的U-Net结构和鲁棒的训练方案,nnU-Net在六个得到公认的分割挑战中实现了最先进的性能。

摘要

在数据集的多样性的推动下,语义分割是医学图像分析中的一个热门子领域,每年都会有大量的新方法提出。然而,这种不断增长的错综复杂的方法变得越来越难以捉摸。同时,许多提出的方法未能在提出的论文之外进行推广,从而妨碍了在新数据集上开发分割算法的过程。

在这里,我们提出了nnU-Net ('no-new-Net')——一个自适应任何给定新数据集的框架。虽然到目前为止这个过程完全由人为驱动,但我们首先尝试根据给定数据集的属性自动执行必要的调整,例如数据预处理、图像分块大小、批量大小和推理设置。

值得注意的是,nnU-Net去掉了在学界提出的花哨的网络结构,而仅仅依赖于嵌入在鲁棒的训练方案中的朴素U-Net结构。nnU-Net在六个得到公认的的分割挑战中实现了最先进的性能。源代码可在https://github.com/MIC-DKFZ/nnunet获 得。

介绍

语义分割仍然是医学图像计算领域的一个热门研究课题,70%的国际竞赛都是围绕着它展开。引起持久关注的重要原因当然是医学领域中遇到的成像数据集的多样性和个体特性:数据集之间的数据规模、图像维度、图像大小、体素灰度范围和灰度表示方面差别很大。

图像中的类标签可能高度不平衡,也可能不明确,而且数据集之间标注质量的差别也很大。此外,某些数据集在图像几何形状方面非常不均匀,或者可能出现片层不对齐和极不均匀的间距的情况。总而言之,这些情况使得将一项任务的结果推广到其他任务变得更加困难,并且当重新应用这些方法来解决另一个问题时,它们往往会失败。

调整设计决策或提出新设计概念的过程是复杂的:大多数选择高度依赖于彼此,证明选择的证据分布在无数的论文中,其中包括许多“噪音”。所以,近年来学者们提出了大量的分割方法。一个突出的例子是:U-Net这样的带跳过连接的解码-编码结构的各种变体,包括引入残差连接、密集连接、注意力机制、额外辅助的损失层、特征重新校准和其他(如自动聚焦层)。

具体的修改彼此大不相同,但是它们都在网络结构修改上有一个特别的关注点。考虑到大量与分割相关的论文,以及具体实现的多样性以及数据集相关的挑战,越来越难以遵循这些文献来确定哪些设计原则真正地在实验之外得到了推广验证。根据我们自己的经验,许多新的设计概念并没有提升分割性能,有时甚至损害了基线的性能。

当今医学图像计算的一个关键问题是将(分割)方法应用于新问题的过程完全由人为驱动。它基于经验,论文主要关注网络结构,而略过所有其他超参数。基线方法次优调整通常通过新结构的提出来进行补偿。 由于超参数空间中的强依赖性和大量的局部最小值,使得将方法更好地适应新问题变得非常困难,因此在这个循环中的任何人都不能真正地被指责。这种情况对研究人员和整个学术圈来说都是令人沮丧的。特别是在数据集如此多样化的医学成像领域,进展在很大程度上取决于我们解决这些问题的能力。

本文试图朝这个方向迈出第一步:我们提出了no-new-Net(nnU-Net),一种包含自动适应新数据集的分割方法。基于对数据集的自动分析,nnU-Net自动设计并执行网络训练流程。围绕标准的 U-Net网络结构,我们假定通过给定的一组系统且谨慎选择的超参数的分割方法仍将产生有竞争力的性能。实际上,在没有任何手动微调的情况下,该方法在几个有名的医学分割基准上实现了最先进的性能。

方法

分割算法可以形式化为函数fθ(x)= yˆ,其中x是图像,yˆ是相应的预测分割,θ 是训练和应用该方法所需的超参数集合。θ 的维度可以非常大,包括了从预处理到推理的整个流程。许多已有论文通常侧重于报告和证实关于θ 的最相关的选择,理想情况下会提供源代码以完全覆盖θ。但是,如果转换到具有不同属性的新数据集,则此过程缺乏对如何调整θ 的深入了解。 在这里,我们首次尝试将此过程形式化。

具体来说,我们寻找在数据集之间很好地推广的函数g(X, Y)=θ。在第一步中,需要识别那些不需要调整的超参数,在我们的例子中,这些超参数反映了一个强大但简单的分割体系和一个鲁棒的训练方案,这些影响因素都是动态的,需要根据X和Y作出相应改变的。

在第二步中,我们定义动态参数g,在我们的例子中是一组启发式规则,以用于调整规范化和重采样方案,配置图像分块大小和批量大小以及计算网络的具体结构,其包括网络集成和推理方法。总而言之,nnU-Net是一个可以在没有任何用户交互的情况下适应不同未见过数据集的分割框架。

2.1 预处理

图像标准化

这一步骤需要输入数据的模态信息。如果模态不是CT,则nnU-Net通过减去平均值并除以标准差来标准化强灰度值。如果模态是CT,则自动地根据训练集分割前景区域灰度分布的0.5%到99.5%执行强灰度值的类似窗位的剪切。为了符合典型的权重初始化方法,使用全局前景均值和标准偏差对数据进行归一化。

体素间距

nnU-Net会统计训练数据中的所有间距,并且选择每个轴的中值间距作为目标间距。然后使用三阶样条插值对所有训练集进行重采样。各向异性间距(这里特指平面外间距比平面内间距大三倍以上的情况)会引起插值伪影。在这种情况下,我们使用最近邻完成平面外插值。对于相应的每一类分割标签,则使用线性插值来进行重采样。

2.2 训练步骤

网络结构

三个U-net模型(2D U-Net、3D U-Net和两个3D U-Net模型的级联方式)彼此独立配置、设计和训练。在两个3D U-Net模型的级联构架下,其第一个模型产生低分辨率分割结果,随后由第二个模型进行下一步细化。相对于原始的U-Net网络,我们只进行了下面三个改变:其一是使用带边缘填充的卷积操作来实现输出和输入形状的一致,其二是使用实例归一化,其三是使用Leaky ReLUs代替ReLUs。

网络超参数

这些参数需要根据预处理的训练数据的形状来调整。具体来说,nnU-Net自动设置批量大小,图像分块大小和每个轴的pooling次数,使得显存消耗保持在特定范围(12 GB TitanXp GPU)内。在这一步中,较大的h图像分块大小优先于批量大小(最小批量大小为2),以获取更多的空间上下文信息。每个轴的大小会pooling到4个体素以下。所有U-Net结构在第一层使用30个卷积滤波器,并在每个pooling操作时将此数量加倍。如果在典型case中所选择的图像分块大小覆盖的体素少于25%,则会使用下采样的数据训练级联的3D U-Net。级联旨在当图像分块大小太小而无法覆盖整个分辨率,使nnU-Net仍能获得足够的上下文。

网络训练

所有U-Net结构都经过五折交叉验证训练。每轮设置250个小批量。使用交叉熵损失和Dice损失之和作为损失函数。使用Adam作为优化器,初始学习率为 3×10−4 ,l2 权重衰减为 3×10−5。每当训练损失的指数移动平均值在最近30个时期内没有改善时,学习率下降0.2倍。当学习率低于 10−6 或超过1000个训练轮数时,停止训练。我们使用batchgenerators 框架在训练期间进行在线数据增强。具体地,我们使用弹性变形、随机缩放和随机旋转以及gamma增强。如果数据是各向异性的,则在平面内进行2D的空间变换。

2.3 推理

使用滑动窗口方法预测每个Case,其中重叠区域设置为图像分块大小的一半。这增加了靠近中心区域的预测的权重。通过沿所有轴翻转来进行测试数据增强。

nnU-Net集成由两个U-Net组合而成(2D、3D和cascade),并根据交叉验证结果自动选择用于测试集预测的最佳模型或集成。更进一步,nnU-Net还使用交叉验证产生的五个模型进行集成。

结果

nnU-Net最初是在医学分割十项全能挑战赛Decathlon的第一阶段的七个训练数据集上开发的。挑战赛数据集涵盖了医学分割问题中通常遇到的大量差异性和挑战。nnU-Net在医学十项全能分割挑战赛(第一阶段和第二阶段)以及另外五个流行的医学分割挑战进行了评估。所有挑战赛结果如表格1所示。

 

 

图1所示:nnU-Net在各个医学分割数据测试集的性能。所有的排行榜提交都被绘制在上图(截止到19年3月25日)。Decathlon, LiTS, ACDC and BCV的数值为Dice得分,MS lesion和PROMISE12使用了不同的指标。

医学分割十项全能(Decathlon)

该挑战的第一阶段包括上述七个数据集,参与者使用这些数据集来开发可推广的分割算法。在第二阶段,提供了以前未知的三个其他数据集。算法不进行进一步更改或用户交互应用于这些数据集。两个阶段的评估都是在官方测试集上完成的。在第一阶段和第二阶段,nnU-Net在十项全能挑战上有明显的优势。

心脏分割挑战赛(ACDC)

每个心脏的cine-MRI图像的两个时期被分割成三个部分。挑战赛提供了100个训练案例,每个案例有两个时期。我们手动拆分nnU-Nets的数据进行五折交叉验证运行。nnU-Net在开放式排行榜中取得了第一名(基于50个测试用例),并在此数据集上达到了state-of-the art。

纵向多发性硬化病变分割挑战

任务是在MRI图像中分割多发性硬化症。提供了5名患者,每名患者有4-5个时间点(总共21个时间点),有两个评估者,每个时间点提供了注释。我们将每个评估者视为一个单独的训练集,并手动拆分训练案例以确保患者分层。在测试集中,nnU-Net在163份提交中排名第5,得分为93.09,仅落后于范德比尔特大学的四份提交结果,其中最高分为93.21。

PROMISE12

任务是在各向异性的MRI图像中分割前列腺。提供了50个带标注的训练案例和30个未标记的测试案例。nnU-Net的测试集得分为89.08,在总共290份提交中排名第11(第一名:89.59)。

LiTS

肝肿瘤分割的挑战由131个训练图像(CT)和70个测试用例组成。对于训练病例,提供了肝脏和肝脏肿瘤的分割。nnU-Net在病变和肝脏上的Dice评分分别为0.725和0.958。通过移除最大连通前景区域以外的所有区域进行后处理将Dice得分提高到0.738和0.960,在开放的排行榜病变分割的Dice评分达到了state of the art,并且肝脏分割在123支队伍排名第17位(第一名:0.966)。

Beyond the Cranial Vault Challenge (Abdomen)。这个数据集的任务是在腹部CT图像中分割13个器官。挑战提供了30个带标注的训练图像和20个测试图像。nnU-Net 在这个数据集上达到了state of the art,平均Dice得分为88.1%,比第二名高出3个点(排行榜共有43个提交)。具体地,nnU-Net在13种器官中的11种得分最高。

表格2显示了为验证nnU-Net中的选择而设计进行的消融研究。所有实验均在Decathlon第一阶段的代表性数据集上使用相同的数据划分进行的。这些结果一方面表明我们应该修改使用Leaky ReLUs,另一方面验证了我们选择的实例规范化、数据增强和损失函数的效果。

 

 

图2所示。 nnU-Net设计选择的消融实验。 使用训练数据的一部分和3D U-Net对来自Decathlon的代表性数据集进行实验。 nnU-Net的数值代表平均前景Dice分数(例如肝脏数据集的肝脏和肿瘤筛子系数的平均值),消融研究的值代表Dice分数百分比的变化。

讨论

我们介绍了nnU-Net,一个可以自动适应任何给定数据集而无需用户干预的医学分割框架。据我们所知,nnU-Net是第一个尝试形式化数据集之间需要进行的必要调整的分割框架。nnU-Net在六个公开的分割挑战中实现了最先进的性能。这是非常了不起的,因为nnU-Net不依赖于近年来提出的各种复杂的分割结构,而只依赖于简单的U-Net结构。必须强调的是,我们没有在挑战数据集之间手动调整超参数,所有设计选择都是由nnU-Net自动确定的。更令人惊讶的是,它在一部分数据集上超过其他专门手动设计的算法。

nnU-Net包括一些通用的固定设计选择,如U-Net结构、Dice损失、数据增强和模型集成,以及由一组遵循我们的分割经验的规则确定的一些动态设计选择。虽然,使用此类规则可能不是解决此问题的最佳方法。通过给定更多的数据集,未来的工作可能会尝试从数据集的属性中直接学习这些规则。虽然nnU-Net的选择可以在多个数据集中实现强大的分割性能,但这并不意味着我们已找到全局最优的配置。

事实上,从表格2所示的消融实验可以看出, Leaky ReLU替换ReLU的选择并没有影响性能,我们的数据增强方案可能并不适用于所有数据集,后处理也有待于进一步的研究。我们在LiTS的结果表明,正确选择的后处理可能是有益的。这种后处理可以通过分析训练数据或通过基于交叉验证结果选择方案来自动化。这种自动化的尝试在进行Decathlon挑战赛时nnU-Net初始版本的一部分,但后来由于不能持续改进结果而被丢弃。

现在我们已经建立了迄今为止最强大的U-Net baseline,我们可以系统地评估更先进的网络设计的通用性以及相对于此处采用的普通架构的性能提升。因此,nnU-Net不仅可以用作开箱即用的分割工具,还可以用作未来医学分割相关发表论文的强大U-Net baseline和平台。

标签: [db:TAGG]

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:基于Python实现交互式数据可视化的工具(用于Web)

下一篇:2019年4月Github上热门的20个区块链项目