nb_201003_2015_unet
2015 | U-Net: Convolutional Networks for Biomedical Image Segmentation | 参考
I. Introduction
- 本网络致力于通过数据增强的方式来增加标记数据集在网络训练中的的效力,网络实验针对生物细胞分割定位项目 (ISBI2012 的 EM stacks挑战赛),也就是像素级的像分割与分类标记问题,要求在像素级进行分类标注。
- 网络结构包含一个 CP (降采样通道,contracting path) 用于捕获上下文,和一个 SEP (对称扩展通道,symmetric expanding path) 用于精确定位。由此可以从极少数训练数据中端到端训练出性能优异的网络。
II. Related Works
- [1,2012]的dlnet通过设置一个滑动窗口,为每个像素产生一个局部窗口区域的图像块作为网络输入,从而预测该像素的分类标签。
- 优点:这种设置能够提取局部信息,且能够得到远多于训练数据集的输入,因此当时取得了优异的乘积。
- 缺点:
- 网络运行速度慢。因为网络必须分别处理每一个输入图像块,且图像块之间有大量重叠。
- 需要权衡局部精确度和上下文利用率。大窗口对应大输入图像块,因此需要更多的 max-pooling 来减少局部精确度;小窗口则对全局上下文利用率低。
- 因此又有其它算法提出通过不同层提取的特征来得到不同精度的输出。
- [9,2014]提出了 全卷积网络 (fully convolutional network) 结构
- 通过多个连续conv层来补充一个普通的降采样网络,这些连续层中的pooling层都被替换为上采样操作,从而提高输出的分辨率。
- 局部化则通过将 CP 输出的高分辨率特征与上采样操作的输出结合而实现。基于此,连续的conv层就能得到精度更高的输出。
-
U-net修改这一结构,从而能够用极少的训练图像得到精确的图像分割输出。
- 不包含任何fc层,只使用conv层的有效部分,如分割图 (segmentation map) 只包含像素
- 上采样部分也包含大量特征通道,从而能够将上下文信息传播到更高分辨率的层次。同时,也是通过这一步骤,使得expansive path与contracting path形成对称结构,由此得到 U 型网络。
III. Method
A. Framework
- 共有23个conv层。如图1所示,左侧 CP,右侧是 EP。
- CP 是典型的conv网络结构,下采样通过 2*2 的maxpooling(stride=2)实现,3*3的conv伴随ReLu用于double特征通道数。
-
EP 包括:
- 上采样,其后2*2的conv用于half特征通道。
- 拼接从CP得到的裁切过的特征图。裁切是因为每次conv中都会损失掉边缘像素。
- 两个 3*3的conv伴随ReLU。
- 最终,利用一个 1*1的conv降每个64通道的特征向量map到对应分类。
B. Details
-
方法
- 通过 overlap-tile (重叠瓷砖) 策略,网络允许任意尺寸图像的无缝分割。通过瓷砖策略可以将网络应用到大尺寸图片中,而不受GPU存储容量的限制。
- 通过对输入图像的镜像来推测缺失信息,从而预测图像边缘区域的像素值。
- 通过弹性畸变 (elastic deformation) 进行数据增强,既能够实现少量数据训练的目标,还能够让网络学习到各种畸变效果。
- 引入一个带权损失,使得相接细胞 (本文的目标是做细胞图像分割) 之间的分割背景标签的损失函数权值更大,从而解决同类目标相接情况下的分割问题。
-
训练
- momentum=0.99
- 输出层的能量函数是pixel-wise的softmax,采用交叉熵损失。
- 预先对每个gt分割计算其权重图 (weight map),从而补偿训练集中各个类别像素的不同频率差异,并且迫使网络学习相接细胞之间的细微分离边界。
- 细微分离边界通过形态学算子计算,因而权重图的计算公式为:
- w ( x ) = w c ( x ) + w 0 ⋅ e x p ( − ( d 1 ( x ) + d 2 ( x ) ) 2 2 σ 2 ) w(x)=w_c(x)+w_0\cdot exp(\displaystyle -\frac{(d_1(x)+d_2(x))^2}{2\sigma^2}) w(x)=wc(x)+w0⋅exp(−2σ2(d1(x)+d2(x))2)
- w c w_c wc 是用于平衡像素频率的权重图
- d 1 , d 2 d_1,d_2 d1,d2 分别是最近和第二近细胞离边缘的距离。
- 本实验中, w 0 = 10 , σ = 5 p i x e l s w_0=10,\sigma=5 \ pixels w0=10,σ=5 pixels
- 细微分离边界通过形态学算子计算,因而权重图的计算公式为:
-
权值初始化:
- 标准差为 2 / N \sqrt{2/N} 2/N 的高斯分布,其中 N N N 表示每个神经元的输入节点数。*如,对于 3*3 的conv,其上一层的输出特征通道为64,则该层的 N = 9 ∗ 64 = 576 N=9*64=576 N=9∗64=576 *。
-
数据增强
- 数据增强能够增加网络的泛化能力和鲁棒性。
- 对于本文实验中的显微镜图像,要求平移、旋转、形变、灰度值不变性性等鲁棒性,尤其是随机弹性形变。
- 本文使用随机位移向量,在3*3的网格上生成平滑形变。
- 位移以标准差为10像素的高斯分布进行采样。每个像素的位移通过双三次插值 (bicubic interpolation) 计算。
- 在 CP 最后的 dropout 层用于更进一步的隐性数据增强。
IV. Refs
-
- Long, J., Shelhamer, E., Darrell, T.: Fully convolutional networks for semantic segmentation (2014), arXiv:1411.4038 [cs.CV]
V. Figures
- 图1. UNet网络架构