U-Net网络理解与应用
文章目录
U-Net网络理解与应用前言What is U-Net简单介绍和基本特点U-Net网络的优点和不同点数据增强笔者当时的一些疑问为什么引入FCN,FCN和CNN的不同What is momentum????
总结
前言
在图像分割任务特别是医学图像分割中,U-Net[1]无疑是最成功的方法之一,该方法在2015年MICCAI会议上提出,目前已达到四千多次引用。采用的编码器(下采样)-解码器(上采样)结构和跳跃连接是一种非常经典的设计方法。目前已有许多新的卷积神经网络设计方式,但很多仍延续了U-Net的核心思想,加入了新的模块或者融入其他设计理念。本文主要对U-Net进行简单的讲解:
What is U-Net
什么是U-Net网络?U-Net是基于全卷积网络下一个语义分割应用于生物医学的深度学习网络。在计算机视觉领域,全卷积网络(FCN)是比较有名的图像分割网络,医学图像处理方向,U-Net可以说是一个更加炙手可热的网络,基本上所有的分割问题,我们都会拿U-Net先看一下基本的结果,然后进行“魔改”。因为其网络结构大致呈现为U性结构,因此被成为U-Net网络。其网络结构大致如下:
简单介绍和基本特点
使用全卷积神经网络(FCN)。全卷积神经网络(FCN)与卷积神经网络(CNN)的不同点在与FCN将CNN最后的全连接层(FC)替换为卷积层(Conv),也因此FCN中可以输入任意尺寸的土拍你,而且输出的也是图片,所以这是一个端到端网络。上图左边的网络的Contracting path:使用Conv和MaxPoolinng.上图右边的expansive path:使用上采样(upsampling)于左侧的contracting path,pooling的featuremap相结合,然后逐层上采样到392X392的大小heatmap。最后再经过两次的conv,达到最后heatmap,再用1x1的conv做分类,这里用了两个神经元,所以最后得到的是两张heatmap。
U-Net网络的优点和不同点
U-Net网络支持少量的训练模型:在医学方向我们所能够训练的数据相对较小而同时需要进行检测的数据/目标又较大。所以我们在U-Net网络中使用到了数据增强的处理。可以对每个像素点进行分割,获得更高的分割准确率。像素级的图像分割是U-Net网络的自身结构特性,由他的网络结构导致。在训练的过程中使用高梯度下降(high Momentum),这里的high Momentum = 0.99,high momentum的使用可以使训练模型的学习率处在一个自我调节的过程。权重划分。为了是某些像素点更加具有特征/代表性,则对像素点进行一个权重的划分,来补偿每个图像中像素点出现概率不同的问题。权重的公式大致如下:
w
(
x
)
=
w
c
(
x
)
+
w
0
⋅
e
x
p
(
−
(
d
1
(
x
)
+
d
2
(
x
)
)
2
2
σ
2
)
w
c
是
用
于
平
衡
类
别
频
率
的
权
重
图
d
1
代
表
到
最
近
细
胞
的
边
界
的
距
离
,
d
2
代
表
到
第
二
近
的
细
胞
的
边
界
的
距
离
。
基
于
经
验
我
们
设
定
w
0
=
10
,
σ
≈
5
像
素
。
w(x) = w_c(x)+w_0·exp(-\frac{(d_1(x)+d_2(x))^2}{2\sigma^2})\\wc是用于平衡类别频率的权重图\\d_1代表到最近细胞的边界的距离,d_2代表到第二近的细胞的 边界的距离。\\基于经验我们设定w0=10,σ≈5像素。
w(x)=wc(x)+w0⋅exp(−2σ2(d1(x)+d2(x))2)wc是用于平衡类别频率的权重图d1代表到最近细胞的边界的距离,d2代表到第二近的细胞的边界的距离。基于经验我们设定w0=10,σ≈5像素。
网
络
中
权
重
的
初
始
化
:
我
们
网
络
的
权
重
由
高
斯
分
布
初
始
化
,
分
布
的
标
准
差
为
2
/
N
其
中
N
表
示
传
入
节
点
的
数
量
。
网络中权重的初始化:我们网络的权重由高斯分布初始化,分布的标准差为\sqrt{2}/N\\其中N表示传入节点的数量。
网络中权重的初始化:我们网络的权重由高斯分布初始化,分布的标准差为2
/N其中N表示传入节点的数量。
5.引入图像镜像操作,更好的对数据进行训练。因为本身的训练数据较少,所以对图像进行镜像操作,防止数据的丢失。
数据增强
在只有少量样本的情况况下,要想尽可能的让网络获得不变性和鲁棒性,数据增加是必不可少的。因为本论文需要处理显微镜图片,我们需要平移与旋转不变性,并且对形变和灰度变化鲁棒。将训练样本进行随机弹性形变是训练分割网络的关键。我们使用随机位移矢量在粗糙的3*3网格上(random displacement vectors on a coarse 3 by 3 grid)产生平滑形变(smooth deformations)。 位移是从10像素标准偏差的高斯分布中采样的。然后使用双三次插值计算每个像素的位移。在contracting path的末尾采用drop-out 层更进一步增加数据。
笔者当时的一些疑问
为什么引入FCN,FCN和CNN的不同
CNN:通过构建多层的卷积层自动提取图像上的特征,一般来说,排在前边较浅的卷积层采用较小的感知域,可以学习到图像的一些局部的特征(如纹理特征),排在后边较深的卷积层采用较大的感知域,可以学习到更加抽象的特征(如物体大小,位置和方向信息等)
CNN提取的抽象特征对图像的分类、包含哪些类别的物体,以及物体的粗略定位很有效,但是采用感知域,提取的更多的是“一小块”,无法做到跟精细的分割(像素级)。
为了你弥补这一缺陷,而引入了全卷积神经网络(FCN)。就是为了解决这一像素级的分割。
What is momentum????
梯度下降算法中,学习率太大,函数无法收敛,甚至发散,如下图。学习率足够小,理论上是可以达到局部最优值的(非凸函数不能保证达到全局最优),但学习率太小却使得学习过程过于缓慢,合适的学习率应该是能在保证收敛的前提下,能尽快收敛。对于深度网络中,参数众多,参数值初始位置随机,同样大小的学习率,对于某些参数可能合适,对另外一些参数可能偏小(学习过程缓慢),对另外一些参数可能太大(无法收敛,甚至发散),而学习率一般而言对所有参数都是固定的,所以无法同时满足所有参数的要求。通过引入Momentum可以让那些因学习率太大而来回摆动的参数,梯度能前后抵消,从而阻止发散
总结
u-net网络在不同的生物医学图像分割中有很好的表现。数据增强使得只需很少的带标注数据,只需训练十小时。我们确信u-net网络可以很容易的应用到更多的任务。U-Net是比较早的使用多尺度特征进行语义分割任务的算法之一,其U形结构也启发了后面很多算法。但其也有几个缺点:有效卷积增加了模型设计的难度和普适性;目前很多算法直接采用了same卷积,这样也可以免去Feature Map合并之前的裁边操作。