一种改进FCN的肝脏肿瘤CT图像分割方法
2020-03-19崔志明吴宏杰冯雨晴
段 杰 , 崔志明 , 沈 艺 , 冯 威 , 吴宏杰 , 冯雨晴
(1. 苏州科技大学电子与信息工程学院,江苏 苏州 215009;2. 苏州市虚拟现实智能交互及应用技术重点实验室,江苏 苏州 215009)
肝脏肿瘤是世界上最常见的肿瘤之一,其死亡率位居全球第二,是导致人类死亡的重要因素。随着肿瘤放射技术的飞速发展,放射治疗进入了以图像引导和自适应放疗为代表的精准放疗阶段[1-2]。精准放疗需要准确勾画出放疗的靶区(肿瘤),从而引导治疗和后续的放射计划。但现阶段,在临床医学中精准的靶区勾画需要由有经验的医师手工操作完成,其准确性和效率完全依赖医师的临床经验。这项工作不仅耗时,而且重现性很差。
因此,基于计算机视觉及人工智能技术实现肝脏肿瘤自动精准分割便成为了解决上述问题的关键。常见的肝脏肿瘤自动分割方法可分为图像和统计模型 2类。单纯基于图像分割的方法是指运用图像灰度、梯度或纹理等可以直接从图像中获取信息进行分割,主要方法包括聚类[3]、阈值、插值[4]、区域生长[5-6]、水平集[7]、图割[8-10]和活动轮廓模型[11-13]等。
近年来,随着计算性能的大幅提高,人工智能和神经网络迅猛发展,基于各种神经网络图像分割技术也应用到医学图像处理领域。卷积神经网络(convolutional neural networks,CNN)是计算机视觉和图像处理方面的一个非常重要的模型,在图像分类[14-16]、人脸识别[17-18]、目标检测[19-21]、动作识别[22-23]等方面具有广泛应用,并且取得了巨大的成功。在实际应用中CNN表现出优秀的特征提取能力,其中,全卷积神经网络(fully convolutional networks,FCN)作为CNN的改进网络在图像分割领域得到广泛应用[24]。与图像分类不同,语义分割需要确定每个像素的类别以实现精确的分割。FCN是将CNN最后的全连接层换成反卷积层,从而实现像素到像素级别的分类。FCN及其衍生物在图像分割上的应用不断拓展,其编码器与VGG-16中的13个卷积层相同,解码器将编码器提取的特征映射到与输入分辨率相同的编码器从大到小提取特征,解码器从小到大逐步将提取的特征放大到输入图像大小。但传统的 FCN网络边缘分割差、精度不高,达不到医学图像分割的要求。
针对上述问题,本文设计了一种卷积型多尺度融合改进的FCN,并将其应用于肝脏肿瘤CT图像的分割。
1 全卷积神经网络
FCN是SHELHAMER等[25]在现有用于分类的CNN结构基础上改造而成的,即将CNN原有的全连接层改成卷积层。FCN是由卷积和反卷积组成,通过卷积和反卷积的过程,基于端到端学习,完成了对图像每个像素的分类,从而实现对整个输入图片的分割。
卷积层(convolution layers)在FCN中主要承担着特征提取的功能。卷积输出的图像大小为其中,W为输入图片的维度;F为卷积核的维度;S为步长;p为padding填充的像素数。卷积产生的特征图通过激活函数来增加神经网络模型的非线性。卷积和激活函数运算为
其中,括号内的部分为卷积层提取特征的主要运算;l为网络的当前层;为感受野中第i个像素点的值;为的权重;为偏置项;f()为激活函数。
反卷积是一种卷积操作,其是池化的逆过程。在FCN中,池化操作缩小了输入图片的尺寸,然而在图像分割过程中需要对每一个像素进行分类,并且最终得到与输入图片维度相同的分割图像,因此需要将生成的热度图(heat map)恢复成原图像的维度。反卷积通过反向训练,能够达到输出重构输入的效果,使输出图像恢复到与输入图像相同大小的维度。
FCN通过端到端的网络结构来实现图像的语义分割,端到端的网络可以缩减人工预处理和后续处理,尽可能使模型从原始输入到最终输出,网络自己学习特征,提取特征也融入到算法当中。网络模型可以根据数据自动调节,从而增加模型的整体契合度,并且端到端网络学习中的各项成本都比非端到端的网络结构要低。FCN的网络结构如图1所示。
2 一种卷积型多尺度融合 FCN肝脏肿瘤图像分割方法
2.1 卷积多尺度融合
为了使输出与输入具有相同的维度,FCN将最后一层卷积层输出的feature map进行32倍的上采样(upsampling),上采样输出的是输入图片的分割结果。文献[25]提出的 FCN中具有 5个 2×2的池化层,每层池化后图像的分辨率均会降低二分之一,因此最后一层卷积层输出的 feature map分辨率比较低,会丢失一些细节特征。直接对最后输出的feature map进行32倍上采样,得到的图像分割精度不高,分割边缘较粗糙,达不到理想的分割效果,所以文献[25]提出了多尺度特征融合的方法,其具体做法是将第3层和第4层池化层特征进行融合后进行8倍上采样,图像分割精度有所提升。
图1 FCN的网络结构图
本文在文献[25]的多尺度特征融合FCN的基础上对上采样(反卷积)过程做了一定的改进。图2为本文提出的卷积型多尺度融合结构和训练过程示意图。如图2训练过程所示,本文将训练过程分为前向传播和反向传播2部分。前向传播主要通过卷积完成图片信息的提取,池化完成特征压缩和降维操作,通过反卷积将维度还原到原图大小,前向传播是权重和偏置学习的过程。通过反向传播进行权重和偏置的调节,实现参数优化的功能。传统方法直接使用2个池化层pool4和pool3的feature map进行上采样,但是,pool3和pool4保留的特征信息粗糙、边缘分割的精度不高。图2中,本文在pool3和pool4池化层各增加一次卷积操作,然后再进行融合操作。增加的卷积过程可以从2个池化层中提取到更深层的局部信息进行周围的信息融合,增强模型的局部细节判断能力,能够优化图像分割的细节效果。采用多尺度特征融合的方法能够大大提升分割精度,使目标轮廓更加精细,从而提高分割效果。该模型共有 5个池化层,经过每个池化层之后,输出图像依次缩小了 2,4,8,16,32倍,每次池化之前都有若干个卷积层,最后一层输出的feature map被称为热度图,本模型在传统的FCN的基础上对第3和第4池化层多加一次卷积操作。本模型首先将热度图进行一次 2倍上采样,同时将第4池化层(pool4)进行一次卷积,将其卷积到与图片分类数相同的通道数(本文中为3),随后将两者进行相加得到feature map-16。并将其进行一次 2倍上采样,同时对第 3层池化(pool3)进行一次卷积,同样将其卷积到与图片分类数相同的通道数(本文中为 3),将两者进行相加得到feature map-8。最后将其进行一次8倍上采样得到最后输出的分割图。
图2 训练和卷积多尺度融合示意图
2.2 FCN网络结构
本文使用的网络结构包括5个卷积层组、5个池化层、3个卷积层和3个反卷积层。其中,第1,2卷积层组每层包含2个卷积过程,第3,4,5卷积层组每层包含3个卷积过程,前5个卷积层组中每个卷积层组后会跟一个池化层。在卷积层组后还有3个卷积层和3个反卷积层(上采样)。每次卷积后都会使用 relu(线性整流函数)作为激活函数,该函数可以使所有输出值均为正数,同时增加网络的稀疏性,且能够防止过拟合的情况。在反卷积过程中也采用同样的函数,以保证输出为正数,防止过拟合的发生,relu函数的数学表达式为
本文所提方法中前5个卷积层组均采用3×3的卷积核,该卷积核既有良好的接受场,同时参数的数量也少,能减少计算量。第 6层卷积采用 8×8的卷积核,第 7层卷积选择 2×2的卷积核,第 8层卷积选择 1×1的卷积核。所有卷积过程中的步长均为1,以便更精细地提取特征,尽量不丢失任何边缘信息。在初始化卷积核方法中,本文选择“Xavier”[22],通过从零均值和特定方差的分布绘制网络中的权重来实现网络初始化。该方法权值分布均匀且使网络收敛速度快,权值能达到优值,并且能够保持每一层梯度大小相似,防止梯度消失或梯度爆炸。对于池化层,一般的平均池化能保留更多的图像背景信息,最大池化能保留更多纹理信息,本文选择最大池化。网络的详细结构见表1。
表1 网络详细结构
2.3 图像预处理方式的改进
原始的医学图像像素分布广泛,肝脏与周围器官的边缘分布不是很明显,对比度比较低。若直接将图像归一化到 0~255,则会丢失大量的重要信息。传统的CT图像预处理方式为像素填充值(pixel padding value)和像素值转换的方法,本文采用contrast,enhancement和denoise的路线进行数据的预处理,此方法在保留 CT 图像像素值的同时可增强图像的对比度,提高图像的亮度,降低噪声干扰。
首先,本文采用像素值线性变换对原始数据进行亮度和对比度的调节。随后统计图像中每个灰度级出现的次数,计算累积归一化直方图,重新计算像素点的像素值。最后通过拉伸像素强度分布范围,重新分配图像像素值,使一定灰度范围的像素的数量大致相等,达到对原始数据进行直方图均衡化的效果,从而提高图像质量,增强图像对比度。直方图均衡化是一个可逆的过程,且相对于其他处理方式更能够保留图片的原始特征。随后将直方图均衡化的图像使用全变差(图像梯度的范数的积分)的方式去噪声,一幅图像的噪声或干扰越多,全变差的值越高,为使全变差最小化,需去掉噪声同时,保留边缘等主要细节。如图 3所示,由于CT图像的特殊性,原图的直方图与处理后的图像具有很大区别,可见处理后的图片具有更高的亮度和鲜明的对比度。
图3 图像处理前后及其直方图对比
由于医学图像的特殊性,一些医学图像的切片可能与靶器官的边界相切,相切的部分的面积很小,对比度较低,对分割精度影响很大。对于这类问题,普通的损失函数,收敛速度慢,学习效果差,不能达到预期的分割效果。所以本文采用 Dice作为损失函数,其表达式为可以衡量网络分割出来的图像与标签图像每一个像素的相似度,通过训练网络,可以让神经网络学习到更好的参数。本文将网络训练出的预测图片先做个标准和归一化,提高背景体和前景体的平衡度,尽量减少用于训练的损失,提高收敛的效率。由于处理后的图像的像素值不是0就是1,且平方后的值不变,所以将损失函数表达式改进为可减少不必要的计算,其中a为网络预测出的图像;b为标签图像。通过训练损失函数,可以使神经网络学习到更好的参数与模型,减小预测图片和标签图片的差异,从而得到更好的分割效果。
3 实 验
3.1 实验设备及数据集
实验硬件环境为 lntel(R) Xeon(R) E5-1603,16 GB内存,使用型号为GTX1080ti的GPU加速图像处理,卷积神经网络在 tensorflow开源框架下实现,tensorflow版本为1.70。实验数据集由3 454张training图片和1 068张test图片构成,Validation图片在training集中按照7∶3的比例随机挑选作为验证集,即交叉验证。图片的维度是 512×512,为了防止训练和测试过程中过拟合情况,本文将所有数据打乱,再按照训练数据与测试数据7∶3的比例随机分配,不仅预防过拟合的出现,也能提高实验的随机性。本文使用的数据集来自 codalab (https://competitions.codalab.org/competitions/17094),是肝脏分割竞赛使用的数据集,其包含 131个序列,codalab包含肝脏CT图像的三期ground truth,格式为enhanced CT,分辨率为512×512。
3.2 训练参数设置
本文实验中选择使用指数衰减学习率,即根据训练下降的速度自行调节变化,防止产生振荡。指数衰减学习率的方程为
其中,lr为当前学习率;lr0为初始学习率;gamma为学习率衰减系数(一般在 0~1之间);globalstep为当前迭代次数;decaysteps为衰减速度。本文设置的初始学习率为3e-5,学习率衰减速度为0.90,当前迭代次数为0,衰减速度为1 727。batch_size设置为2,训练的总轮数为50 000轮。选择的优化器为 Adamoptimizer,此优化方法相对于传统的梯度下降法(gradient descent),具有更快的收敛速度,且能快速跳出局部最优点,寻找到全局最优点。
3.3 实验结果分析
为了验证本文方法的有效性,将本文方法与传统的FCN,U-net和Segnet网络进行了比较,使用相同的数据及参数设置进行训练。对训练好的模型,使用测试数据集进行验证。采用5种流行的评估指标即Dice相似函数(Dice similarity coefficient,DSC),体积重叠误差(volumetric overlap error,VOE),相对体积差异(relative volume difference,RVD),平均对称距离(average surface distance,ASD)和均方根差(root mean square error,RMSD)。
DSC表示分割结果(S)与标签(T)之间的交叉区域的比值,其表达式为
VOE与DSC类似,其将乘法换成了减法,以此代表错误率,即
RVD表示分割结果(S)与标签(T)之间的体积差异,其表达式为
ASD表示分割结果(S)与标签(T)的平均表面距离,其表达式为
其中,BS和BT分别为分割结果和标签肝脏区域的轮廓;d(x,BT)为任意像素x与BS之间的最小距离,为欧几里得距离。
RMSD 表示分割结果(S)与标签(T)之间数值之间差异的度量,其表达式为
表2为5种评价指标的定量分析。
从表2可以看出,本文FCN方法,在5个评价指标上除DICE指标外,其他均优于传统的FCN网络,且本文方法具有很大提升。与Segnet相比,本文方法在 DICE和 VOE 2个评价指标上不及Segnet,但相差不大,且其他3个指标均优于Segnet。与 U-net (专业医学图像分割网络)相比,本文方法在RVD和RMSD 2个评价指标上优于U-net,与其他评价指标均较接近。从表2可知,虽然本文提出的方法具有优质的分割效果,有很多评价指标优于其他网络,且具有更好的稳定性,但是从 ASD和RMSD等评价指标来看,分割结果与肝脏区域的标签有很大距离,原因在于网络中实验的结果没有进一步细化,输出边界相对粗糙。
图4在第600轮时,本文方法与U-net都出现分割轮廓,相对于传统 FCN具有明显优势。在第18 000轮时,所有网络均能显示出分割成果,且本文方法与U-net最接近标签图片。在第40 000轮时,所有网络均已成功分割,传统FCN和Segnet的分割效果稍差。综上所述,本文方法具有优秀的分割精度的同时,还具有良好的收敛性,分割效果优于传统 FCN和 Segnet,这与数据分析出的结果是一致的。由于实验使用的数据集来自不同病人的各种CT图片,且具有不同的病理特征,所以本文提出的方法具有很强的鲁棒性。
表2 评价指标定量分析
图4 分割效果图
4 结 束 语
本文提出了一种基于卷积型多尺度融合 FCN图像分割方法,抛弃传统FCN只保留pool3和pool4的feature map进行上采样的方式,对pool3和pool4各增加一次卷积,并进行特征信息的提取,然后再进行上采样过程恢复到原始图片的维度。实验结果显示,本文提出的方法能够精确地从一堆对比度比较低的器官中分割出器官和病灶,提升了图像分割的精度。