U-Net 卷积神经网络在生物图像分割上的应用 简单易懂笔记

U-Net: Convolutional Networks for Biomedical Image Segmentation

U-Net 卷积神经网络在生物图像分割上的应用 简单易懂笔记_第1张图片
(本人才疏学浅,如有错误欢迎指正)
论文地址:https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/

1 摘要

卷积神经网络在生物图像分割上的应用

用于解决的问题:

一般来说成功训练深度网络需要数千个带注释的训练样本,但在生物医学任务中,成千上万的训练图像通常是遥不可及的。这篇文章提出了一种网络和训练策略,它依赖于数据扩充的强大使用,以更有效地使用可用的带注释的样本。该体系结构由捕获上下文的收缩路径和支持精确定位的对称扩展路径组成。这样的网络可以从非常少的图像中端到端地训练。

2 引言

卷积网络+生物医学图像处理需要解决的两个问题

  • 1.定位问题
    卷积网络的典型用途是分类任务,其中图像的输出是单个类别标签。然而,在许多视觉任务中,特别是在生物医学图像处理中,期望的输出应该包括定位,即,假设为每个像素分配一个类标签。
  • 2.训练图像的数量很少
    策略一:在滑动窗口设置中训练网络,以通过提供该像素周围的局部区域(补丁)来预测每个像素的类标签作为输入。优点是产生了大量的训练数据。缺点一,慢,因为网络必须为每个补丁单独运行,并且由于重叠修补程序而存在大量冗余。缺点二,有一个定位的准确性和使用上下文之间的权衡。较大的补丁需要更多的最大池化层,这会降低定位精度,较小的需要很少的上下文信息。优点,实现了定位且产生的训练数据比训练图像的数量大得多。
    策略二:考虑了多个层的特征的分类器输出。好的定位和上下文信息可能被同时使用。本论文使用策略二。将不同的层进行一个“叠”操作,即收缩路径和扩张路径u型结构对应的层进行通道数叠加,当做下一层的输入。

本文网络介绍

  • 本论文结构建立在全卷积网络中(无全连接层),修改并扩展了该架构,使得它可以使用非常少的训练图像工作,并产生更精确的分割。特别的是,又通过连续的层来实现对通常的一个“收缩”的网络的补充,其中用上采样来代替池化。为了定位,来自收缩路径的高分辨率特征结合了上采样的输出。随后,后续卷积层可以学习基于该信息来组合更精确的输出。
  • 特别的是,在上采样层中具有大量特征通道,允许网络将上下文信息传播到更高分辨率层(将不同的层进行一个**“叠”操作**)。因此,扩张路径尽量地与收缩路径对称,并产生U形结构。该网络没有全连接层,并且仅使用每个卷积的有效部分,即,最后输出的分割图中仅包含了 ‘在输入图像中可获得其全部上下文的’ 像素点。
  • overlap-tile重叠平铺策略:为了预测图像的边界区域中的像素,通过镜像输入图像来外推丢失的上下文。(即收缩路径上的图像)这种平铺策略对于大图像的应用很重要,否则分辨率将受到GPU存储器的限制。
  • 数据扩充对学习不变性的价值:对于我们的任务,可用的训练数据非常少,我们通过将弹性变形应用于可用的训练图像来使用过度的数据扩充。这允许网络学习到这种弹性变形的不变性,而不需要在带注释的图像语料库中看到这些变换。这在生物医学分割中特别重要,因为变形曾经是组织中最常见的变化,并且可以有效地模拟真实变形。数据扩充对学习不变性的价值在Dosovitskiy等人的无监督特征学习的范围中显示出了。
  • 在许多细胞分割任务中的另一个挑战是同类的接触单元的分离;为此,我们建议使用加权损失,其中接触单元之间的分离背景标签 在 损失函数中获得大的权重。

3 网络结构

它由收缩路径和扩张路径组成。

  • 收缩路径
    遵循卷积网络的典型架构。它包括两个3x3卷积(未填充卷积),每个卷积后接一个ReLU单元和一个步长为2的2x2最大池操作,用于下采样。在每个下采样步骤中,我们将特征通道的数量加倍。
  • 扩展路径
    中的每一步包括特征图的上采样,随后是将特征通道数量减半的2x2卷积(“上卷积”),与来自收缩路径的相应特征通道的叠在一起,以及两个3x3卷积,每个卷积之后是ReLU。由于每个卷积中的边界像素的损失,裁剪是必要的。在最后一层,使用1x1卷积将每个64分量特征向量映射到所需数量的类。网络总共有23个卷积层。
  • 要注意的点为了实现输出分割图的无缝切片(见图2),选择输入切片大小非常重要,这样所有2x2最大池操作都将应用于x和y大小相等的情况。

4 训练

  1. 网络训练过程
    使用输入图像及其相应的分割图的训练使用了Caffe 的随机梯度下降实现的网络。由于卷积过程中未填充,输出图像比输入图像小恒定的边界宽度。为了最小化开销并最大限度地利用GPU内存,我们倾向于使用大的单个的输入切片而不是大的批处理大小,从而使用单个图像批处理。因此,我们使用高动量(0.99),使得大量先前看到的训练样本确定当前优化步骤中的更新。
    该能量函数是通过在最终特征图上结合交叉熵损失函数的像素级别的softmax来计算的。我们引入交叉熵损失函数是为了在训练中给予一些像素更重要的意义。
    我们预先计算每个地面实况分割的权重图,以补偿训练数据集中某类像素的不同频率,并迫使网络学习我们在接触细胞之间引入的小分隔边界。使用形态学处理来计算分离边界。然后,权重图计算如下公式
    在具有许多卷积层和通过网络的不同路径的深度网络中,权重的良好初始化是极其重要的。否则,网络的某些部分可能会给予过度的激活,而其他部分则根本不起作用。理想地,初始权重应当被适配成使得网络中的每个特征图具有近似单位方差。对于具有我们的架构的网络(交替卷积和ReLU层),这可以通过从标准差为2/N的高斯分布中提取初始权重来实现,其中N表示一个神经元的传入节点数。例如,对于3x 3卷积和前一层中的64个特征通道,N = 9 · 64 = 576。
  2. 数据扩充
    当只有很少的训练样本可用时,数据扩充对于教导网络期望的不变性和鲁棒性是必要的。对于显微图像,我们主要需要移位和旋转不变性以及对变形和灰度值变化的鲁棒性。特别是训练样本的随机弹性变形似乎是用非常少的注释图像训练分割网络的关键概念。我们在3 × 3的粗网格上使用随机位移向量生成平滑变形。从具有10像素标准偏差的高斯分布中对位移进行采样。然后使用双三次插值计算每像素位移。收缩路径末端的丢弃层执行进一步的隐式数据扩充。

5 结论

u-net架构在非常不同的生物医学分割应用中实现了非常好的性能。得益于弹性变形的数据扩充,它只需要很少的注释图像,并且在NVidia Titan GPU(6 GB)上有非常合理的训练时间,只有10个小时。我们提供完全基于Caffe[6]的实现和经过培训的网络4。我们确信,u-net体系结构可以很容易地应用于更多的任务。

你可能感兴趣的:(计算机视觉,深度学习)