肺癌是死亡率最高的恶性肿瘤,肺结节早期确诊是降低肺癌死亡率的关键。计算机辅助诊断技术在肺结节早期确诊方面被认为具有超越人类专家的潜力。而基于深度学习技术的肺结节检测和分类可通过自我学习而不断提高诊断的准确率,是实现计算机辅助诊断的重要手段。本文首先系统阐述了二维卷积神经网络(2D-CNN)、三维卷积神经网络(3D-CNN)和更快速的区域卷积神经网络(Faster R-CNN)技术在肺结节检测方面的应用,然后阐述了 2D-CNN、3D-CNN、多流多尺度卷积神经网络(MMCNN)、深度卷积生成对抗网络(DCGAN)和迁移学习技术在肺结节分类中的应用,最后针对肺结节的检测与分类中不同的深度学习方法进行了综合比较分析。
引用本文: 赵清一, 孔平, 闵建中, 周艳丽, 梁壮壮, 陈胜, 李茂举. 肺结节检测与分类的深度学习方法综述. 生物医学工程学杂志, 2019, 36(6): 1060-1068. doi: 10.7507/1001-5515.201903027 复制
引言
肺癌是我国常见的恶性肿瘤之一,死亡率高居所有恶性肿瘤之首[1-3]。肺结节的诊断对于提高肺癌患者的存活率有重要的作用。尤其在肺癌早期,低剂量计算机断层扫描(computed tomography,CT)技术的使用可以及时发现并准确诊断肺结节,更有助于延长肺癌患者的生存时间。然而,肺结节筛查工作量大、易漏诊,影像科医师需要阅读大量肺部 CT 图像来找出肺结节并做出临床诊断方面的判断。高强度的工作容易造成医师的误诊,并且仅依靠人工诊断方法的效率较低。为了减少医师的工作量并且提高肺结节诊断的效率,在临床工作中,已经开始使用一些计算机辅助诊断(computer-aided detection,CAD)技术。传统的计算机辅助诊断技术存在很多问题,如缺少统一的分割算法并且分割效果不够精准,结节检测结果假阳性高,对于微小结节容易漏检,无法进行自我学习。但是,基于深度学习的计算机辅助诊断技术,不仅可以提高读片的速度和准确度,而且可以进行自我学习,从而不断地优化读片的效果[4]。由于深度学习技术的上述优势,现已被越来越多地应用于肺结节的诊断中,本文将对其中肺结节检测和分类的深度学习方法的发展以及最新的研究进展进行讨论。
1 肺结节检测中的深度学习方法
在肺结节检测中,常用的深度学习方法有二维卷积神经网络(two dimension convolutional neural network,2D-CNN)、三维卷积神经网络(three dimension convolutional neural network,3D-CNN)和更快速的区域卷积神经网络(faster regions convolutional neural network,Faster R-CNN)。本文将根据最新的研究成果来介绍以上深度学习方法在肺结节检测中的应用情况。
1.1 2D-CNN
卷积神经网络是一种在生物视觉上得到启发从而发明的人工前馈神经网络,主要用于文本、图像、语音、视频等识别。图 1 是卷积神经网络的结构图,通常由输入层、卷积层、池化层、全连接层组成。其中输入层的功能是输入数据;卷积层通过使用卷积核对图像进行卷积,得到特征图,提取特征信息;池化层通过最大池化或者均值池化等方式降低网络空间分辨率;全连接层是由许多神经元组成的平铺结构,在整个网络中起到分类器的作用。Lecun 等[5-6]在 1989 年首次提出卷积神经网络,由于当时计算能力有限以及可用于训练和测试的标记样本不足,导致当时的卷积神经网络没有得到广泛的应用和发展。随着标记数据量的增长和计算机计算能力的快速提升,Krizhevsky 等[7]在 2012 年创新性地提出了卷积神经网络模型 AlexNet,并且该模型在当年的 ImageNet 竞赛中获得第一名,使卷积神经网络在图像领域得到了广泛的应用和快速的发展。之后,不断有新的卷积网络被提出,比如 VGG NET[8]、ZF NET[9]、ResNet[10]和 GoogLeNet[11]。因为 2D-CNN 在图像识别领域的优秀表现,引起了大量科研人员的关注,越来越多的科研人员将 2D-CNN 应用于肺结节的检测中。

