医学图像分类_深度学习在医学领域的应用

概述

近年来,深度学习在医学领域慢慢的火热了起来。在图像领域,经典的各种任务包括但不限于:图像分类、目标检测、全连接网络。在医学领域,主要是将上述方式应用于医学领域中,例如:用图像分类去判断X照肺部图片判断是否出现病变(图像分类)、图片中出现的细胞与背景区分(全连接层)等等,在医学图像中使用深度学习的方法前提条件便是知道经典网络的任务。

  • 主要将介绍一下几点

  1. 图像领域的主体网络的作用(resnet、densenet、nasnet. etcs)

  2. 图像分类

  3. 全连接网络

  4. 医疗图像是如何使用上述1、2、3进行相应的任务

图像领域的主体网络的作用

  • 为什么会出现这些网络呢?
    在图像领域中一般都会听到例如Lenet、Alexnet、resnet、mnasnet等网络,最开始这些网络被用在imagenet比赛中对图片进行特征提取,然后将提取到的特征进行分类任务以及目标检测任务,由于这些网络表现比较好,取得了当年的第一名或者前几名的成绩,后来呢,有一些人把这些网络用于其他任务对图片进行特征提取,效果也比较的好,所以可以说,主体网络的作用是对图片进行特征提取。

  • 提取到的网络的特征是什么样子的呢?
    卷积网络中,数据的形式都是浮点数的形式,输入图像是三个维度,分别为图片的宽度、高度、通道数。它被存储在一个三维矩阵中,主体网络则是对图像的三维矩阵进行相应的运算以获取到运算对应的结果,例如如图所示:医学图像分类_深度学习在医学领域的应用_第1张图片

这是一个经典的卷积神经网络,由于当时显卡显存的限制,使用gpu训练需要利用多gpu训练,上述网络使用了两张显卡,我们仅仅只需要了解其中一张显卡的计算过程,另外一张显卡和第一张显卡计算是一样的。看图片中的下半部分是其中一张显卡的计算过程。最开始,图片的输入是224x224x3,然后通过卷积核为11x11,以及stride为1的卷积操作后,得到了输出矩阵的维度是55x55x48的特征属性图,然后分别通过最大池化层卷积层(Max pooling),获取得到的数据维度是13x13x128,这时候,原始图像通过了各种层结构后二维平面维度变成了13x13,这时候,主体网络的作用完成了。我们所说的对网络进行设计以达到更好的精确度便是主要通过修改主体网络进行。

图像分类

  • 关于如何通过特征图对图片进行相应的各种任务(任务包括且不含目标检测、图片分类)
    上述提取到的特征图后,还包含空间维度信息(有些计算操作会保留空间信息,例如卷积操、池化操作等),我们然后通过全连接层(dense)操作后特征图变成了一个维度为2048的一维数组(全连接层操作会使得特征图的空间维度信息消失),对于这获取得到的一维数据,然后送进全连接层中,此时的全连接层输出设置为和类别数相同,例如上述为1000个分类,最后送入softmax层,如图为一个softmax层的输出结果限定的范围:

医学图像分类_深度学习在医学领域的应用_第2张图片

可以看到softmax最终得到的是一个范围是(0,1)的输出值,而1000个全连接层通过softmax后的维度不会改变、而它们的输出范围被限定到了(0,1),然而它们之和是1。这些便是分类任务前向传播的全部过程了,利用这些能够得到预测值了,如果我们需要训练,将其放入交叉熵损失函数中就可以训练了。

全连接网络

全连接网络结构最典型的莫过于fcn了,如下图:

医学图像分类_深度学习在医学领域的应用_第3张图片

看着挺多网络层结构的,但是其实挺简单的,它和分类网络是一样的,只不过分类网络是对整幅图片进行分类的,而fcn是对图片上的像素点进行分类(输出颜色代表类别),看里面所使用到的网络结构,用到了Conv(卷积层)、Batch Normalisation层(归一化层)、Pooling(池化层)、上采样层(与卷积层正好相反),这些层结构处理后的数据都不会改变特征图的空间特性(这点很重要),
如下图:

空间不变性可以简单的归结于:对于输出的特征属性图,特征图上各特征点都能够对应到输入图片相对应的区域。医学图像分类_深度学习在医学领域的应用_第4张图片

如上图所示,卷积网络是如何保证他的空间不变性的呢?卷积输出的一个特征点是通过一个卷积核卷积得到的,所以对应原图区域是相对应的3x3这输入区域,而每一个特征点对应到原图的区域都具有具体的位置,这样这个卷积操作就具有空间不变性,而全连接层为什么不具有空间不变性呢?主要的原因在于,全连接层输入是一个一维维度的数组,而输入的依旧是一个一维的数组,连输入输出结构都不是二维,维度信息早就让全连接层给丢弃了。

我们继续看fcn网络,图片通过网络模型结构后,最终的特征属性图的长宽和原图是一致的,而仅仅是通道维度不一样,而用到的网络的由于没有舍弃空间性质,所以得到的结果还具有空间不变性,这时候,可以利用输出特征图上的每个点对应原图上的每个点像素的类别,这时候,我们设置dense(全连接层)是对通道维度上进行全连接,输出结果通道维度是类别的数量,例如输入是特征图宽×特征图高×特征图的通道数,输出为:特征图的宽×特征图的高×类别数。这样就能够分类出原图像素点对应的类别数了。训练方式和普通的分类网络是一样的。

医疗图像上是利用上述三点的呢

在医疗图像中,依旧可以概括为三个方面:分类、目标检测、像素级分割。然而,由于医学领域数据集难以收集到,而且在医学领域也有医学领域的特点,一般来说,医学领域也有医学领域的特点,应用上,我们仅仅需要重新设计主体网络架构就可以了,例如在器官区域切割领域,以及其他相应的领域,使用unet网络作为主题网络,Unet网络如下:医学图像分类_深度学习在医学领域的应用_第5张图片

可以看到,不同的颜色代表不同的网络,output代表输出的特征图,相对于图像领域经典的网络来说,Unet网络的形状就好像一个U型网络结构,里面依旧用到了经典的网络结构外,还用到了上采样层(up conv),灰色的线条代表将特征图做加法。相对于fcn网络,一般可以理解为不同深度的网络提取的特征图的含义不一样,网络深度越深,提取到的特征图语音特征越高级。结合不同的深度特征图,可以使得分割图恢复的边缘越精细。

在医疗领域,医疗图像主要具有一下几个特点:

  1. 场景较为单一、结构固定。一般我们需要去做那个部位的CT就会拍哪个部位的照片,并不想图像领域包含大量的场景,所以高级语义特征以及低级予以特征都非常重要(所以会结合高级语义特征以及低级语义特征)。例如下图:医学图像分类_深度学习在医学领域的应用_第6张图片

  2. 最终的样本场景都会和此图片类似。

  3. 数据量少,医学图片数据获取比较专业、标注也需要专业的人士,很多比赛提供不到100例数据,所以我们设计的模型不应该过大,过大的模型会导致过拟合。

  4. 多种模式下的图片。相对普通图像识别领域,医疗影像比较有趣的一点是,医疗图像是具有多种模态的。如下图:医学图像分类_深度学习在医学领域的应用_第7张图片

你可能感兴趣的:(医学图像分类)