李 维,赵晓乐,段彦隆,刘利军,黄青松,2+
1.昆明理工大学信息工程与自动化学院,昆明 650500
2.云南省计算机技术应用重点实验室,昆明 650500
肺癌是目前所有恶性肿瘤中发病率和死亡率最高的癌症之一,据国家癌症中心2018年的公布结果显示,由于吸烟、被动吸烟以及空气污染等因素,肺癌在我国的发病率最高。由于肺癌早期无明显症状,大多以肺结节形式存在,导致肺癌临床确诊时往往已处于中晚期,若能早期发现肺结节将会提高肺癌患者五年的生存率,因此肺结节的早期筛查对诊断、治疗肺癌起着重要的作用[1-2]。随着低剂量薄层CT、64排螺旋CT等技术在医院的普及与应用,肺部CT切片增多,肺结节检出量增多,导致医生工作量增大,漏检率增高。因此,如何降低医生阅片量,减少漏检率,在肺结节的检测和诊断中具有重要意义[3]。由于肺中可能伴随其他异常且肺结节在肺内表现复杂,传统方法对肺结节的检测与诊断具有一定的难度[4]。近年来随着人工智能等前沿技术在医疗领域的应用,已有越来越多的研究者将深度学习等方法用在肺结节的早期诊断中。由于通过深层卷积神经网络(convolutional neural network,CNN)可以端到端地提取出图像的细粒度特征和更高层抽象语义信息[5],且能提取出有效的医学图像特征信息[6],减少了肺实质分割和手工设计特征带来的误差,目前在医学图像检测分析方面已经取得了一定成果[7-9]。肺结节以三维立体形式存在,传统的肺结节特征提取方法往往是基于单层肺结节切片进行的,尽管肺结节切片间隔在毫米量级,但是对于长径通常不超过30 mm的肺结节而言,相邻切片在细粒度上依然存在一定差异。本文针对传统方法检测肺结节精准度不高,难以提取准确的肺结节特征信息等问题,提出了一种基于卷积神经网络多层面二阶特征融合模型(multilevel second-order feature fusion model based on convolutional neural network,CMSFF),对肺结节进行特征学习。该方法通过改进的卷积神经网络构建CMSFF模型,对多个层面的肺结节进行特征提取,通过两个阶段进行特征融合,实现肺部CT图像的粗粒度特征学习和肺结节的细粒度特征学习。实验结果表明,该方法能够提取出更精确和完善的肺结节特征表达,提高了肺结节恶性程度分类准确率。
通常对肺部结节的计算机辅助检测(computer aided detection,CAD)技术流程包括:图像预处理、肺实质分割、候选肺结节提取、假阳性结节去除、结节检测性能分析[10]。由于大多数假阳性结节是由血管区域引起的,经典的3D线性滤波器移除肺部区域血管[11]的方法不能很好地滤除噪音的干扰,因此Liu等[1]采用基于几何和统计特征结合的方法初始候选结节,大大降低了假阳性结节率。早期对肺结节恶性程度的诊断主要通过设置阈值,并观察结节不同时间结节体积的变化,最后通过一种标准公式来评估出结节增长率的方式进行诊断[12-14],然而这些方法对患者历史诊断数据依赖性强,因此难以实际应用。除了针对肺结节形状、体积等特征之外,也有研究者针对结节的细粒度特征进行研究,如Way等[15]对结节的光滑度、分叶征和毛刺征等特点进行良恶性诊断。Orozco等[16]利用有监督的二分类支持向量机(support vector machine,SVM)算法,通过对CT图像进行两次小波计算并选择特征作为SVM的输入,实现对肺结节的检测,而Firmino等[17]使用分水岭和定向梯度直方图(histogram of oriented gradients,HOG)技术来分离结节与其周围结构来提取肺结节的特征信息,最终得到了较好的分类结果。尽管肺结节的基本形状特征可以用来作为诊断其良恶性的重要依据[10],然而由于肺结节特征复杂且表现各异,只关注形状等基础视觉特征差异则会丢失许多细粒度信息。
随着深度学习方法的发展与应用,目前已有研究人员利用深度学习强大的特征学习和特征表达能力,对肺部CT图像进行研究。如Ciompi等[18]采用OverFeat的预训练CNN的输出来描述2D视图的肺结节,最终AUC(area under curve)达到了0.868。Yang等[19]采用双通道模型的卷积神经网络结构进行肺结节分类,AUC值为0.821 6。Pinheiro等[20]采用集群智能训练的卷积神经网络模型对肺结节进行检测和分类,与常规的反向传播训练模型相比,该模型在结节分类中实现了更高的性能。Setio等[8]设计并构建一个多视图架构,融合两次的特征信息来抑制假阳性结节,从而达到了不错的效果。Zhang等[21]利用残差网络融合多尺度的肺结节特征进行分类,达到了0.901的AUC值。有监督的深度学习方法可以直接通过不断训练模型的特征学习能力,来自动识别与过滤掉图像中的噪声干扰部分,从而提高了肺结节检测的准确度,同时减少了传统方法中对数据预处理的繁琐工作。然而胸部CT图像中的肺结节周围环境过于复杂,以及肺结节形态的多样性导致现有方法提取到的肺结节特征信息仍然存在一定的噪音干扰。尽管3D线性滤波器[11]可以将肺结节周围的支气管精确地移除掉,但是无法准确地移除肺结节周围的毛细血管、组织器官等干扰因素。
针对传统方法提取的特征具有局限性,不能灵活地泛化,以及现有深度学习方法不能很好地避免噪音的干扰等问题[22-23],本文提出采用深度神经网络对多层面的肺结节进行特征提取,不仅可以通过浅层神经网络提取肺结节底层的几何形状、灰度特征、纹理等特征信息,还能通过深层的网络提取出高层的抽象语义信息。
肺部CT切片间隔通常在1~3 mm之间[24],因此相邻结节切片位置形状变化不大,但相邻切片上结节周围的血管等组织器官变化较大(比如同一个结节的连续相邻切片,结节周围的同一位置会出现有血管和无血管的情况,如图1所示)。本文对于肺部CT图像中肺结节细粒度的研究,提出采用基于卷积神经网络多层面二阶特征融合模型(CMSFF),目的是提取出肺结节全面、准确的特征信息,提高肺结节恶性程度分类准确率。特征提取模型的总体框架如图2所示,分为特征提取子模块M1和特征融合子模块M2。子模块M1中共有3个并行的卷积操作,每个卷积操作分为5个层,其中除第一层conv1外,剩余4层均由不同数量的子层构成。子模块M2中则是多层面ROI图像块的特征融合过程。特征融合分为不同层级的特征融合[25]与相同尺度的特征融合两个阶段。模型的输入是同一个肺结节的连续3张不同ROI(region of interest)图像块,输出是肺结节的特征向量F。在模型最后的输出F,添加两层全连接层,进行分类,最终输出肺结节的恶性程度评估结果。
Fig.1 Comparison of surrounding environment of different sections of the same nodule图1 同一结节不同切片周围环境对比
Fig.2 General framework of pulmonary nodule feature extraction based on CMSFF图2 基于CMSFF肺结节特征提取总体框架
医学图像中病灶区域较小,通常与人体组织器官之间具有较高的相似性,相比自然图像,医学图像往往更关注细粒度层面的特征信息。然而传统的卷积神经网络的特征信息在卷积层和全连接层进行传递时,存在信息的丢失与损耗。为了减少特征提取过程中信息的丢失与损耗,保留更完整的特征信息,本文在子模块M1中引入由He等[26]提出的残差网络ResNet50的网络模型。该网络模型可以通过残差映射函数更高效地学习前一层输入输出的差异部分,在网络收敛到一定程度时,输入信息可以跳过部分层次的网络,然后与经过卷积后的输出相加,达到充分训练底层网络的效果,解决了网络退化问题和梯度消失问题,保护了信息的完整性,同时网络只需要学习输入、输出差别的那一部分,简化了学习目标和特征提取的复杂度。
基于卷积神经网络的多层面特征提取子模块M1是整个肺结节特征提取模型的基础,通过该模块对多层面的肺结节进行初步特征提取,可同时得到同一个肺结节不同切片的特征表达。其中子模块M1由3个并行的神经网络构成,网络部分均采用ResNet50的前49层。前49层激活函数全部使用ReLU[27]。
本文的特征提取子模块M1采用ResNet50进行图像的卷积操作,M1接收一个三元组的ROI图像块输入和肺结节恶性程度标签。每一层图像卷积得到的输出分别标记为其中*表示所抽取的切片编号{1,2,3},如图3(a)上半部分所示。由于第一层卷积conv1得到的输出过大,在模型训练时会严重影响训练速度。其次,这一层得到的低层语义信息相比存在较大差距,对模型训练效果影响不大,因此在接下来的特征融合计算中舍弃对的直接使用。通过对3张图像块的特征提取,分别得到4层对应的特征表达,由于每一层都处于网络的不同深度,因此每一层的输出都包含了不同的语义信息。其中s*_f5是顶层卷积得到的特征信息,相比低层特征s*_f2,其含有的语义信息更抽象,更能表达肺结节的细粒度特征。
Fig.3 Feature extraction and fusion of pulmonary nodules图3 肺结节的特征提取与融合
尽管通过M1模块已经得到了肺结节图像块的顶层特征s*_f5,并且得到的顶层特征包含的语义比较丰富,但是顶层特征包含的ROI轮廓、灰度等信息通常却较为粗略。而在包含语义信息相对较少的低层特征中所包含的ROI轮廓、灰度等信息较为精确[25]。针对肺结节的特征提取,抽象的高层语义信息固然重要,但是并不能忽略肺结节的轮廓、灰度等特征的变化。因此加入低层的特征信息进行多层级特征融合,保留更完整的特征信息,使提取到的语义信息更具鲁棒性。一个三维肺结节的不同切面,其携带的特征信息有一定的差异,因此从3D的视角进行特征的提取,将3个层面的图片特征进行融合,这也符合放射科医生临床诊断流程。
本文所提出的二阶特征的融合分为两个步骤。首先利用M1子模块中提取的同一张图片4个不同层级特征信息进行融合,然后将最终得到的3张图片特征信息进行二次融合。
第一步:在特征融合时,首先将conv5x层的输出s*_f5用f[6]=1的卷积核进行卷积,输出为s*_f6;然后将s*_f4进行f[7]=1的卷积,并将s*_f6进行上采样Upsample,目的是使得到的向量的维度与s*_f4维度相同,最后将两者进行融合,融合方式通过加法合并,得到s*_f7,如图3(b)、图3(c)所示。s*_f3层执行同样的操作得到s*_f8,对于s*_f2层,执行上述操作之后并进行s=2的最大池化操作,得到s*_f9,其中convLm2(Lm2={6,7,8,9})均为卷积核的卷积操作。于是由浅及深地得到融合后的特征信息s*_f9,该层包含了图像中所关注目标的轮廓、灰度等特征信息,以及更抽象的高层语义信息,提取得到的肺结节的特征表达更加完善与准确。
第二步:将第一步融合后的特征s*_f9分别经过f[10]=1的卷积核进行卷积,得到特征s*_f10;此时的3个特征s*_f10具有相同的尺度,即高h、宽w和通道数c均相同:h1=h2=h3,w1=w2=w3,c1=c2=c3。因此将3个向量在通道方向进行合并,得到一个维度为h1×w1×3c1的特征向量F。
至此特征的提取与融合部分完成。将向量F经过全局平均池化层和全连接层展开,最终通过Softmax函数得到肺结节恶性程度的评估结果。其中CMSFF模型的网络结构如图4所示。
在用神经网络训练模型时,需要设计一个合适的目标函数才能提高准确率和所训练模型的鲁棒性。本节所提出的CMSFF模型是基于残差网络而设计,目标函数采用交叉熵函数。本节通过所提出模型对CT图像中的肺结节进行特征提取,最终实现肺结节的恶性程度评估,交叉熵函数可用于分类问题中,能得到线性的梯度,有效地防止梯度的消失。残差网络的第l子层特征可以表示为该层之前的所有残差函数输出以及第一层的特征表达的总和,因此定义残差网络中第l子层的特征表达xl为:
其中,Wj表示第j个子层的权重参数,l∈(0,50),此处为了表达方便省去了偏置项bj。则第i个样本在残差网络中每个层L的特征表达如下:
其中,*表示输入样本的3个ROI图像块s1、s2、s3,Lm1表示模块M1的层,并且Lm1∈{1,2,3,4,5}。另用Lm2表示模块M2的层,Lm2={6,7,8,9,10}。于是模块中涉及到的1×1的卷积操作convLm2表示如下:
其中,k∈{6,7,8},upsample2D(·)表示执行2D上采样操作,且k的值为8时,对融合后的特征进行最大池化处理。将Lm2=10代入式(3)中,得到第10层的特征表达,对得到的3个特征表达进行融合:
Fig.4 Network structure diagram of CMSFF model图4 CMSFF模型网络结构图
其中,sθ(·)表示Softmax函数,θ为模型的参数,将模型输出φi代入其中,于是得到最终的目标函数为:
其中,式(7)的最后一项为L2正则化项,λ为正则化参数,w为模型中的所有权值。通过最小化该目标函数,对网络参数进行迭代更新来训练出一个肺结节恶性程度评估的CMSFF模型。
算法1肺结节恶性程度评估算法
输出:恶性程度评估结果P。
本文研究内容所采用的数据集来自肺部影像数据库(LIDC-IDRI)和SPIE等[28]提供的肺结节分类挑战赛数据集(SPIE-AAPM-LungX)。
从图5可以看出,胃蛋白酶在2 h酶解产物的降血糖功能达到最高水平,抑制率达到41.3%,随后保持稳定;中性蛋白酶酶解产物的降血糖功能随时间变化波动较大,在3 h达到最高。三种酶中胃蛋白酶酶解产物降血糖功能显著高于其他两种酶,而中性酶和碱性酶产物降血糖功能没有显著差异。这一实验结果与酶解鲢鱼蛋白的降血糖功能研究结果稍有不同,其结果为中性蛋白酶解产物降血糖功能最强[18],这一差异可能与实验原料的氨基酸组成有关。
LIDC-IDRI数据集中共包含1 010例患者的所有肺部CT扫描成像结果,每一个病例文件中包含了以DICOM标准格式存储的临床CT扫描文件,同时用一个可扩展的标记性语言(XML)文件记录每一个病例文件中的结节信息,包括患者的所有长径大于3 mm的结节位置信息和病理描述信息评价级别。预处理得到的结节信息如表1所示。
Table 1 LIDC-IDRI data preprocessing information表1 LIDC-IDRI数据预处理信息
肺结节在一张切片上被定义为长径在3~30 mm内的类圆形病灶区域,因此一个3维结构的肺结节可通过连续多张切片表示出来[24]。由于结节大小尺寸不固定,同时为了减少切割出的ROI区域携带的噪音,本文在对实验数据中肺结节的预处理时,切割出不同尺寸的ROI。具体方法是根据DICOM文件生成JPG图像的DPI(dots per inch)值(DPI=96),计算得到肺结节在JPG图像上的像素区间为(11,114),本文根据该尺寸在数据预处理时切割出能完全覆盖肺结节区域的最小矩形,且取矩形的边长为R∈{16×16,32×32,64×64,128×128}。经过对肺结节的预处理,得到每个结节连续m个ROI图像块(如图5所示),同时保留结节长径最大的图像块所对应的原始CT图像。统计实验数据集中肺结节长径大于3 mm的同一结节中连续m张ROI图像块,得到的m取值分布如图6所示。因此本文在实验中取m=4。由于m取1的情况下结节数量过少,因此实验中直接舍弃;对于m取2和3的情况,通过复制原图来达到m=4;对于m>4的情况,则直接选用结节长径最大的4张。
Fig.5 Cutting samples of different pulmonary nodules图5 不同肺结节的切割样例
Fig.6 Number of nodules corresponding to different m values图6 不同m值对应的结节数量
实验中采用的标签数据由4名专家分别标注完成,因此对同一个结节的标注信息,最多存在4种结论。本文参考LUNA16数据集的构建方法,将肺结节恶性程度按等级划分为3类:1、2为一类m1,3为一类m2,4、5为一类m3。重新统计肺结节:排除4名专家标注了2种数量均等的标签信息,如表2所示,肺结节数量为2 333。于是得到肺结节恶性程度数据如表3所示。由于3种类别的恶性程度分布不均衡,在输入样本数据进行训练时,对m1~m3采用过采样,m1、m2、m3的过采样权重分别为1.10、1.00、1.35。
Table 2 Distribution of malignant degree labeling among 4 experts表2 4名专家恶性程度标注情况分布
Table 3 Distribution table of malignant degree表3 恶性程度分布表
SPIE-AAPM-LungX数据集信息如表4所示,共包含22 489张图片,70例肺CT影像,共83个候选结节(其中13例包括2个结节),42个良性结节,41个恶性结节。每个病例包含了以DICOM标准格式存储的CT扫描文件。在相关的Excel文件中,包含每个结节的病例名称,结节质心的坐标和结节良、恶性二类标签信息。
Table 4 SPIE-AAPM-LungX data information表4 SPIE-AAPM-LungX数据信息
本文的实验环境如下:CPU Intel®Xeon®Silver 4110 CPU 2.10 GHz*2;GPU NVIDIA TITAN XP;内存64 GB;操作系统Ubuntu Server 16.04 64-bit;编程语言python 3.6。
本文在模型的输出后面,添加两层全连接层,将输入的肺结节进行恶性程度评估,以肺结节的恶性程度等级作为模型的输出,并作为实验的最终评价结果。采用真阳性率TPR(灵敏度)、假阳性率FPR以及TNR(特异度)、Precision(精确度)、F1值(F1 measure)[16]进行评价。用ROC曲线与横轴和纵轴所围成图像的面积AUC作为肺结节良恶性分类的评价指标。其中纵轴真阳性率TPR(灵敏度)、横轴假阳性率FPR以及特异度TNR计算定义如下:
AUC、Precision、F1值的计算公式如下:
其中,TP表示真阳性数量,FP表示假阴性数量,FN表示假阳性数量,TN表示真阴性数量,x、y分别是ROC曲线的坐标点FPR和TPR,m是坐标点的数量。
4.2.1 CMSFF模型的参数选择
本文实验,首先需要从原始胸部CT图像中抽取一个肺结节所包含的3张长径最大的切片,并根据标注的肺结节位置信息进行切割,得到3张ROI图像块。将得到的图像块输入肺结节特征提取模型中提取特征信息,进行恶性程度的评估。在实验过程中模型的主要参数设定如表5所示。
Table 5 Setting of experimental parameters表5 实验参数设定
4.2.2 肺结节恶性程度分类对比实验
本文实验通过对胸部CT图像进行特征提取,训练出CMSFF模型,实现肺结节的恶性程度评估,实验流程如图7所示。
Fig.7 Experimental procedure for evaluating malignant degree of pulmonary nodules图7 肺结节恶性程度评估实验流程
本文对传统方法、现有基于神经网络方法以及本文所提方法进行肺结节病理信息预测对比实验。为了得到可靠稳定的模型,实验使用6折交叉验证法,将整个样本集划分为6组,保留1组作为测试集,另5组作为训练集输入模型,每个分类器训练和测试6次。取6组实验的平均值作为实验最终结果。实验中对Firmino等[17]、Francesco等[18]和Zhang[21]的方法在LIDC-IDRI上进行对比。实验结果如表6所示,本文方法的精确度为91.27%,灵敏度为89.48%,F1值为90.37%,精确度和灵敏度以及F1值均高于其他方法。由特异度值95.93%可知,实验分类结果的假阳性率保持在较小比例。
Table 6 Comparative results of different methods and models in LIDC-IDRI表6 LIDC-IDRI数据集不同方法模型对比结果
为进一步验证本文方法的鲁棒性,在SPIEAAPM-LungX数据集上进行了一组对比实验,实验结果如表7所示。本文方法的精确度为91.09%,灵敏度为88.98%,特异度为92.74%,F1值为90.02%,精确度、灵敏度、特异度以及F1值同样均高于其他方法,证明本文方法具有很强的鲁棒性。
Table 7 Comparative results of different methods and models in SPIE-AAPM-LungX表7 SPIE-AAPM-LungX数据集不同方法模型对比结果
4种方法在LIDC数据集上的实验结果ROC曲线图如图8,在SPIE-AAPM-LungX数据集上的实验结果ROC曲线如图9所示。在LIDC数据集和SPIEAAPM-LungX数据集上,CMSFF模型的AUC值分别为0.924和0.919,均高于其他几种方法。从图中可以直观地看出,代表本文提出模型的实线均位于其他模型ROC曲线的左上方,可以看出本文方法对肺结节良恶性分类的性能优于其他模型。实验结果表明,CMSFF模型不仅通过浅层神经网络提取ROI图像块中肺结节底层的形状、灰度特征、纹理等特征信息,还通过深层的网络提取出高层的抽象语义信息。此外,特征的提取采用有监督的神经网络所训练出来的模型,模型经过样本数据进行参数的调整。对于全面、准确的肺结节特征信息具有较高的提取能力,进而提高了肺结节分类准确率。
Fig.8 ROC result curves of 4 models in LIDC-IDRI图8 LIDC-IDRI数据集4种模型ROC曲线图
Fig.9 ROC result curves of 4 models in SPIE-AAPM-LungX图9 SPIE-AAPM-LungX数据集4种模型ROC曲线图
4.2.3 输入对比实验
本文所提模型CMSFF的输入为3个层面的ROI图像块,为了验证从肺结节的3个层面提取其ROI特征信息的有效性,分别与单个层面的ROI图像块以及未进行病灶区域切割的原始CT图像进行实验结果的对比(单个层面的ROI输入采用ResNet作为模型)。实验结果如表8所示,从表中可以看出,基于3个层面的ROI图像块的AUC值,均高于单层面的ROI图像块与3层原始CT图像的AUC值。在准确率与灵敏度方面,本文所采用的方法比单层ROI图像块分别提高了6.96个百分点和9.05个百分点,证明了多层面特征融合的有效性,比3层原始CT图像分别提高了20.83个百分点和24.81个百分点,证明了3个层面的ROI图像块提取特征的准确性要高于原始CT图像直接特征提取的方法。
Table 8 Comparison of different input images表8 不同输入图像对比
4.2.4 不同ROI尺寸对比实验
针对肺结节的尺寸以及肺结节周围过多的噪音,本文切割的ROI尺寸μ是以能完全覆盖肺结节区域的最小矩形R∈{16×16,32×32,64×64,128×128}为标准。因此本实验针对R值的选取进行实验对比,结果如表9所示,在所有ROI尺寸的选择中本文所采用的方法得到的AUC值是最优的,其中μ2的方法采用了基于三维空间的纹理特征,将语义相关性和视觉相关性的度量作为基础,通过决策树的多分类模型来提高最终的实验效果[29],得到了不错的结果。直接采用原始CT图像尺寸μ5在神经网络中进行训练,得到的AUC达到了0.82[30]。
Table 9 ROI comparison of different sizes表9 ROI不同尺寸对比
本文采用基于卷积神经网络的多层面二阶特种融合方法对肺结节的恶性程度进行评估,针对不同肺结节预处理出不同尺寸的ROI图像块,对肺结节的多个层面进行基于残差网络的特征提取,通过两个阶段的特征融合获得更精确的特征信息,同时弱化结节周围噪音的干扰。实验过程中,通过对输入到模型中的图像进行调整,最终验证了采用三个层面的ROI图像块进行特征提取的有效性;通过所训练模型对肺结节恶性程度进行评估,并且与现有的肺结节恶性程度评估的方法进行了实验结果对比,最终验证了所训练模型提高了肺结节恶性程度分类准确率。在进一步的研究中,对残差网络提取到的不同层级的特征进行融合还可以继续优化,因为这些不同层级的特征表达的信息有一定的冗余,通过一些约束,减少冗余的特征信息,使提取到的特征信息更符合研究需要,增强网络的鲁棒性。