U-Net: Convolutional Networks for Biomedical Image Segmentation
提出了用于生物医学图像分割的U-Net,一种对称的U型编码器-解码器结构。
阅读笔记
问题分析
- 传统卷积神经网络需要大规模数据集与较高的参数量来训练,而生物医学图像数据集规模有限。
- 目前的卷积神经网络主要适用于图像分类任务,但在生物医学图像中,输出应该包含定位,即每个像素都应该被分配一个类别(也就是计算机视觉任务中的语义分割任务)。
- 在ISBI 2012的EM挑战赛中,Ciresan等人构建了一种网络取得了冠军。但他们的方法有2个缺点:(1)它的运行非常的慢,受限于每个patch单独运行;(2)要使网络具备全局感受野,需要较多次数的最大池化。而多次池化后必然伴随着定位精度的下降。因此,定位精度与上下文的使用之间存在权衡。
本文贡献
- 提出了一种U型全卷积网络,该网络不存在全连接层,同时采用上采样的方式逐步恢复图像的空间分辨率。为确保定位精度,采用跳跃连接将下采样路径中的特征图在上采样过程中进行拼接。
- 为预测图像中的边界像素,采用镜像输入图像方式来推断丢失的上下文。为在生物医学图像小样本分割领域取得更好的性能,采用了基于弹性变换的数据增强方法,旨在让模型学习任务的不变性。且采用加权损失让细胞间的背景区域分割获得更大权重。
- 在2012年的IBSI的EM挑战赛中,U-Net在分割任务中获得了最优分数,并且在ISBI 2015的细胞追踪挑战赛中光学显微镜图像细胞分割任务中(原文说的是在2个数据集上取得压倒性优势,但是后续表格中EM挑战赛貌似并没有显著性的提升,推测原论文说的是ISBI 2015的2个挑战赛)也取得了第一名。
网络结构
网络整体包括收缩路径与扩展路径两部分(现如今多称为编码器和解码器)。其中收缩路径主要包含2个3×3无填充卷积构成特征提取层,每个特征提取层后接一个ReLU激活函数与一个2×2最大池化层用于下采样。每次下采样后,特征图的通道数会加倍。扩展路径主要包含2×2上采样卷积层用于上采样,每次上采样后,特征图的通道数会减半。然后将上采样后的特征图与收缩路径中对应的特征图进行拼接,再经过2个3×3卷积层与ReLU激活函数进行特征提取。最后通过1×1卷积将64个特征图映射到所需的类别数(每个类别构成一个掩码特征图)。
训练设置
| 参数 | 取值 |
|---|---|
| 损失函数 | 交叉熵损失+逐像素softmax损失 |
| 优化器 | 随机梯度下降(SGD) |
| 动量 | 0.99 |
| 初始化 | He 初始化,标准差 |
解读:该表格记录了U-Net的训练设置,包括优化器、学习率、学习率衰减策略和动量等超参数。
数据增强策略
- 因为本项目主要需要平移和旋转不变性,以及对变形和灰度变化的鲁棒性,因此主要采用了基于弹性形变与灰度偏移的数据增强方法。
实验结果
- 在ISBI 2012 EM挑战赛中,U-Net取得了最低的扭曲误差,但在Rand Error方面与Pixel Error没有取得最优成绩,但还是保持着几乎最优的水平。
- 在ISBI 2015细胞追踪挑战赛中,U-Net在光学显微镜图像细胞分割任务中以显著性优势获得第一名,远超传统方法。
关键图表记录

图 1:U-Net 的整体网络架构。左侧为收缩路径,用于提取上下文语义信息;右侧为扩张路径,用于逐步恢复空间分辨率并完成像素级预测。

图 2:U-Net 在 EM 分割挑战赛中的排名记录。

图 3:U-Net 在 ISBI 2015 细胞分割挑战赛中的排名记录。
补充内容
关于 U-Net 中输入尺寸、输出尺寸与感受野的关系,需要区分“空间尺寸收缩”和“理论感受野”。原始 U-Net 采用 valid convolution,因此输入 最终得到 输出,二者差值 表示卷积导致的空间尺寸损失,而不是感受野大小;对应每侧被裁剪 个像素。
感受野应按逐层递推计算:设第 层感受野为 ,相邻特征点在原图上的间隔为 ,初始化 。对于卷积或池化层,有
因此,两个 卷积后感受野为 ;再接 、stride=2 的池化时,感受野变为 ,而不是 ,因为池化融合的是相邻且高度重叠的特征区域。下采样真正翻倍的是 ,它会使后续卷积更快扩大感受野。按该公式估算,原始 U-Net 最终输出像素的理论感受野约为 。
此外,valid convolution 的较小输出并不必然只能对齐中心标签区域,也可理解为一种输入到不同标签裁剪区域的映射关系。与 same padding 相比,valid convolution 避免了边界处零填充带来的虚假上下文,但代价是输出区域缩小。