基于多尺度和特征融合的肺癌识别方法

2020-05-22 12:33石陆魁杜伟昉马红祺
计算机工程与设计 2020年5期
关键词:尺度恶性结节

石陆魁,杜伟昉,马红祺,张 军+

(1.河北工业大学 人工智能与数据科学学院,天津 300401;2.河北工业大学 河北省大数据计算重点实验室,天津 300401)

0 引 言

基于传统机器学习的肺癌检测方法依赖于人为标注的感兴趣区域,而且需要按照预先设定的特征提取方法来提取病灶特征,难以实现自动化[1-4]。基于深度学习的肺癌检测方法通过网络自主学习并提取特征[5,6],排除了人为因素的影响。Dou等[7]提出一种使用三维卷积神经网络(convolutional neural networks,CNN)来减少自动检测肺结节中假阳性的方法。与二维神经网络相比,三维网络架构可以提取更丰富的空间信息,从而获得更具代表性的特征。Ju-lian 等[8]用32×32×32大小的图像块作为3D-CNN的输入,对肺部CT图像进行结节和恶性检测,在肺癌检测任务上取得了不错的结果,但其未考虑其它尺度的输入大小对检测任务的影响。另外,由于标注CT图像的专业性强,带标注的数据不足,而且肺结节大小各异且征象较为复杂,使得结节检测存在一定困难。同时由于小尺度输入的结节检测网络很难获取到大区域病灶的整体特征,从而影响肺癌的识别。针对上述问题,本文在3D-CNN基础上,基于迁移学习提出了一种多尺度和特征融合的肺癌识别方法。在Kaggle Data Science Bowl 2017数据集[9]上验证了该方法的有效性。

1 基于迁移学习的结节检测模型

在Kaggle Data Science Bowl 2017竞赛中,Julian等提出了一种3D-CNN模型,用来检测肺结节。该结节检测模型为多任务学习模型,在进行结节概率预测的同时可评估其恶性程度。网络模型如图1所示。

图1 3D-CNN结节检测模型

该模型基于行为识别网络C3D,共包含9个卷积层和5个池化层。模型中前六层卷积、第七层卷积分别采用3×3×3、2×2×2大小的卷积核,最后两个并列的卷积层卷积核大小为1×1×1。前7个卷积层均采用relu激活函数,用于预测结节概率的卷积层采用sigmoid函数,预测恶性程度的卷积层未使用激活函数。池化层多采用最大池化。

该模型采用迁移学习方法,首先用32×32×32大小的肺结节数据训练该模型;然后,在预测阶段,通过向网络输入同样大小的图像来判断该区域包含恶性信息的可能性;最后,基于此信息和结节坐标等其它特征,估计该患者发展成肺癌的概率。训练数据来自LUNA16数据集[10]。根据结节的轮廓点坐标从CT中切割出三维肺结节训练3D-CNN。基于LUNA16数据集切取的训练集样本类型和数量见表1。

表1 训练集样本

LUNA16数据集和Kaggle数据集的特点如下:

(1)LUNA16是LIDC数据集的一个子集,包含了888个病例的CT影像,其中共有1186个结节,直径范围为3 mm~30 mm,这些结节分别由4名影像科医生进行标注。在注释文件中给出了4名放射学专家对每张CT片中出现的结节的定义,包括结节的主要CT征象,如毛刺征、分叶征、钙化等以及结节的恶性程度。对于直径大于等于 3 mm 的结节,给出了轮廓点的坐标,直径小于3 mm的结节给出了中心点的坐标;

(2)Kaggle Data Science Bowl 2017数据集共包含2101个病例CT影像。它是一个two-stage的比赛,两个阶段用的测试集不同。其中,stage1中包含1595个具有癌症标签的CT影像,1397个作为训练集,198个作为验证集;stage2中包含506个无癌症标签的数据。与LUNA16数据集不同的是,此数据集没有标记结节。

肺结节的检测结果影响着最终肺癌识别的准确性,而输入图片的尺寸对检测模型的性能影响相当明显。肺结节通常是指肺实质内直径不超过3 cm的类圆形病灶,临床上把直径大于3 cm的病灶称为肺部肿块。一般认为,肺结节的直径越大,其为恶性的概率越大(直径大于3 cm的病灶多为恶性),从而发展成癌症的可能性越大。Julian等仅用32×32×32大小的图像块作为输入,对于直径大于3 cm的病灶,只能局部投入网络,导致网络提取不到其概貌特征。另外,Kaggle数据集中存在大于3 cm的肺肿块,其致病人患癌的概率大大升高。要想检测到此类区域,需向网络输入更大尺度的图像。

