天天看点

用于医学图像分割的深度神经网络

图像分割的定义是将输入图像划分为不同的部分,划分后的部分和给定图像中定义的感兴趣区域(RoI)有着密切的联系,这种做法的目的是以有意义的形式表示输入图像,完成RoI区域、测量组织体积、衡量肿瘤大小以及确定药物剂量等功能。

图像分割技术在医疗领域应用极多,包括肿瘤边界提取,癌症检测等等。

深度学习是人工智能中最基本的方法之一,主要实现方法是构建神经网络中的各种层。人工神经网络(ANN)包含输入层、隐藏层和输出层,前者负责接收输入信号,隐藏层负责实现计算功能,输出层则担负着决策的作用。

深度学习的神经网络具体结构如图1所示。

用于医学图像分割的深度神经网络

图1 人工神经网络(ANN)模型

因用于图像分割任务的不同深度学习神经网络的归纳如图2所示。

用于医学图像分割的深度神经网络

图2 Deep learning架构

卷积神经网络

卷积神经网络或CNN(见图3)由三个主要神经层组合而成:卷积层、池化层和全连接层。

用于医学图像分割的深度神经网络

图3 卷积神经网络架构

上述结构已引入了卷积层(Convolutional Layer)和池化层(Pooling Layer)为特色,从而能够对图像中的特征进行学习,完成分析。

以下对CNN组成部分进行介绍:

  1. 卷积层:此层处于CNN结构的核心地位,其主要功能是对图像中的子特征进行提取,生成特征图(Feature Map)。
  2. 激活函数:卷积层之后通常会应用有着非线性的激活函数,比如ReLU(Rectified Linear Unit)、Sigmoid和Tanh等,能够增加网络学习模式的复杂程度。
  3. 池化层:主要有最大池化(Max Pooling)和平均池化(Average Pooling)两种池化操作,主要目的是为了降低特征图的维度。
  4. 全连接层:这个部分的主要目标为通过完成分类或回归任务将预测结果输出。
  5. 损失函数:常用来表示实际输出与真实标签的差异程度,交叉熵损失函数(Cross-Entropy Loss)和均方差损失函数(Mean Square Error Loss)等均为广泛使用的类型。

卷积层和池化层的堆叠可以使CNN提取图像的高级特征,并在后续的全连接层中进行分类或回归任务,并且可以利用反向传播算法以及最小化损失函数对于网络参数进行学习,这种操作可以对模型的准确性进行提升。

完全卷积网络

在这种结构中,只存在卷积层,将传统卷积网络的最后一个全连接层转换为全卷积层,可以将CNN架构中现有的不同结构修改为FCN。设计的模型可以输出空间分割图,并且可以从全尺寸的输入图像中进行密集的像素化预测,而不是进行补丁化预测。

该模型使用跳跃连接,对最后一层的特征图进行上采样,并将其与前几层的特征图融合。因此,该模型只需一次就能产生一个详细的分割结果。然而,传统的FCN模型有以下限制: 它对实时推理来说速度不快,而且不能有效地考虑全局信息。

在FCN中,由于通过交替的卷积层和集合层的传播,在输出端生成的特征图的分辨率被降低了。这导致了FCN中的低分辨率预测,对象边界模糊不清。

以下是FCN的关键组成部分:

  1. 卷积层和池化层:FCN仍然使用卷积层和池化层进行特征提取和降维。这些层帮助网络学习图像中的特征,并保留空间信息。
  2. 转置卷积层(反卷积层):传统的卷积操作是将特征图的尺寸逐渐缩小,而转置卷积层可以将低分辨率的特征图通过插值和卷积操作扩大到与输入图像相同的尺寸。
  3. 跳跃连接(Skip Connection):跳跃连接将来自浅层的特征图与来自深层的特征图进行逐元素相加或级联操作,使得网络可以同时利用不同层级的特征信息。
  4. 上采样和插值:为了进一步提高分割结果的精度,FCN通常使用上采样和插值操作来增加分割输出的分辨率。这些操作可以通过插值方法(如双线性插值)或转置卷积层实现。

在训练过程中,FCN完成了对于图像的特征提取以及分割的程度达到了像素级别,这一方面使之实现了端到端的图像分割任务。总的来说,完全卷积网络这种深度学习模型已经在在图像分割领域获得了显著成果,许多图像分割任务都以此作为基础模型。

