基于HC-CFCN模型的肝脏CT图像分割
2020-02-19刘天宇姜威威何江萍韩金仓
刘天宇,姜威威,何江萍,韩金仓
(兰州财经大学 信息工程学院,兰州 730020)
0 概述
肝癌是一种常见的恶性肿瘤且患病人数正在逐年增加[1-2]。在CT图像中精确分割出肝脏有助于提供肝脏体积、位置和形状等信息,为医生后续的诊断提供支持和依据。目前,肝脏轮廓通常由放射科医生手工逐层画出,耗时耗力,因此,临床实践中急需一种自动的肝脏分割方法。
由于不同患者的肝脏形状与体积差距较大,因此在CT图像中自动分割肝脏仍是一项艰巨的任务。同时,肝脏与相邻器官之间的低对比度加大了肝脏分割的难度[3]。传统的交互式肝脏分割方法需要人工参与,并且其结果会随着参与者的不同而变化,因而该类方法的鲁棒性有待提高[4]。为了弥补交互式肝脏分割方法的不足,部分研究者将端到端的深度学习方法,如U-Net神经网络[5]、基于VGG-16的全卷积神经网络[6]和三维全卷积神经网络[7-8]等,引入肝脏自动分割领域,且取得了较大的进展。
然而,上述肝脏自动分割方法对于CT图像的层间上下文信息利用较少,因此,本文基于BELLVER网络[9],提出一种层间上下文级联式全卷积神经网络(Hierarchical Contextual Cascaded Fully Convolutional Network,HC-CFCN)模型。通过两阶段和多通道的全卷积神经网络,充分挖掘CT图像的层间上下文信息,以提高肝脏分割的精度。
1 相关工作
1.1 基于传统机器学习的方法
传统的肝脏分割方法主要分为阈值法[10-11]、区域生长法[12-14]和其他基于机器学习的方法[15-16]。阈值法依据前景图像与背景图像的像素值设定一个或多个阈值进行分割。区域生长法与之类似,从具有相似灰度值的像素中选择一个起始点,即为种子点,并将其他具有相似灰度值的像素点归为一类。在该方法中,种子点的选择至关重要,可以人工选取或自动选取,例如,文献[17]提出一种基于先验知识的二维区域生长法,其对于肿瘤分割的效果较好。图割[18-19]和水平集[20-21]等技术也常用于肝脏图像分割中,并得到了较好的分割结果。
1.2 基于深度学习的方法
卷积神经网络(Convolutional Neural Network,CNN)在目标识别、分类预测和图像分割等计算机视觉领域取得了显著成果。在CNN中,卷积过程中生成的特征图谱在放入最后的全连接层时,往往会丢失原始图像中的空间信息,因此,文献[22]提出了全卷积神经网络来解决这一难题。
目前,全卷积神经网络已广泛应用于肝脏自动分割问题中。文献[7]利用全卷积神经网络对CT图像中的肝脏和肿瘤进行分割,文献[23]提出一种基于多通道的全卷积神经网络,通过不同通道之间的特征融合生成最终的特征图谱,文献[6,24]分别利用级联式的全卷积神经网络和条件随机场技术分割肝脏。然而,上述网络结构挖掘的层间上下文信息较少,限制了网络对高层特征的提取能力,最终对肝脏分割的精度产生影响。
BELLVER网络以VGG-16[25]为基础,剔除最后的全连接层,并保留原始网络中的卷积层、最大池化层和ReLU激活函数。以池化层为界,将基础网络划分为不同的卷积模块,每个模块中的卷积层作用于具有相同分辨率的特征图谱,并在Imagenet[26]上进行预训练。
图1为BELLVER网络结构的示意图,其由5个下采样卷积模块、4个上采样卷积模块、4个侧向输出[27]卷积模块和1个融合卷积模块组成,每个卷积模块包含多个卷积层,并在其后采用ReLU激活函数进行计算。BELLVER网络的输入为3×512×512(通道数×图像高度×图像宽度),经过下采样和上采样过程后,利用反卷积技术恢复图像维度,再通过Skip Connect复制对应最大池化层的特征图谱。其中,下采样卷积模块共有13个卷积层,卷积核大小为3×3,上采样过程中的4个卷积模块与下采样卷积模块对应层的维度相同。每个侧向输出模块由2个卷积层组成,但其卷积层不包含ReLU激活函数,而是利用大小为1×1的卷积核对上采样过程进行侧向监督,最后通过融合卷积模块将4个侧向输出结果进行融合。
图1 BELLVER网络结构
整个结构是由全卷积神经网络和多个侧向输出组成,同时,深度监督网络[28]的出现证明,对隐藏层加以监督可以提升图像分割任务的优化和泛化能力。此外,所有侧向输出的大小相同,可以更加便捷地生成最终预测结果。
2 HC-CFCN模型
本文基于BELLVER网络,提出HC-CFCN模型,其结构如图2所示。该模型由肝脏粗略分割和肝脏精确分割2个阶段组成,每个阶段的输入都为三通道。利用第1级网络结构实现肝脏轮廓的粗略分割,并将其分割结果(Feature Map,FM)与原始CT图像、肝脏能量图(Liver Energy Image,LEI)共同作为第2级网络结构的输入,优化分割结果。在后处理过程中,通过开操作避免出现肝脏轮廓过分割的情况。
图2 HC-CFCN模型结构
2.1 图像信息挖掘
HC-CFCN模型主要包括肝脏粗略分割阶段和肝脏精确分割阶段,其中,肝脏精确分割阶段的作用是对肝脏粗略分割阶段的结果进行优化与调整。肝脏粗略分割阶段的输入为连续3层CT图像,利用上层、下层CT图像的信息辅助中间层CT图像的分割,得到粗略的肝脏轮廓。肝脏精确分割阶段的输入为原始CT图像、肝脏能量图和肝脏粗略分割阶段生成的特征图谱,该阶段的作用是将原始CT图像和肝脏粗略分割阶段的特征图谱再次分割,以充分利用原始CT图像中的有用信息,同时,利用肝脏能量图技术挖掘CT图像的层间上下文信息,通过提取医学图像中的结构信息,提高肝脏分割的精度。
2.2 层间上下文信息挖掘
步态能量图[29]是一种基于时空的步态表示方法,其主要应用于个体识别,通过提取行人的步态特征,找到周期性的规律从而进行个体识别。常用的步态识别方法通常将步态作为一个序列来考虑,而步态能量图将行人的步态融合到一张独立的图像中,既可以节省存储空间和计算时间,又增强了图像分割过程对于噪声的抵御能力。
由于CT图像具有序列性的特征,因此医生对患者做出诊断时需要对整个CT序列进行分析。受步态能量图的启发,本文在HC-CFCN模型中引入肝脏能量图,不仅便于临床操作,还能够利用CT图像的序列性特征挖掘层间的上下文信息。在计算肝脏能量图时,将第i层的CT图像用Ii(x,y)表示,通过求和取平均的方式得到最终的肝脏能量图,其定义如式(1)所示。
(1)
其中,N为每位患者的CT图像总层数,i为生成的肝脏能量图的当前层数,x和y分别表示二维CT图像中的横纵坐标。图3给出2位患者的连续CT图像,其中,最后一列为前几张CT图像生成的肝脏能量图。由图3可知,肝脏能量图可以反映该序列中肝脏的大体轮廓和变化趋势,同时,其能够降低非肝脏组织的对比度,如图3中箭头标注区域所示。
图3 肝脏能量图
以肝脏能量图作为肝脏精确分割阶段的输入,可以更好地利用CT图像的序列性特征,并将层间的上下文信息汇集到同一张图像上。此外,在肝脏能量图中,灰度值越大说明其为肝脏区域的可能性越大,通过肝脏能量图可以充分利用CT图像中的结构信息,对肝脏区域进行精准分割。
3 实验结果与分析
3.1 数据集与数据预处理
本文的实验数据来自LiTS数据集,包含131位患者的数据,其由不同仪器在6个临床试验点生成,因此,CT图像之间的差异较大,层内分辨率从0.55 mm到1.00 mm,序列的层间距离为0.45 mm~6.00 mm。为便于实验对比,将105位患者的数据作为训练集,其余26位患者的数据作为测试集,在训练集中,将前60位患者的数据用于肝脏粗略分割阶段的训练,而后45位患者的数据用于肝脏精确分割阶段训练。
在图像预处理阶段,对所有CT图像截取出Hu值在[20,255]的部分,以移除不相关信息。经过窗位、窗宽调整后,肝脏组织相较于其他组织的对比度提高,肝脏轮廓更为清晰。
3.2 类别不平衡问题
类别不平衡问题始终存在于医学图像的分割中。在LiTS数据集上,肝脏区域像素点个数占只包含肝脏区域的CT图像像素总数的6.99%,因此,该数据集中仍存在类别不平衡问题。
HC-CFCN模型在反向传播时,将类别平衡参数θ引入交叉熵损失函数中,自动调控损失函数的计算[27],从而解决类别不平衡问题。平衡交叉熵损失函数的定义如下:
Lloss(P,G)=-(1-θ)GlnP-θ(1-G)ln(1-P)
(2)
其中,P为模型的预测结果,G为医生给出的金标准。
通过计算肝脏区域的像素点个数占只包含肝脏区域的CT图像总像素数的比值,得到类别平衡参数θ。文献[30]证明,在计算θ时只需考虑有前景图像的情况,背景图像类别平衡参数可在其基础上确定,最终得到2个类别平衡参数θ和1-θ。
3.3 评价标准
本文根据2017年LiTS比赛的评价标准,采用Dice值来衡量肝脏的分割结果。由于Dice值的度量方法主要应用于二值图像,因此将分割结果中的肝脏区域设置为1,非肝脏区域设置为0,具体计算公式如式(3)所示。
(3)
其中,A为金标准中前景区域的面积,B为预测结果中前景区域的面积,Dice值的范围是[0,1],当预测结果与金标准之间的误差为0时,Dice值为1。
3.4 后处理过程
通过HC-CFCN模型对LiTS数据集进行训练和测试,其分割结果中存在肝脏轮廓过分割的情况,如图4(b)中圆圈区域所示,与肝脏组织对比度相近的组织被误当做肝脏,导致分割精准度下降。为解决该问题,本文采用阈值处理和开操作的方法对肝脏分割结果进一步优化,其在一定程度上解决了过分割问题,如图4(c)所示。其中,开操作的作用是平滑目标物轮廓、切断狭窄的间断和消除细小突出物,其计算公式如下:
Lliver∘K=(Lliver⊖K)⊕K
(4)
其中,Lliver为模型的预测结果,K为开操作的结构元素,本文采用大小为11×11的圆形结构元素,∘ 代表开操作,⊖和⊕分别代表腐蚀操作和膨胀操作,即利用结构元素对预测结果进行腐蚀操作,并在其基础上进行膨胀操作。
图4 后处理结果对比
3.5 实验环境与参数设置
本文实验环境如下:计算机配置i7-7700处理器,32 GB内存,显卡为GeForce GTX 1080Ti,开发工具为Python和TensorFlow框架,Ubuntu 16.04系统。
输入图像的尺寸为512像素×512像素,整个模型在LiTS数据集上迭代50 000次。初始的学习率为1e-8,采用分段恒定学习率下降方式。利用Momentum算法对损失函数进行优化,其参数设为0.9。
3.6 结果分析
HC-CFCN模型的部分肝脏分割结果如图5所示。可以看出,HC-CFCN模型对于不同形状的肝脏区域都可以精确分割,且HC-CFCN模型的肝脏分割结果与医生手工分割肝脏的结果基本拟合,验证了本文模型的有效性。
图5 HC-CFCN肝脏分割结果对比
Fig.5 Comparison of liver image segmentation results using HC-CFCN
本文将HC-CFCN模型与U-Net[6]模型、FCN+3DCRF[9]模型和V-Net[31]模型在相同数据集上进行对比,其中,U-Net模型的输入大小为256像素×256像素,对比结果如表1所示。可以看出,HC-CFCN模型的分割精度明显优于U-Net模型、V-Net模型和经开操作后的U-Net(U-Net+Opening)模型,与FCN+3DCRF模型相比,HC-CFCN模型的分割精度也有提高。此外,肝脏精确分割结果的精度优于粗略分割结果,证明HC-CFCN模型的两阶段、多通道机制可以起到提升肝脏分割精度的作用。
表1 HC-CFCN模型与其他模型的分割精度对比
Table 1 Comparison of segmentation precision between the HC-CFCN model and other models
模型Dice值/%U-Net模型[6]94.2U-Net+Opening模型95.4FCN+3DCRF模型[1]96.2V-Net模型[31]95.7本文粗略分割模型93.7本文精确分割模型(HC-CFCN)96.8
HC-CFCN模型通过两阶段、多通道的机制提升肝脏分割精度,肝脏精确分割阶段对肝脏粗略分割阶段的结果进行纠正,以弥补肝脏粗略分割阶段存在错分割和过分割的不足。同时,该模型可以对层间上下文信息进行挖掘,以提高肝脏分割精度。V-Net模型虽以三维数据作为输入,挖掘CT图像的层间上下文信息,但其对计算机显存的要求较高且计算量较大,限制了网络的深度和滤波器的感受野。HC-CFCN模型以二维数据作为输入,可降低网络深度的增加对计算量的影响,同时,采用Imagenet预训练模型有助于改善网络分割效果。
本文在肝脏精确分割阶段引入肝脏能量图技术,其作用主要体现在以下3个方面:
1)由于肝脏是人体内最大的器官,因此在生成的肝脏能量图中,肝脏区域的对比度相较于其他器官更高,非肝脏区域的对比度明显下降。
2)肝脏能量图的生成是加和取平均的过程,起到了抵御噪声[29]的作用。
3)肝脏能量图将相邻CT图像中的肝脏变化趋势反映在一张图像中,节省了存储时间和计算时间。
此外,本文采用开操作对肝脏分割结果进行优化,可在一定程度上缓解过分割问题,但开操作对于肝脏分割结果的优化能力有限,并不能完全解决错分割和过分割问题。
4 结束语
本文提出一种基于全卷积神经网络的肝脏CT图像分割模型HC-CFCN。对CT图像进行预处理,通过调整窗位、窗宽去除不相关信息,将预处理后的CT图像输入到HC-CFCN模型中,利用CT图像的层间上下文信息获得肝脏初始分割结果。在此基础上,通过开操作对生成的肝脏初始分割结果进行后处理,得到最终的肝脏分割结果。实验结果表明,与U-Net模型、FCN+3DCRF模型和V-Net模型相比,HC-CFCN模型能够更加准确地分割肝脏。下一步将对网络结构进行优化,减少训练参数,提高模型效率,同时在肝脏精确分割的基础上,实现对肝脏中病变情况的检测。