U-Net: Convolutional Networks for Biomedical Image Segmentation翻译

摘要

人们普遍认为,成功的深层网络训练需要数千个带注释的训练样本。在本文中,我们提出了一个网络和训练策略,它依赖于强大的数据扩充来更有效地使用可用的注释样本。该体系结构包括一个捕获上下文内容的收缩路径和一个对称的扩展路径(收缩路径和扩展路径可能指的是编码与解码过程),来允许精确定位。我们证明这样一个网络可以从很少的图像中进行端到端的训练并且胜过在ISBI电子显微镜神经结构比赛上的最优方法。使用在透射光显微镜图像上训练的相同网络,我们在2015年的ISBI小区跟踪挑战赛中以较大的优势获胜。而且,这个网络很快,用最近的GPU分割一个512*512的图像少于一秒。基于caffe网络结构从以下获取: http://lmb.informatik.uni-freiburg.de/people/ronneber/u-net.

 

1.介绍

最近两年,深度卷积网络在很多视觉任务上胜过了之前的最优方法。虽然卷积网络存在很长一段时间了,但是由于训练集规模和网络规模的限制,它们的成功应用收到了限制。Krizhevsky 的突破是因为他用了8层的拥有百万参数的网络以及ImageNet上的一百万图像集。从那以后,更大更深的网络都被提出。

卷积网络的典型使用是分类任务,其输出是图像的类。然而,很多视觉任务,尤其是生物医学图像处理,其期望输出应该包括定位,每个像素都该赋予一个类别标签。而且,在生物医学任务中,数以千计的训练图像通常是遥不可及的。因此,Ciresan 在一个滑动窗口设置上训练了一个网络,通过提供像素周围局部区域作为输入来预测那个像素的标签。首先,这个网络能够定位,其次,基于分块的训练数据远远大于训练图像的数量。由此产生的网络在ISBI 2012的EM分割挑战赛中以较大优势获胜。

很明显,Ciresan 的策略由两个缺点。首先,它相当慢,因为网络必须为每个分块单独运行,并且重叠的分块有很多冗余。其次,定位准确性和内容的使用之间存在权衡。大的分块需要更多最大池化层,这些池化层会降低定位准确性,而小的分块只能看到少许的内容。最近更多方法提出了一种考虑到多层特征的分类输出,好的定位效果和内容利用成为可能。

本文中,我们构建了一个更简洁的结构-所谓的全卷积网络。我们修改和拓展了这个结构,这样可以使用很少的训练图像产生更精确的分割。其结构如下:

U-Net: Convolutional Networks for Biomedical Image Segmentation翻译

全卷积网络中的主要思想是用连续的层来补充通常的编码网络,连续层中池化操作被上采样操作所代替。所以那些层提升了输出的分辨率。为了定位,从收缩层(应该指特征提取的编码层)获取的高分辨率特征被结合到上采样输出。然后,一个连续的卷积层可以根据这些信息学习组合一个更精确的输出。

我们架构中的一个重要修改是,在上采样部分,我们还有大量的特征通道,允许网络将上下文信息传播到更高分辨率的层。因此,扩张路径与收缩路径或多或少是对称的,并产生一个u形结构。网络没有任何全连接层,只使用每个卷积的有效部分。分割图只包含像素,因为输入图像中有完整的上下文。此策略允许通过重叠平铺策略无缝分割任意大的图像,如下图所示。U-Net: Convolutional Networks for Biomedical Image Segmentation翻译

为了预测图像边界区域中的像素,可以通过镜像输入图像推断缺少的上下文。这种分块策略对于将网络应用于大型图像非常重要,否则分辨率将受到GPU内存的限制。

对于我们的任务,可用的训练数据很少,我们通过对可用的训练图像应用弹性变形来进行的数据增强。这使得网络能够学习到对这种变形的不变性,而无需在带注释的图像集中看到这些转换。这对生物医学分割尤其重要,因为变形曾经是组织中最常见的变化,而且真实的变形可以有效地模拟。在Dosovitskiy文章中显示了在无监督特征学习的范围内,数据增强对学习不变性的价值。

在许多细胞分割任务中,另一个挑战是分离同一类的接触对象(可能使重叠的对象)。如下图所示。U-Net: Convolutional Networks for Biomedical Image Segmentation翻译

为此,我们建议使用加权损失,在相互接触的细胞之间的背景被赋予了很大的损失。