Setio 等[12-13]提出了基于多视角的 2D-CNN,将其应用于肺结节的检测中。为避免漏诊,对该网络的第一步提高了灵敏度,但出现了大量假阳性结节,因此需要在第二步进行假阳性去除操作。此网络结构分为两个部分:第一部分由 3 个探测器对结节进行检测,确定可疑候选结节;第二部分由包含卷积层、最大池化层的 2D-CNN 和另一个包含全卷积层和 softmax 层的 2D-CNN 组成,首先在每个平面上均训练一个 2D-CNN,对于每个检测到的候选结节,提取 9 个不同方向平面上的信息,用于肺结节的假阳性去除操作;然后将结果输入到 4 种不同的融合方法中,比较不同融合方法对结构性能的影响。实验数据来自公开的肺部图像数据库联盟(Lung Image Database Consortium,LIDC-IDRI)、自动肺结节检测数据 2009(Automatic Nodule Detection 2009,ANODE09)以及丹麦肺癌筛查实验数据库(Danish Lung Cancer Screening Trial,DLCST)。在试验中选取 LIDC-IDRI 数据库中的 888 个病例,进行 5 次交叉验证,将 888 个病例分为 5 组,每次分别使用 3 组作为训练集,一组为验证集,另一组为测试集。同时,由于病例阳性数量较少,对数据进行了增强操作,以增加阳性样本的数量,达到数据增强的目的。实验结果表明,基于多视角的 2D-CNN 在假阳性为 1 和 4 的情况下,检测灵敏度分别达到了 85.4% 和 90.1%,此外通过独立数据集的测试,证明该方法有较好的鲁棒性。
苗光等[14]为解决现有方法在肺结节检测中工作效率不高的问题,提出了一种基于改进的 U-net[15]网络模型,U-net 模型是一种在医学图像领域应用较多的卷积神经网络模型,具有端对端的网络结构。文献[14]中提到的模型改进了 U-net 模型中的激活函数,将原本的线性整流函数(Rectified Linear Unit,ReLU)改成了更合适的激活函数 Leaky ReLU,并添加了 Batch-Normalization,以优化网络的收敛速度。对 LIDC-IDRI 数据库的肺部 CT 图像进行肺结节检测,快速定位疑似的结节区域。此 2D-CNN 取得了 98.2% 的召回率。结果表明,此网络模型对于肺结节的检测具有良好的效果,具有很高的应用价值。
在肺结节检测中,2D-CNN 具有网络复杂度低、检测效果好和计算时间短等优点,特别是 U-net 模型可以同时结合底层和高层信息,适用于处理复杂的肺部医学图像,进行肺结节的检测,并能够获得很好的检测效果。但是 2D-CNN 在肺结节检测中的灵敏度有待提高。
1.2 3D-CNN
CT 图像是连续的层面图像。3D-CNN[16-17]是在 2D-CNN 的基础上改进的卷积神经网络,图 2 是 2D-CNN 和 3D-CNN 的结构对比图,2D-CNN 的卷积核是二维的,而 3D-CNN 的卷积核是三维的。在 CT 图像里,多出的维度是层数维。使用 3D-CNN 能更好地获取图像的空间信息,提取到更多的特征信息,有助于肺结节的检测。

