【人工智能】U-Net:使用CNN实现医学图像分割

论文总结

动机

Abstract

普遍认为,成功训练深度网络需要成千上万的标注训练样本。在本文中,我们提出了一种依赖于强数据增强策略的网络和训练方法,以更高效地利用现有的标注样本。该架构包括一个用于捕获上下文的收缩路径和一个对称的扩展路径,后者能够实现精确的定位。我们展示了这种网络可以从很少的图像中端到端训练,并在ISBI电子显微镜堆栈神经结构分割挑战中超越了之前的最佳方法(滑动窗口卷积网络)。使用相同的网络在透射光显微图像(相差显微镜和DIC)上进行训练后,我们在2015年ISBI细胞跟踪挑战赛中的相关类别中以显著优势获胜。此外,该网络速度很快。使用最新的GPU,分割一个512x512的图像只需不到一秒钟。完整的实现(基于Caffe)和训练好的网络可在http://lmb.informatik.uni-freiburg.de/people/ronneber/u-net获取。

由于许多生物医学图像分割任务中可用的训练数据非常少,所以作者提出了一种依赖于强大的数据增强策略的网络和训练策略,以便更高效地利用现有的标注样本。模型的架构包括收缩路径和扩展路径,简单的结构使得U-Net的速度很快。作者展示了U-Net在多种医学分割数据集上的显著成果。

创新点

Introduction

在过去的两年中,深度卷积网络在许多视觉识别任务中都超越了现有技术。虽然卷积网络已经存在了很长时间[8],但由于可用训练集的规模和所考虑网络的规模限制,其成功有限。Krizhevsky等人[7]的突破在于在ImageNet数据集上对一个拥有8层和数百万参数的大型网络进行有监督训练,该数据集包含100万张训练图像。从那时起,更大更深的网络也已经被训练出来[12]。
卷积网络的典型使用是在分类任务中,其中图像的输出是一个单一的类别标签。然而,在许多视觉任务中,特别是在生物医学图像处理中,期望的输出应该包括定位,即每个像素都应被分配一个类别标签。此外,在生物医学任务中,成千上万的训练图像通常是难以获得的。因此,Ciresan等人[1]在滑动窗口设置中训练了一个网络,通过提供该像素周围的局部区域(patch)作为输入来预测每个像素的类别标签。首先,这个网络可以实现定位。其次,就patch而言,训练数据远多于训练图像的数量。该网络在ISBI 2012的EM分割挑战中以较大优势获胜。
显然,Ciresan等人的策略[1]有两个缺点。首先,它非常慢,因为网络必须分别对每个patch运行,并且由于重叠patch的存在,有很多冗余。其次,在定位精度和上下文使用之间存在权衡。较大的patch需要更多的最大池化层,从而降低定位精度,而较小的patch则只能让网络看到很少的上下文。最近的方法[11,4]提出了一个分类器输出,该输出考虑了来自多个层的特征。这样可以同时实现良好的定位和上下文使用。
在本文中,我们基于一种更优雅的架构,即所谓的“全卷积网络”[9]。我们修改并扩展了该架构,使其可以使用非常少的训练图像,并产生更精确的分割结果;见图1。[9]中的主要思想是通过连续的层来补充通常的收缩网络,其中池化操作符被上采样操作符所取代。因此,这些层增加了输出的分辨率。为了实现定位,高分辨率特征与上采样输出相结合。然后,连续的卷积层可以基于这些信息学习组装更精确的输出。
我们的架构中的一个重要修改是,在上采样部分我们也有大量的特征通道,这使得网络可以将上下文信息传播到更高分辨率的层。因此,扩展路径与收缩路径几乎是对称的,形成一个U形架构。网络没有任何全连接层,只使用每个卷积的有效部分,即分割图只包含在输入图像中具有完整上下文的像素。该策略允许通过重叠瓷砖策略无缝分割任意大的图像(见图2)。为了预测图像边界区域的像素,通过镜像输入图像来外推缺失的上下文。由于GPU内存的限制,这种平铺策略对于将网络应用于大图像非常重要。
由于我们的任务中可用的训练数据非常少,我们通过对可用训练图像应用弹性变形来进行大量的数据增强。这使得网络能够学习对这些变形的鲁棒性,而无需在标注图像集中看到这些变换。在生物医学分割中这尤其重要,因为变形曾是组织中最常见的变化,并且可以高效地模拟现实变形。Dosovitskiy等人[2]在无监督特征学习的范围内展示了数据增强对学习鲁棒性的价值。
许多细胞分割任务中的另一个挑战是分离同一类别的接触对象;见图3。为此,我们提出使用加权损失,其中接触细胞之间的分离背景标签在损失函数中获得较大的权重。
所得到的网络适用于各种生物医学分割问题。在本文中,我们展示了在EM堆栈中神经结构分割的结果(一个自ISBI 2012年开始的持续竞赛),在该竞赛中我们超越了Ciresan等人的网络[1]。此外,我们展示了在ISBI 2015细胞跟踪挑战赛中的光学显微图像中的细胞分割结果。我们在两个最具挑战性的2D透射光数据集中以较大优势获胜。
图片[1] - Python AI C++笔记 - 【人工智能】U-Net:使用CNN实现医学图像分割 - Python AI C++笔记 - 小竹の笔记本
图片[2] - Python AI C++笔记 - 【人工智能】U-Net:使用CNN实现医学图像分割 - Python AI C++笔记 - 小竹の笔记本
图片[3] - Python AI C++笔记 - 【人工智能】U-Net:使用CNN实现医学图像分割 - Python AI C++笔记 - 小竹の笔记本

