u-net

Abstract: 本文对最早于2015年应用在biomedical segmentation的u-net进行介绍。

paper: U-Net: Convolutional Networks for Biomedical Image Segmentation
homepage: https://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/

  1. 简介
    该工作出自德国University of Freiburg,作者将提出的方法应用于生物医学领域,并以大幅领先的优势获得the ISBI cell tracking challenge 2015冠军。此前该领域有Ciresan et al. [1]提出的的方法,通过滑动窗口的方式分别对每个像素点的邻域范围对应的patch使用训练好的网络进行分类,预测出该像素点的类别标签。该方法具有局部化和通过patch训练从而大大扩展原始训练图片数据的优点,但是同时也有以下缺点:1)对patch的逐个操作以及patch间本身存在的重叠导致计算冗余减慢速度;2)patch大小的选择实际上是对于局部预测精度和结合上下文内容程度的折中。于是,作者提出u-net,喊出了“Good localization and the use of context are possible at the same time”的口号。

  2. 网络结构

    u-net的结构是全卷积的,借鉴了文献[2]的idea使用上采样算子增强分辨率。首先是contracting path的操作,对于原始的输入图片,进行两次3x3的unpadded conv + ReLU操作,然后做stride为2的2x2 max-pooling,总共进行4次。随后是expansive path的操作,对contracting最后的结果进行上采样2x2 up-convolution,然后将contracting path对应尺度的特征图crop出相应大小并与expansive path上采样得到的相同尺度的特征相concatenate,进行两次3x3的unpadded conv + ReLU操作后再进行上采样,总共进行4次。最后卷积输出的结果是两个channels,分别代表前景和背景。
    因为上采样采用的是卷积,因此整个网络有23个卷积层。

  3. 方法
    数据增强 Data Augmentation
    除了考虑shift和rotation之外,也考虑了deformations和gray value variations,尤其是对原始数据进行random elastic deformations是关键。
    the overlap-tile strategy
    因为u-net的结构是全卷积的而不包含全连层,因此适用于任意大小的图片。对于GPU显存有限而图片过大的情形,可以采用overlap-tile策略,将图片划分为多个边缘重叠的图块进行分割,然后再无缝地拼接起来。
    weighted loss

    在细胞分割等任务中,要将相邻的同类细胞分开具有一定的挑战性,本文提出weighted loss,通过在训练阶段赋予同类细胞间隔的像素点位置的交叉熵损失更高的权重,使得网络能够较好的划分相邻的同类细胞。
    网络最后的输出针对channel计算softmax,须最小化的加权交叉熵损失函数为:
    $$
    L = -\sum_{x\in\Omega}{\omega(x)log(p_{l}(x))}
    $$
    其中,$l:\Omega\rightarrow\lbrace 1,…,K \rbrace$是每个像素位置的真实标签,$\omega:\rightarrow\mathbb{R}$是在训练过程中给予部分像素位置更大重要性的权重图。在训练之前计算权重图:
    $$
    \omega(x)=\omega_{c}(x)+\omega_{0}· exp(-\frac{(d_1(x)+d_2(x))^2}{2\sigma^2})
    $$
    其中,$\omega_c:\Omega\rightarrow\mathbb{R}$是用来平衡类别频率的权重图,$d_1:\Omega\rightarrow\mathbb{R}$和$d_2:\Omega\rightarrow\mathbb{R}$分别代表像素点位置离最近和次近的细胞边界的距离。

  4. 实验结果
    笔者通过相关比赛网站获得PhC-C2DH-U373数据集,并使用作者给的模型进行处理,得到的部分结果:

References
[1] 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)
[2] Long, J., Shelhamer, E., Darrell, T.: Fully convolutional networks for semantic segmentation (2014), arXiv:1411.4038 [cs.CV]