U-NET

U-Net是一种用于语义分割任务的卷积神经网络(CNN)架构,架构特点是对称的U形结构,由编码器(Encoder)和解码器(Decoder)组成。以下是U-Net的主要组成部分:

  1. 编码器(Encoder):这个部分主要实现通过分析输入的图像,达到提取特征以及逐渐降低分辨率的目的。
  2. 解码器(Decoder):此部分针对特征图进行反卷积或者插值的上采样操作,达到扩大特征图的尺寸增加图像的细节表达能力的目的。
  3. 跳跃连接(Skip Connection):U-Net中的这个部分负责实现将来自编码器与解码器的特征图一一连接,以达到解码器可以利用来自不同层级的特征信息,从而提高图像分割精度。
  4. 最后一层:这一层通常是一个卷积层,通过1x1卷积核来映射特征图到所需的输出通道数(例如二进制分割或多类别分割)。
  1. Net模型有一个下采样和上采样部分。

上采样部分进行去卷积以减少计算的特征图的数量,由下采样或收缩部分产生的特征图被输入到上采样部分,以避免任何信息的损失。对称的上采样部分提供精确的定位。该模型生成一个分割图,对图像中存在的每个像素进行分类。

  1. Net模型具有以下优点: U-Net模型可以使用有限数量的标记训练图像对图像进行有效分割,U-Net结构结合了从下采样路径获得的位置信息和从上采样路径获得的上下文信息,以预测一个公平的分割图。
  2. Net模型的限制在于,当输入图像的大小被限制在572×572,在较深的U-Net模型的中间层,学习速度普遍减慢,这导致网络忽略了具有抽象特征的层。

由于U-Net的结构设计,它在医学图像分割任务中取得了很好的性能,尤其适用于小样本、低对比度和不均匀照明等挑战性情况下的分割问题,目前它已被大量用于诸如器官,肿瘤以及细胞分割等图像分割任务。

V-NET

V-Net是一种用于三维医学图像分割的卷积神经网络(CNN)架构,主要应用于处理三维体积数据的图像分割任务,其架构是在U-Net架构之上的扩展,以下是V-Net的主要组成部分:

  1. 3D U-Net结构:V-Net的核心结构是一个3D版本的U-Net,与2D U-Net类似,V-Net中的编码器和解码器之间也使用跳跃连接来利用不同层级的特征信息。
  2. 卷积和池化层:V-Net中使用了3D卷积和池化层,以处理三维体积数据。3D卷积操作通过在三个方向上滑动卷积核来提取特征。3D池化操作则在三个方向上进行降采样,以减小特征图的尺寸。
  3. 跳跃连接:V-Net中的跳跃连接与U-Net类似,通过将来自编码器的特征图与解码器的特征图进行连接,以帮助网络恢复细节和保持语义一致性。
  4. 卷积核大小:由于V-Net处理的是三维体积数据,因此在网络的各个层级上使用较大的卷积核是常见的选择。这样有助于捕捉三维体积中的空间关系和局部上下文。
  5. 损失函数:V-Net通常使用交叉熵损失函数或Dice损失函数来度量分割结果与真实标签之间的差异。这些损失函数用于优化网络参数,并指导网络学习进行准确的分割。

Net被广泛应用于医学图像分割任务,如肿瘤分割、脑部结构分割、心脏分割等。由于其专门针对三维体积数据的设计,V-Net在处理大尺寸和高维度医学图像时具有优势,并取得了在这些任务中的良好性能。

区域卷积网络

区域卷积网络(Region Convolutional Neural Network,简称R-CNN)于2014年提出,作为目标检测领域的重要成果,是一种用于目标检测和物体识别的卷积神经网络(CNN)架构,其主要目标是将检测任务分解为候选区域生成和目标分类与边界框回归。

图4显示了R-CNN结构中的执行过程。

用于医学图像分割的深度神经网络

图4 R-CNN架构