Network Architecture

网络架构如图1所示。它由一个收缩路径(左侧)和一个扩展路径(右侧)组成。收缩路径遵循典型的卷积网络架构。它由两个3x3卷积(无填充卷积)的重复应用组成,每个卷积后面跟着一个修正线性单元(ReLU)和一个2x2最大池化操作,步幅为2,用于下采样。在每个下采样步骤中,我们将特征通道的数量加倍。扩展路径中的每一步包括特征图的上采样,然后是一个2x2卷积(“上卷积”),它将特征通道的数量减半,与从收缩路径相应裁剪的特征图进行拼接,然后是两个3x3卷积,每个卷积后跟一个ReLU。由于每次卷积都会损失边界像素,因此需要进行裁剪。在最后一层,使用1x1卷积将每个64分量的特征向量映射到所需的类别数量。整个网络共有23个卷积层。
为了允许输出分割图的无缝拼接(见图2),选择输入平铺大小时,确保所有2x2最大池化操作应用于具有偶数x和y大小的层是很重要的。
图片[4] - Python AI C++笔记 - 【人工智能】U-Net:使用CNN实现医学图像分割 - Python AI C++笔记 - 小竹の笔记本

U-Net架构由一个收缩路径和一个对称的扩展路径组成,这种结构使得网络既能捕捉上下文信息又能实现精确的定位。具体来说,收缩路径包括重复应用两次3x3卷积,每次卷积后跟一个ReLU和一个2x2的最大池化操作以进行下采样。(是一个很经典的卷积神经网络,用于提取特征)扩展路径则包括特征图的上采样,随后是一个2x2的卷积(“上卷积”),再进行特征图的拼接和两次3x3卷积。整个网络具有23个卷积层。

训练

Data Augmentation

当只有少量训练样本可用时,数据增强对于教会网络所需的不变性和鲁棒性特性至关重要。对于显微图像,我们主要需要平移和旋转不变性以及对变形和灰度值变化的鲁棒性。特别是随机弹性变形训练样本似乎是用非常少的标注图像训练分割网络的关键概念。我们使用在粗略的3x3网格上随机位移向量生成平滑变形。这些位移从标准差为10像素的高斯分布中采样。然后使用双三次插值计算每个像素的位移。在收缩路径的末端使用dropout层进一步执行隐式数据增强。

数据增强:elastic deformations(弹性增强)

图片[5] - Python AI C++笔记 - 【人工智能】U-Net:使用CNN实现医学图像分割 - Python AI C++笔记 - 小竹の笔记本

数据集 & 成果

Experiments

