原文:3D U-Net: Learning Dense Volumetric Segmentation from Sparse Annotation(从稀疏注释学习密集体分割)
摘要:本文介绍了一种从稀疏注释的立体数据中学习三维分割的网络。并提供了两个使用该网络的例子:1、简单处理,在一个稀疏标注的数据集上训练并在此数据集上预测其他未标注的地方:用户标注需要分割的层,学习用户标注的信息,并提供3D的分割结果;2、仔细处理情况下,是在多个稀疏标注的数据集训练,然后预测新的数据:寻找存在有代表性的,稀疏标注的数据集,在这个数据集上训练,从而分割出新的三维数据。文中提到的网络通过使用3D操作替换掉2D操作扩展了之前的u-net框架。该实现执行动态弹性形变,可以在训练期间对数据进行了有效的增强。该网络为end-to-end网络,不需要预训练网络。我们使用该网络在复杂的3D结构上进行了测试,两种方法都取得了良好的结果。
1、介绍
3D数据在生物医学数据分析中非常丰富。但是,在三维层面上标注分割label比较困难,因为只有2D的切片可以在电脑屏幕上展示。同时,逐层标注大量的切片又很繁琐,且相邻层的信息几乎相同。因此完整注释3D体积并不是创建大而丰富的训练数据集的有效方法。
在本篇论文中,我们提出了一个只需要一个2D标注的数据训练集就可以学习3D分割的网络。这个网络可以通过两个方式使用:
1、第一个案例只是针对稀疏标注数据集进行密集化处理,获取其他未标注的标注信息;
2、从多个稀疏标注的数据集去预测生成一个新的数据集。
这两步都非常重要。
该网络基于先前的u-net架构,其包括用于分析整个图像的收缩编码器部分和用于产生全分辨率分割的连续扩展解码器部分。u-net为2D结构,本文提出的网络需要3D的输入以及3D的处理,因此在该网络中所有的2D操作都会被替换为3D,例如3D卷积,3D池化,3D上采样。我们使用batch normalization防止网络瓶颈的出现。
在很多的生物应用中,很少的训练数据就可以产生很优秀的结果。这是因为每个图像已经包括具有相应变化的重复结构。在3D数据中,这种影响更加明显。因此我们只需要在两个3D图像上进行训练就可以泛化到第三个上,加权损失函数和特殊数据增强使我们能够仅使用少量手动注释切片来训练网络,即,从稀疏注释的训练数据。
我们展示了论文中提及的方法在困难的数据集上进行了成功的运用。在其发育过程中,非洲爪蟾肾形成了复杂的结构,限制了预定参数模型的适用性。首先,我们提供定性结果,以证明几个带注释切片的密集度的质量。这个结果使用定量评估得出。我们还提供实验,显示注释切片数量对我们网络性能的影响。基于Caffe的网络实现以OpenSource的形式提供。
1.1 相关工作
今天,具有挑战性的生物医学图像2D分割通过使用CNN网络可以以接近人类表现的精度进行分割。得益于这样的成功,一些运用3D数据进行分割的尝试也已经取得了一些成功。Milletari et al 展示了一种结合了CNN和Hough voting进行3D图片分割的方法。但是他们的方法都不是end-to-end,只是对紧凑的块状数据进行处理。Kleesiek et al 是为数不多的使用3D CNN进行3D分割的。但是他们的网络不是深度网络,并且在他们的第一个卷积层后只有一个最大池化层。因此他无法分析多个尺寸的结构。我们的网络是基于2D的U-Net网络,这个网络在多个国际上举办的分割以及目标检测上获胜。这个网络的节后以及数据增强可以允许这个网络通过少量的标注数据学习可以获得很好的泛化能力。它利用了这样的事实,即适当应用的刚性变换和轻微的弹性变形仍然产生生物学上合理的图像。上采样结构诸如使用全卷积网络进行语义分割,u-net网络我们是唯一进行3D化尝试的。本文的重点为使用稀疏标记从头开始训练,并且可以扩展到任意大小的3D数据集上。
2、网络结构
图2说明了我们的网络结构。与标准的u-net类似,有一条分析路径和合成路径,每一个都有4个分辨率级别。
在分析路径每一层包含 两个 3×3×3卷积,每一个都跟一个ReLU,然后是一个2×2×2的每个方向上步长都为2的最大池化。
在合成路径,每一层包含一个步长为2的2×2×2的反卷积层,紧跟两个3×3×3的卷积层,然后是RuLU层。
通过短连接来自分析路径中相同分辨率的层为合成路径提供了基本的高分辨率特征。
最后一层为1×1×1的卷积层为了减少输出的通道数,在我们的实现里最后输出为3.该结构总共有19069955个参数。和【13】中的建议一样,我们在最大池化层之前将通道数增加为2倍为了防止出现瓶颈。我们在合成路径中也采用了这种方案。
网络的输入为3通道的132×132×116的像素集合。我们的输出为44×44×28.
我们在ReLU之前使用了小批量归一化(batch normalization),在训练期间,每个批次都会使用其均值和标准差进行标准化,并使用这些值更新全局统计数据。 接下来是一个明确学习规模和偏差的层。
允许我们训练稀疏注释的架构的重要部分是加权softmax损失函数。 将未标记像素的权重设置为零使得可以仅从标记的像素中学习,并因此推广到整个体积。
3、实现细节
3.1 数据
未翻译
3.2 训练
使用了形变旋转 灰度增强
平滑致密变形场:
我们从正态分布中对随机向量进行采样,在网格中标准偏差为4,每个方向上的间距为32个体素,然后应用B样条插值。使用softmax和加权交叉熵损失来比较网络输出和地面实况标签,其中我们减少经常看到的背景的权重并且增加内管的权重以达到小管和背景体素对损失的影响的平衡。划定为背景的标签不参与loss值的计算,使用随机梯度下降法进行训练,为了实现大型3D网络的培训,我们使用了内存高效的cuDNN卷积层实现,数据增强是在运行中完成的,这导致与训练迭代会有很多不同图像。在NVIDIA TitanX GPU跑完70000个训练迭代需要3天。
4、实验
4.1 半自动分割
对于半自动分割,我们假设用户需要在没有预分割的情况下对少量体积图像进行完全分割,我们提出的网络允许用户从每个3D数据集中标注几个切片并让网络创建密集的体积分割。
对于定性评估,我们在所有三个稀疏注释的样本上训练网络。图3显示了我们的第三个样本的分割结果。网络可以从几个带注释的切片中查找整个3D体积分割,并从全部的数据集注释中学习经验。
为了评估半自动化设置中的定量性能,我们将来自所有3个样品的所有77个手动注释切片的集合均匀地划分为三个子集,并且在有和没有批量标准化的情况下进行3倍交叉验证。为此,我们删除了测试切片并让它们保持未标记。这模拟了一个用户提供更稀疏注释的应用程序。为了测量使用完整3D上下文的增益,我们将结果与纯2D实现进行比较,将所有标记的切片视为独立图像。Tabel-1为我们实验的结果。联合交叉(IoU)用作精确度测量,以将丢弃的真实切片与预测的3D体积进行比较。IoU被定义为:
IoU = 真阳/(真阳 + 假阴 + 假阳)
结果表明,我们的方法能通过非常少的标注切片进行推广,从而实现非常精确的3D分割,几乎没有标注工作。
我们还分析了注释切片数量对网络性能的影响。为此,我们模拟了一个样本的半自动分割。我们开始在每个正交方向上使用1个带注释的切片,并逐渐增加带注释切片的数量。
4.2 全自动分割
全自动分割设置假定用户想要分割以可比较的设置记录的大量图像。我们进一步假设可以组装代表性训练数据集。为了估计这种设置的性能,我们训练了两个(部分注释的)肾脏体积,并使用训练好的网络来分割第三个体积。我们报告了所有3种训练和测试量组合的结果。我们认为数据集中的巨大差异是造成这种影响的原因。 全自动分割的典型用例将适用于更大的样本大小,其中相同数量的稀疏标签可以容易地分布在更多数据集上以获得更具代表性的训练数据集。
5、结论
我们介绍了一种3D网络从end-to-end的网络用于半自动以及全自动分割,在训练数据及上变现良好,该网络不需要预训练。