2 基于多尺度和特征融合的肺癌识别模型

Julian等提出的模型是一个特殊的卷积神经网络——全卷积网络(fully convolutional networks,FCN),与经典的CNN只能输入特定尺寸的图像不同,FCN可以接受任意尺寸的输入图像,小尺度输入时网络注重细节特征,大尺度输入时网络能够抓住概貌特征。

为了检测不同大小的结节、充分描述结节的详细特征,基于Julian等提出的预训练的3D-CNN,用多尺度输入方式在Kaggle数据集上检测结节,建立基于多尺度和特征融合的肺癌识别模型。为了减小漏诊的概率,首先以滑窗的方式检测肺结节,然后提取结节特征并预测得到结节的概率和恶性程度,最后根据网络提取的特征用XGBoost算法预测肺癌。

2.1 多尺度输入的结节检测

结节检测网络输出结果的好坏在一定程度上受限于输入图像尺寸的大小。其主要影响如下:

(1)当网络输入图像较小时,如输入图像块尺度为32×32×32时,其适用于提取小结节的特征,也可提取大结节的分叶、毛刺、棘突等细微特征的形状和分布,但其获取不到大结节或肺肿块的整体特征;

(2)当网络输入图像较大时,如输入图像块尺度为64×64×64时,其适用于描述肺结节和肺肿块的体积、概貌等整体特征。

为此,根据肺结节和肺肿块的直径大小,测试图像采用3种不同尺度,分别为32×32×32、48×48×48、64×64×64。不同尺度的图像块投入网络会得到不同大小的输出结果,3个不同尺度图像块的网络实际输出结果大小分别为1×1×1、2×2×2、3×3×3。为降低肺结节的漏检率,取网络最后输出特征图中体素的最大值作为检测到的结节最终特征,如图2所示,当以48×48×48的图像块输入时,网络最后输出一个2×2×2大小的特征图,取8个体素中的最大值作为该图像块的结节概率或恶性程度。

图2 网络输出结果的选取方式

在3个尺度下,均以CT图像中恶性程度最大的结节作为每个病例肺癌识别的主要依据。在肺癌识别阶段,首先将多尺度的结节检测结果进行组合,然后利用XGBoost回归模型预测患肺癌的概率。小尺度和大尺度之间相互补充,对不同大小结节的特征提取都取得较好的结果。基于多尺度的肺癌识别模型如图3所示。

图3 基于多尺度的肺癌识别模型

2.2 特征融合

特征融合方法可以降低单一特征固有缺陷对识别任务的影响,实现多特征互补,提高整体表达能力,使图像识别方法具有更好的鲁棒性和更准确的识别结果。基于深度学习的特征融合通常是把网络隐层提取到的特征图进行融合,然后将融合后的特征投入分类器得到最终结果。

由于结节检测网络最后提取出的特征太少,不能满足XGBoost回归模型的训练,使得肺癌预测结果不甚满意。为了改进这一不足,将网络提取的瓶颈层特征和输出层特征融合来进行肺癌预测。以32×32×32大小的图像块作为网络输入时为例,将瓶颈层64个1×1×1的特征和网络最后输出的结节概率、恶性程度和区域坐标等特征融合,即将所有的特征向量按照串行的方式组合在一起,形成一个新的特征向量,再识别肺癌。融合后的特征不仅包含结节的阳性概率和恶性程度两个属性,还包含了深度神经网络提取到的多个高级特征,对肺部病灶的特征描述更加全面,有利于集成分类器对病变做出诊断。

多个尺度特征融合时,每个尺度的瓶颈层和输出层特征融合后,再将3个尺度的特征相组合。该方法可从病灶的细节特征、概貌特征、细节加概貌特征3个角度检测不同大小的病灶区域,从而降低肺结节的漏诊率。当结节检测网络输入图像块的尺寸为48×48×48和64×64×64时,网络提取的瓶颈层和输出层的特征图尺寸大于1×1×1,最终的取值方式参见2.1节的网络输出结果的选取方式。基于多尺度和特征融合的肺癌识别模型如图4所示。

图4 基于多尺度和特征融合的肺癌识别模型

