论文复现之医学图像应用视网膜血管分割

北京中科白癜风医院爱心捐助 http://pf.39.net/xwdt/170110/5197605.html
论文复现之医学图像应用:视网膜血管分割0.导语

今日研究为继续上次论文中的一个内容:U-Net网络,于是找了一篇经典论文,并学习论文及代码解读。在学习U-Net网络后,使用U-Net神经网络提取视网膜纹理血管。

1.论文阅读

论文题目:U-NetConvolutionalNetworksforBiomedicalImageSegmentation。

中文翻译为:用于生物医学图像分割的U-Net卷积网络。

1.1摘要

之前,在训练一个深度网络需要大量已标注的训练样本。在这篇论文中,提出了一种网络和训练策略。为了更有效的使用标注数据,使用了数据扩张的方法。本片论文的网络分为两部分:收缩路径(contractingpath)和扩张路径(expandingpath)。

收缩路径主要用于捕捉上下文特征

扩展路径用于定位

该网络获得了赢得了ISBIcelltrackingchallenge。不仅如此,这个网络非常的快,对一个x的图像,使用一块GPU只需要不到一秒的时间。

1.2介绍

卷积神经网络的典型用途是分类任务,其中输出到图像是单个类别标签。然而,在许多视觉任务中,尤其是在生物医学图像处理中,期望的输出应该包括定位,即:应该将类别标签分配给每个像素。此外,在生物医学任务中,千量级的训练图像通常难以训练。因此,Ciresan等人在滑动窗口设置中训练网络,通过提供围绕该像素的局部区域(补丁)作为输入来预测每个像素的类别标签。

首先,这个网络可以局部化。

其次,补丁方面的训练数据远大于训练图像的数量。

由此产生的网络大幅度赢得了ISBI的EMsegmentationchallenge。

显然,Ciresan等人的策略有两个缺点。

首先,它非常慢。

因为网络必须分别为每个补丁运行,并且由于补丁重叠而导致大量冗余。

其次,需要在局部准确性和获取整体上下文信息之间取舍。

较大的补丁需要更多的最大池化层来降低局部准确性,而较小的补丁则使网络只能看到很少的上下文。最近的方法提出了一个分类器输出,它考虑了来自多个层的特征。良好的本地化和上下文的使用是可能的同时。

在这篇文章中,就建立了一个更加优雅的框架,通常被称为“全卷积网络”(FCN)。随后修改并拓展了这个框架,使其可以仅使用少量训练图片就可以工作,获得更高的分割准确率。网络架构如下图所示:

对FCN中的重要修改是:

上采样部分有大量的特征通道,它们允许网络将上下文信息传播到更高分辨率的层。

使得网络架构中扩张路径与收缩路径基本对称,并产生u形结构。

没有任何完全连接的层,分割图仅包含像素,对于该像素,输入图像中的完整上下文是可用的。

该策略允许通过重叠拼贴策略对任意大的图像进行无缝分割。为了预测图像的边界区域中的像素,通过镜像输入图像来推断丢失的上下文。这种平铺策略对于将网络应用于大图像很重要,否则分辨率将受到GPU内存的限制。

在上述谈了,使用少量数据做训练,在这篇论文中也使用了数据增强方法,对于这篇论文中的任务,论文中通过对可用的训练图像应用弹性变形来使用过多的数据增强。

这使得网络能够学习这种变形的不变性,而不需要在注释图像语料库中看到这些变换。这在生物医学分割中特别重要,因为变形曾经是组织中最常见的变异,并且可以有效地模拟真实变形。Dosovitskiy等人证明了学习不变性的数据增强在无监督特征学习的范围内的价值。

许多细胞分割任务中的另一个挑战是分离相同类别的触摸物体。

为此,论文中提出使用加权损失:触摸单元之间的分离背景标签在损失函数中获得大的权重。

1.3网络架构

网络架构如上图所示:它由一条收缩路径(左侧)和一条扩展路径(右侧)组成。

收缩路径是典型的卷积网络架构。它的架构是一种重复结构,每次重复中都有2个卷积层和一个pooling层,卷积层中卷积核大小均为3x3,激活函数使用ReLU,两个卷积层之后是一个2x2的步长为2的最大池化层。每一次下采样后我们都把特征通道的数量加倍。

扩展路径中的每一步包括对特征映射先进行上采样,然后进行2x2卷积(“上卷积”)。该特征映射将特征通道的数量减半,与收缩路径中相应裁剪的特征拼接起来,以及两个3x3卷积,每个卷积都有一个ReLU。由于每个卷积中边界像素的丢失,裁剪是必要的。在最后一层,使用1x1卷积来将每个64通道特征图映射到特定深度的结果。

网络总共有23个卷积层。

1.4训练

论文中采用随机梯度下降法(SGD)训练。由于没有使用0填补的卷积,输出图像比输入小一个恒定的边界宽度。为了最大限度地降低开销并最大限度地利用GPU内存,我们倾向于在较大批量的情况下使用较大的输入切片,从而将批量减少为单个图像。因此,我们使用高动量(0.99),以便大量先前看到的训练样本确定当前优化步骤中的更新。

损失函数使用逐像素的softmax函数和交叉熵损失函数的结合

Softmax函数:

a_k(x)表示在featuremaps中的的channel=k的featuremap像素位置为x的激活值。K表示总类别数,pk(x)表示似然函数。

交叉熵函数:

其中l是每个像素的真实标签,w是权重地图,表示训练中某些像素更加重要。

为了使某些像素点更加重要,我们在公式中引入了w(x)。我们对每一张标注图像预计算了一个权重图,来补偿训练集中每类像素的不同频率,使网络更注重学习相互接触的细胞之间的小的分割边界。我们使用形态学操作计算分割边界。权重图计算公式如下:

其中w_c是权重地图来平衡类像素的频率。d1表示最近单元边界的距离。d2表示到第二最近单元的边界的距离。文中设置w_0=10,σ≈5pixels。

训练需要标注对应的mask,就是类别的区域标记。

网络中权重的初始化:在具有许多卷积层和通过网络的不同路径的深层网络中,权重的良好初始化非常重要。否则,网络的某些部分可能会过度激活,而其他部分则无法提供。理想情况下,应调整初始权值,使网络中的每个特征映射具有近似单位差异。对于具有我们的体系结构(交替卷积和ReLU层)的网络,这可以通过从具有标准偏差(2/N)^0.5的高斯分布中绘制初始权重来实现,其中N为每个神经元的输入节点数量。例如3x3的64通道的卷积层N=3x3x64=。

1.5数据增加

在只有少量样本的情况况下,要想尽可能的让网络获得不变性和鲁棒性,数据增强是必不可少的。在显微图像的情况下,我们主要需要移位和旋转不变性以及对变形和灰度值变化的鲁棒性。论文中使用随机位移矢量在粗糙的3x3网格上产生平滑形变。位移是从10像素标准偏差的高斯分布中采样的。然后使用双三次插值计算每个像素的位移。在压缩路径末端的退出层执行进一步的隐式数据增强。

最后论文的实验部分,这里直接在DRIVE数据库上做实验!

2.视网膜血管分割实验2.1实验任务

实验任务:使用U-Net神经网络提取纹理血管。

为什么要做这个,有什么实际意义?

临床实验中我们要能够更好的对眼部血管等进行检测、分类等操作,我们首先要做的就是对眼底图像中的血管进行分割,保证最大限度的分割出眼部的血管。从而方便后续对血管部分的操作。

2.2数据集

实验数据集为:DRIVE数据集。

数据集下载


转载请注明:http://www.qianzhuangguoji.net/lcjc/5543.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了