图 3 是 Pezeshk 等[18]在 2018 年提出的基于 3D-CNN 的网络结构图,并将其命名为 DeepMed,其网络结构由 3 个卷积层、2 个最大池化层、2 个全连接层和 1 个 softmax 层组成。实验数据集是 LIDC 数据集中切片厚度不高于 2.5 mm 的 888 例 CT 图像。实验结果表明,在每次扫描只出现 2 个假阳性病例的情况下,该网络灵敏度达到 91%。
Winkels 等[19]提出了基于三维图卷神经网络(three dimension graph convolution network,3D G-CNN)的方法,用于解决已标注医学图像数量较少的问题。文献[19]中提出的网络首先是卷积层,其次是 ROI 池化层,然后是全连接层,最后是线性回归器。实验结果表明,三维 G-CNN 的 FROC 得分和传统卷积神经网络在 10 倍数据集上训练的 FROC 得分相当,大幅度提高了网络训练的效率,并且降低了数据收集的成本,能够更好地在肺结节检测中得到应用。
图 4 是 Huang 等[20]在 2017 年提出的基于 3D-CNN 的结构图,用于检测低剂量 CT 图像中的肺结节。考虑到多维数据的尺寸、训练数据的大小以及计算机的计算能力,文献[20]中提到的系统使用了相对简单的 3D-CNN 架构。首先是 32 × 32 × 32 的输入层;其次是 3 个分别包含 32、16 和 16 个 3 × 3 × 3 卷积核的卷积层,每个卷积层后面都有最大池化层;最后是 3 个分别为 64、64 和 2 个神经元的全连接层。文献[20]中提到的系统将医学知识应用到肺结节检测中,首先使用了基于局部几何模型的过滤器生成候选节点,利用医学知识,大大降低了 3D-CNN 分类步骤的计算成本和复杂度;然后将候选结节以 3D 的形式输入到 3D-CNN 中,训练卷积神经网络来对结节和非结节进行区分。实验结果表明,3D-CNN 相对 2D-CNN 在肺结节检测中更具优势。同时对比了 Anirudh 等[21]在 2016 年提出的基于 3D-CNN 的肺结节计算机辅助诊断系统,在候选结节过滤器和贝叶斯模型、候选数据集、数据量增加、三维卷积核和网络体系结构等方面均有改进和提升。
Hamidian 等[22]在 2017 年提出了基于 3D-CNN 的计算机辅助诊断系统,在肺结节检测过程中,分为筛选和识别 2 个步骤。首先,3D-FCN[23]将 3D-CNN 中的全连接层变成卷积层,输出标记好的图像而非向量。然后,由于 3D-FCN 可以接受任意大小的图像,利用反卷积层进行上采样,使图片恢复到初始尺寸。最后,通过 3D-FCN 标记出肺结节的候选区域,用 CNN 对候选区域的疑似肺结节进行分类,确定其是结节还是非结节。实验数据集和 LIDC 数据集中,以切片厚度为 1.5~3.0 mm 的 509 个病例中的 833 个结节作为训练集,以 25 个病例中的 104 个结节作为测试集。实验结果表明,与 3D-CNN 窗口滑动的方法相比,3D-FCN 将检测速度提高了约 800 倍。3D-FCN 网络为肺结节的检测提供了一种解决思路。
3D-CNN 在肺结节检测过程中,能够获得图像更多的空间特征信息,有助于肺结节的检测[24]。文献[18]中使用的 3D-CNN 方法比文献[12]中使用的 2D-CNN 方法灵敏度提高了 5.6%,3D-CNN 与 2D-CNN 相比,有更高的检测灵敏度,但是 3D-CNN 也存在网络复杂和计算量大等缺点。
1.3 Faster R-CNN
Ren 等[25]在 2015 年提出了 Faster R-CNN 结构,它是在 Girshick 等[26-27]于 2014 年提出的区域卷积神经网络(region convolutional neural network,R-CNN)和 2015 年提出的快速区域卷积神经网络(fast region convolutional neural network,Fast R-CNN)基础上改进得到的网络结构所构成的一个深度网络框架,实现了端对端的目标检测框架,提高了检测精度和速度。因其具有更快的检测速度,更加适用于肺结节等小目标的检测过程。
Xie 等[28]提出了一种基于 Faster R-CNN 改进的网络模型,并用于肺结节的检测中,本文将其命名为优化的 Faster R-CNN 模型 1。图 5 是 Xie 等[28]提出的优化的 Faster R-CNN 模型 1 的网络结构图,与原有网络相比,该方法重要的改进是使用了两个 RPN 和一个反卷积层,针对 3 种不同的切片训练 3 种不同的模型,最后将这 3 种模型进行融合,获得候选模型。肺结节检测网络由 3 个部分组成,分别是基于 VGG16 的特征提取网络、区域生成网络和兴趣区域分类网络。文献[28]中提到的系统在 LUNA16 数据集上进行训练,并且筛选出被预先网络判别错误的具有代表性和难以辨别的肺结节后,再次对系统进行训练,以增强系统的鲁棒性。在 LUNA16 数据集上设定衰减权重为 0.000 5,学习率为 0.001,进行 10 倍的交叉验证,迭代 10 000 次。实验结果表明,网络在检测肺结节时,灵敏度达到 86.42%,能够较为准确地识别肺结节。
Ding 等[29]也对 Faster R-CNN 进行了优化。在 LUNA16 竞赛中,Ding 等将 Faster R-CNN 应用于肺结节的检测中,为了解决原始 Faster R-CNN 在肺结节检测中检测效果有限的问题,Ding 团队[29]在特征提取完成之后增加了反卷积层,使得系统更加快速和精确,最终凭借 0.893 分的 FROC 得分取得了竞赛的冠军。
在肺结节检测中,2D-CNN 在相同数据集的模型训练中需要的计算量较小,但是会忽略空间信息,影响检测结果,降低检测精度。3D-CNN 模型训练中所需要的计算量较大,对于计算能力的要求也较高,但是有助于提高灵敏度。而两种优化的 Faster R-CNN 能够有效地减少训练时间和测试时间,使精度越来越高、速度越来越快,在肺结节的检测中应用较多。
2 肺结节分类中的深度学习方法
通常计算机辅助诊断系统在 CT 图像中完成肺结节检测之后,还需要对已经检测出的肺结节进行分类,来判断其良恶性。肺结节的大小、形态和体积增长率是判断良恶性的重要指标,但这需要至少两次的 CT 扫描。随着深度学习技术和卷积神经网络的快速发展,越来越多的深度学习技术被应用于肺结节的分类中,如多流多尺度卷积神经网络(multi-stream multi-scale convolutional neural network,MMCNN)、深度卷积生成对抗网络(deep convolutional generative adversarial networks,DCGAN)和迁移学习,以及第 1 节中介绍的 2D-CNN 和 3D-CNN。本节将探讨以上各种深度学习方法在肺结节分类中的最新应用成果。
2.1 CNN
Hua 等[30]在 2015 年将 2D-CNN 应用于肺结节的分类中,解决了传统计算机辅助诊断系统性能不够稳定、由人工制定的诊断规则不够全面和无法持续提高准确率等问题。该方法的数据集来自 LIDC-IDRI,由 1 010 名患者的已注释肺部 CT 图像组成。Hua 等[30]从数据库中选择 2 545 个直径大于 3 mm 的肺结节进行实验。最终,该方法的灵敏度为 73.3%,特异度为 78.7%,工作效率高于传统的计算机辅助诊断系统。实验结果表明,深度学习在肺结节分类领域有广阔的发展前景。
但是,2D-CNN 会丢失肺结节的立体信息,为了解决此问题,Liu 等[31]在 2017 年提出将 3D-CNN 应用于肺结节分类的想法,设计了 2 个不同结构的 3D-CNN 在相同的数据集进行训练和测试,通过对实验结果所生成的受试者操作特征(receiver operating characteristic,ROC)曲线进行评估,选出性能较好的网络结构。图 6 是 Liu 等[31]提出的基于 3D-CNN 的结构图,选取 326 个肺结节实验数据集进行训练和测试。实验结果表明,第 1 个 3D-CNN 的曲线下面积(area under curve,AUC)为 0.732,第 2 个 3D-CNN 的 AUC 为 0.698,第 1 个 3D-CNN 效果更好。该实验继续设计 2D-CNN 用于对比 3D-CNN 的效果,实验结果表明,2D-CNN 的 AUC 为 0.688,小于 3D-CNN 的 0.732,故 3D-CNN 的效果更好。
实验表明,3D-CNN 的效果较好,并且其不需要依靠特定的专业知识,通过不断学习便有助于系统的进一步完善,提高了肺结节的诊断效率和准确性。但是 3D-CNN 存在特征较多、数据量较大和计算时间较长等问题。
2.2 MMCNN
Ciompi 等[32]和 Shen 等[33]等出了一种应用于肺结节检测的基于多流多尺度卷积神经网络的方法。此多流多尺度卷积神经网络不需要进行分割等预处理操作,可以直接处理原始数据。相比于只能提取单一尺度特征的卷积神经网络,Ciompi 等[32]和 Shen 等[33]提出的方法能够提取到多尺度的特征,从而更加有利于肺结节的分类。Ciompi 等[32]将肺结节分为实性、非实性、部分实性、肺裂、钙化和毛刺 6 个类型。该系统由 9 个卷积神经网络流组成,分成 3 组。每组分别对应肺结节的横截面、冠状面和矢状面。不同的流以不同的比例处理相同的 3 片部分,即 10、20、40 mm;然后,输入的二维数据经过卷积和池化层处理,并在 3 个流中共享参数,不同规模的多流网络在全连接层中合并;最后,具有 6 个神经元的 softmax 层得到 6 个类的概率。此实验数据集来自 943 名患者的 1 805 个肺结节,分为训练组(1 352 个结节)和验证组(453 个肺结节)。为了扩展训练集,通过旋转和小范围地移动中心,生成了约 500 000 个训练样本,其中每种类型约为 80 000 个。测试数据来自丹麦肺癌筛查试验,其中包括 468 名患者的 639 个肺结节。结果表明,此系统分类的准确率和专家的准确率相当,平均准确率分别为 69.6% 和 72.9%。文献[32]中提到的系统分类的准确率较传统方法有大幅度提高。
2.3 DCGAN
徐久强等[34]在 2018 年提出了 DCGAN 的网络,且首次将其用于肺结节分类。DCGAN[35]解决了 GAN[36]稳定性不足的问题。文献[34]中提到的方法将肺结节的恶性分为 5 个等级,分别为良性、疑似良性、未知、疑似恶性和恶性。该系统有效地解决了数据中良性和恶性样本数量不平均的问题。该方法将 DCGAN 模型进行改进,包含 G 和 D 两个模型。其改进的部分,一为在 D 模型中输入图像时,将图像相对应的类别标签同时作为 D 模型的输入;二为 D 在判别过程中存在两部分内容,即对输入图像的来源分类和对输入图像的恶性等级分类。该实验的数据集来自 LIDC 和合作医院,包含 11 954 个肺结节,尺寸为 28 mm × 28 mm。实验随机选择了 80% 的数据集作为训练集,其余作为测试集。在实验中,文献[34]提到的模型在肺结节恶性等级的分类中准确率达到了 70.89%,在肺结节良恶性分类中达到了 80.13%。实验结果表明,此模型有良好的分类效果,准确率较高,抗噪声能力较好,可在实际的医疗工作中得到广泛的应用。
2.4 迁移学习
在肺结节分类中使用迁移学习可以解决已标记医学图像数量不足的问题,更有利于卷积神经网络的训练。Hussein 等[37]将迁移学习[38]应用于肺结节的分类过程中,其将肺结节按照恶性程度分为 5 个等级。首先 Hussein 等[37]在已用 100 万段视频训练过的网络上使用 CT 数据进行迁移学习,有效地解决了已标注肺结节样本缺乏的问题,能够有效地提高分类准确率。这是第一次将迁移学习应用于检测肺结节的 3D-CNN 中,改善了用于训练的医学图像数据不足的问题,取得了较为成功的效果。但医学图像的复杂度高,如何更加有效地将迁移学习应用到肺结节分类中还需要更多的研究。
3 总结和展望
近些年,深度学习技术不断快速发展,其在医学图像辅助诊断领域中已经发挥了越来越重要的作用[39]。深度学习技术在肺结节的检测和分类的应用中,也已经取得了长足的进步,从最简单的 2D-CNN 发展到 3D-CNN,到更快的区域卷积神经网络,到多流多尺度卷积神经网络,再进一步发展到深度卷积生成对抗网络以及迁移学习,各项技术指标都在不断地提升。
当然,也有需要进一步改进的地方。比如:① 由于已标注的肺结节图像不足,在目前的监督学习居多的情况下,容易造成网络模型的过拟合。② 准确率有待进一步提高。③ 深度学习网络的可解释性较差,在医学图像的辅助诊断领域,需要更多的理论支持并增加其可解释性,提高其在医疗领域的接受度。④ 基于深度学习的计算机辅助诊断科学和医学之间的交流较少,导致设计出的网络在临床中不适用,未能大范围使用。⑤ 基于深度学习的计算机辅助诊断系统和医院现有的影像系统、医院信息系统没能很好地集成,给医生的使用带来很多困难。
结合深度学习技术的特点和发展,对其在肺结节诊断领域做出以下的展望:栈式自动编码器(stack auto-encoder,SAE)和受限玻尔兹曼机(restricted Boltzmann machine,RBM)等无监督学习方法的应用可能会改善可用标记数据较少的问题[40-41];深度学习系统在进行肺结节的检测时,也可以加入其他疾病的检测,比如胸膜、乳腺、脏器和淋巴结等是否有病变,这种全面的检测可以帮助医生对患者进行全方位的检查,避免仅仅注意到一种疾病而忽略了其他疾病;迁移学习技术有望在大数据方面训练出更好的神经网络参数,通过迁移学习再训练肺结节的训练数据,迁移学习的应用可能会解决标签数据不足的问题,更好地提升网络的准确度。研究者不断提出大量更加优秀的深度学习网络,从二维神经网络到三维神经网络,以及更加高效的半监督神经网络和无监督神经网络,基于深度学习的计算机辅助诊断系统必将在肺结节检测的准确率上有更高的提升,并且减少对人工标注的医学样本的依赖。同时,新的计算机辅助诊断系统也将与医院的各大信息系统进行集成,推动其在临床中的大范围应用。
4 结束语
基于深度学习的肺结节检测和分类的计算机辅助诊断技术,不仅可以提高读片的速度,而且可以进行自我学习,从而不断地提高读片的准确率。在学术界、医学界和工业界的共同努力下,深度学习技术有望解决肺结节的精准诊断问题,展现出重大的临床应用潜力和市场前景。但同时我们也必须承认深度学习技术还存在一定的局限性,如临床标记的肺结节图像数据少、准确率有待进一步提升等。研究解决这些问题是未来深度学习技术在肺结节检测和分类应用中发展的重要方向。
利益冲突声明:本文全体作者均声明不存在利益冲突。
引言
肺癌是我国常见的恶性肿瘤之一,死亡率高居所有恶性肿瘤之首[1-3]。肺结节的诊断对于提高肺癌患者的存活率有重要的作用。尤其在肺癌早期,低剂量计算机断层扫描(computed tomography,CT)技术的使用可以及时发现并准确诊断肺结节,更有助于延长肺癌患者的生存时间。然而,肺结节筛查工作量大、易漏诊,影像科医师需要阅读大量肺部 CT 图像来找出肺结节并做出临床诊断方面的判断。高强度的工作容易造成医师的误诊,并且仅依靠人工诊断方法的效率较低。为了减少医师的工作量并且提高肺结节诊断的效率,在临床工作中,已经开始使用一些计算机辅助诊断(computer-aided detection,CAD)技术。传统的计算机辅助诊断技术存在很多问题,如缺少统一的分割算法并且分割效果不够精准,结节检测结果假阳性高,对于微小结节容易漏检,无法进行自我学习。但是,基于深度学习的计算机辅助诊断技术,不仅可以提高读片的速度和准确度,而且可以进行自我学习,从而不断地优化读片的效果[4]。由于深度学习技术的上述优势,现已被越来越多地应用于肺结节的诊断中,本文将对其中肺结节检测和分类的深度学习方法的发展以及最新的研究进展进行讨论。
1 肺结节检测中的深度学习方法
在肺结节检测中,常用的深度学习方法有二维卷积神经网络(two dimension convolutional neural network,2D-CNN)、三维卷积神经网络(three dimension convolutional neural network,3D-CNN)和更快速的区域卷积神经网络(faster regions convolutional neural network,Faster R-CNN)。本文将根据最新的研究成果来介绍以上深度学习方法在肺结节检测中的应用情况。
1.1 2D-CNN
卷积神经网络是一种在生物视觉上得到启发从而发明的人工前馈神经网络,主要用于文本、图像、语音、视频等识别。图 1 是卷积神经网络的结构图,通常由输入层、卷积层、池化层、全连接层组成。其中输入层的功能是输入数据;卷积层通过使用卷积核对图像进行卷积,得到特征图,提取特征信息;池化层通过最大池化或者均值池化等方式降低网络空间分辨率;全连接层是由许多神经元组成的平铺结构,在整个网络中起到分类器的作用。Lecun 等[5-6]在 1989 年首次提出卷积神经网络,由于当时计算能力有限以及可用于训练和测试的标记样本不足,导致当时的卷积神经网络没有得到广泛的应用和发展。随着标记数据量的增长和计算机计算能力的快速提升,Krizhevsky 等[7]在 2012 年创新性地提出了卷积神经网络模型 AlexNet,并且该模型在当年的 ImageNet 竞赛中获得第一名,使卷积神经网络在图像领域得到了广泛的应用和快速的发展。之后,不断有新的卷积网络被提出,比如 VGG NET[8]、ZF NET[9]、ResNet[10]和 GoogLeNet[11]。因为 2D-CNN 在图像识别领域的优秀表现,引起了大量科研人员的关注,越来越多的科研人员将 2D-CNN 应用于肺结节的检测中。

