论文原文: U-Net: Convolutional Networks for Biomedical Image Segmentatio
U-Net整体继承自FCN。在FCN原来的基础上经过了一些改进,使之更适合处理医学图像。
1. 网络结构
基本的网络结构与FCN差不多。左边是contracting path,右边是expanding path。刚开始原始图像的大小为:
512×512
512
×
512
,作者做了一个mirror的边缘扩充,扩充到了
572×572
572
×
572
,如下:
网络的详细结果图如下:
由于刚开始做了一个镜像补充边缘信息,因此后面做concat的时候,前后的feature map的大小不一样,因此需要对称crop, 此操作与FCN类似。
contracting path是典型的卷积网络架构。它的架构是一种重复结构,每次重复中都有2个卷积层和一个pooling层,卷积层中卷积核大小均为3*3,激活函数使用ReLU,两个卷积层之后是一个2*2的步长为2的max pooling层。每一次下采样后我们都把特征通道的数量加倍。contracting
path中的每一步都首先使用反卷积(up-convolution),每次使用反卷积都将特征通道数量减半,特征图大小加倍。反卷积过后,将反卷积的结果与contracting path中对应步骤的特征图拼接起来。contracting path中的特征图尺寸稍大,将其修剪过后进行拼接。对拼接后的map进行2次3*3的卷积。
最后一层的卷积核大小为 1×1 1 × 1 ,将64通道的特征图转化为特定深度(分类数量,二分类为 2 2 )的结果。网络总共23层。
2. 权重矩阵
为了使某些像素点更加重要,在公式中引入。我们对每一张标注图像预计算了一个权重图,来补偿训练集中每类像素的不同频率,使网络更注重学习相互接触的细胞之间的小的分割边界。即针对分割过程中两个不同的结构”粘”在一起的情况,本文的解决方案是在Loss函数中把”粘”在一起处的背景部分的权重加大。使用形态学操作计算分割边界。权重图计算公式如下:
wc w c 是用于平衡类别频率的权重图, d1 d 1 代表到最近细胞的边界的距离, d2 d 2 代表到第二近的细胞的边界的距离。基于经验我们设定 w0=10 w 0 = 10 , σ≈5 σ ≈ 5 像素。
网络中权重的初始化:我们的网络的权重由高斯分布初始化,分布的标准差为 (N/2)0.5 ( N / 2 ) 0.5 , N N 为每个神经元的输入节点数量。例如,对于一个上一层是64通道的卷积核来说, N=9∗64 N = 9 ∗ 64 。
3. 输入处理
分割图(segmentation map)包含这样一些像素点,这些像素点的完整上下文都出现在输入图像中。为了预测图像边界区域的像素点,我们采用镜像图像的方式补全缺失的环境像素。这个tiling方法在使用网络分割大图像时是非常有用的,因为如果不这么做,GPU显存会限制图像分辨率。
本文亮点:
- 引入了带权重的损失。
- 为了更好地预测边界点,初始时做了镜像边界扩充。