三维ResNet 网络预测肺腺癌结节亚型的效能及其稳定性
2022-06-08骆源徐启飞吕泽政蔡娜郭丽
骆源,徐启飞,吕泽政,蔡娜,郭丽
(1.天津医科大学医学技术学院医学图像处理教研室,天津 300203;2.山东省临沂市人民医院影像科,临沂 276000)
在癌症相关致死率排名第一的肺癌中,肺腺癌占比最大[1]。2021 年5 月出版的《WHO 胸部肿瘤分类,第5 版》已将其目录中的原位腺癌(adenocarcinoma in situ,AIS)归类为前驱病变[2],其他常见亚型如:微浸润性腺癌(minimally invasive adenocarcinoma,MIA)和浸润性腺癌(invasive adenocarcinoma,IA)仍为腺癌类别。并且先前的研究表明,在肺腺癌的各种亚型中IA 的预后最差,但其他亚型都有着几乎100%的生存率[3-4]。不同的预后决定了不同的临床诊疗策略。由此,术前如何鉴别IA 与non-IA(AIS+MIA)非常重要,有助于辅助并指导临床诊疗策略的构建。
与从原始图像中人工计算提取特征并利用机器学习模型识别疾病特有特征模式的模型建立方式相比,深度学习技术能以数据驱动的方式自动从原始高维度图像中寻找低维特征来实现端到端的学习。前者因需要人工确定感兴趣区,不可避免的不稳定性将会被引入提取的特征之中,这在一定程度上影响了模型的性能及其泛化能力。相应的,深度学习可以减少人工标注的成本,提高数据分析的效率和客观性。在先前的研究中深度学习模型能较好完成肺腺癌的精准诊断任务,但其模型稳定性仍有待验证[5-6]。在本研究中,笔者在两个批次的数据中进行建模和测试,旨在探究二元分类的三维卷积神经网络对肺腺癌亚型影像数据的鉴别效能、泛化能力以及模型的稳定性。
1 材料与方法
1.1 材料 回顾性收集山东省临沂人民医院2014年2 月—2020 年10 月和2020 年4 月—2020 年11 月两个批次的经病理证实为肺腺癌患者的CT 影像资料。纳入标准:经病理证实为肺腺癌;有完整的CT影像资料;CT 图像上表现为孤立的结节。排除标准:图像质量差,有明显伪影;结节直径不在3~30 mm内。最终收集311 例患者的CT 图像数据,共计422枚结节。从第1 批数据随机分层抽样70%的结节数据(n=256,IA=123 例,non-IA=133 例)作为模型训练数据集,剩余30%的结节数据(n=108,IA=51 例,non-IA=57 例)作为内部测试集,将第2 批次的数据(n=58,IA=24 例,non-IA=34 例)作为外部测试集。
1.2 结节区域分割 使用3D-slicer 软件(https://www.slicer.org/)进行结节边界的勾画,每个结节的勾画至少有2 名医师的参与。在相同的窗(1 400 HU)窗位(-500 HU)下,1 名医师对肺腺癌患者CT 影像的DICOM(medical digital imaging and communication)格式数据逐层手动分割,在标注过程中沿结节与正常组织交界处进行分割且尽量避免纳入气管和血管,最终得到结节3D-VOI(volume of interest)的掩膜。在结节区域勾画完毕之后,由另外一名高年资的医师进行核查,对于有异议的分割区域,在两名医师商议之后重新进行勾画。
1.3 数据处理 不同图像获取参数产生了不同大小的体素,为使它们所含信息量在同一水平而增加数据的一致性,对所有数据进行了统一体素大小的重采样。同时,为了让重采样之后的图像数据更接近原始数据,统计了所有图像体素在各维度上的大小,并取中位数0.7 mm。最终将所有图像和掩膜的体素使用3 次样条插值算法重采样至0.7 mm×0.7 mm×0.7 mm。依据结节的中心,提取24×24×24(各结节大小的70%分位数)的三维数据块。数据块通过公式
1.4 网络结构 使用了一个基于ResNet[7]的3D 卷积神经网络,见图1。为避免过拟合,不对原文章中的基础模块进行堆叠,最后得到一个10 层的网络(ResNet10)。网络包含一个64 个7×7×7 卷积核的3D 卷积层以及4 个基础模块,每个基础模块中都有两个卷积核大小为3×3×3 的卷积层,并在两次卷积之后添加捷径链接(shortcut connection),4 个基础模块中卷积核的个数分别为64、128、256、512。一个核大小为3×3×3 的最大汇聚层(max pooling layer)在第1 个基础模块之前,另外一个平均汇聚层(average pooling layer)在第4 个基础模块之后,输出大小为1×1×1。在全连接层(fully connected layer)将卷积得到的特征映射到输出之后,使用sigmoid 函数输出网络的预测概率。网络中使用的激活函数都为整流线性单元(rectified linear units,ReLUs)。为了避免内部协变量偏移[8]的问题,每层卷积层之后都会使用批量规范化(batch normalization)。
图1 卷积神经网络结构Fig 1 Structure of the convolutional neural network
1.5 网络训练与测试 将25%的训练集数据作为验证数据集,在使用网格搜索以及早停(early stop-ping)[9]技术搜寻验证损失最佳的批大小以及学习率组合。使用基于梯度的随机优化器Adam[10]来对网络权重进行优化,以及周期性学习率(cyclical learning rate)[11]技术动态修改每轮训练过程中的学习率,将网络10 次迭代作为1 周期,动态学习率的最大值为基础学习率的5 倍。在训练过程中对数据进行概率为50%的随机水平镜像翻转和随机90°的旋转来进行数据增广。选择对应验证损失最小的模型分别对内部测试集以及外部测试集进行预测,并使用受试者工作特性曲线(receiver operator characteristic curve,ROC curve)的曲线下面积(AUC)、敏感度、特异度对模型性能进行评估。作为对比,原文献中的ResNet-18 的3D 版本模型也按上述步骤,在相同的数据集上进行了训练、调试以及测试。最后两个模型所得参数均为:批大小为16,基础学习率为3.6×10-4。最大训练轮数设置为200。本研究基于Pytorch[12]深度学习框架,设备硬件配置为Inteli9-10900X 中央处理器、64 GB 内存、Nvidia GeForce RTX3080 图形处理器,系统版本为Ubuntu 18.04.6LTS。模型训练及测试时间见表1。
表1 模型训练以及测试用时Tab 1 Time elapse of model training and test
1.6 ResNet10 模型的稳定性测试
1.6.1 标注敏感测试 结节中心由掩膜边界计算得到。为测试深度学习模型是否对不稳定人工标注敏感,对测试集数据,对计算得到的结节中心随机增加一个各维度上的偏移,并根据此中心提取用于测试的数据块。比较模型对增加随机偏移前后的数据的预测效能。各维度的可移动量为4 个像素单位。
1.6.2 掩膜测试 从原始图像数据中提取固定大小的数据块时部分数据块会纳入结节周围信息,仅对每个测试集使用数据对应结节掩膜将三维数据块内结节周围的信息剔除,并设置为-1 000 Hu 的CT 值。不重新训练模型,使用处理后的两组测试集对已经在训练集中训练完成的模型进行测试。使用ROC 及其AUC、敏感度、特异度评估模型分类表现。用混淆矩阵展示模型在各测试集中的具体分类情况。
2 结果
2.1 数据基本统计信息 第一批次收集的数据共364 个结节。将每个结节作为一个样本,男性有232人,女性有132 人。平均年龄为(55.1±10.8)岁。结节直径10.3(6.9,16.0)mm,。第二批次收集的数据共58 个结节。将每个结节作为一个样本,男性有44 人,女性有14 人。年龄均值为(53.8±11.9)岁。结节直径10.2(6.9,15.2)mm。
2.2 模型测试结果 表2 列出了训练完成的ResNet10模型在内部测试集和外部测试集以及相应的用于模型稳定性测试的数据集中的分类表现。在原始的内部测试集以及外部测试集中AUC 值分别为0.949 1 和0.959 6。ResNet18 模型在内部测试集和外部测试集中的分类性能与ResNet10 相似,在内部测试集以及外部测试集中AUC 值分别为0.945 3和0.957 1。在内部测试集测试的敏感度和特异度分别为92.16%和87.72%,在外部测试集中敏感度和特异度分别为79.17%和91.18%,较低于ResNet10模型所得结果。18 层结构的模型在本数据集上出现了过拟合的现象。内部测试集和外部测试集中模型分类的ROC 曲线见图2,分类的混淆矩阵见图3,在各种测试情景下,模型均能较好的对各类结节进行分类,体现在混淆矩阵较高的主对角线值。在随机结节中心移动的模型稳定性测试中,模型在内部测试集和外部测试集的分类混淆矩阵和其在原数据中的混淆矩阵相近,模型AUC 值与在原数据测得的相比差异均无统计学意义(P 值分别为0.425 3和0.276 9)。在使用掩膜处理原数据的模型稳定性测试中,混淆矩阵右上角值增大,模型分类的假阳性样本增多。相应的,模型特异度在内部测试集和外部测试集中与在原数据测试的结果(分别为82.46%和94.12%)相比都有不同程度的下降,分别为66.67%和52.94%,统计比较的P 值分别为0.085 4 和0.000 4。但在两测试集中模型AUC 值与在原数据测得的相比差异均无统计学意义(P 值分别为0.239 3 和0.753 9)。
图2 内部测试集和外部测试集中ResNet10 模型分类表现的ROC 曲线Fig 2 ROC curve of ResNet10 classification performance in internal test set and external test set
图3 ResNet10 模型在各测试数据上分类的混淆矩阵Fig 3 Confusion matrices of ResNet10 classification on each test data
表2 不同测试集中ResNet10 模型的分类性能Tab 2 ResNet10 classification performance in different test dataset
2.3 模型分类模式 部分结节中心轴位面的影像数据见图4。对于第3 行的non-IA 结节图像,模型做出了误判,诊断为IA 类结节。第4 行假阴性样本的图像中多数结节与周围组织没有很强的对比,与阴性样本相似,导致了模型的误判。
图4 部分结节图像数据Fig 4 Images data of some nodules
3 讨论
本研究试图通过使用CT 影像数据训练三维ResNet 网络对不同侵袭性的肺腺癌进行分类,并使用内部测试集和外部测试集评估模型分类的准确性和泛化性。通过随机中心点移动和掩膜处理的方式构建新的测试集以评估神经网络的稳定性。
随着神经网络权重层的增多,模型过拟合的风险也会增大。仅通过与相同的调参以及训练步骤的18 层三维ResNet 网络进行对比,可以看出在本数据集中适当减少含有权重参数的层,能在不降低模型分类性能的情况下增加模型的泛化性能。且在使用早停方法训练模型的前提下,ResNet10 模型仅在18 个训练周期内就达到了ResNet18 训练25 个周期的效果,由此可见ResNet10 模型更适合于当前数据集。
借助深度学习模型来对图像数据进行诊断,同样也能通过模型对于图像的行为分析来对模型进行诊断。在2.3 中,展示了部分结节中心轴位面的影像数据。希望通过图像分析得到模型的分类规律以及模型的偏倚。从图像的角度,真阳性结节在图像上一般为较大的内部密度不均的区域,且在密度上与瘤周正常组织形成了强的对比。真阴性结节则一般较小,内部密度较均匀,与周围组织对比不强。对于图4 中第3 行的non-IA 结节图像,模型做出了误判,诊断为IA 类结节。一种可能的解释是:结节区域大多都出现了高密度的噪声,原本均质的结节内部密度变得不一致,从而导致了模型的误判。图4中第4 行假阴性的样本与周围组织没有很强的对比,这与大多数IA 类结节和周围组织形成高对比的特征不一致,而编号为3129979_N1_1 的图像则可能是由于结节本身较大,在数据截取过程中仅截取到了其内部部分区域,因此失去了与周围组织密度高对比度的特征,从而导致了模型的误判。
在前人的研究中[6,14-15],深度学习在肺腺癌结节的分类任务中同样都有较优异的表现,证实了深度学习在肺腺癌侵袭性早期分类的应用前景。笔者的试验中,深度学习模型在训练之后对一定范围内随机中心点移动后提取的数据仍具有优异的分类表现,且与在原始数据得到的结果无统计学差异。说明深度学习模型对人工标注的不稳定性有一定的容受能力。使用经过掩膜处理之后的数据对模型进行测试,无论是在内部测试集还是在外部测试集中,其AUC 与在原始数据得到的AUC 同样无统计学差异。由此可以看出,在提取用于训练深度学习模型的数据时,只需确定大致的中心点并按一定大小提取数据块,深度学习模型就能自动聚焦于差异区域并提取特征用于分类。
本研究仍然存在一定的局限性:深度学习模型是数据驱动的,422 个肺结节的数据集对于深度学习模型仍然不足。结果2.3 可看出,当数据中掺入噪声或者数据存在偏倚,模型将不能准确做出判断。需要采集更多的数据或使用更多的数据增广方式用以训练模型,使用在较大3D 医学图像数据集中训练的神经网络的迁移学习也可能缓解这一问题。虽然体素重采样能部分解决获取的图像在采集过程中由于成像协议不同带来的数据差异,但仍需要尝试更加有效的方法来增加数据一致性。笔者虽然分两个批次收集了数据用以评估模型的泛化性,但仍需要在多中心的数据中进行测试。
在本研究中深度学习模型展示了肺腺癌结节侵袭性分类的优异性能表现。同时它相较于手工提取特征的建模方式更加高效且具有一定的稳定性。深度学习模型在肺腺癌的诊断任务中是有应用前景的,能辅助临床进行精确诊断并做出治疗决策。