Setio 等[12-13]提出了基于多视角的 2D-CNN,将其应用于肺结节的检测中。为避免漏诊,对该网络的第一步提高了灵敏度,但出现了大量假阳性结节,因此需要在第二步进行假阳性去除操作。此网络结构分为两个部分:第一部分由 3 个探测器对结节进行检测,确定可疑候选结节;第二部分由包含卷积层、最大池化层的 2D-CNN 和另一个包含全卷积层和 softmax 层的 2D-CNN 组成,首先在每个平面上均训练一个 2D-CNN,对于每个检测到的候选结节,提取 9 个不同方向平面上的信息,用于肺结节的假阳性去除操作;然后将结果输入到 4 种不同的融合方法中,比较不同融合方法对结构性能的影响。实验数据来自公开的肺部图像数据库联盟(Lung Image Database Consortium,LIDC-IDRI)、自动肺结节检测数据 2009(Automatic Nodule Detection 2009,ANODE09)以及丹麦肺癌筛查实验数据库(Danish Lung Cancer Screening Trial,DLCST)。在试验中选取 LIDC-IDRI 数据库中的 888 个病例,进行 5 次交叉验证,将 888 个病例分为 5 组,每次分别使用 3 组作为训练集,一组为验证集,另一组为测试集。同时,由于病例阳性数量较少,对数据进行了增强操作,以增加阳性样本的数量,达到数据增强的目的。实验结果表明,基于多视角的 2D-CNN 在假阳性为 1 和 4 的情况下,检测灵敏度分别达到了 85.4% 和 90.1%,此外通过独立数据集的测试,证明该方法有较好的鲁棒性。
苗光等[14]为解决现有方法在肺结节检测中工作效率不高的问题,提出了一种基于改进的 U-net[15]网络模型,U-net 模型是一种在医学图像领域应用较多的卷积神经网络模型,具有端对端的网络结构。文献[14]中提到的模型改进了 U-net 模型中的激活函数,将原本的线性整流函数(Rectified Linear Unit,ReLU)改成了更合适的激活函数 Leaky ReLU,并添加了 Batch-Normalization,以优化网络的收敛速度。对 LIDC-IDRI 数据库的肺部 CT 图像进行肺结节检测,快速定位疑似的结节区域。此 2D-CNN 取得了 98.2% 的召回率。结果表明,此网络模型对于肺结节的检测具有良好的效果,具有很高的应用价值。
在肺结节检测中,2D-CNN 具有网络复杂度低、检测效果好和计算时间短等优点,特别是 U-net 模型可以同时结合底层和高层信息,适用于处理复杂的肺部医学图像,进行肺结节的检测,并能够获得很好的检测效果。但是 2D-CNN 在肺结节检测中的灵敏度有待提高。
1.2 3D-CNN
CT 图像是连续的层面图像。3D-CNN[16-17]是在 2D-CNN 的基础上改进的卷积神经网络,图 2 是 2D-CNN 和 3D-CNN 的结构对比图,2D-CNN 的卷积核是二维的,而 3D-CNN 的卷积核是三维的。在 CT 图像里,多出的维度是层数维。使用 3D-CNN 能更好地获取图像的空间信息,提取到更多的特征信息,有助于肺结节的检测。

