刘 辰,肖志勇,杜年茂
江南大学 物联网工程学院,江苏 无锡 214122
医学图像分割是对医学图像进行对象提取、定量分析以及三维重构等处理中一个必不可少的阶段。其目的是将图像中具有相同或类似特征(如强度、颜色和纹理)的部分划分成各自不相交的区域,即把图像中具有特殊含义的病变区域或其他感兴趣的区域从复杂的背景中提取出来,为临床分析提供依据[1]。磁共振成像(magnetic resonance imaging,MRI)采用核磁共振的原理,不仅具有较高的软组织分辨率,还能提供对比度丰富、分辨率高的三维脑组织信息。因此,在MRI 图像中实现三维医学图像的精确分割,日渐成为医学图像研究中的一个重要任务。
传统的医学图像分割方法主要分为三种:(1)手动分割方法,这种方法枯燥费时,主观性强,容易出错,且不适合大规模的研究。(2)半自动分割方法,该方法需要对先验参数进行精确的把控,在调参过程中耗时较多。(3)传统自动分割的方法,该方法主要包括基于图谱的方法[2-4]、基于形变模型的方法[5-6]、基于主动表观模型的方法[7-9]。这类方法一般靠简单的配准方法实现,但由于不同海马体之间的差异较大,简单的配准方法在分割精度和效率上依旧不是很理想。
近年来,深度学习在人工智能特别是图像处理领域发展迅速。2015 年,Long 等[10]提出了全卷机神经网络,该网络广泛地用于图像分割领域。在此基础上,Ronneberger 等[11]提出了U-Net 网络,该网络通过级联操作将深层和浅层的信息进行结合,使得分割性能大大提升。但是,U-Net 不能对3D 医学图像直接进行处理,而是将3D图像切割成多个2D切片后再送到U-Net 网络中,这样忽略了3D 图像中切片与切片之间的相关信息,容易导致欠分割。为了解决此类问题,Çiçek等[12]提出了3D U-Net,与应用于二维切片的U-Net相比,3D U-Net是对体素直接进行处理的,使得整个网络模型中的参数个数特别多,这大大增加了计算的负担。
为了解决3D 卷积网络计算量较大,而单个视图下的2D切片忽略了体素之间相关性的问题,本文采用了多视图集成的方法。首先采用本文提出的卷积神经网络对冠状面、矢状面以及横断面三个视图下的2D切片进行分割,然后通过求平均的方法对三个视图下的结果进行集成,得到最终的分割结果。本文的卷积神经网络由编码部分、双向卷积长短记忆网络(bidirectional convolution long short-term memory network,BDC-LSTM)和解码部分组成。为了扩大感受野,获取多尺度信息以及减少计算量,编码部分使用了不同大小的非对称卷积层和空洞卷积。此外,考虑到简单的多视图集成方法不能解决单个视图中2D切片间的不连续问题,本文使用了BDC-LSTM。
为了让卷积神经网络有更好的学习能力,最直接有效的方法是使网络层数更深,但是纯粹地增大网络有以下缺点:(1)参数太多,若训练数据集有限,容易导致过拟合;(2)网络越大,计算复杂度越大,难以应用;(3)网络越深,梯度越往后越容易消失,导致梯度弥散,难以优化模型。Inception就是在这样的情况下应运而生[13-14]。2014年提出的Inception V1[13]中,将1×1、3×3、5×5 的卷积层和3×3 的池化层堆叠在一起,一方面增加了网络的宽度,另一方面增加了网络对尺度的适应性,从而能够提取到不同尺度的特征。Inception V3[14]一个重要的改进就是分解,将N×N的二维卷积分解成1×N和N×1的两个一维卷积。这样做的好处是既可以加速计算,又可以增加网络的非线性。
近几年,为了增加卷积层的感受野,空洞卷积(dilated convolutions)[15]在图像分割领域得到了广泛的使用。普通卷积和空洞卷积的对比如图1 所示。图1 左边显示的是经典的3×3 的卷积核作用的视野效果,相当于卷积核为3,膨胀系数r=1 的空洞卷积。图1右边对应的卷积核为3,膨胀系数r=2 的空洞卷积。但是卷积核的计算视野增大到了7×7,而实际上卷积核的大小仍然是3×3,实际参数只有3×3。感受视野公式如下:
其中,r表示膨胀系数,Fr表示最终的感受视野。因此,通过空洞卷积可以在保持卷积核参数大小不变的同时,增大卷积的视野。
Fig.1 2D ordinary convolution and dilated convolution图1 二维普通卷积和空洞卷积
相比传统的神经网络,循环神经网络(recurrent neural networks,RNN)在处理序列化数据时更有优势。但是RNN 没有长期的记忆能力,当输入的序列状态太多的情况下,容易产生梯度消失和梯度爆炸的问题。为此,Hochreiter 等[16]提出了长短记忆网络(long short-term memory,LSTM)。LSTM网络是一种能够学习并记忆序列长期信息的递归模型,LSTM的核心由三个记忆胞组成,其能在每个时刻编码输入的信息,每个记忆胞的行为由控制门控制,从而判断信息有用与否。目前,LSTM 成为最流行的RNN,在很多研究中表现出了其稳定性和强大性[17-19]。
如果输入的序列数据是图片的时候,LSTM的扩展形式——卷积长短记忆网络(C-LSTM)得到了广泛的应用[20]。C-LSTM 可以有效地利用图像序列间的相关性,从而实现更加精准的分割。和普通的LSTM的区别是,C-LSTM把矩阵乘法替换为卷积操作,这样就保留了较长系列的空间信息,对处理图像序列问题非常有效。C-LSTM的定义如下:
其中,*表示卷积操作,σ是sigmoid 函数,tanh 是双曲正切函数。整个网络中共有三个门,即输入门it、遗忘门ft和输出门ot。bi、bf、bc、bo是偏置项,xt、ct、ht是在时间t刻的输入、激活状态和隐藏状态。W表示权重矩阵,如Whf负责控制遗忘门如何从隐藏状态获取值。
为了提高海马体分割的准确性,有效地利用脑MRI 图像的空间信息以及2D 切片间的相关信息,本文提出了一种结合卷积神经网络和多视图集成的方法。首先采用卷积神经网络对冠状面、矢状面以及横断面三个视图下的2D切片进行分割,然后将三个视图下的分割模型通过求平均的方法进行集成,得到最终的分割结果。本文的卷积神经网络的结构如图2 所示。主要包括编码部分、BDC-LSTM 和解码部分。
Fig.2 Structure of convolutional neural network图2 卷积神经网络的结构
Fig.3 Structure of encoder图3 编码部分的结构图
编码部分:主要负责对2D切片进行特征提取,其网络结构如图3 所示。卷积网络中小的卷积核有利于捕捉局部信息,大的卷积核有利于捕捉全局信息,但由于不同的2D切片中包含的海马体区域不一样,因此选择一个准确且通用的卷积核是很困难的。为此借鉴Inception V1[13]中的方法,采用三种不同的卷积层(1×1、3×3、5×5)来提取多个尺度的信息,从而捕捉更多的特征。此外,与文献[14]相同,为了减少计算量,本实验中使用了非对称的卷积核,将N×N的二维卷积分解成1×N和N×1 的两个一维卷积,即3×3的分解成1×3和3×1,5×5的分解成1×5和5×1。
同时,为了在不增加参数规模的前提下,扩大卷积的感受野,更好地获取多尺度信息,本文添加了膨胀系数分别为2和4的空洞卷积。对于普通3×3的卷积层来说,其卷积核的感受野为3×3。本文使用了膨胀系数分别为2 和4 的空洞卷积后,参数的大小不变,但卷积核的感受野变成了7×7 和15×15。可见,空洞卷积在不增加参数个数的同时,大大增加了卷积层的感受野。如图3所示,编码部分中有膨胀系数分别为1、2、4的三种空洞卷积,对应卷积核的感受野分别为3×3、7×7 和15×15。通过使用三种不同大小的感受野,不仅有利于特征提取,更有助于更好地捕捉海马体特征。
然后将五个不同卷积层提取的特征图进行级联操作后,再使用两个3×3 的普通卷积层进行特征提取。最后为了缩小特征图的大小,连接一个最大池化层。图3中,每层卷积的通道数都为16。考虑网络的收敛问题,在卷积层后面均添加了Batch-normalization[21],激活函数采用了Relu[22]。
BDC-LSTM:为了充分考虑每个切片与相邻的上下切片间的联系,本实验中采用的是双向卷积长短记忆网络(BDC-LSTM),如图4所示。主要是使用两层C-LSTM,一个随时序正向,一个逆着时序的反向。最后,结合两层的上下文信息作为输出。这样可以更好地使用图像序列的空间数据。
Fig.4 Structure of BDC-LSTM图4 BDC-LSTM结构图
解码部分:主要负责对每组特征提取后的特征图进行上采样,结构如图5所示。解码部分包含一个反卷积层和一个卷积层,反卷积和卷积后都有Batchnormalization层和Relu。完成上采样之后,特征图变成了和输入图像相同的分辨率,最后通过softmax 分类器获得最终的分割结果,实现端到端的分割。
Fig.5 Structure of decoder图5 解码部分的结构图
常用的softmax 损失函数是基于像素点的,与之不同,Dice损失函数是基于区域的损失函数,医学图像分割中,Dice 指标常被用来衡量目标区域和检测区域的重合程度,Dice 值越大,两者重合度越高,分割效果越好。但是Dice 指标不能直接作为损失函数,因此使用Dice指标的改进版Dice函数,Dice函数是对每个区域独立评价后对网络参数进行反馈的函数,该函数的计算形式和计算过程都很好地契合脑MRI 海马体分割。因此,本文使用的是Dice 损失函数,其定义如下:
其中,g代表真实值(ground truth),p代表网络的预测值(predicted value),v代表每个图像块的体素点的个数。由于使用Dice 作为损失函数,因此在将概率图谱与专家标记进行比较时,标签值为0的背景部分将不会被计算到损失中,从而避免了类别不均衡的情况,同时能够加速网络的收敛,提升分割精度。
本文提出的改进卷积神经网络模型,通过使用Inception中的非对称的卷积层结构,大大减少了计算量。膨胀系数分别为2和4的空洞卷积,有效捕捉了多尺度信息,有利于特征提取。此外,通过添加BDCLSTM,充分挖掘了切片序列间的相关信息。有研究发现,多视图集成的方法主要有基于神经网络的方法、基于投票的方法和求平均的方法。由于基于神经网络的方法较复杂,基于投票方法有可能会使部分细节信息丢失,而求平均的集成方法简单,同时也更适合海马体分割[23-24]。因此,本文使用求平均的方法对单个视图下的分割结果进行集成,这样可以充分地挖掘3D脑MRI图像的空间信息,使得分割精度更高。
本文的数据集来自ADNI(Alzheimer’s disease neuroimaging initiative)数据库(http://adni.loni.usc.edu),本实验从ADNI 库中获得100 组脑部MRI 图像和已分割的海马体标签,该数据的格式均为NIFTI 格式。其中包括41 组轻度认知障碍(mild cognitive impairment,MCI)和59 组正常(controls normal,CN)。从中随机选取80 组用于交叉验证,本文使用的是十折交叉验证,剩下的20组用于测试。
为了提高分割精度,本文对数据进行了预处理操作,主要分为三步。第一,考虑海马体只占整个脑MRI图像的小部分,其他的部分为无效区域,本文对MRI 图像进行了裁剪,通过对脑MRI 中的体素值进行统计分析,将图像裁剪成尺寸为80×80×40 的图像。本实验中裁剪得到的80×80×40 部分,包括海马体以及其周边的空白区域,这样既可以减少无效的背景信息,同时对有效信息的完整性不造成任何影响。第二,为了加速网络的收敛,同时考虑到数据集中MRI 图像的体素值不一致,本文采用均值和标准差的方法对图像进行了归一化。第三,考虑数据集中样本数量较少,对得到的MRI 图像采用左右翻转和旋转的方法进行了数据增强,最终得到400 组MRI 图像。
为了验证本文算法的性能,采用十折交叉验证的方法,实验的硬件环境为NVIDIA GTX1080Ti单个GPU,Intel Core i7 处理器,软件环境为Keras2.2.4。实验中,使用glorot正态分布的方法对权重进行初始化,使用Nadam 优化器,其中Nadam 的参数为lr=0.001,β1=0.9,β2=0.999,ε=1E-8,decay=0.004,学习率设置为0.001,训练的batch size取8。
为了定量评估新算法的性能,本文选用相似性系数(dice similarity coefficient,DSC)、灵敏度(sensitivity,SEN)和阳性预测率(predictive positivity value,PPV)作为海马体的分割结果的评价指标。定义如下:
其中,P表示算法分割的海马体区域,T表示专家手动分割的海马体区域,P∩T代表算法的分割区域与专家手动分割区域交集部分的体素区域。
4.4.1 样本的数量对实验结果的影响
本文对数据增强前的100 组数据集和数据增强后的400 组数据集分别采用本文提出的网路进行分割,采用4.3 节中的评价指标进行评估,得到的结果如表1所示。
Table 1 Segmentation results on 100 sets and 400 sets of data sets表1 100组和400组数据集上的分割结果 %
从表1中可以看出,数据增强能大大提升分割的精度。这也充分证明了深度学习模型构建过程中数据集的重要性,数据集的大小能直接影响模型的性能。
4.4.2 BDC-LSTM对实验结果的影响
为了验证BDC-LSTM能有效地捕捉切片间的信息,将本文卷积神经网络中的BDC-LSTM 替换为CLSTM,其他部分保持不变,进行对比实验。将CLSTM 和BDC-LSTM 的分割结果进行对比,结果如表2所示。
Table 2 Segmentation results of BDC-LSTM and C-LSTM表2 BDC-LSTM和C-LSTM的分割结果 %
可以看到,BDC-LSTM 的分割精度明显高于CLSTM,这更加验证了BDC-LSTM比C-LSTM能更好地学习切片序列之间的信息。为了更直观地对两种分割结果进行比较,随机选取两个测试案例,分别使用BDC-LSTM 以及C-LSTM 进行分割,得到的三维分割结果如图6 所示。由于C-LSTM 不能充分地学习切片序列之间的信息,因此在海马体边界区域的分割效果不是很好。正如图6 中白色虚线边框中所示,但是这种情况在BDC-LSTM 中基本已经不存在了,BDC-LSTM 更加接近专家手动分割的结果。这表明利用BDC-LSTM可以更好地传递切片序列间的信息,使得分割的精度更高。
Fig.6 Comparison of C-LSTM and BDC-LSTM segmentation results图6 C-LSTM和BDC-LSTM分割结果对比图
4.4.3 多视图集成对实验的影响
由于脑MRI图像,是通过仪器对脑部冠状面、矢状面、横断面进行扫描而获得的,因此在海马体分割领域中,对这三个视图下的2D切片进行分割是常用的方法。本文为了分析多视图集成的作用,使用卷积神经网络对冠状面、矢状面以及横断面三个视图下的切片序列进行分割,得到三组分割结果,然后使用求平均的方法,将三组分割结果进行集成,得到最终的分割结果。本文对三个单视图下的分割结果和多视图集成后的分割结果进行了对比,结果如表3所示。从表3中可以看出,多视图集成的结果均优于三个单视图下的分割结果。由于某个视图下一些非常模糊的结构边界在其他视图下可以非常清楚地进行分割,因此多视图集成可以充分地考虑脑MRI 图像的平滑性和空间连贯性,能将多个视图下的信息进行相互补充,有效地解决单个视图下存在的过分割和欠分割问题,提高分割精度。
Table 3 Segmentation results of single view and multi-view fusion表3 单个视图和多视图集成的分割结果 %
为了更直观地进行对比,随机选取了两个测试案例进行分割,结果如图7 所示。其中,第一列为专家手动分割的结果,第二、三、四列分别为冠状面、矢状面、横断面的分割结果,第五列为多视图集成后的分割结果。从图7中可以看出,由于单视图不能很好地捕捉脑MRI的空间信息,容易出现欠分割的现象,单个多视图在图7 白色圆圈区域均出现了欠分割的现象。但多视图集成后不会出现类似的情况,如图7中蓝色圆圈的部分,多视图集成很好地改善了欠分割的问题。因此,多视图集成后的分割结果是最接近专家手动分割的。
4.4.4 网络模型对实验结果的影响
为了验证本文方法的有效性,将本文提出的方法和领域内两种具有代表性的海马体分割方法进行了对比,具体的为U-Net和3D U-Net网络模型。使用U-Net、3D U-Net 和本文提出的算法在400 组数据集上采用交叉验证得到分割结果,具体如表4所示。从表4中可以看出,本文方法得到的分割精度均高于其他两种方法,说明本文的方法可以更高效地提取特征,提高分割精度。
Table 4 Segmentation results of U-Net、3D U-Net and proposed method表4 U-Net、3D U-Net和本文算法的分割结果 %
Fig.7 Comparison of single-view and multi-view segmentation results图7 单视图与多视图分割结果的对比
Fig.8 Segmentation results of different models图8 不同模型的分割结果
与U-Net 和3D U-Net 网络中的多组上采样层和下采样层相比,本文提出的网络模型仅包含一组上采样和下采样,这样的浅层网络大大减少了参数的规模。除BDC-LSTM 以外,本文编码部分和解码部分的参数个数共为5 089,这与U-Net 和3D U-Net 万级的参数个数相比,参数明显减少了许多。
为了更直观地对三种方法进行比较,对三种模型上的测试结果进行分析,结果如图8 所示。从图8中可以看出,本文方法的DSC、SEN和PPV指标都优于U-Net 和3D U-Net。说明本文方法可以有效地利用MRI 的三维空间信息以及2D 切片间的上下文信息,从而使分割精度更高。
4.4.5 与其他算法比较
为了更好地验证本文算法的性能,本文对ADNI数据集上各种海马体分割算法进行了比较,所提出的方法主要与文献[25-27]对比。采用文献[25-27]中的方法,对本文的数据集进行分割,得到的结果如表5所示。文献[25]采用的是传统的随机森林回归的方法,文献[26]采用的是基于多图谱的方法。由于文献[25-26]都是传统的自动分割方法,由于不同个体间差距较大,因此在分割精确性和效率上往往不是很理想,没有本文全自动分割方法的精度高。文献[27]只是简单地改进了3D U-Net,结果也不是很好。总体而言,本文提出的结合卷积神经网络和多视图集成的海马体方法,优于目前其他海马体分割方法。
Table 5 Comparison of hippocampus segmentation algorithms in ADNI database表5 ADNI数据库中海马体分割算法比较 %
此外,就单幅MRI图像而言,传统的海马体分割方法至少花费10 min以上,而本文的方法只需0.5 min左右,这大大突显了本文方法运算实时性的优势。
为了进一步验证本文算法的有效性和泛化能力,从ADNI数据集上重新下载了20组数据集,与之前下载的100 组不同,这20 组均来自阿尔茨海默病(Alzheimer disease,AD)患者。研究发现,AD患者一般都伴随着海马体萎缩的病理表现,因此与正常人相比,AD 患者的海马体体积明显减少,这大大增加了AD患者海马体分割的难度[28]。文献[29]的实验结果表明,与正常CN组相比,AD组的分割精度平均下降了1%。
使用之前已经训练好的U-Net、3D U-Net、冠状面、矢状面、横断面和多视图集成的六种模型,分别对20组AD患者的海马体进行分割。除此以外,还与文献[29]中传统的基于形变模型的方法进行比较,结果如表6所示。
Table 6 Comparison of various segmentation algorithms on AD group表6 AD组上各种分割算法的比较 %
从表6中可以看出,本文提出的结合卷积神经网络和多视图集成的方法的性能是最优的。与单个视图下的分割结果相比,多视图集成的效果依旧是最优的。而文献[29]中的传统方法是基于先验模型实现的,因此依靠简单的配准,分割精度往往不是很好。而本文的方法不会出现类似的问题,因此分割精度得到了大大的提升。表6 的分割结果更加验证了本文算法的有效性。
本文提出了基于改进卷积神经网络的医学图像分割方法。该方法可以实现医学图像的全自动分割,并且准确率较高。本文的卷积神经网络模型,不仅减少了计算量,还有效捕捉了多尺度信息。此外,BDC-LSTM 的使用,充分挖掘了切片序列间的相关信息。最后将三个视图下的分割结果进行集成,充分挖掘了3D脑MRI图像的空间信息,解决了单视图分割所导致的过分割和欠分割的问题,使得分割精度更高。以海马体分割为例,在ADNI数据库上的实验结果表明,本文的分割方法获得了优于目前其他方法的分割结果。3D 医学图像的研究中,本文提出的方法能够更容易和更精确地执行分割任务。