zoukankan      html  css  js  c++  java
  • U-Net: 卷积网络在生物医学图像分割中的应用

    @article{DBLP:journals/corr/RonnebergerFB15,
      author    = {Olaf Ronneberger and
                   Philipp Fischer and
                   Thomas Brox},
      title     = {U-Net: Convolutional Networks for Biomedical Image Segmentation},
      journal   = {CoRR},
      volume    = {abs/1505.04597},
      year      = {2015},
      url       = {http://arxiv.org/abs/1505.04597},
      archivePrefix = {arXiv},
      eprint    = {1505.04597},
      timestamp = {Mon, 13 Aug 2018 16:46:52 +0200},
      biburl    = {https://dblp.org/rec/journals/corr/RonnebergerFB15.bib},
      bibsource = {dblp computer science bibliography, https://dblp.org}
    }
    

    摘要:众所周知,深度神经网络的成功训练离不开大量的标注样本。在本文中,我们提出了一种网络和训练策略,该策略依赖于强大的数据增强来更有效地使用现有的标注样本。本文的网络架构由捕捉上下文的收缩路径和实现精确定位的对称扩展路径组成。我们证明了,这样的网络能够使用极少的图像进行端到端的训练,并且优于之前的 ISBI 挑战赛的最好方法(滑动窗口卷积网络),在该赛事中,研究电子显微镜图像堆栈下神经元结构的分割。使用相同的网络在透射光显微镜图像(相位对比显微镜和微分干涉显微镜(DIC))上进行训练,我们在这些类别中以较大的优势赢得了 2015 年的 ISBI 细胞跟踪挑战赛。此外,我们的网络具有更快的速度。在最新的 GPU 设备上,对一张 512×512 的图像进行分割所需的时间不到一秒钟。网络的完整实现(基于 Caffe )和预训练网络可在 http://lmb.informatik.uni-freiburg.de/people/ronneber/u-net 上获得。


    1 引言

    在过去的两年中,深度卷积神经网络在许多视觉任务中的表现都优于当下的最新技术,例如[1] [2] 。尽管卷积神经网络已经出现了很长时间[3] ,但是其成功受限于训练集的大小和网络的规模。Krizhevsky 等人[1:1] 的突破是通过大型网络在 ImageNet 数据集上的监督训练实现的,其中大型网络有 8 个网络层和数百万的参数,ImageNet 数据集包括上百万张训练图像,从那时起,即便更大更深的网络也能够得到训练[4]

    卷积网络的典型用途是分类任务,其中图像输出是单个的标签类别。然而,在许多视觉任务中,尤其是在生物医学图像处理中,期望的输出应该包括位置,即类别标签应该分配给每个像素。此外,生物医学任务中通常无法获得数千张训练图像。因此, Ciresan 等人[5] 在滑动窗口设置中训练网络,通过提供像素周围局部区域(patch)作为输入来预测每个像素的类别标签。首先,这个网络可以定位。其次,局部块方面的训练数据远大于训练图像的数量。由此产生的网络大幅度地赢得了 ISBI 2012EM 分割挑战赛。

    图1. U-net 架构 (以 32×32 为最低分辨率为例)。每个蓝色的矩形框对应于一个多通道特征图,通道数标注在矩形框的顶部。x-y 尺寸位于矩形框的左下角。白色矩形框表示要复制的特征图。箭头表示不同的操作。

    显然,Ciresan 等人[5:1] 的策略有两个缺点。首先,它非常慢,因为必须为每个图像块单独运行网络,并且由于图像块重叠而存在大量冗余。其次,定位准确性与上下文的使用之间存在着权衡。较大的图像块需要更多的最大池化层,从而降低了定位精度,而较小的图像块则允许网络只能看到很少的上下文。许多最近的方法 [6] [7] 提出了一种分类器输出,其考虑了来自多个层的特征。同时具有良好的定位和上下文的使用是可能的。

    在本文中,我们构建了一个更优雅的架构,即所谓的“全卷积网络”[8] 。我们对这种架构进行了修改和扩展,使得它只需很少的训练图像就可以取得更精确的分割; 参见图 1 。[8:1] 中的主要思想是通过连续层补充通常的收缩网络,其中的池化运算符由上采样运算符替换。因此,这些层增加了输出的分辨率。为了进行定位,来自收缩路径的高分辨率特征与上采样输出相结合。然后,后续卷积层可以基于该信息学习组装更精确的输出。

    图2. 重叠图像块策略可以无缝分割任意大小的图像(EM 堆叠中的神经元结构分割)。分割的预测在黄色区域,要求蓝色区域的图像数据作为输入。缺失的输入数据通过镜像外推。

    我们架构中的一个重要修改是在上采样部分中我们还有大量的特征通道,这些通道允许网络将上下文信息传播到具有更高分辨率的层。因此,扩展路径或多或少地与收缩路径对称,并产生 U 形结构。网络没有任何全连接层,并且仅使用每个卷积的有效部分,即分割映射仅包含在输入图像中可获得完整上下文的像素。该策略允许通过重叠图像区策略无缝分割任意大小的图像(参见图 2 )。为了预测图像边界区域中的像素,通过镜像输入图像来外推缺失的上下文。这种图像块策略对于将网络应用于大的图像非常重要,否则分辨率将受到 GPU 内存的限制。

    对于我们的任务,可用的训练数据非常少,我们通过对可用的训练图像应用弹性变形来使用更多的数据增强。这允许网络学习这种变形的不变性,而不需要在标注图像语料库中看到这些变形。 这在生物医学分割中尤其重要,因为变形曾经是组织中最常见的变化,并且可以有效地模拟真实的变形。Dosovitski 等人[9] 在无监督特征学习的领域内已经证明了数据增强在学习不变性中的价值。

    许多细胞分割任务中的另一个挑战是分离同类的接触目标,见图 3 。为此,我们建议使用加权损失,其中接触单元之间的分离背景标签在损失函数中获得较大的权重。

    图3. 用 DIC(差异干涉对比)显微镜记录玻璃上的 HeLa 细胞。(a)原始图像。(b)覆盖的实际分割。不同的颜色表示不同的HeLa细胞实例。(c)生成分割掩码(白色:前景,黑色:背景)。(d)以像素损失权重的映射来迫使网络学习边界像素。

    2 网络架构

    网络架构如图 1 所示。它由一个收缩路径(左侧)和一个扩展路径(右侧)组成。收缩路径遵循卷积网络的典型架构。它包括重复使用两个 3x3 卷积(无填充卷积),每个卷积后跟一个线性修正单元(ReLU)和一个 2x2 最大池化操作,步长为 2 的下采样。在每个下采样步骤中,我们将特征通道的数量加倍。扩展路径中的每一步都包括特征映射的上采样,然后进行 2x2 卷积(“向上卷积”),将特征通道数量减半,与来自收缩路径的相应裁剪特征映射串联,然后是两个 3x3 卷积,每个卷积后面接 ReLU 。由于每一次卷积都会丢失边界像素,因此裁剪是必要的。在最后一层,使用 1x1 卷积将每个 64 分量特征向量映射到所需数量的类别上。网络总共有 23 个卷积层。

    为了允许输出分割映射的无缝平铺(参见图 2 ),选择输入的图像块大小非常重要,这样所有的 2x2 最大池化操作都可以应用在具有偶数 x 和偶数 y 大小的层上。

    3 训练

    使用输入图像及其相应的分割映射来训练带有随机梯度下降的网络,网络采用 Caffe[10] 实现。由于无填充卷积,输出图像比输入少恒定的边界宽度。为了最小化开销并最大限度地利用 GPU 内存,我们倾向于在大批量数据大小的情况下使用大的输入图像块,从而将批量数据大小减少到单张图像。因此,我们使用高动量值(0.99),大量先前看到的训练样本来决定当前优化步骤中的更新。

    能量函数由最终的特征映射上逐像素 soft-max 与交叉熵损失函数结合计算而成。 soft-max 定义为 (p_{k}(mathbf{x})=exp left(a_{k}(mathbf{x}) ight) /left(sum_{k^{prime}=1}^{K} exp left(a_{k^{prime}}(mathbf{x}) ight) ight)) ,其中,(a_{k}(mathbf{x})) 表示特征通道 (k) 中在像素位置 (mathbf{x} in Omega)(Omega subset mathbb{Z}^{2})(K) 为类别数量,(p_{k}(mathbf{x})) 为近似的最大化函数,即,对于有最大激活 (a_{k}(mathbf{x}))(k) ,有 (p_{k}(mathrm{x}) approx 1) ;而对于其他的 (k) ,则有 (p_{k}(mathbf{x}) approx 0)。在每个位置上使用来交叉熵来惩罚 (p_{ell(mathbf{x})}(mathbf{x})) 与 1 的偏差:

    [E=sum_{mathbf{x} in Omega} w(mathbf{x}) log left(p_{ell(mathbf{x})}(mathbf{x}) ight) ag{1} ]

    其中,(ell: Omega ightarrow{1, ldots, K}) 表示每个像素的真实标签,(w: Omega ightarrow mathbb{R}) 表示训练中我们引入的用来赋予某些像素更多权重的权重图。

    我们为每一个真实分割预先计算了权重图,以补偿训练集里某个类别的像素的不同频率,并且迫使网络学习我们在相邻细胞间的引入小的分割边界(参见图 3c 和 d )。

    分割边界使用形态学操作来计算。然后将权重图计算为:

    [w(mathbf{x})=w_{c}(mathbf{x})+w_{0} cdot exp left(-frac{left(d_{1}(mathbf{x})+d_{2}(mathbf{x}) ight)^{2}}{2 sigma^{2}} ight) ag{2} ]

    其中,(w_{c}: Omega ightarrow mathbb{R}) 是用来平衡类频率的权重图,(d_{1}: Omega ightarrow mathbb{R}) 表示到最近细胞边界的距离,(Omega ightarrow mathbb{R}) 表示到次近细胞边界的距离。在我们的实验中,设置 (w_{0}=10)(sigma approx 5) 个像素。

    在具有许多卷积层和通过网络的不同路径的深度网络中,权重的良好初始化非常重要。否则,网络的某些部分可能会进行过多的激活,而其他部分永远不会起作用。理想情况下,初始化权重应该是自适应的,以使网络中的每个特征映射都具有近似的单位方差。对于具有我们架构(交替卷积和 ReLU 层)的网络,可以通过从标准偏差为 (sqrt{2 / N}) 的高斯分布中绘制初始化权重来实现,,其中 (N) 为表示一个神经元[11] 传入结点的数量。例如,对于前一层中 3x3 卷积和 64 个特征通道,(N=9 cdot 64=576)

    3.1 数据增强

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

    4 实验

    我们演示了 U-Net 在三个不同分割任务中的应用。第一个任务是在电子显微记录中分割神经元结构。图 2 显示了数据集样本以及获得的分割。我们在补充材料中提供了完整的结果。数据集由 EM 分割挑战赛[12] 提供,该挑战始于 ISBI 2012 ,目前仍在接受新的贡献。训练数据是一组来自果蝇一龄幼虫腹神经索(VNC)的连续切片透射电镜的 30 张图像( 512x512 像素)。每张图像都有一个对应的细胞(白色)和膜(黑色)完整标注的实际分割图。该测试集是公开可获得的,但其分割图像是保密的。评估可以通过将预测的膜概率图发送给组织者来获得。通过在 10 个不同级别对映射进行阈值化并计算“翘曲误差”,“随机误差”和“像素误差”来进行评估[12:1]

    U-Net(输入数据 7 个旋转版本的平均)在没有任何进一步的“前”或后处理的情况下实现了 0.0003529 的“翘曲误差”(新的最佳分数,参见表 1 )和 0.0382 的“随机误差”。

    表1:EM分割挑战 [^14](march 6th, 2015)的排名,按warping error排序。
    等级(Rank) 小组名(Group name) 翘曲误差(Warping Error) 随机误差(Rand Error) 像素误差(Pixel Error)
    人类取值 0.000005 0.0021 0.0010
    1. u-net 0.000353 0.0382 0.0611
    2. DIVE-SCI 0.000355 0.0305 0.0584
    3. IDSIA[5:2] 0.000420 0.0504 0.0613
    4. DIVE 0.000430 0.0545 0.0582
    ……
    10. IDSIA-SCI 0.000653 0.0189 0.1027

    这比 Ciresan 等人[5:3] 的滑动窗口卷积网络结果要好得多,其最佳提交的翘曲误差为0.000420 ,随机误差为 0.0504 。 就兰德误差而言,在该数据集上唯一表现更好的算法,其使用了应用到 Ciresan 等[5:4] 概率图上的针对数据集的非常特定后处理方法。

    图4:ISBI 细胞跟踪挑战赛上的结果。(a)“PhC-U373”数据集的一张输入图像的一部分。(b)分割结果(蓝绿图像块)和实际结果(黄色边框)。(c)“DIC-HeLa”数据集的输入图像。(d)分割结果(随机颜色的图像块)和实际结果(黄色边框)

    表2:ISBI细胞跟踪挑战赛2015上的分割结果(IOU)
    名称(Name) PhC-U373 DIC-HeLa
    DIC-HeLa 0.2669 0.2935
    KTH-SE (2014) 0.7953 0.4607
    HOUS-US (2014) 0.5323 -
    second-best 2015 0.83 0.46
    u-net (2015) 0.9203 0.7756

    我们还将 U-Net 应用于光学显微图像中的细胞分割任务。这个分割任务是 ISBI 细胞跟踪挑战赛 2014 和 2015 的一部分[13][14]。第一个数据集 “PhC-U373” 包含在聚丙烯酰亚胺基质上通过相衬显微技术记录的多形性胶质母细胞瘤 U373 细胞(参见图4a,b和补充材料)。它包含 35 个部分标注的训练图像。这里,我们取得了 92% 的平均IOU(“并集上的交集”),明显好于 83% 的次优算法(参见表 2 )。第二个数据集 “DIC-HeLa” 是通过微分干涉相差(DIC)显微镜记录的平板玻璃上的 HeLa 细胞(请参见图3,图4c,d和补充材料)。它包含 20 个 部分标注的训练图像。这里,我们取得了 77.5% 的平均IOU,明显好于 46% 的次优算法。

    5 结论

    U-Net 架构在截然不同的生物医疗分割应用中取得了非常好的性能。由于具有弹性形变的数据增强,它仅需要非常少的标注图像,并且在 NVidia Titan GPU (6 GB) 上仅需要 10 个小时的合理训练时间。我们提供了完整的基于 Caffe[10:1] 的实现以及训练之后的网络。我们确信U-Net架构可以很轻松地应用到更多的任务上。

    致谢

    这项研究得到了德国联邦和州政府卓越计划(EXC 294)和 BMBF(Fkz 0316185B) 的支持。

    声明

    本文翻译参考了 https://cloud.tencent.com/developer/article/1620562 ,如有侵权,请联系作者删除。

    参考文献


    1. Krizhevsky, A., Sutskever, I., Hinton, G.E.: Imagenet classification with deep convolutional neural networks. In: NIPS. pp. 1106-1114 (2012) ↩︎ ↩︎

    2. Girshick, R., Donahue, J., Darrell, T., Malik, J.: Rich feature hierarchies for accurate object detection and semantic segmentation. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2014) ↩︎

    3. LeCun, Y., Boser, B., Denker, J.S., Henderson, D., Howard, R.E., Hubbard, W., Jackel, L.D.: Backpropagation applied to handwritten zip code recognition. Neural Computation 1(4),541-551 (1989) ↩︎

    4. Simonyan, K., Zisserman, A.: Very deep convolutional networks for large-scale image recognition(2014),arXiv:1409.1556 ↩︎

    5. Ciresan, D.C., Gambardella, L.M., Giusti, A., Schmidhuber, J.: Deep neural networks segment neuronal membranes in electron microscopy images. In: NIPS. pp.2852-2860 (2012) ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

    6. Seyedhosseini, M., Sajjadi, M., Tasdizen, T.: Image segmentation with cascaded hierarchical models and logistic disjunctive normal networks. In: Computer Vision (ICCV), 2013 IEEE International Conference on. pp. 2168-2175 (2013) ↩︎

    7. Hariharan, B., Arbelez, P., Girshick, R., Malik, J.: Hypercolumns for object segmentation and fine-grained localization (2014), arXiv:1411.5752 ↩︎

    8. Long, J., Shelhamer, E., Darrell, T.: Fully convolutional networks for semantic segmentation (2014), arXiv:1411.4038 ↩︎ ↩︎

    9. Dosovitskiy, A., Springenberg, J.T., Riedmiller, M., Brox, T.: Discriminative unsupervised feature learning with convolutional neural networks. In: NIPS (2014) ↩︎

    10. Jia, Y., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., Guadarrama, S., Darrell, T.: Caffe: Convolutional architecture for fast feature embedding(2014), arXiv:1408.5093 ↩︎ ↩︎

    11. He, K., Zhang, X., Ren, S., Sun, J.: Delving deep into rectifiers: Surpassing humanlevel performance on imagenet classification (2015), arXiv:1502.01852 ↩︎

    12. Web page of the em segmentation challenge ↩︎ ↩︎

    13. Maska, M., (...), de Solorzano, C.O.: A benchmark for comparison of cell tracking algorithms. Bioinformatics 30, 1609-1617 (2014) ↩︎

    14. Web page of the cell tracking challenge ↩︎

  • 相关阅读:
    java 大数据处理类 BigDecimal 解析
    关于纠正 C/C++ 之前在函输内改变 变量的一个错误想法。
    C++ 制作 json 数据 并 传送给服务端(Server) 的 php
    介绍一个很爽的 php 字符串特定检索函数---strpos()
    如何 判断 设备 是否 连接 上 了 wifi
    android 通过访问 php 接受 or 传送数据
    正则匹配抓取input 隐藏输入项和 <td>标签内的内容
    手把手教你Chrome扩展开发:本地存储篇
    HTML5之本地存储localstorage
    初尝CDN:什么是分布式服务节点?
  • 原文地址:https://www.cnblogs.com/gshang/p/14045187.html
Copyright © 2011-2022 走看看