图 3 是 Pezeshk 等[18]在 2018 年提出的基于 3D-CNN 的网络结构图,并将其命名为 DeepMed,其网络结构由 3 个卷积层、2 个最大池化层、2 个全连接层和 1 个 softmax 层组成。实验数据集是 LIDC 数据集中切片厚度不高于 2.5 mm 的 888 例 CT 图像。实验结果表明,在每次扫描只出现 2 个假阳性病例的情况下,该网络灵敏度达到 91%。
Winkels 等[19]提出了基于三维图卷神经网络(three dimension graph convolution network,3D G-CNN)的方法,用于解决已标注医学图像数量较少的问题。文献[19]中提出的网络首先是卷积层,其次是 ROI 池化层,然后是全连接层,最后是线性回归器。实验结果表明,三维 G-CNN 的 FROC 得分和传统卷积神经网络在 10 倍数据集上训练的 FROC 得分相当,大幅度提高了网络训练的效率,并且降低了数据收集的成本,能够更好地在肺结节检测中得到应用。
图 4 是 Huang 等[20]在 2017 年提出的基于 3D-CNN 的结构图,用于检测低剂量 CT 图像中的肺结节。考虑到多维数据的尺寸、训练数据的大小以及计算机的计算能力,文献[20]中提到的系统使用了相对简单的 3D-CNN 架构。首先是 32 × 32 × 32 的输入层;其次是 3 个分别包含 32、16 和 16 个 3 × 3 × 3 卷积核的卷积层,每个卷积层后面都有最大池化层;最后是 3 个分别为 64、64 和 2 个神经元的全连接层。文献[20]中提到的系统将医学知识应用到肺结节检测中,首先使用了基于局部几何模型的过滤器生成候选节点,利用医学知识,大大降低了 3D-CNN 分类步骤的计算成本和复杂度;然后将候选结节以 3D 的形式输入到 3D-CNN 中,训练卷积神经网络来对结节和非结节进行区分。实验结果表明,3D-CNN 相对 2D-CNN 在肺结节检测中更具优势。同时对比了 Anirudh 等[21]在 2016 年提出的基于 3D-CNN 的肺结节计算机辅助诊断系统,在候选结节过滤器和贝叶斯模型、候选数据集、数据量增加、三维卷积核和网络体系结构等方面均有改进和提升。
Hamidian 等[22]在 2017 年提出了基于 3D-CNN 的计算机辅助诊断系统,在肺结节检测过程中,分为筛选和识别 2 个步骤。首先,3D-FCN[23]将 3D-CNN 中的全连接层变成卷积层,输出标记好的图像而非向量。然后,由于 3D-FCN 可以接受任意大小的图像,利用反卷积层进行上采样,使图片恢复到初始尺寸。最后,通过 3D-FCN 标记出肺结节的候选区域,用 CNN 对候选区域的疑似肺结节进行分类,确定其是结节还是非结节。实验数据集和 LIDC 数据集中,以切片厚度为 1.5~3.0 mm 的 509 个病例中的 833 个结节作为训练集,以 25 个病例中的 104 个结节作为测试集。实验结果表明,与 3D-CNN 窗口滑动的方法相比,3D-FCN 将检测速度提高了约 800 倍。3D-FCN 网络为肺结节的检测提供了一种解决思路。
3D-CNN 在肺结节检测过程中,能够获得图像更多的空间特征信息,有助于肺结节的检测[24]。文献[18]中使用的 3D-CNN 方法比文献[12]中使用的 2D-CNN 方法灵敏度提高了 5.6%,3D-CNN 与 2D-CNN 相比,有更高的检测灵敏度,但是 3D-CNN 也存在网络复杂和计算量大等缺点。
1.3 Faster R-CNN
Ren 等[25]在 2015 年提出了 Faster R-CNN 结构,它是在 Girshick 等[26-27]于 2014 年提出的区域卷积神经网络(region convolutional neural network,R-CNN)和 2015 年提出的快速区域卷积神经网络(fast region convolutional neural network,Fast R-CNN)基础上改进得到的网络结构所构成的一个深度网络框架,实现了端对端的目标检测框架,提高了检测精度和速度。因其具有更快的检测速度,更加适用于肺结节等小目标的检测过程。
Xie 等[28]提出了一种基于 Faster R-CNN 改进的网络模型,并用于肺结节的检测中,本文将其命名为优化的 Faster R-CNN 模型 1。图 5 是 Xie 等[28]提出的优化的 Faster R-CNN 模型 1 的网络结构图,与原有网络相比,该方法重要的改进是使用了两个 RPN 和一个反卷积层,针对 3 种不同的切片训练 3 种不同的模型,最后将这 3 种模型进行融合,获得候选模型。肺结节检测网络由 3 个部分组成,分别是基于 VGG16 的特征提取网络、区域生成网络和兴趣区域分类网络。文献[28]中提到的系统在 LUNA16 数据集上进行训练,并且筛选出被预先网络判别错误的具有代表性和难以辨别的肺结节后,再次对系统进行训练,以增强系统的鲁棒性。在 LUNA16 数据集上设定衰减权重为 0.000 5,学习率为 0.001,进行 10 倍的交叉验证,迭代 10 000 次。实验结果表明,网络在检测肺结节时,灵敏度达到 86.42%,能够较为准确地识别肺结节。
Ding 等[29]也对 Faster R-CNN 进行了优化。在 LUNA16 竞赛中,Ding 等将 Faster R-CNN 应用于肺结节的检测中,为了解决原始 Faster R-CNN 在肺结节检测中检测效果有限的问题,Ding 团队[29]在特征提取完成之后增加了反卷积层,使得系统更加快速和精确,最终凭借 0.893 分的 FROC 得分取得了竞赛的冠军。
在肺结节检测中,2D-CNN 在相同数据集的模型训练中需要的计算量较小,但是会忽略空间信息,影响检测结果,降低检测精度。3D-CNN 模型训练中所需要的计算量较大,对于计算能力的要求也较高,但是有助于提高灵敏度。而两种优化的 Faster R-CNN 能够有效地减少训练时间和测试时间,使精度越来越高、速度越来越快,在肺结节的检测中应用较多。
2 肺结节分类中的深度学习方法
通常计算机辅助诊断系统在 CT 图像中完成肺结节检测之后,还需要对已经检测出的肺结节进行分类,来判断其良恶性。肺结节的大小、形态和体积增长率是判断良恶性的重要指标,但这需要至少两次的 CT 扫描。随着深度学习技术和卷积神经网络的快速发展,越来越多的深度学习技术被应用于肺结节的分类中,如多流多尺度卷积神经网络(multi-stream multi-scale convolutional neural network,MMCNN)、深度卷积生成对抗网络(deep convolutional generative adversarial networks,DCGAN)和迁移学习,以及第 1 节中介绍的 2D-CNN 和 3D-CNN。本节将探讨以上各种深度学习方法在肺结节分类中的最新应用成果。
2.1 CNN
Hua 等[30]在 2015 年将 2D-CNN 应用于肺结节的分类中,解决了传统计算机辅助诊断系统性能不够稳定、由人工制定的诊断规则不够全面和无法持续提高准确率等问题。该方法的数据集来自 LIDC-IDRI,由 1 010 名患者的已注释肺部 CT 图像组成。Hua 等[30]从数据库中选择 2 545 个直径大于 3 mm 的肺结节进行实验。最终,该方法的灵敏度为 73.3%,特异度为 78.7%,工作效率高于传统的计算机辅助诊断系统。实验结果表明,深度学习在肺结节分类领域有广阔的发展前景。
但是,2D-CNN 会丢失肺结节的立体信息,为了解决此问题,Liu 等[31]在 2017 年提出将 3D-CNN 应用于肺结节分类的想法,设计了 2 个不同结构的 3D-CNN 在相同的数据集进行训练和测试,通过对实验结果所生成的受试者操作特征(receiver operating characteristic,ROC)曲线进行评估,选出性能较好的网络结构。图 6 是 Liu 等[31]提出的基于 3D-CNN 的结构图,选取 326 个肺结节实验数据集进行训练和测试。实验结果表明,第 1 个 3D-CNN 的曲线下面积(area under curve,AUC)为 0.732,第 2 个 3D-CNN 的 AUC 为 0.698,第 1 个 3D-CNN 效果更好。该实验继续设计 2D-CNN 用于对比 3D-CNN 的效果,实验结果表明,2D-CNN 的 AUC 为 0.688,小于 3D-CNN 的 0.732,故 3D-CNN 的效果更好。
实验表明,3D-CNN 的效果较好,并且其不需要依靠特定的专业知识,通过不断学习便有助于系统的进一步完善,提高了肺结节的诊断效率和准确性。但是 3D-CNN 存在特征较多、数据量较大和计算时间较长等问题。
2.2 MMCNN
Ciompi 等[32]和 Shen 等[33]等出了一种应用于肺结节检测的基于多流多尺度卷积神经网络的方法。此多流多尺度卷积神经网络不需要进行分割等预处理操作,可以直接处理原始数据。相比于只能提取单一尺度特征的卷积神经网络,Ciompi 等[32]和 Shen 等[33]提出的方法能够提取到多尺度的特征,从而更加有利于肺结节的分类。Ciompi 等[32]将肺结节分为实性、非实性、部分实性、肺裂、钙化和毛刺 6 个类型。该系统由 9 个卷积神经网络流组成,分成 3 组。每组分别对应肺结节的横截面、冠状面和矢状面。不同的流以不同的比例处理相同的 3 片部分,即 10、20、40 mm;然后,输入的二维数据经过卷积和池化层处理,并在 3 个流中共享参数,不同规模的多流网络在全连接层中合并;最后,具有 6 个神经元的 softmax 层得到 6 个类的概率。此实验数据集来自 943 名患者的 1 805 个肺结节,分为训练组(1 352 个结节)和验证组(453 个肺结节)。为了扩展训练集,通过旋转和小范围地移动中心,生成了约 500 000 个训练样本,其中每种类型约为 80 000 个。测试数据来自丹麦肺癌筛查试验,其中包括 468 名患者的 639 个肺结节。结果表明,此系统分类的准确率和专家的准确率相当,平均准确率分别为 69.6% 和 72.9%。文献[32]中提到的系统分类的准确率较传统方法有大幅度提高。
2.3 DCGAN
徐久强等[34]在 2018 年提出了 DCGAN 的网络,且首次将其用于肺结节分类。DCGAN[35]解决了 GAN[36]稳定性不足的问题。文献[34]中提到的方法将肺结节的恶性分为 5 个等级,分别为良性、疑似良性、未知、疑似恶性和恶性。该系统有效地解决了数据中良性和恶性样本数量不平均的问题。该方法将 DCGAN 模型进行改进,包含 G 和 D 两个模型。其改进的部分,一为在 D 模型中输入图像时,将图像相对应的类别标签同时作为 D 模型的输入;二为 D 在判别过程中存在两部分内容,即对输入图像的来源分类和对输入图像的恶性等级分类。该实验的数据集来自 LIDC 和合作医院,包含 11 954 个肺结节,尺寸为 28 mm × 28 mm。实验随机选择了 80% 的数据集作为训练集,其余作为测试集。在实验中,文献[34]提到的模型在肺结节恶性等级的分类中准确率达到了 70.89%,在肺结节良恶性分类中达到了 80.13%。实验结果表明,此模型有良好的分类效果,准确率较高,抗噪声能力较好,可在实际的医疗工作中得到广泛的应用。
2.4 迁移学习
在肺结节分类中使用迁移学习可以解决已标记医学图像数量不足的问题,更有利于卷积神经网络的训练。Hussein 等[37]将迁移学习[38]应用于肺结节的分类过程中,其将肺结节按照恶性程度分为 5 个等级。首先 Hussein 等[37]在已用 100 万段视频训练过的网络上使用 CT 数据进行迁移学习,有效地解决了已标注肺结节样本缺乏的问题,能够有效地提高分类准确率。这是第一次将迁移学习应用于检测肺结节的 3D-CNN 中,改善了用于训练的医学图像数据不足的问题,取得了较为成功的效果。但医学图像的复杂度高,如何更加有效地将迁移学习应用到肺结节分类中还需要更多的研究。
3 总结和展望
近些年,深度学习技术不断快速发展,其在医学图像辅助诊断领域中已经发挥了越来越重要的作用[39]。深度学习技术在肺结节的检测和分类的应用中,也已经取得了长足的进步,从最简单的 2D-CNN 发展到 3D-CNN,到更快的区域卷积神经网络,到多流多尺度卷积神经网络,再进一步发展到深度卷积生成对抗网络以及迁移学习,各项技术指标都在不断地提升。
当然,也有需要进一步改进的地方。比如:① 由于已标注的肺结节图像不足,在目前的监督学习居多的情况下,容易造成网络模型的过拟合。② 准确率有待进一步提高。③ 深度学习网络的可解释性较差,在医学图像的辅助诊断领域,需要更多的理论支持并增加其可解释性,提高其在医疗领域的接受度。④ 基于深度学习的计算机辅助诊断科学和医学之间的交流较少,导致设计出的网络在临床中不适用,未能大范围使用。⑤ 基于深度学习的计算机辅助诊断系统和医院现有的影像系统、医院信息系统没能很好地集成,给医生的使用带来很多困难。
结合深度学习技术的特点和发展,对其在肺结节诊断领域做出以下的展望:栈式自动编码器(stack auto-encoder,SAE)和受限玻尔兹曼机(restricted Boltzmann machine,RBM)等无监督学习方法的应用可能会改善可用标记数据较少的问题[40-41];深度学习系统在进行肺结节的检测时,也可以加入其他疾病的检测,比如胸膜、乳腺、脏器和淋巴结等是否有病变,这种全面的检测可以帮助医生对患者进行全方位的检查,避免仅仅注意到一种疾病而忽略了其他疾病;迁移学习技术有望在大数据方面训练出更好的神经网络参数,通过迁移学习再训练肺结节的训练数据,迁移学习的应用可能会解决标签数据不足的问题,更好地提升网络的准确度。研究者不断提出大量更加优秀的深度学习网络,从二维神经网络到三维神经网络,以及更加高效的半监督神经网络和无监督神经网络,基于深度学习的计算机辅助诊断系统必将在肺结节检测的准确率上有更高的提升,并且减少对人工标注的医学样本的依赖。同时,新的计算机辅助诊断系统也将与医院的各大信息系统进行集成,推动其在临床中的大范围应用。
4 结束语
基于深度学习的肺结节检测和分类的计算机辅助诊断技术,不仅可以提高读片的速度,而且可以进行自我学习,从而不断地提高读片的准确率。在学术界、医学界和工业界的共同努力下,深度学习技术有望解决肺结节的精准诊断问题,展现出重大的临床应用潜力和市场前景。但同时我们也必须承认深度学习技术还存在一定的局限性,如临床标记的肺结节图像数据少、准确率有待进一步提升等。研究解决这些问题是未来深度学习技术在肺结节检测和分类应用中发展的重要方向。
利益冲突声明:本文全体作者均声明不存在利益冲突。