U-Net

U-Net: Convolutional Networks for Biomedical Image Segmentation

U-Net,用卷积神经网络来做生物医学图片分割

Ronneberger O, Fischer P, Brox T. U-net: Convolutional networks for biomedical image segmentation[C]//International Conference on Medical image computing and computer-assisted intervention. Springer, Cham, 2015: 234-241.

总结

提出了一种深度学习模型来对图片,本文针对的是细胞的显微图像,做语义分割,模型特点主要是没有全连接层(会丢失位置信息),通过捷径连接来弥补池化过程中丢失的位置信息,通过上采样来恢复特征图到输入图像大小。使用数据扩增和加权损失来解决数据量少的问题。


摘要

很多人都坚信深度学习需要大量标注的训练样本才能训练成功。本文提出了一种网络结构,依靠数据扩增来有效利用数据,用少量的标注数据来训练。网络是一个对称的结构,左边是减小图片尺寸,右边恢复图片大小,端到端的结构。数据是显微图片,ISBI2015冠军。计算速度快,512图片在一个GPU上小于1秒。caffe实现http://lmb.informatik.uni-freiburg.de/people/ronneber/u-net.

引言

深度学习在图像领域取得了很大的进步。

在病理图像方面,有基于深度学习patch分类的方法,根据像素周围的patch分类来判断该像素是什么类,在ISBI2012上提升很大。

该方法有两个缺点,一是由于重叠patch冗余而导致计算效率低,二是需要权衡准确率和感受野,增加池化可以增大感受野但是准确率会降低。

模型介绍

本文基于FCN,设计网络结构,目的在于使用少量的图片进行更精确的分割。

U-Net_第1张图片

网络的左边是把图片变小,是一个典型的卷积网络结构。每一层都是两个3x3卷积+ReLU,一个2x2步长2的最大池化。右边通过一个2x2的反卷积进行上采样,feature map是上层和同级裁剪之后合并,通过2个3x3的卷积+ReLU。最后一层是1x1的卷积,用来生成分类用的分数。

要点

  1. 用上采样来代替池化操作,来增大输出的分辨率
  2. 为了定位,将特征提取的高分辨率特征和上采样的输出连接在一起,补充池化中损失的信息
  3. 没有使用任何全连接层,因为全连接层会损失位置信息,同时没有全连接层,可以使用任意大的图片,除非GPU内存不够
  4. 中间黄框是原图,通过镜像扩大原图至蓝框大小,放入模型训练和预测,因为没有padding,所以卷积减小图大小,最后模型输出是和黄框一样大小的掩膜

U-Net_第2张图片

数据扩增

帮助模型学习到需要学习的知识,增加模型的鲁棒性。主要使用了翻转、旋转、变形和灰度值变换,对于数据集小的情况,变形是一个很好的扩增方法。

U-Net_第3张图片

U-Net_第4张图片

损失函数

使用加权交叉熵来计算二分类问题的损失。

E=xΩw(x)log(pl(x)(x)) E = ∑ x ∈ Ω w ( x ) log ⁡ ( p l ( x ) ( x ) )

其中加权是因为正负样本的不平衡,以及多学习边界的信息,因为边界很少。
w(x)=wc(x)+w0e˙xp((d1(x)+d2(x))22σ2) w ( x ) = w c ( x ) + w 0 e ˙ x p ( − ( d 1 ( x ) + d 2 ( x ) ) 2 2 σ 2 )

其中wc是类别的频率,d1是离最近细胞边界的距离,d2是离第二近的细胞边界的距离。w0=10,sigma=5 pixel

权重初始化

理想状态是网络每个部分的feature map都是单位方差。本文使用的是高斯分布,标准偏差是sqrt(2/N),N是一个神经元的输入数。例如3x3卷积64channel,N=9*64=576

实验

  1. 电子显微图像,ISBI2012以来的数据集,训练集是30张512x512大小的显微图片,每张都有对应的01标注的掩膜图片,测试集是公开的,但是标注没有公开。评价指标和结果如下:

    U-Net_第5张图片
    U-Net_第6张图片

  2. ISBI cell tracking challenge 2014和2015年,PhC-U373数据集包含35张部分标注的训练图片,IOU92%,DIC-HeLa数据集包含20张部分标注的图片,IOU是77.5%,第二名是46%。

结论

u-net结构在不同的生物医学分割应用上都有很好的表现。由于灵活的数据扩增,可以在少量的数据上,在短时间内(10小时)得到一个比较好的效果。

你可能感兴趣的:(深度学习,论文笔记)