UNET
2014 年,加州大学伯克利分校的 Long 等人提出全卷积网络(FCN),这使得卷积神经网络无需全连接层即可进行密集的像素预测,CNN 从而得到普及。使用这种方法可生成任意大小的图像分割图,且该方法比图像块分类法要快上许多。之后,语义分割领域几乎所有先进方法都采用了该模型。
Unet 提出了一个分类的输出,它考虑到了来自多个层的特性。这样使得良好的定位和上下文的同时使用变成了可能。
本文介绍一种编码器-解码器结构。编码器逐渐减少池化层的空间维度,解码器逐步修复物体的细节和空间维度。编码器和解码器之间通常存在快捷连接,因此能帮助解码器更好地修复目标的细节。U-Net 是这种方法中最常用的结构。
Architecture:
a. U-net建立在FCN的网络架构上,作者修改并扩大了这个网络框架,使其能够使用很少的训练图像就得到很 精确的分割结果。
b. 添加上采样阶段,并且添加了很多的特征通道,允许更多的原图像纹理的信息在高分辨率的layers中进行传播。
c. U-net没有FC层,且全程使用valid来进行卷积,这样的话可以保证分割的结果都是基于没有缺失的上下文特征得到的,因此输入输出的图像尺寸不太一样( 但是在keras上代码做的都是same convolution),对于图像很大的输入,可以使用overlap-strategy来进行无缝的图像输出。
d.为了预测输入图像的边缘部分,通过镜像输入图像来外推丢失的上下文(不懂),实则输入大图像也是可以的,但是这个策略基于GPU内存不够的情况下所提出的。
e.细胞分割的另外一个难点在于将相同类别且互相接触的细胞分开,因此作者提出了weighted loss,也就是赋予相互接触的两个细胞之间的background标签更高的权重。
网络分为四个主要部分:preprocessing、down convolution、up convolution、Output Map preprocessing
Conclusion
U-Net结构在不同的生物医学分割应用中都取得了非常好的性能。由于弹性形变的数据增强,它只需要很少的标签图像,并且有一个非常合理的训练时间,在英伟达Titan GPU(6GB)只需10小时。我们提供完整的基于Caffe的实现和经过训练的网络。我们确信,U-Net架构可以很容易地应用于更多的任务。
U-Net 小问答
Unet 中实现了 Resnet,Resnet 的出现是为了解决什么问题?
人们发现当模型层数增加到某种程度,模型的效果将会不升反降。也就是说,深度模型发生了退化(degradation)情况。可以认为Residual Learning的初衷其实是让模型的内部结构至少有恒等映射的能力。以保证在堆叠网络的过程中,网络至少不会因为继续堆叠而产生退化!Unet 和 FCN 不同的地方有哪些呢?
FCN的思想是:
修改一个普通的逐层收缩网络(指分类网络),用上采样操作(反卷积)代替网络后部的降采样操作。因此,这些(反卷积)层增加了输出的分辨率。
为了使用局部的信息,在网络收缩过程(路径)中产生的高分辨率特征,被连接到了修改后网络的上采样的结果上。
在此之后,一个卷积层基于这些信息进行综合,得到更精确的结果。
与FCN不同的是:
我们的网络在上采样部分依然有大量的特征通道,这使得网络可以将空间上下文信息向更高的分辨率层传播。结果是,上采样路径基本对称于下采样路径,并呈现出一个U型。
网络不存在任何全连接层,并且,只使用每个卷积的valid部分,例如,分割图只包含这样一些像素点,这些像素点的完整上下文都出现在输入图像中。这种策略允许使用Overlap-tile策略无缝地分割任意大小的图像(参见下图)。
为了预测图像边界区域的像素点,我们采用镜像图像的方式补全缺失的环境像素。这个tiling方法在使用网络分割大图像时是非常有用的,因为如果不这么做,GPU显存会限制图像分辨率。
参考链接:
U-net with simple ResNet Blocks v2 (New loss)
U-Net: Convolutional Networks for Biomedical Image Segmentation
UNet with ResBlock for Semantic Segmentation
请多多指教。
文章标题:UNET
本文作者:顺强
发布时间:2019-10-18, 23:59:00
原始链接:http://shunqiang.ml/paper-unet/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。