我们展示了U-Net在三种不同分割任务中的应用。第一个任务是电子显微镜记录中神经结构的分割。数据集及我们获得的分割结果示例如图2所示。完整结果作为补充材料提供。该数据集来自ISBI 2012开始的EM分割挑战赛[14],目前仍接受新贡献。训练数据是来自果蝇一龄幼虫腹部神经索(VNC)串联切片透射电子显微镜的30张图像(512x512像素)。每张图像都有对应的完全标注的细胞(白色)和膜(黑色)分割真值图。测试集是公开的,但其分割图是保密的。可以通过将预测的膜概率图发送给组织者来进行评估。评估通过在10个不同水平上对图进行阈值处理并计算“变形误差”、“Rand误差”和“像素误差”来完成[14]。
U-Net(对输入数据的7个旋转版本进行平均)在没有任何进一步预处理或后处理的情况下,获得了0.0003529的变形误差(新的最佳分数,见表1)和0.0382的Rand误差。这明显优于Ciresan等人[1]的滑动窗口卷积网络结果,他们的最佳提交有0.000420的变形误差和0.0504的Rand误差。就Rand误差而言,只有一些使用高度数据集特定后处理方法的算法在该数据集上表现更好,这些方法应用于Ciresan等人的概率图[1]。
我们还将U-Net应用于光学显微图像中的细胞分割任务。该分割任务是ISBI 2014和2015细胞跟踪挑战赛的一部分[10,13]。第一个数据集“PhC-U373”包含在相差显微镜下记录的聚丙烯酰胺基底上的胶质母细胞瘤-星形细胞瘤U373细胞(见图4a,b及补充材料)。它包含35张部分标注的训练图像。我们在这里获得了92%的平均IOU(交并比),显著优于第二好的算法的83%(见表2)。第二个数据集“DIC-HeLa”是使用差分干涉对比(DIC)显微镜在平板玻璃上记录的HeLa细胞(见图3、图4c,d及补充材料)。它包含20张部分标注的训练图像。在这里我们获得了77.5%的平均IOU,显著优于第二好的算法的46%。

在实验部分,作者展示了U-Net在三种不同分割任务中的应用。第一个任务是电子显微镜记录中神经结构的分割,数据集来源于ISBI 2012的EM分割挑战赛。训练数据包含30张图片(每张图片大小为512x512像素),每张图片都附带有完整标注的细胞(白色)和膜(黑色)的分割图。

U-Net在没有任何进一步预处理或后处理的情况下,达到了0.0003529的warping error(新的最佳得分),以及0.0382的rand error,显著优于之前滑动窗口卷积网络方法的结果(0.000420的warping error和0.0504的rand error)。

U-Net的网络结构十分简单,适合做小目标的分割。

结论

Conclusion

U-Net架构在非常不同的生物医学分割应用中表现出色。得益于使用弹性变形的数据增强,它只需要很少的标注图像,并且在NVidia Titan GPU(6GB)上仅需10小时的训练时间。我们提供了完整的基于Caffe[6]的实现和训练好的网络。我们确信,U-Net架构可以轻松应用于更多的任务。

缺点

计算和存储需求高:UNet包含大量的卷积和反卷积操作,导致计算量和内存占用非常大,尤其是当处理高分辨率图像时,这个问题更加突出。

对小目标和细节处理能力有限:由于UNet的下采样操作,可能会导致小目标和细节的丢失。尽管有跳跃连接(skip connections)帮助恢复一些信息,但对于非常小的目标和细节处理仍然存在一定的挑战。

上下文信息的捕获能力有限:标准的UNet结构在捕获长距离的上下文信息时存在局限,尤其是在处理复杂场景时,这种限制会影响分割性能。

缺乏对边界的精确处理:UNet在处理物体边界时可能不够精确,容易出现边界模糊或者不准确的问题,特别是在分割具有复杂边界的物体时。

易受噪声影响:在处理包含噪声的图像时,UNet可能会受到影响,因为其结构没有专门的机制来处理噪声。

训练难度:UNet模型由于其深度和复杂性,可能需要大量的训练数据和时间来达到较好的性能。此外,模型的训练也需要仔细的参数调整和正则化技巧来避免过拟合。

过拟合风险:由于UNet模型的参数量较大,训练时容易出现过拟合现象,特别是在训练数据不足或数据多样性不够时。

© 版权声明
THE END
点赞5 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容