以下是R-CNN的主要组成部分:

  1. 候选区域生成:首先,R-CNN使用一种选择性搜索(Selective Search)等方法在输入图像中生成一组候选区域。这些候选区域是可能包含物体的矩形区域。
  2. 特征提取:对于每个候选区域,R-CNN将其裁剪为固定大小,并通过预训练的CNN模型(如AlexNet或VGGNet)提取特征。通常,这些特征是通过卷积层和全连接层的组合而得到的。
  3. 目标分类和边界框回归:使用提取的特征,R-CNN对每个候选区域进行目标分类和边界框回归。首先,它使用一个支持向量机(SVM)分类器来将每个候选区域分配给特定的目标类别。然后,使用回归器对每个候选区域进行边界框的微调,以更准确地框定目标的位置。
  4. CNN的训练过程是端到端的。首先,在预训练的CNN模型上进行无监督的特征微调。然后,使用有标注的训练数据对SVM分类器和边界框回归器进行有监督的微调。

区域卷积网络已被用于物体检测和分割任务。一些文章中提出的R-CNN架构使用选择性搜索过程为边界盒生成区域建议网络,然后,这些区域建议被扭曲成标准方块,并被转发到CNN,从而生成特征向量图作为输出。

输出密集层由从图像中提取的特征组成,然后将这些特征输入分类算法,以便对位于区域建议网络中的物体进行分类。

该算法还预测偏移值,以提高区域建议或边界框的精度水平。但由于以下原因,基本RCN模型的使用受到限制: 它不能实时实施,因为在测试图像中对2000个区域建议的分类任务进行网络训练需要47秒左右。 

选择性搜索算法是一种预先确定的算法。因此,学习不会发生在这个阶段。这可能会导致产生不利的候选区域建议。

尽管R-CNN在目标检测任务上取得了较好的性能,但由于其候选区域生成和独立处理每个候选区域的特征提取过程较为繁琐,导致计算效率较低。

为了改进这一问题,后续出现了Fast R-CNN、Faster R-CNN和Mask R-CNN等方法,它们在R-CNN的基础上进行了优化和扩展,进一步提高了目标检测的效率和准确性。

快速R-CNN

快速 R-CNN(Fast R-CNN)是一种改进的目标检测算法,它是 R-CNN 的一种优化版本。Fast R-CNN 在 R-CNN 的基础上进行了改进,旨在提高目标检测的速度和准确性。

以下是 Fast R-CNN 的关键改进点:

  1. 候选区域生成:Fast R-CNN 不再使用选择性搜索等方法生成候选区域。相反,它将整个输入图像输入到卷积神经网络(如 VGGNet 或 ResNet)中,通过卷积和池化操作提取图像特征。
  2. 候选区域池化(RoI Pooling):Fast R-CNN 引入了候选区域池化层,用于从卷积特征图中提取固定大小的特征向量。这个池化操作可以在不同尺寸和比例的候选区域上进行,使得不同大小的目标可以被准确地映射到固定大小的特征向量。
  3. 特征融合和分类:Fast R-CNN 在候选区域池化之后,通过连接一个全连接层进行特征融合和目标分类。这个全连接层用于对候选区域进行分类,并输出目标的类别概率。
  4. 边界框回归:类别分类之后,Fast R-CNN 使用一个边界框回归器对候选区域进行边界框的微调,以获得更准确的目标框。

Fast R-CNN 的训练过程包括两个阶段。首先,通过对预训练的卷积神经网络进行微调,将其转化为目标检测网络。然后,使用标注的训练数据对分类器和回归器进行训练。

Fast R-CNN 的优势在于它将特征提取和分类回归过程进行了整合,从而大幅度提高了目标检测的速度。

相比于 R-CNN,Fast R-CNN 通过共享卷积特征的计算,避免了对每个候选区域进行单独的特征提取,大大减少了计算量。同时,Fast R-CNN 在准确性方面也取得了较好的结果,成为目标检测领域的重要算法之一。

DeepLab模型

DeepLab是一种用于语义分割任务的深度学习模型,最初由Google团队于2016年提出。DeepLab通过结合卷积神经网络(CNN)和空洞卷积(Dilated Convolution)等技术,实现了高效而准确的图像分割。

DeepLab模型采用预先训练好的CNN模型ResNet-101/VGG-16与Atrous卷积来提取图像的特征。

使用Atrous卷积有以下好处: 它控制了CNN中特征响应的分辨率,它将图像分类网络转换为密集的特征提取器,而不需要学习任何更多的参数 采用条件随机场(CRF)来产生精细的分割输出。

DeepLabv1是DeepLab的一种变体,在DeepLabv1中,输入的图像通过带有一个或两个反卷积层的深度CNN层(见图5)。这就产生了一个粗略的特征图。

