目录

医学图像分割模型 U-net

Neural Network

Mark Chen | 04 Jan 2020

U-net是一种前馈神经网络模型,与传统卷积神经网络不同的是,U-net通过直接拼接相同分辨率的图像在网络中创造“短路”,从而使得梯度可以更好的在网络中传播。与此同时,通过将下卷积前的图像分割结果拼接到上卷积过程中的分割结果上,下卷积结果中的高分辨率细节也可以被传递到上卷积过程中,从而提高模型分割准确率。

1. Introduction

U-net与其他机器视觉神经网络的根本区别:

img

img

过去进行对图像进行语义分割的一种尝试是:通过提供一个像素周边的环境,训练网络识别这个像素属于的物体的类型。

这种方法确实可行,因为可以对图片中的每一个像素进行同样的操作来逐个识别每个像素属于什么物体。但是这个方法有两个不足之处:

与之前方法相比,U-net有以下几点特征:

2 Network Architecture

因此,本文作者基于“完全卷积网络”设计了 U-net 神经网络架构(如下图),用以处理图像的语义分割问题

img

在这个网络中,图片首先通过最大池化层进行“下采样”,减小图片分辨率的同时使用33卷积核提取图片的特征,每一层中,提取的特征通道数量是输入特征通道数量的两倍。通过这种方法,最后将输入图片转化为大小2828,具有1024个特征通道状态。

接着,网络通过22的卷积核对图片进行上采样(如下图所示,但下图中使用的是33卷积核)

img

需要注意的是在上采样的过程中,图片依然保存了大量的特征通道,这有助于网络将图片周边的环境向上传播

与此同时,为了提高图片的分辨率,网络还会将池化前的特征通道经过裁剪后(裁剪是由于无填充像素下卷积操作带来的无法避免的尺寸减小导致的,如下图所示)复制到上采样时的状态中,再使用一个3*3卷积核将这些特征通道进一步整合起来。

img

如此重复此步骤直到图片的尺寸重新被放大至392392 pixel (作为对比,输入是572572像素,大小的减少是由于重复卷积操作导致的),此时图片依然有多达64个特征通道。

此时,我们可以看到上采样的通道与下采样的通道基本对称,整个神经网络呈现为“U形”

这时候再用33卷积核与11卷积核将这些特征通道重新整合起来即可。

需要注意的一点是,再U-net中,作者使用的所有激活函数都是线性修正单元(ReLU, rectified linear unit)。由于使用这种函数的一阶导数是常数,与带权输入无关,可以有效避免深度网络训练时的梯度消失问题与梯度爆炸问题(与之相对应,Sigmoid函数有严重的梯度消失问题,这会极大的降低神经元的学习速度,同时使得神经网络靠近输出的层级更加容易达到饱和状态)。

3 Training

U-net使用随机梯度下降的方法进行训练,每批次中只有一幅图片。为了减少使用单个图片计算损失函数梯度带来的,每次梯度下降方向由于图片之间差异带来的过大变化,作者使用了很大的动量值(momentum = 0.99) ,这意味着每一次梯度下降的方向更多的根据过去的图片的损失函数梯度来决定。

同时,为了使得神经网络可以区分开相邻的两个细胞,作者改进了交叉熵函数。作者通过在交叉熵函数中增加了单个像素的权重值使得网络更加注重细胞之间的分割(这里看不懂具体实现方法)

U-net使用了输入图片每一个像素的经过改进的交叉熵函数的柔性最大值作为整幅图片的损失函数。


评论区