我们所得到的网络适用于各种生物医学分割问题。本论文中,我们展示了在EM(在ISBI 2012开始进行的竞赛)中分割神经元结构的结果。我们超过了Ciresan 的网络。此外,我们展示了ISBI 2015挑战的细胞分割的结果。我们在另外两个2D转换的轻量数据集也获得了突破性的结果。

 

2.网络结构

上边第一幅图说明了网络结构。它由收缩路径(左侧)和扩张路径(右侧)组成。收缩路径遵循卷积网络的典型结构,它包括两个3x3卷积的重复应用(没有使用padding),每个后边跟着一个直达的线性单元(ReLU)以及用于下采样步长为2的最大池化。在每个下采样步骤中,我们将特征通道的数量加倍。扩展路径中的每一步都包括以下步骤:一个特征映射的上采样和2x2卷积用来将特征通道的数量减,一个与收缩路径中相应裁剪的特征映射的连接,以及两个3x3卷积,每个卷积跟一个ReLU。由于每次卷积都会丢失边界像素,因此必须进行裁剪。在最后一层,使用1x1卷积将64通道的分量特征向量映射到所需的类号。网络总共有23个卷积层。

为了允许输出映射图的无缝平铺,选择输入平铺大小很重要,这样,所有2x2最大池化操作都应用于具有均匀x和y大小的层。

 

3.训练

利用输入图像及其相应的分割图,通过Caffee的随机梯度下降实现对网络的训练。由于使用未填充的卷积,输出图像比输入图像小一个恒定的边框宽度。为了最小化开销并最大限度地利用GPU内存,我们倾向于使用大的输入块而不是大的批处理大小,因此将批处理减少为单个图像。因此,我们使用高动量(0.99),这样能够使得通过大量先前看到的训练样本来确定当前优化步骤中的更新 。

能量函数由最终特征图上的像素级softmax和交叉熵损失函数计算得出。softmax定义如下:U-Net: Convolutional Networks for Biomedical Image Segmentation翻译

其中ak(x)表示通道k出的**函数。K使类的数量,pk(x)是近似的最大函数。最大**处ak(x)约等于1,其他约等于0。交叉熵在每个位置惩罚了pe(x)偏离1的程度,通过下式:

U-Net: Convolutional Networks for Biomedical Image Segmentation翻译

其中,U-Net: Convolutional Networks for Biomedical Image Segmentation翻译是每个像素的真实标签,而U-Net: Convolutional Networks for Biomedical Image Segmentation翻译是我们引入的一个权重图,在训练中赋予一些像素更大的重要性。

我们预先计算每个Ground Truth分割的权重图,以补偿训练数据集中某一类像素的不同频率,并强制网络学习我们在接触细胞之间引入的小分离边界。

分离边界使用形态学运算计算得到的。权重图计算如下:U-Net: Convolutional Networks for Biomedical Image Segmentation翻译

其中U-Net: Convolutional Networks for Biomedical Image Segmentation翻译是平衡类频率的权重图,U-Net: Convolutional Networks for Biomedical Image Segmentation翻译代表到最近的细胞的边界的距离。U-Net: Convolutional Networks for Biomedical Image Segmentation翻译代表次近细胞的距离。在我们的实验中,w0=10,U-Net: Convolutional Networks for Biomedical Image Segmentation翻译

在具有许多卷积层和具有很多传播路径的深度网络中,一个好的权重初始化很重要。否则,网络的某些部分可能会过度**,而其他部分则不会。理想情况下,应调整初始权重,使网络中的每个特征映射具有近似的单位方差。对于我们的网络架构(交替的卷积和ReLU层),我们可以通过标准高斯分布实现,其中方差为U-Net: Convolutional Networks for Biomedical Image Segmentation翻译,其中N表示一个神经元的传入节点数。对于一个3x3卷积和64通道的特征,N=9*64=576。

3.1数据增强

当只有很少的训练样本可用时,数据增强对于教导网络期望的不变性和鲁棒性是必要的。对于显微镜图像,我们主要需要平移和旋转不变性以及对变形和灰度变化的鲁棒性。特别是训练样本的随机弹性变形,是训练一个带少量注释图像的分割网络的关键概念。我们使用3×3粗网格上的随机位移矢量生成平滑变形。位移是从10像素标准差的高斯分布中采样的,然后使用双三次插值计算每像素位移。收缩路径末端的Drop-out层执行进一步的隐式数据增强。

 

4.实验

请自行翻看论文。