然后,通过使用双线性插值过程,将该特征图上升到原始图像的大小。插值后的数据被应用于完全连接的条件随机场,以获得最终的分割图像。

用于医学图像分割的深度神经网络

图5 DeepLab架构

以下是DeepLab模型的一些关键特点和技术:

  1. 空洞卷积:DeepLab采用了空洞卷积(也称为膨胀卷积或空洞卷积)来扩大感受野,以捕捉更大范围的上下文信息。传统的卷积操作只考虑局部邻域的信息,而空洞卷积通过在卷积核之间引入间隔(dilation)来扩大卷积核的有效接受野。这样可以在不增加参数和计算量的情况下,增加感受野的范围。
  2. 多尺度特征融合:DeepLab使用多个并行的空洞卷积分支来处理不同尺度的特征图。这些分支具有不同的空洞率,以捕捉不同尺度下的上下文信息。然后,通过将这些分支的特征图进行融合,以生成具有更丰富上下文信息的特征表示。
  3. 融合金字塔池化(ASPP):为了进一步增强全局上下文信息的捕捉能力,DeepLab引入了融合金字塔池化(ASPP)模块。ASPP模块使用多个不同尺度的空洞卷积操作来捕获不同层次的上下文信息,然后将这些信息进行融合,生成丰富的特征表示。
  4. 反卷积上采样:DeepLab使用反卷积(或转置卷积)操作对最终的特征图进行上采样,将其恢复到输入图像的尺寸。这样可以将分割结果映射到原始图像的每个像素位置,实现像素级别的语义分割。

在 DeepLabv2 模型中,多个空洞卷积以不同的扩张率应用于输入特征图。输出融合在一起。 Atrous spatial pyramid pooling (ASPP) 以不同的尺度分割对象。

ResNet 模型使用具有不同膨胀率的空洞卷积。通过使用空洞卷积,可以通过减少参数数量和计算复杂性来捕获来自大有效场的信息。

DeepLabv3是DeepLabv2的扩展,向空洞空间金字塔池(ASPP)模块添加了图像级特征。它还利用批量归一化来轻松训练网络。

DeepLabv3+模型将DeepLabv3的ASPP模块与编码器和解码器结构相结合。该模型使用 Xception 模型进行特征提取。该模型还采用空洞和深度可分离卷积来加快计算速度。解码器部分合并了对应于结构细节和语义信息的低级和高级特征。

DeepLabv3+由编码和解码模块组成。编码路径使用空洞卷积和主干网络(如 MobileNetv2、PNASNet、ResNet和Xception)从输入图像中提取所需信息。解码路径使用来自编码器路径的信息重建具有相关维度的输出。

DeepLab模型在许多图像分割任务中取得了显著的性能,特别是在细粒度的语义分割任务上。它已经应用于各种领域,如医学图像分割、自动驾驶、遥感图像分析等,并在学术界和工业界得到广泛的应用和研究。

目前基于深度学习的医学领域同时也面临着许多的挑战,比如数据收集,深度学习网络模型需要大量数据,且训练所需的数据都应该有良好的注释。

这些数据集在各种基于DL的医疗程序中发挥着重要作用。然而在医学图像处理中,收集大量带注释的医学图像是一件非常困难的事。此外,对医学图像进行注释既乏味又昂贵,需要专业知识。

目前只有几个大型数据集是公开可用的,仍然需要更具挑战性的数据集,以达到更好地训练 DL 模型并能够处理密集对象的目的。通常,现有的3D数据集不是很大,而且很少是合成的,因此更具挑战性的数据集的需求迫在眉睫。

图像分割技术已经从手动图像分割发展到使用机器学习和深度学习方法的自动分割, 基于 ML/DL 的方法可以对大量图像进行分割,它有助于识别图像中有意义的对象和诊断疾病。

此外,仍然需要一种有效的解决方案来提高图像分割模型的性能,因此,未来的研究人员可以探索各种新的深度学习模型设计。

随着技术的进步,深度学习在图像分割中起到了非常重要的作用。

目前的工作将有助于研究人员在医学领域设计神经网络架构以诊断疾病。同时,研究人员将意识到在基于深度学习的医学图像分割领域可能面临的挑战和最先进的解决方案。

继续阅读