DeepLung: Deep 3D Dual Path Nets for Automated Pulmonary Nodule Detection and Classification
来源:IEEE WACV 2018
1、解决了什么问题?
提出了一个全自动肺部CT癌症诊断系统-DeepLung。
2、采用了什么方法?
在深肺系统中,首先通过结节检测子网检测候选结节,然后通过分类子网进行结节诊断。所以,DeepLung包括两部分:
结节检测(识别候选结节位置)
分类(将候选结节分类为良性或恶性)
考虑到肺部CT数据的3D特性和双路径网络(DPN)的紧凑性,设计了两个深度3D DPN分别用于结节检测和分类。具体来说,具体地说,设计了一个3D Faster Regions with Convolutional Neural Net(R-CNN)用于结节检测,该区域采用3D双路径块和U-Net型编解码结构,有效地学习结节特征。对于结节分类,提出一个带3D双路径网络特征的梯度提升机(GBM)。
为了充分利用三维CT图像,分别设计了两个用于结节检测和分类的deep 3D ConvNets。由于3D-ConvNet包含的参数太多,并且很难在相对较小的公共肺部CT数据集上进行训练,因此我们采用3D双路径网络作为神经网络结构,因为DPN使用的参数较少,并且比残差网络获得更好的性能。具体来说,受快速R-CNN用于目标检测的有效性的启发,我们提出了基于3D双路径网络和U-net-like编解码器结构的3D-Faster R-CNN用于结节检测,以及用于结节分类的deep-3D双路径网络。
3、数据集:
LIDC-IDRI数据集:包含888个低剂量肺CT。
LUNA16数据集:包含1018个低剂量肺CT。
LUNA16数据集是最大的公共可用肺结节数据集LIDC-IDRI的子集。LUNA16数据集只有检测注释,而LIDC-IDRI几乎包含了低剂量肺CT的所有相关信息,包括几位医生对结节大小、位置、诊断结果、结节纹理、结节边缘等信息的注释。LUNA16数据集从LIDC-IDRI数据集中删除切片厚度大于3mm、切片间距不一致或缺少切片的CT,并明确给出数据集的根据患者级别的10倍交叉验证分割。
4、网络模型
图 1 Deep Lung的框架
DeepLung首先采用3D更快的R-CNN生成候选结节。然后利用deep-3D-DPN从检测到的和裁剪的结节中提取深层特征。最后,利用深度特征、检测到的结节大小和原始像素的GBM进行分类。
① 双路径连接
图 2 双路径连接
双路径连接它既受益于残差学习的优点,也受益于从网络结构设计的Dense connection。
Residual learning的捷径连接:消除超深网络中梯度消失现象的有效方法。从学习特征共享的角度来看,残差学习可以实现特征重用。
Dense connection:从学习特征共享的角度来看,有利于发现新特征。另外,由于不需要重新学习冗余的特征映射,密集连接网络的参数比残差学习少。
双路径连接的假设是被利用的特征中可能存在一些冗余。双路径连接使用部分特征映射进行密集连接,部分特征映射用于剩余学习。
实现方法:
双路径连接将其特征分成两部分。一部分F(x)[d : ]用于残差学习,另一部分F(x)[ : d ]用于密集连接。这里d是超参数,用来决定要利用多少新特征。双路径连接可以表示为,其中y是双路径连接的特征,G是ReLU激活函数,F是卷积层函数,x是双路径连接块的输入。双路径连接将两种高级框架的优势结合在一起,即特征重用的残差学习和挖掘新特征的密集连接,该结构在ImageNet数据集上取得了成功。由于其紧凑性和有效性,我们设计了基于3D DPN的深度3D神经网络。
② 3D Faster R-CNN with Deep 3D Dual Path Net for Nodule Detection
图 3 具有类似UNet的编码解码结构和3D双路径块的3D Faster R-CNN。
输入:从3D重建CT图像中裁剪出来的,像素大小为96×96×96。
编码器:编码器子网设计了26层三维双路径网络。在第一个最大池之前,使用两个卷积层来生成特征。之后,在编码器子网中采用了8个双路径块。
解码器:特征映射通过反卷积层和双路径块进行处理,与编码器网络中的相应层级联。然后在第二层到最后一层中使用一个具有丢失(丢失概率为0.5)的卷积层。在最后一层,基于结节尺寸分布设计了5、10、20三个anchor,供直径参考。
Anchor:对于每个anchor,损失函数中有5个部分,当前边框是否为结节的分类损失,结节坐标x、y、z和结节大小d的回归损失。如果anchor和ground truth边框的交并比(IoU)大于0.5,我们将其视为正anchor()。另一方面,如果一个anchor与所有ground truth边框的IoU都小于0.02,则作为负anchor()。The anchor i的多任务损失函数定义为:
其中是当前anchor i 预测为结节的概率,是对应的结节位置坐标预测:
式中为原始空间中预测的结节坐标和直径,为锚i的坐标和直径。对于ground truth nodule位置,定义为:
其中是ground truth nodule的坐标和直径,设为0.5。对于,使用了二进制交叉熵损失函数,对于,使用了平滑L1回归损失函数。
③ Gradient Boosting Machine with 3D Dual Path Net Feature for Nodule Classification
图 4 结节分类子网结构
对于CT数据,先进的方法应能有效地提取3D体积特征。在图4中,我们设计了一个用于三维CT肺结节分类的3D Deep Dual Path网络。我们使用双模块进行检测和分类的主要原因是,将结节分为良性和恶性需要系统学习更精细的特征,这可以通过只关注结节来实现。此外,它允许在最终分类中引入额外的特征。
输入:以预测的结节位置为中心,将CT数据大小裁剪为32×32×32。
特征提取:利用卷积层进行特征提取。使用30个三维双路径块来学习更高层次的特征。
良恶性分类:三维平均池和二元logistic回归层用于良恶性诊断。
3D Deep Dual Path网络可以直接作为结节诊断的分类器,也可以用来学习有效的特征。通过拼接学习到的深度三维DPN特征(最后一层(2560维))、结节大小和原始三维裁剪结节像素来构造特征。给定完整有效的特征,GBM是构建高级分类器的极好方法。
5、实现及性能评价标准
先进的计算机辅助诊断系统(CADs)期望在保持低假阳性率的同时具有较高的灵敏度。
我们结合GBM分类器验证了将结节大小与原始三维裁剪结节像素相结合的特征,获得了86.12%的平均测试准确率。最后,我们利用所构造的特征,使用GBM来获得最佳的诊断性能。
① 检测器
在LUNA16数据集上训练和评估检测器,然后使用给定的患者级别划分进行10次交叉验证。
图 5 与每次扫描的假阳性相关的敏感度(召回)率
评估指标:FROC是每次扫描假阳性的平均次数为0.125、0.25、0.5、1、2、4、8时的平均召回率,这是LUNA16数据集的官方评估指标。
在测试阶段,我们使用检测概率阈值为-2(sigmoid函数之前),其次是NMS,IoU阈值为0.1。
3D Res18 Faster R-CNN的FROC(在误报为0.125、0.25、0.5、1、2、4、8时的平均召回率)为83.4%,而只有3D Res18 Faster R-CNN 的1/4个参数的3D DPN26 Faster R-CNN的FROC为84.2%。3D Res18 Faster R-CNN的总召回率为94.6%,而3D-DPN26-Faster R-CNN的召回率为95.8%。
② 分类器
表 1 结节分类性能
在LIDC-IDRI数据集上验证了DeepLung系统的结节分类性能,使用LUNA16的分割原理,10倍的患者水平交叉验证。结节1004个,阳性450个。
Epoch:1050。
学习率:初始学习率为0.01,在525 Epoch后下降到0.001,最后在840 Epoch下降到0.0001。
测试集:由于训练时间和资源的限制,我们采用1、2、3、4、5进行测试,最终的性能是五个测试子集的平均表现。
结果:从表1可以看出,深度3D DPN比多尺度CNN,Vanilla 3D CNN和多裁剪CNN具有更好的性能,因为3D结构的强大功能和深度双路径网络。由于GBM的优越分类性能,带结节尺寸和裁剪尺寸为16×16×16的原始结节像素的GBM实现了与多尺度CNN相当的性能。最后,我们使用深度3D双路网络特征,3D Faster R-CNN检测到的结节大小和原始结节像素来构建特征,并获得90.44%的准确度,这表明了深度3D双路网络特征的有效性。
③ 与经验丰富的医生在他们各自置信结节比较
我们将我们的预测与四名“模拟”经验丰富的医生的各自置信结节进行比较(个体得分不为3)。注意,约1/3标注是3。
④ Kappa系数
使用Kappa系数(一种评估两个评分者之间一致性的常用方法)来检验DeepLung与地面真相之间的一致性。DeepLung的kappa系数为85.07%,明显优于医生的平均kappa系数(81.58%)。
⑤ LL
为了评估包括边界结节(标记为3,良恶性不确定)在内的所有结节的表现,我们从有经验的医生的注释中随机抽取100次作为100个“模拟”医生,计算了DeepLung和医生诊断的对数似然(LL)评分。医生平均LL值为-2.563,标准差为0.23。相比之下,DeepLung的LL值为-1.515,表明DeepLung在标准差上性能优于医生平均的平均性能4.48倍,具有高度的统计学意义。
⑥ 对边界性结节分类
重要的是要分析医生不能最终分类的边界结节预测的统计特性。有趣的是,64.98%的交界性结节在表3中被划分为恶性(概率>0.9)或良性(概率<0.1)。DeepLung将大多数交界性结节分类为恶性可能性接近于零或接近1,显示其作为辅助诊断工具的潜力。
6、关键技术
①全自动的CADs系统
利用深度学习,将结节检测与结节分类相结合,建立一个完整的肺癌CT诊断系统,实现肺癌CT全自动诊断的研究较少。有必要探索一个完整的肺癌CT诊断系统,了解目前的深度学习技术与经验丰富的医生有多大的差距。
②区域建议生成
传统的方法通常需要人工设计特征,如形态特征、体素聚类和像素阈值。最近,deep ConvNets,例如更快的R-CNN和fully ConvNets被用来生成候选边界框。
③去除假阳性结节
传统方法通常使用更先进的方法或更复杂的特征,例如精心设计的纹理特征,来去除假阳性结节。由于CT数据的3D性质以及快速R-CNN在二维自然图像中用于目标检测的有效性,设计了一种3D Faster R-CNN用于结节检测,并使用3D卷积核和U-net-like编解码器结构来有效地学习潜在特征。
④3D Dual Path网络
由于3D-ConvNet参数太多,难以在相对较小的公共肺部CT数据集上进行训练,由于deep-dual-path网络比deep-resultant-network更紧凑,同时提供更好的性能,因此采用3D-dual-path网络作为构建块。
⑤GBM
为了使具有完整特征的GBM具有更高的性能,我们采用不同粒度的GBM来诊断结节,从原始像素、DPN特征到诸如结节大小等全局特征。
7、参数设置
整体CT图像→几个96×96×96的小块→检测器→裁剪为32×32×32(以检测中心为中心)→3D DPN(特征提取)→GBM(深部3D双路径特征、结节大小和原始结节CT像素)
检测器:只保留检测概率大于0.12的detected boxes(sigmoid函数前阈值为-2)。在此基础上,采用基于检测概率的非最大抑制(NMS)方法,the intersectionover union (IoU)交并比阈值为0.1。在这里,我们希望不要错过太多的ground truth结节。
GBM:对于像素特征,我们使用16×16×16的裁剪尺寸,中心为实验中检测到的结节中心。
分类:对于患者水平的诊断,如果检测到的结节之一是阳性(癌症),则患者被归类为患有癌症。相反,如果所有检测到的结节均为阴性,则该患者被认为是非癌症。
周期:在训练中,每个模型共使用150个周期
优化算法:随机梯度下降优化,动量为0.9。
批处理大小:参数受GPU内存的限制。我们使用1×10-4的权重衰减。
初始学习率:0.01,历元总数的一半后为0.001,120个历元后为0.0001。
8、对比算法
图 6 3D Res18 Faster R-CNN
为了验证所提出的用于检测的deep 3D双路径网络的性能,我们使用deep 3D残差网络作为比较。这个基线网络的编码器部分是一个18层的Deep 3D残差网络,它是2D Res18网络的扩展。请注意,3D Res18 Faster R-CNN包含5.4M的可训练参数,而3D DPN26 Faster R-CNN采用1.4M的可训练参数,仅为3D Res18 Faster R-CNN的1/4倍。
9、预处理
输入CT图像采用了三个自动预处理步骤。首先,我们将原始数据裁剪为[-1200,600]。其次,我们将值范围线性转换到[0,1]。最后,我们使用LUNA16给出的分割ground-truth并删除背景
10、数据扩充
检测器:通过随机翻转图像来扩充数据集,并使用0.75到1.25之间的裁剪比例。
分类器:训练时,先将大小为32×32×32的结节垫成36×36×36,从填充的数据中随机裁剪32×32×32,水平翻转、垂直翻转、z轴翻转数据进行增强,将4×4×4斑块随机置零,用训练数据的均值和标准差对数据进行归一化处理。
11、优点
①参数量较小:3D Res18 Faster R-CNN包含5.4M可训练参数,而3D DPN26 Faster R-CNN使用1.4M可训练参数,这仅是3D Res18 Faster R-CNN的1/4。
②网络结构紧凑,性能较好:提出了两种基于3D双路径网络的深度3D卷积网络,这种网络更加紧凑,可以产生比残差网络更好的性能。
③充分利用CT的三维特性。
12、可视化
图 7 nodule ground truths和检测结果的中央切片可视化
图 8测试折叠1上结节分类结果的中央切片可视化。我们选择的结节是由DeepLung预测的,但一些医生的注释不正确。
从图8可以看出,医生错误地诊断了一些结节。原因可能是人类不适合处理低信噪比的三维CT数据。也许有些医生找不到一些薄弱的不规则边界,或者错误地认为某些正常组织是结节边界,从而导致假阴性或假阳性。此外,医生自身的内在偏见可能会影响他/她预测这些扫描的自信程度,而他/她每次只能观察一个切片。基于机器学习的方法可以克服这些局限性,能够在一次利用所有输入切片的同时学习复杂的规则和高维特征。从这个角度来看,深肺对医生做出一致和准确的诊断可能有很大的帮助。