DoDNet: Learning to segment multi-organ and tumors from multiple partially labeled datasets
DoDNet:学习从多个部分标记数据集中分割多器官和肿瘤
Jul 2021
CVPR 2021
论文:https://arxiv.org/abs/2011.10217
代码: https://github.com/jianpengz/DoDNet
摘要:
由于在体素水平标注3D医学图像需要大量的劳动力和专业知识,大多数基准数据集只配备了一种类型的器官或肿瘤的标注,导致了所谓的部分标注问题。为了解决这个问题,作者提出了一个动态的按需网络(DoDNet),它学习在部分标记的数据集中分割多个器官和肿瘤。
DoDNet由一个共享的编码器-解码器体系结构、一个任务编码模块、一个用于生成动态卷积核的控制器和一个单一但动态的分割头组成。当前分割任务的信息被编码为任务感知的先验信息,告诉模型该任务期望解决什么问题。与现有的训练后固定核的方法不同,动态头部的核是由控制器根据输入图像和分配任务自适应生成的。因此,DoDNet能够像多个网络或多头网络一样,以一种非常高效和灵活的方式分割多个器官和肿瘤。作者创建了一个大规模的部分标记数据集,称为MOTS,并证明了DoDNet在七个器官和肿瘤分割任务上优于其他竞争对手的性能。还将MOTS上预先训练的权重转移到下游的多器官分割任务中,取得了最先进的性能。本研究提供了一个通用的3D医学图像分割模型,该模型在大规模的部分标记数据集上进行了预训练,并可以扩展(经过微调)到下游的容量医学数据分割任务。
图1部分标记的多器官和肿瘤分割示意图。该任务的目标是使用在几个部分标记的数据集上训练的网络来分割多个器官和肿瘤,每个数据集最初专门用于分割特定的腹部器官和/或相关肿瘤。例如,第一个数据集只提供肝脏和肝脏肿瘤的注释,而第二个数据集只提供肾脏和肾脏肿瘤的注释。这里每个颜色代表一个部分标记的数据集。
问题动机:
使用计算机断层扫描(CT)对腹部器官和肿瘤进行自动分割是医学图像分析中最基本但最具挑战性的任务之一。它在各种计算机辅助诊断任务中起着关键的作用,包括病变轮廓、手术规划和三维重建。受人工成本和专业知识的限制,在大数据集中很难在体素水平上注释多个器官和肿瘤。因此,大多数基准数据集只用于一种类型的器官和或肿瘤的分割。例如,lits数据集只提供肝脏和肝脏肿瘤的注释,kits数据集只提供肾脏和肾脏肿瘤的注释。这些部分标记的数据集明显不同于其他计算机视觉领域的分割基准,如PASCAL VOC和Cityscapes,在每个图像上注释了多种类型的对象。因此,多器官和肿瘤分割面临的重要挑战之一就是所谓的部分标注问题,即如何在这些部分标注的图像的监督下学习多个器官和肿瘤的表示。
主流的解决方法是将部分标记的数据集分离成几个完全标记的子集,并在每个子集上训练一个网络用于特定的分割任务,从而产生如图2(a)所示的“多个网络”。然而,这种直观的策略大大增加了计算复杂度。另一种常用的解决方案是设计一个多头网络(见图2(b)),该网络由一个共享的编码器和多个任务专用的解码器(头)组成。在训练阶段,当每一个部分标记的数据被输入网络时,只更新一个解码器,其他解码器被冻结。其他数据集的推论是不必要的,也是浪费的。此外,不灵活的多头架构不容易扩展到一个新标记的任务。
在本文中,作者提出了一个动态按需网络(DoDNet),它可以训练在部分标记的数据集多器官和肿瘤分割。DoDNet是一种单头动态的编码器-解码器网络(见图2©),可以像多个网络或多头网络一样分割多个器官和肿瘤。动态头部的核由控制器自适应生成,以输入图像和分配的任务为条件。具体来说,任务特定的先验信息被提供给控制器来指导分段任务动态头核的生成。由于动态头的轻量化设计,与多头网络相比,重复推理的计算代价可以忽略不计。作者评估了DoDNet在七个器官和肿瘤分割基准上的有效性,包括肝脏和肿瘤、肾脏和肿瘤、肝血管和肿瘤、胰腺和肿瘤、结肠肿瘤和脾脏。此外,将预先训练的部分标记数据集的权重转移到下游的多器官分割任务中,并在Multi-Atlas Labeling Beyond the Cranial Vault Challenge(多图谱标记超越颅穹窿挑战)数据集上取得了最先进的性能。
总结贡献有三:
① 尝试从一个新的角度来解决部分标记问题,即提出一个具有动态分割头的单一网络来分割多个器官和肿瘤,就像多个网络或多头网络一样。
② 与传统分割头训练后固定的分割头不同,模型中的动态分割头对输入和分配的任务具有自适应能力,大大提高了效率和灵活性。
③ 在部分标记数据集上预先训练的拟议DoDNet可以转移到下游注释有限的分割任务,因此对只有有限注释可用于3D图像分割的医学界是有益的。
思路来源:
① 部分标记医学图像分割:
在医学图像分析中,多器官和肿瘤的分割是一个公认的难题,特别是在没有大规模全标记数据集的情况下。虽然有几个部分标记的数据集可用,但每个数据集都专门用于特定器官或肿瘤的分割。因此,分割模型通常训练在一个部分标记的数据集上,因此只能分割一个特定的器官和肿瘤,如肝脏和肝脏肿瘤,肾脏和肾脏肿瘤。然而,训练多个网络存在计算资源浪费和扩展性差的问题。
为了解决这个问题,许多人尝试以更有效的方式探索多个部分标记的数据集。Chen等人从不同的医学领域收集了多个部分标记的数据集,并在这些数据集上共同训练了一个异构的3D网络,该网络特别设计了一个任务共享编码器和任务专用解码器,用于8个分割任务。Huang等人提出在少器官数据集上联合训练一对加权平均模型来统一多器官分割。Zhou等人首先在一个完全标记的数据集上近似了腹部器官大小的解剖学先验,然后在几个部分标记的数据集上正则化了器官大小分布。Fang等人将带有未知标签的体素作为背景,提出了在多个部分标记数据集上训练的分割网络的目标自适应损失(TAL)算法。Shi等人将未标记的器官与背景合并,并对每个体素(即每个体素属于一个器官或背景)进行排他约束,以便在一个完全标记的数据集和几个部分标记的数据集上共同学习分割模型。为了从单类数据集学习多类分割,Dmitriev等人将分割任务作为先验,并将其纳入到中间激活信号中。
而DoDNet在三个主要方面与这些方法不同:(1)如果将部分标记的问题描述为多类分割任务,并将未标记的器官作为背景,这可能会产生误导,因为此数据集中未标记的器官确实是另一任务的前景。为了解决这个问题,作者将部分标记问题描述为一个单类分割任务,旨在分别分割每个器官;(2) 这些方法大多采用多头部结构,由一个共享主干网和多个用于不同任务的分段头部组成。每个头部要么是解码器,要么是最后一个分割层。相比之下,所提出的DoDNet是一个单头网络,其中头是灵活和动态的;(3) DoDNet使用动态分段头来解决部分标记的问题,而不是先将任务嵌入编码器和解码器;(4) 现有的方法大多集中于多器官分割,而DoDNet则同时对器官和肿瘤进行分割,这更具挑战性。
② 动态滤波学习:
由于其自适应性,动态滤波器学习在计算机视觉领域引起了广泛的研究关注。Jia等人设计了一个动态滤波器网络,其中滤波器根据输入动态生成。这种设计比传统卷积网络更灵活,传统卷积网络在推理过程中学习滤波器是固定的。Yang等人引入了条件参数化卷积,它可以为每个输入学习专门的卷积核,并有效地增加卷积神经网络的大小和容量。Chen等人提出了另一种动态网络,该网络为多个并行卷积核动态生成注意权重,并将这些核组合起来以增强表示能力。Pang等人综合RGB图像和3D图像的特征,生成动态滤波器,以便在RGB-D显著目标检测中更好地利用跨模态融合信息。Tian等人将动态卷积应用于实例分割。这些方法成功地将动态滤波学习用于某些目的,如增加网络灵活性,增强表示能力,集成跨模式融合信息,或放弃使用实例ROI。与这些作品相比,作者在这里的工作不同如下。
1)采用动态滤波学习方法解决三维医学图像分割中的局部标记问题;
2)在DoDNet中生成的动态过滤器不仅以输入的图像为条件,而且以分配的任务为条件。
模型方法:
图2:三种类型的方法来执行m个部分标记的分割任务。(a) 多个网络:分别在m个部分标记的子集上训练m个网络;(b) 多头部网络:训练一个由共享编码器和m个任务特定解码器(头部)组成的网络,每个解码器执行部分标记的分段任务;(c)提出的DoDNet:它有一个编码器、一个任务编码模块、一个动态过滤器生成模块和一个动态分段头。动态头中的核取决于输入图像和分配的任务。
编解码器结构:
DoDNet的主要组件是共享编码器,它具有类似Unet的体系结构。该编码器由重复应用的3D残差块组成,每个残块包含两个卷积层,每个卷积层包含3×3×3核。每个卷积层之后是组归一化和ReLU激活。在每个下采样步骤中,采用步长为2的卷积将输入特征映射的分辨率减半。第一层滤波器的数量设置为32个,每下采样一步后增加一倍,以保持每层的时间复杂度。我们在编码器中总共执行了四次下采样操作。给定输入图像Xij,输出特征映射为
其中θE表示所有编码器参数。
解码器对称地对特征映射进行上采样,以提高其分辨率,并逐步将其通道数减半。在每一步中,先将上采样的特征图与编码器对应的低阶特征图相加,然后用残差块对特征图进行细化。在对特征图上采样四次后,得到:
Mij∈ RC×D×W×H为预分割特征图,θD表示所有解码器参数,通道数C设置为8.
编码器-解码器的目标是生成具有丰富语义且不受特定任务约束的Mij,包含多器官和肿瘤的语义信息。
任务编码:
每个部分标记的数据集只包含一个特定器官和相关肿瘤的注释。该信息是一个关键的先验信息,它告诉模型它正在处理哪个任务以及它应该关注哪个区域。例如,给定从肝脏和肿瘤分割数据集采样的输入,所提出的DoDNet有望专门用于这项任务,即预测肝脏和肝脏肿瘤的掩模,而忽略其他器官和其他肿瘤。直观地说,应该将这个优先任务编码到模型中以实现任务感知。Chen等人将任务编码为m维单热点向量,并将扩展后的任务编码向量与输入图像连接,形成增广输入。由于任务编码,网络通过额外的输入通道“感知”任务,从而能够完成多个任务,尽管性能下降。然而,输入通道从1增加到m + 1,导致计算和存储成本急剧增加。在本工作中,作者还将每个输入Xij的任务先验编码为m维单热点向量Tij∈{0,1}m,如下所示
这里,Tij k =1意味着第k个任务的注释可用于当前输入Xij。没有将任务编码向量tij的大小从Rm×1×1×1扩展到Rm×D×W×H,而是将其作为m个额外的输入通道,首先将tij与聚合的特征连接起来,然后使用连接来生成动态滤波器。因此,任务编码策略的计算复杂度和空间复杂度都显著较低。
动态滤波器生成:
对于传统的卷积层,学习的核在训练后是固定的,并由所有测试用例共享。因此,在一个任务上优化的网络对其他任务一定不是最优的,单个网络很难执行多个器官和肿瘤的分割任务。为了克服这个困难,作者引入了一种动态过滤方法来生成核,它专门用于分割特定器官和肿瘤。具体来说,使用单个卷积层作为特定任务的控制器ϕ(·)。图像特征Fij通过全局平均池(GAP)聚合,并与任务编码向量Tij 相连接作为φ(·)的输入。然后,不仅以分配的任务Si为条件,而且以输入图像Xij为条件,动态生成核参数ωij,表示为
式中,θ表示控制器参数,| |表示串联操作。
动态头部:
在监督训练过程中,预测没有注释的器官和肿瘤是没有价值的。因此,设计了一个轻量级的动态磁头,以便能够将特定的内核分配给每个任务,以分割特定的器官和肿瘤。动态头部包含三个层叠的卷积层,具有1 × 1 × 1核。三层内核参数由控制器ϕ(·)根据输入图像和分配的任务动态生成。表示为ωij= {ωij1,ωij2,ωij3}。
前两层有8个通道,最后一层有2个通道,一个是器官分割通道,另一个是肿瘤分割通道。因此,控制器共生成162个参数。计算第j个图像对第i个任务的部分预测为:
∗ 表示卷积,和Pij∈ R2×D×W×H代表对器官和肿瘤的预测。尽管每个图像都需要一组特定的内核来完成每个任务,但轻量级过滤头的计算和内存成本与编码器相比是可以忽略不计的。
实验与结果:
为简单起见,将器官和相关肿瘤的分割作为两个二值分割任务,并将Dice损失和二值交叉熵损失作为每个任务的目标。损失函数的表达式为:
其中pi和 yi表示第i个体素的预测和基本事实,V表示所有体素的数量,和 ξ作为平滑因子添加。采用一种简单的策略在多个部分标记的数据集上训练DoDNet,即忽略与未标记目标对应的预测。以结肠肿瘤分割为例,由于器官的注释不可用,因此在损失计算和误差反向传播过程中忽略了器官预测的结果。
在推理过程中,该算法对分割任务具有灵活性。给定一幅测试图像,将预分割特征Mijis从解码器网络中提取出来。给定任务后,控制器根据输入图像和任务生成核函数。由生成的核驱动的动态头部能够根据任务的指定自动分割器官和肿瘤。此外,如果都需要m个任务, DoDNet能够为动态头部生成m组核,并依次有效地分割所有m个器官和肿瘤。与编解码器相比,动态头非常轻,m个动态头的推理成本几乎可以忽略不计。
实验:
数据集:
使用多个医学图像分割基准,包括lits、KiTS和medical Segmentation Decathlon (MSD),构建了一个大规模的部分标记多器官和肿瘤分割(MOTS)数据集。MOTS由7个部分标记的子数据集组成,涉及7个器官和肿瘤的分割任务。从世界各地不同的临床地点收集了1155例3D腹部CT扫描,其中920例用于训练,235例用于测试。表2给出了更多细节。每次扫描被重新切片为相同的1.5 × 0.8 × 0.8mm3体素大小。
本研究还使用了MICCAI 2015多图谱标记颅穹窿外(BCV)数据集。它由50个腹部CT扫描组成,其中30个用于训练,20个用于测试。每个训练扫描与13个器官的体素注释配对,包括肝脏、脾脏、胰腺、右肾、左肾、胆囊、食管、胃、主动脉、下腔静脉、门静脉和脾静脉、右肾上腺和左肾上腺。该数据集提供了一个下游任务,在此任务上评估了在MOTS上预先训练的分割网络。
评价指标:
使用Dice相似系数(Dice)和Hausdorff距离(HD)作为本研究的性能指标。Dice测量分割预测和地面真实之间的重叠,HD通过计算预测边界和地面真实之间的最大距离来评估分割边界的质量。
实现细节:
所有实验都是在一台使用两个NVIDIA 2080Ti gpu的工作站上进行的。为了过滤不相关区域并简化后续处理,将每次扫描的HU值截断到[−325,+325]范围内,并将其线性归一化为[−1,+1]。由于群体归一化的好处,模型采用小批量2的微批量训练策略。为了加快训练过程,还使用了权重标准化,通过标准化卷积核来平滑损失。优化算法采用动量为0.99的随机梯度下降(SGD)算法。学习率初始化为0.01,并根据多项式策略lr = lrinit×(1−k/ k)0.9衰减,其中最大epoch, k设置为1000。在训练阶段,从CT扫描中随机提取大小为64 × 192 × 192的子体积作为输入。在测试阶段,采用基于滑动窗口的策略,并让窗口大小等于训练块的大小。为了确保公平的比较,所有竞争模型都采用了相同的训练策略,包括权重标准化、学习率、优化器和其他设置。
消融实验:
将20%的训练扫描作为验证数据进行消融研究,该研究调查了动态头部和动态滤波器生成模块的详细设计的有效性。将11个器官和肿瘤的Dice评分和HD平均(见表2)作为两个评价指标进行公平比较。
动态头部深度:比较了不同深度(从2到4)的动态头的性能。宽度固定为8,除了最后一层,它有2个通道。结果表明,考虑到Dice和HD之间的权衡,当动态头部深度设置为3时,DoDNet在验证集上的性能最好。但当深度从2增加到4时,性能波动很小。结果表明,动态头对深度的变化具有鲁棒性。实证地将本研究的深度设置为3。
动态头的宽度:在表4中,比较了不同宽度的动态头的性能,从4到16。深度固定为3。它表明,当宽度从4增加到8时,性能有很大的提高,但当宽度从8进一步增加到16时,性能略有下降。这表明当动态水头宽度在合理范围内(≥8)时,DoDNet的性能趋于稳定,考虑到复杂性问题,经验地将动态头宽度设置为8。
条件分析:在输入图像和分配任务的条件下生成动态头部核。在表5中比较了这两个条件的有效性。结果表明,在动态生成中,任务编码比图像特征起着更重要的作用。这可能是因为之前的任务能够让DoDNet知道正在处理什么任务。在没有任务条件的情况下,各种器官,如肝脏、肾脏和胰腺,都被同等地视为同样的前景。在这种情况下,DoDNet很难适应这样一个由多个器官组成的复杂前景。此外,在没有任务条件的情况下,DoDNet无法从前景中区分每个特定的器官或肿瘤。
图5:比较不同条件(图像特征、任务编码)在生成动态滤波器时的有效性。
与最先进的方法相比:
使用MOTS测试集对7个部分标记任务进行了DoDNet和最先进的方法的比较,这些方法也试图解决部分标记问题。(2)两个多头网络(即,MultiHead和TAL),(3)一个没有任务条件的单网络方法(Cond-NO),(4)两个有任务条件的单网络方法(即,Cond-Input和Cond-Dec)。为了保证公平的比较,对所有的方法都使用了相同的编解码器架构,除了Multi-Head中解码器层的通道由于GPU内存的限制被减半。
表6:性能(dice%,越高越好;HD,越低越好)的不同方法,七个部分标记数据集。请注意,“平均分数”是一个综合指标,用于平均11个类别中的dice或HD。
表6显示了每个器官/肿瘤分割的性能指标和11个类别的平均得分。结果表明
(1)大多数方法(TAL、MultiHead、Cond-Input、Cond-dec、DoDNet)比7个单独的网络(Multi-Nets)获得了更好的性能,表明使用更多的数据(甚至部分标记)进行训练有利于模型性能;
(2)当任务条件不可用时,Cond-NO无法分割多个器官和肿瘤,说明任务条件对于单个网络解决部分标记问题的重要性(与表5的观察结果一致);
(3)动态滤波器生成策略优于直接将任务条件嵌入到输入或解码器中(用于Cond-Input和Cond-Dec);
(4)所提出的DoDNet获得了最高的整体性能,平均dice分数为75.64%,平均HD为19.50。
为了进行定性比较,我们将6种方法对7个任务的分割结果可视化,如图3所示。这表明,我们的DoDNet优于其他方法,特别是在分割小肿瘤。
图3 -不同方法分割结果的可视化。(a)输入图像;(b)地面真实标签;© MultiNets;(d) TAL;(e) Multi-Head;(f) Cond-Input;(g) Cond-Dec [6];DoDNet (h)。
在图4中,还比较了五种方法的速度-精度权衡。单网络方法,包括TAL、Cond-Dec、Cond-Input和DoDNet,共享所有任务的编码器和解码器,因此具有相似数量的参数,即17.3M。虽然DoDNet有一个额外的控制器,但其中的参数数量是可以忽略的。由于使用了多个特定于任务的解码器,多头网络有更多的参数(即18.9M)。Multi-Nets必须训练7个网络来处理这些部分标记的任务,结果得到的参数比单个网络多7倍。
图4 -速度与精度。准确性是指在MOTS测试集上的总体dice分数。推理时间是基于64个空间大小为128 × 128的单一输入进行计算的。’ #P ':参数的数量。“M”:百万。
在推理速度方面,Cond-Input、Multi-Nets、MultiHead和cond - dece等方法存在重复推理过程,因此在分割7种器官和肿瘤时需要比其他方法更多的时间。相比之下,TAL分割所有目标的效率要高得多,因为编码器-解码器(最后一个分割层除外)由所有任务共享。DoDNet共享编解码器架构,专门为每个部分标记的任务提供动态头部。由于轻量化的结构,动态头的推断非常快。总之, DoDNet达到了最好的准确性和快速的推断速度。
MOTS下游任务的预训练:
尽管深度学习在大规模标记数据的推动下取得了惊人的成功,但它仍然受到医学图像分析中有限注释的限制。最大的部分标记数据集#3 Hepatic V vessel仅包含242个训练案例,远小于MOTS的920个训练案例。人们普遍认为,用更多的数据训练一个深度模型有助于提高泛化能力。因此,对MOTS模型的预训练应该有利于受注释限制的下游任务。为了证明这一点,将BCV多器官分割作为下游任务,并在BCV数据集上进行实验。使用三种初始化策略初始化分割网络,其中包括随机初始化(即从头训练)、对#3肝V血管数据集的预训练和对MOTS的预训练。
首先,从BCV训练集中分离出20个案例进行验证,因为在线评估时保留了BCV测试集的注释,不方便。图5显示了三种初始化策略下分割网络的训练损失和验证性能。验证性能是通过计算13个类别的平均Dice分数来衡量的。与从头开始训练相比,预训练可以帮助网络更快地收敛,表现得更好,尤其是在初始阶段。此外,在小数据集(即#3 Hepatic V vessel)上进行预训练的效果仅略优于从头开始的训练,但在MOTS上进行预训练,MOTS比#3 Hepatic V vessel大得多,不仅收敛速度最快,而且性能提升显著。结果表明,在MOTS上预先训练的模型具有较强的泛化能力。
其次,还评估了MOTS预训练权值对BCV未见测试集的有效性。将方法与表7中其他最先进的方法进行了比较,包括Auto Context、DLTK、PaNN和nnUnet。与从头开始训练相比,使用MOTS预训练权重有助于显著的性能增益,平均dice从85.30%提高到86.44%,平均平均表面距离(SD)从1.46降低到1.17,平均高清从19.67降低到15.62。在MOTS训练前权重的帮助下,方法在测试集上获得了最好的SD和HD,以及第二高的Dice。
表7 :最先进的BCV测试集方法的比较SD:平均表面距离(越低越好);TFS:从零开始的训练网络;MOTS: MOTS的预训练。三个指标的值是13个类别的平均值。
总结:
在本文中,提出了DoDNet,一个带有动态头部的单一编码器解码器网络,以解决腹部CT扫描中多器官和肿瘤分割的部分标记问题。创建了一个大规模的部分标记数据集MOTS,并在其上进行了广泛的实验。结果表明,基于任务编码和动态滤波学习,该算法不仅在七器官和肿瘤分割任务上取得了最佳的整体性能,而且推理速度也比其他算法更快。还演示了DoDNet和MOTS数据集的价值,成功地将MOTS上预先训练的权重转移到只有有限注释可用的下游任务。这表明,这项工作的副产品(即预先训练的3D网络)有助于其他小样本3D医学图像分割任务。