另外,一个已训练的XGBoost模型能够自动计算特征重要性,在多尺度和特征融合的基础上,对多个尺度融合后的特征按照特征重要性程度自动进行选择来训练集成分类器,这在一定程度上扩大了有效特征的决策权,减小了噪声特征对分类器训练的影响,对肺癌预测更为有利。图5以7个特征为例展示了XGBoost模型给出的肺癌识别中每个特征的特征重要性得分,分数越高表明该特征对肺癌识别的决策权越大。

图5 特征重要性

2.3 癌症预测

根据深度神经网络提取出Kaggle数据集中所有病人的结节信息等特征,用训练集的特征和对应的癌症标签训练XGBoost回归模型,再在测试集上进行癌症预测。

结节的恶性程度与其体积、部位、边缘特征等密切相关,恶性越大表明该患者已患肺癌或未来一段时间内患癌的可能性极大,所以结节的恶性程度是识别肺癌的重要特征。Julian等的肺癌预测方法是用病人恶性最大的结节特征训练XGBoost模型并预测肺癌。从结节恶性程度角度出发,本文在多尺度和特征融合基础上,设计了两种多尺度的肺癌识别策略。两种策略均采用病人恶性程度最大的结节特征向量训练XGBoost模型,然后在3个尺度下检测出的每个病人的所有结节上做预测,取病人在各尺度下所有结节中的最大预测概率作为该病人的癌症预测结果。最后以病人为单位,对3个尺度的癌症预测结果取均值作为最终的患癌概率。两种肺癌识别策略的区别如下:

多尺度差异性识别策略:从3个尺度的差异性角度出发,3个不同尺度分别对应训练3个XGBoost回归模型。在每个尺度下,利用各自的XGBoost模型在病人的所有结节上预测患癌概率。

多尺度互补性识别策略:从3个尺度的互补性角度出发,3个尺度共同训练同一XGBoost回归模型,利用该模型在3个尺度下分别做预测。

3 实验结果

为验证所提模型的有效性,在Kaggle Data Science Bowl 2017数据集上进行了测试。目的是根据这些既无结节标记也无癌症标签的CT影像预测出它未来一年内患肺癌的概率。实验利用Ubuntu16.04系统进行仿真,CPU配置为Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz,GPU配置为两张Nvidia的Tesla P100显卡,使用CUDA8.0和cuDNN6.0并行计算,在Keras2.2.4深度学习框架上构建网络模型,其后端为TensorFlow1.4,代码运行于Python3.5环境下。

实验结果的评价标准是将预测集506个病人的肺癌预测结果提交到Kaggle官网,官网反馈一个损失值,损失值越低,说明肺癌识别方法越有效。该损失值的计算公式为

(1)

为了方便肺癌识别结果比较,除采用LogLoss作为评价指标外,本文在stage1的198个验证集上还采用了敏感性(Sensitivity)、特异性(Specificity)和准确率(Accuracy)这3种度量方式,公式定义分别如下所示

(2)

(3)

(4)

其中,TP表示肺癌被正确分类的个数;FP表示非肺癌却被识别为肺癌的个数;FN表示肺癌被分类为非肺癌的个数;TN表示非肺癌被正确分类的个数。

将Kaggle数据集的stage1和stage2数据投入训练好的3D-CNN后,网络会检测出每个病人的所有候选肺结节,且检测出的结节概率大小不一,为了更高效地识别肺癌,仅采用概率大于0.6的结节来进行肺癌预测。本文在Julian等方法的基础上进行了改进,且在改进前复现了其方法,得到LogLoss值为0.419 46。本文以LogLoss作为主要评价指标,敏感性、特异性和准确率为辅助评价指标。验证集的最终结果以0.5为临界值:若预测概率大于等于0.5,则判定为肺癌;若小于0.5,则判定为非肺癌。临界值的选择会在一定程度上影响肺癌的识别结果,所以验证集的评估结果仅供参考。实验包括3个部分:多尺度的有效性验证、特征融合的有效性验证和对比实验。

3.1 多尺度识别

为了验证多尺度输入对肺癌识别效果的影响,根据前面提到的多尺度输入方法进行结节检测,再进一步识别肺癌。首先,在32、48、64这3个尺度下分别进行了结节检测和肺癌预测,在肺癌识别阶段,用到网络提取的结节的最大恶性、最大恶性结节的z轴坐标和Julian等的可疑组织检测器检测出的mass特征。然后,将网络在3个尺度下输出的特征进行组合后识别肺癌。另外,Julian等用3D-CNN检测结节时的批次大小为128,本文改进实验的批次大小均为64。所以复现结果和32尺度输入的结果稍有不同,但差异不大。多尺度输入时的实验结果见表2。

