王风,王磊,李囡,杨志
北京大学肿瘤医院暨北京市肿瘤防治研究所核医学科,恶性肿瘤发病机制及转化研究教育部重点实验室,北京 100036;*通讯作者 杨志 pekyz@163.com
最新癌症统计数据显示,癌症的发病率和病死率呈上升趋势,而肺癌居癌症病死率的首位[1]。低剂量CT筛查可有效降低肺癌的病死率[2-4];但影像学检查并不能区别某些具有相似影像学表现的肺部疾病。肺部结节良恶性的鉴别诊断往往需要进行有创性的穿刺活检加以确认[5]。随着计算机软硬件的提升和大数据分析方法的进步,以深度学习为代表的人工智能技术已经进入医学影像诊断领域。人工智能辅助诊断通过对医学图像进行识别和分类,发现影像专业医师无法鉴别或忽略的影像学特征,使医学影像诊断更加准确客观,进而提高影像学检查的鉴别诊断效能[6-10]。
深度学习方法已经成功运用于关节软骨像分割[11]、肺结节良恶性辅助诊断[12]、前列腺癌评分[13]、胃癌诊断评估[14]以及乳腺癌筛查[15]等多种疾病诊断的研究中。本文使用美国癌症协会发布的LIDC-IDRI影像数据[16],开发三维(3D)卷积神经网络(convolutional neural networks,CNN)深度学习模型用于肺部结节和非结节的鉴别诊断以及恶性程度预测,通过训练、测试并验证模型的准确度、特异度和敏感度,从而为开发出最优诊断模型提供参考。
1.1 3D CNN深度学习模型建立 卷积神经网络是一种深层模型(多层的神经网络)。它与普通深层网络的不同在于其使用权值共享网络结构。这一方面使之更类似于生物神经网络;另一方面也减少了权值等待估计参数的数量,从而改善了网络模型的复杂度。从结构上看,CNN主要由卷积层、子采样层和全连接层组成,可训练滤波器和局部邻域池化操作交替地应用于原始输入图像,以此形成越来越复杂的特征层次结构。既往大多数研究基于临床 CT图片训练对肺结节良恶性分类的模型时,主要应用CNN识别病灶的单张图片,是典型的二维卷积神经网络(2D CNN)[17]。然而,这种方法并未考虑病灶横跨多个连续图片中的相关、渐变等信息。为有效地将病灶分析中连续图片全貌信息进行结合,本研究使用在CNN的卷积层中执行3D CNN的方法,从而在识别肺结节良恶性的同时捕捉其立体空间的区分特征(图1)。
图1 3D CNN深度学习模型判断肺结节良恶性的框架
1.2 3D CNN模型网络架构的搭建 在输入数据相同位置上执行多种卷积计算,可提取出多种类型的特征;基于3D卷积设计出各种3D CNN架构来分析连续多张图片数据。本文设计并比较了4种3D CNN网络架构,从相邻的病灶图片中生成多个信道,并在每个信道中执行卷积等操作以获得不同的特征表示(图2~5)。
图2展示的3D CNN-1架构中,以样本病灶质心为中心、大小为47×47的连续5张切片图像作为3D CNN的输入。第1层卷积后得到32个特征图,图像的尺寸仍然保持 47×47的维度。然后经过 1项Maxpooling操作后,图像尺寸减少为23×23。再次重复 1次卷积和 Maxpooling操作,图像尺寸减少为11×11。为防止过拟合,上述操作后紧跟1项dropout操作(随机舍弃50%神经元)。然后用Flatten层展开所有数据后进入全连接层(神经元个数128)。上述整个过程中,3D卷积核的数量保持不变。然后再经过一次dropout操作(随机舍弃50%的神经元)进入全连接层(神经元个数128),最后使用softmax函数进行肺结节分类判断。
图2 3D CNN-1模型网络结构
图3展示了3D CNN-2架构。该架构与3D CNN-1的不同之处在于网络层数加深。3D CNN-2架构在重复了最初2次卷积和Maxpooling操作后,又增加了3层卷积+1次Maxpooling操作的设计,图像尺寸也进一步减小为5×5。
图3 3D CNN-2模型网络结构
图4展示了3D CNN-3架构。该架构较3D CNN-2网络层数进一步加深,开始 2次 3D卷积 1次Maxpooling操作后连接3次3D卷积1次Maxpooling操作,然后再做4次3D卷积1次Maxpooling操作后才开始1项dropout操作(随机舍弃50%神经元)。dropout操作后的网络结构设计与上面的模型一致。
图4 3D CNN-3模型网络结构
图5展示了3D CNN-4架构。该架构与前面3个3D CNN架构的区别为:①这一架构借鉴了残差网络restnet设计每隔几层输出,并与几层前的输入合并作为下一层的输入,以减少因网络层级加深带来的梯度弥散等问题;②卷积核的个数每隔几层做一次增加操作;③中间卷积过程并未进行Maxpooling操作。
图5 3D CNN-4模型网络结构
1.3 三维卷积神经网络模型训练和验证 将3DCNN的训练集数据划分为由 80%的包含结节组成的训练组和剩下20%的测试组,每次训练开始时随机进行分配。训练持续20~100个epoch,batch size为20~64。在每个epoch结束后,如模型损失得到改善,模型权重的检查点将被保存。本文最终保留了测试部分中具有最高精度的3个检查点的模型权重。为减少过度拟合,本研究采用数据增强策略,其中每个输入图像在X和Y方向上随机移位达30%,并随机在0°和180°之间旋转。训练结束后,本研究使用“验证”集评估模型的最终表现;使用以Tensorflow为后端的Keras包用于CNN模型的训练、测试和验证。
1.4 数据来源和处理 本研究使用美国癌症协会发布的 LIDC-IDRI影像数据,LIDC-IDRI数据集包含1018名患者的CT影像和诊断数据,图像结节由4位放射科医师进行标记和分类:“非结节”“结节<3 mm”和“结节≥3 mm”,其中“结节≥3 mm”每个结节均给予恶性程度的评分。1分:“极不可能”;2分:“不太可能”;3分:“不确定”;4分:“中度可能”;5分:“非常可能”。其相对应的数据集表示为 S1、S2、S3、S4、S5,S0表示为非结节数据集[16]。
本研究设计并测试了2种情景下的模型性能:一是模型对结节与非结节的鉴别区分能力测试(S0比S1-5),共处理了1067个结节、1056个非结节;二是模型对结节良恶性的预测能力(S1比S45),将S1数据集结节指定为良性类,将恶性肿瘤结节=4或5的结节(S45)指定为恶性类,共处理了250个S1结节和270个S45结节。模型建立过程中,数据将被随机分配到完全独立的训练和测试集中,其中80%用于训练、20%用于测试。最后以验证集的受试者工作特征(ROC)曲线下面积(AUC)的准确度、敏感度和特异度表征各模型的效果。
2.1 肺部结节和非结节的鉴别诊断 在区分结节与非结节(S0比S1-5)的情景下,获得4个3D CNN深度学习模型的ROC曲线及性能,见图6和表1。其中 3D CNN-3模型具有最高的 ROC曲线下面积(0.959),同时具有最高的特异度(0.946)。3D CNN-1模型取得了最高的准确度(0.904)和敏感度(0.913)。
2.2 肺部结节恶性程度的预测能力 在进一步鉴别诊断肺部结节良恶性(S1比S45)的情景下获得4组3D CNN深度学习模型的ROC曲线及性能,见图7和表2。其中3D CNN-3模型的ROC曲线下面积最高(0.981),同时具有最高的敏感度(0.936)。3D CNN-1模型获得最高的准确度(0.921)和特异度(0.949)。
图6 各模型的肺部结节非结节鉴别ROC曲线(S0比S1-5)
表1 各模型的肺部结节非结节鉴别的ROC曲线性能(S0比S1-5)
图7 各模型的肺部结节恶性程度预测能力的ROC曲线(S1比S45)
表2 各模型的肺结节恶性程度预测能力的ROC曲线性能(S1比S45)
Causey等[18]提出的卷积网络深度学习模型CNN 47取得了较高的AUC值,显著高于既往文献报道结果。本文将CNN 47作为对照模型与本模型进行比较。在结节与非结节的区分(S0比S1-5)情景下,3D CNN-3模型AUC(0.959)高于CNN47对照模型的AUC(0.949);鉴别诊断肺部结节良恶性(S1比S45)的情景下,3D CNN-3模型AUC(0.981)亦高于CNN47对照模型的 AUC(0.974)。本文设计的模型性能均优于参照模型。
3D CNN-1模型较CNN47及其他网络层数最少,其与本文的样本规模较为适配,利于在参数空间充分寻优。同时其使用最大池化避免了平均池化的模糊效果,使其在ACC上表现最优。3D CNN-3模型较CNN 47模型的优点在于使用多个连续的更小观察窗,使得在相同感知野的情况下,提升了网络深度,在一定程度上提升了神经网络的效果。2个3×3的卷积层串联相当于1个5×5的卷积层,3层3×3的卷积层相当于7×7的卷积层。将1个具有较大感受野的卷积替换成多个具有较小感受野的卷积串联,其拥有更多的非线性变换,从而对特征的学习能力更强。而3D CNN-4模型再加深网络,其深层网络带来的梯度不稳定,网络退化的问题存在,出现网络加深,性能反而下降的情况。
通过以上模型的性能比较可说明网络结构并非越深越好。模型加深可能出现某些浅层的学习能力下降,限制深层网络学习的情况,故应针对不同的场景选取合适的网络。
本文开发了一种有效的深度学习方法用于CT图像肺部结节的鉴别诊断。3D CNN-3卷积神经网络模型在CT图像肺部结节的良恶性鉴别诊断和恶性程度预测能力方面具有良好的性能,从而辅助影像科医师提高阅片效率,帮助准确诊断。