表2 多尺度的肺癌识别结果

实验结果表明,3个尺度的特征组合在一定程度上降低了预测集的损失。另外,敏感性较其它3个单尺度有所提高,降低了漏诊率;特异性较单尺度时稍有降低;肺癌识别的准确率优于单尺度。

3.2 特征融合识别

由于网络末层提取的特征单一,不足以描述病灶的详细特征,本实验从多个角度出发,将网络瓶颈层提取的64个特征和网络输出的特征相融合,经数据归一化处理后再预测肺癌。本节实验进行肺癌识别的特征有:每个病人恶性最大结节的瓶颈层64个特征、输出层两个特征、z轴坐标和Julian等的mass特征。首先,针对单尺度进行了特征融合;其次,将3个尺度的融合后的特征进行组合来预测肺癌;然后,在3个尺度特征组合的基础上,按照特征的重要性自动提取前90个特征识别肺癌;最后,按照多尺度差异性识别策略和多尺度互补性识别策略分别进行了实验。表3列出了两种识别策略的样本量大小,即检测出的符合条件的肺结节数量。特征融合的实验结果见表4。

从实验结果可以看出,在单尺度下,特征融合后的结果普遍好于特征融合之前。3个尺度的特征融合时,验证

表3 两种多尺度肺癌识别策略的数据集大小

表4 特征融合的肺癌识别结果

集的识别结果要优于融合之前,但是损失值却高于先前,原因是瓶颈层的特征存在噪声干扰。所以,在3个尺度特征融合的基础上,按照特征重要性选择了部分有效特征,实验结果表明该方法优于选择特征之前,也好于特征融合之前。从损失值上可看出,多尺度差异性识别策略和互补性识别策略都达到了较好的识别效果,多尺度互补性识别效果尤为显著,进一步验证了所提出的多尺度方法的有效性。

3.3 对比实验

近两千支队伍参加了Kaggle举办的Data Science Bowl 2017竞赛,官网公布了部分队伍的排名结果。近两年,一些医学图像领域的专家、学者也对此数据集做了相关实验。为了更好地与本文的实验结果相比较,表5给出了部分竞赛排名结果。比赛结束后,第一名团队改变了训练方案,得到了更优的结果0.3989,然而其在分类精度上仍有待提高[5]。本文实验结果不仅好于Julian本人的方法,且优于其整个团队[6]的识别结果。

表5 竞赛排名

为了进一步验证所提模型的有效性,与其它文献中的模型进行比较,结果见表6。表中“-”标志表示文献未给出该评价指标的实验结果。

表6 同其它模型的比较结果

实验结果表明,与其它文献中的方法相比,本文所提方法取得了较高的分类精度,且优于Kaggle竞赛中第一名的结果;在敏感性上,结果不太理想,会增加肺癌的漏诊率;在特异性上,取得了满意的结果。总体上,所提方法在肺癌识别任务上成效较为理想。

4 结束语

通过肺部CT图像可以检测出肺部疾病,帮助患者及时得到有效治疗。本文为提高肺癌的识别精度,提出了一种基于多尺度和特征融合的肺癌识别方法。实验结果表明,多尺度的方法更能完善恶性结节的有效特征,特征融合方法能够充分描述结节的详细特征,均有利于后续的癌症诊断。所提出的方法在Kaggle数据集上损失值更低,且识别精度较高。

未来工作可深入研究并改进3D深度神经网络算法,同时构建更为有效的病理特征以提高肺癌识别的敏感性。另外,早期患者的随诊情况也对肺癌识别起到关键作用。若肺结节在短期内变化明显,其致癌风险极高。所以,对病人多个阶段的肺部CT图像进行识别并关联也是未来研究的一个方向。

猜你喜欢
尺度恶性结节
乳腺结节状病变的MRI诊断
肺结节,不纠结
发现肺结节需要做PET/CT吗?
恶性胸膜间皮瘤、肺鳞癌重复癌一例
财产的五大尺度和五重应对
卵巢恶性Brenner瘤CT表现3例
体检查出肺结节,我该怎么办
宇宙的尺度
24例恶性间皮瘤临床分析
多层螺旋CT在甲状腺良恶性病变诊断中的应用