通过计算机断层扫描(CT)自动诊断肺癌包括两个步骤:检测所有可以病变(肺结节)并评估整个肺部/肺部恶性肿瘤。当前,关于第一步的研究很多,而关于第二步的研究很少。由于结核的存在并不能肯定地表明癌症,并且结核的形态与癌症之间存在复杂的关系,因此,肺癌的诊断需要对每个可疑结核进行仔细的研究,并综合所有的结节信息。我们提出了一个3D深度神经网络来解决这个问题。该模型包含两个模块,第一个是用于结节检测的3D区域提议网络,该网络输出对象的所有可疑结节。第二个选择基于检测置信度的前五个结节,评估它们癌症概率,并将其与Deep Leaky Noisy-or Network相结合获得受试者患肺癌的可能性。两个模块共享相同的骨干网,即修改后的U-net。通过交替训练两个模块,可以减轻因训练数据不足而导致的过拟合。该模型在2017年Data Science Bowl竞赛中获得第一名,代码已公开发布。
关键词–肺结节检测,结节恶性评估,深度学习,噪声或模型,3D卷积神经网络
肺癌是最常见和致命的恶性肿瘤之一。与其他癌症一样,肺癌的最佳解决方案是早期诊断和即时治疗。因此,定期检查时必要的,胸廓容积计算机断层扫描(CT)是诊断肺癌的常用成像工具。根据其对X射线的吸收,可以可视化所有的组织。肺部病变称为肺结节。结节通常具有与正常组织相同的吸收水平,但是具有独特的形状:支气管和血管是连续的管道系统,根部较粗,分支较细,小结节通常呈球形且孤立。通常,有经验的医生大约需要十分钟才能对患者进行彻底检查,因为一些小结节很难找到。而且,结节有许多亚型,亚型不同则癌症的可能性也是不同的。医生可以根据其形态来评估结节的恶性程度,但准确度在很大程度上取决于医生经验,不同的医生可能给出不同的预测。
计算机辅助诊断(CAD)适合于此任务,因为计算机视觉模型可以在相同质量的地方快速扫描,并且不受疲劳和情绪的影响。深度学习的最新发展使计算机视觉模型可帮助医生诊断各种问题,在某些情况下,该模型对医生表现出竞争性的优势。
与一般的计算机视觉问题相比,自动肺癌诊断有几个困难。首先,结节检测时3D对象检测问题,比2D对象检测难。优于GPU内存有限,将2D对象检测方法直接推广到3D情况面临技术难题。因此,一些方法使用2D区域提议网络(RPN)在单个2D图像中提取proposals,然后将它们组合以生成3D提议。更重要的是,标注3D数据通常比标注2D数据难得多,这可能会使深度学习模型由于过拟合而失败。其次,结节的形状各不相同(图1),并且结节和正常组织的界限模糊。所以,在某些情况下,即使经验丰富的医生也无法达成共识。第三,结节与癌症之间的关系很复杂。结节的存在并不一定表示肺癌。对于具有多个结节的患者,应考虑所有结节以推断出癌症的可能性。换句话说,不同于传统的检测任务和经典分类任务。在此任务中,标签对应于多个对象,这是一个多实例学习(MIL)问题,是计算机视觉中的一个难题。
为了解决这些困难,我们采取以下策略。我们建立了一个3D RPN以直接预测结节的边界框。3D卷积神经网络(CNN)结构使网络能够捕获复杂的功能。为了解决GPU内存问题,使用了基于patch的训练和测试策略。对该模型进行端到端训练以实现有效的优化。广泛的数据扩充用来解决过拟合问题。设置较低的阈值时为了包括所有可疑结节。然后,选择前五个可疑结节作为分类器的输入。分类器中引入了泄露 noisy-or model,以合并前五个结核的分数。
noisy-or model是概率图模型中常用的局部因果概率模型。它假定一个事件是由不同的因素引起的,并且这些因素中任何一个的发生都会导致事件的发生,而这些事件具有独立发生的概率。该模型的一种修改版本称为“泄露 noisy-or model”,它假设即使没有任何因素发生,事件也存在泄漏的可能性。泄漏 noisy-or model适用于这个任务。首先,当一个病例中存在多个结核时,所有结核都有助于最终预测 。其次,高度可疑的结节将解释癌症病例,这是可取的。第三,当结节无法解释癌症病例时,癌症可归因于泄漏的可能性。
分类网络也是3D神经网络,为了防止过拟合,我们让分类网络共享检测网络的主干(两个网络的骨干网络被捆绑在一起)并交替训练两个网络,还进行了广泛的数据增强。
我们对这项工作的贡献总结如下:
1).据我们所知,我们提出了第一个用于3D对象检测的one-stage端到端的CNN检测模型。
2).我们建议将noisy-or gate集成到神经网络中,以解决网络中的多实例学习任务。
我们在Data Science Bowl 20172 中验证了所提出的方法,并赢得1972支队伍中的第一名。
本文的其余部分安排如下:第二部分介绍了一些相关的工作,后续部分将详细介绍该方法的流程,它包含三个部分:(1).预处理(第三节):将肺从其他组织中分离出来;(2).检测(第四节):发现肺中所有可疑结节;(3).分类(第五节):对所有结节评分并结合其癌症发生率获得患者的总体癌症概率。第一步是通过经典的图像预处理技术完成的,其他两个步骤是通过神经网络完成的。结果在第六节中给出。第七节对本文进行了一些讨论。
A.普通物体检测
已经提出了许多物体检测方法,并且彻底的审查超出了本文的范围。这些方法大多数都设计用于2D对象检测。一些最新的方法有两个阶段 (例如Faster-RCNN [12]),其中在第一阶段(是否包含对象)中提出了一些边界框(称为提案),而类决策(决定对象属于哪个类别)在第二阶段完成。较新的方法只有一个阶段,即同时预测边界框和类别概率(YOLO [14]),或者在没有建议的情况下默认框预测类别概率生成(SSD [15])。通常,单阶段方法更快,但两阶段方法更准确。在单类对象检测的情况下,不再需要两阶段方法中的第二阶段,并且这些方法会退化为单阶段方法。
将前沿的2D对象检测方法扩展到3D对象检测任务(例如,视频中的动作检测和体积检测)受到了限制。由于主流GPU的内存限制,一些研究使用2D RPN提取单个2D图像中的proposals,然后使用额外的模块将2Dproposals合并成3Dproposals。类似的策略已经用于3D图像分割。据我们所知,3D RPN尚未用于处理视频或体积数据。
B.结节检测
结节检测时典型的体积检测任务。由于其巨大的临床意义,这些年来它吸引了越来越多的人的关注。该任务通常分为两个子任务:目标提议并减少假阳性。每个子任务吸引了许多研究。第一个子任务的模型通常以一个简单而快速的3D描述符开始,然后是一个分类器,以给出许多proposals。第二个子任务的模型通常是复杂的分类器。在2010年,Van Ginneken等人全面回顾了六种常规算法,并在ANODE09数据集中对它们进行了评估,该数据集包含55次扫描。在2011-2015年期间,开发了更大的数据集LIDC。研究人员开始采用CNN来减少假阳性。 Setio等采用了多视图CNN,Dou等人采用了3D CNN来解决此问题,并且均比传统方法获得了更好的结果。丁等采用2D RPN在每个切片中提出结核建议,并采用3D CNN减少假阳性样本的数量。基于LIDC的选定子集,举办了一场名为“ LUNd结节 2016(LUNA16)”的比赛。在本次比赛中,大多数参与者使用了两阶段方法。
C.多实例学习
在MIL任务中,输入的是一组实例。如果将所有实例标记为正,则将这一组标记为正,如果将所有实例标记为负,则将这一组标记为负。
许多医学图像分析任务是MIL任务,因此在深度学习兴起之前,一些早期的工作已经提出了CAD中的MIL框架。Dundar等引入凸包来代表多实例特征并将其应用于肺栓塞和结肠癌检测。徐等从组织检查图像中提取了许多斑块,并将它们视为多实例,以解决结肠癌的分类问题。
为了将MIL集成到深度神经网络框架中,关键部分是将来自不同实例的信息组合在一起的层,这称为MIL合并层(MPL)。MPL的一些示例是:最大池化层,平均池化层,对数和指数池化层,广义均值层和 noisy-or层。如果每个样本的实例数是固定的,则将特征级联用作MPL也是可行的。MPL可用于
在功能级别或输出级别。
D. Noisy-or model
噪声或贝叶斯模型被广泛用于推断诸如肝脏疾病和哮喘病例等疾病的可能性。Heckerman 建立了一个基于“噪声或门”的多特征,多疾病的诊断系统。Halpern和 Sontag提出了一种基于noise-or模型的无监督学习方法,并在快速医学参考模型中进行了验证。
上面提到的所有研究都将噪声模型纳入了贝叶斯模型。然而,“noisy-or model ”与神经网络的集成很少。Sun等在深度神经网络框架中将其用作MPL,以提高图像分类的准确性。 张等使用它作为提高物体检测精度的增强方法。
A.数据集
两个肺部扫描数据集用于训练模型,即LUng Nodule Analysis 2016数据集(缩写为LUNA)和Data Science Bowl 2017的训练集(缩写DSB)。
LUNA数据集包含888位放射科医生注释的888例患者的1186个结节标签,而DSB数据集仅包含指示该受试者在第二年后是否被诊断患有肺癌的按受试者分类的二进制标签。DSB数据集的训练,验证和测试集中分别包括1397、198、506人(案例),我们在训练集中手动标记了754个结节和78个结节验证集中的结节。
LUNA结节和DSB结节之间存在一些显着差异。 LUNA数据集包含许多非常小的带注释的结节,可能与癌症无关。根据医生的经验[36],通常,超过6毫米并不危险。 但是,DSB数据集有许多非常大的结节(大于40毫米)(图1中的第五个样本)。 平均结节直径为13.68。在DSB数据集中为mm,在LUNA数据集中为8.31 mm(图2a)。 此外,DSB数据集在主支气管上有许多结节(图1中的第三个样本),在LUNA数据集中很少见。 如果仅在LUNA数据集上训练网络,则将很难检测DSB数据集中的结节。 大结节的缺失会导致错误的癌症预测,因为大结节的存在是癌症患者的标志(图2b)。 为了解决这些问题,我们从LUNA注释中删除了小于6毫米的结节,并在DSB中手动标记了结节。
作者对肺癌的诊断没有专业知识,因此结节的选择和人工注释可能会引起很大的噪音。 下一阶段的模型(癌症分类)旨在对错误检测具有鲁棒性,这减轻了对高度可靠的结核标签的需求。
B.预处理
整个预处理过程如图3所示。首先将所有原始数据转换为Hounsfield单位(HU),这是描述放射性浓度的标准定量标度。每个组织都有其特定的HU范围,这个范围对于不同的人来说是相同的(图3a)
1).Mask提取:CT图像不仅包含肺部而且还包含其他组织,其中一些可能具有球形形状看起来像结节。为了排除这些干扰因素,最方便的方法是在检测阶段抽出肺部mask并且忽略所有其他组织。对于每个切片,使用高斯滤波器(标准差=1pixel)对2D图像进行滤波,然后使用-600作为阈值(图3b)。所有小于30 mm2或偏心率大于0.99(与某些高亮度径向成像噪声相对应)的2D连接组件都会删除。然后,计算所得二进制3D矩阵中的所有3D连接的分量,仅保留那些不接触矩阵角且体积在0.68 L和7.5 L之间的分量。
在此步骤之后,通常只剩下一个对应于肺的二元成分,但有时也存在一些分散注意力的成分。与那些分散注意力的成分相比,肺部成分始终位于图像的中心位置。对于组件的每个切片,我们计算从它到图像中心(MinDist)及其区域的最小距离。然后,选择组件中面积> 6000 mm2的所有切片,并计算这些切片的平均MinDist。如果平均MinDist大于62毫米,则删除此组件。然后合并其余的组件,代表肺部mask(图3c)。
在某些情况下,肺部在顶层与外部世界相连,这使得上述步骤无法将肺部与外部世界分开。因此,需要先将这些切片除去以进行上述操作处理工作。
2)凸包和扩张:
有一些结节在肺部的外壁,它们不包括在上一步获得的mask中,这是不希望的。为了将它们保留在mask中,一种便捷的方法是计算mask和凸包,但是直接计算convex hull of the mask将包含太多无关的组织(例如心脏和脊柱)。因此,在使用以下方法进行凸包计算之前,首先将肺部mask分成两个部分(大约对应于左右肺部)。肺部mask被反复侵蚀直到它被分成两部分(它们的体积将相似),它们是左右肺的中部。然后,将这两个分量扩展回原始大小。它们与原始mask的交点现在分别是两个肺部的mask(图3d)。对于每一个mask,大多数2D切片被替换为它们的凸包,包括上面提到的那些结节(图3e)。生成的mask将进一步由10个体素散布,以包含一些周围空间。通过合并两个肺部的mask,可以获得完整的mask(图3f)。
但是,肺下部的一些2D切片具有月牙形状(图4).它们的凸包可能包含太多多余组织。因此,如果凸包的面积为2Dmask大于mask本身的1.5倍,则保留原始mask。
3)强度归一化:
为了准备用于深层网络的数据,我们将图像从HU转换为UINT8。 首先将原始数据矩阵裁剪为[-1200,600],然后线性转换为[0,255]。 然后将其乘以上面获得的完整mask,并将mask外部的所有内容填充为170,这是常见组织的亮度。另外,对于之前由膨胀产生的空间步骤,也将所有大于210的值也替换为170。由于周围区域包含一些骨骼(高亮度组织),因此很容易将它们误分类为钙化结节(也是高亮度组织)。 我们选择用170个骨头填充骨骼,以使它们看起来像正常组织(图3g)。图像在所有3个维度上都进行了裁剪,因此每边的边距为10个像素(图3h)。
3D CNN用于检测可疑结节。 它是RPN的3D版本,使用经过修改的U-net [37]作为骨干模型。 由于此任务中只有两个类别(结节和非结节),因此预测的建议将直接用作检测结果,而无需其他分类器。 这类似于一级检测系统YOLO [14]和SSD [15]。 这种结节检测模型简称为N-Net,其中N代表结节。
A.基于patch的训练输入
对象检测模型通常采用基于图像的训练方法:在训练过程中,整个图像用作模型的输入。但是,由于GPU内存的限制,这对于我们的3D CNN是不可行的。如果将肺部扫描的分辨率保持在较高水平,那么即使是单个样本,其消耗的内存也要比主流GPU的最大内存更多。
为了克服这个问题,从肺部扫描中提取了小的3D patch 并将其分别输入到网络。patch的大小为128×128×128×1(高度×长度×宽度×通道,以下使用相同的符号)。随机选择两种patch,首先,选择70%的输入,以便它们至少包含一个结节。其次,有30%的输入是通过肺部扫描随机获得的,可能不包含任何结节。后一种输入可确保覆盖足够的负样本。
如果patch超出了肺部扫描的范围,则其值170会被填充,与预处理步骤相同。结节目标不一定位于patch的中心,但距patch边界的边距大于12像素(少数结节太大)。
数据扩充用于缓解过度拟合的问题。patch随机左右翻转,并按0.8到1.15的比例调整大小。还尝试了其他增强功能,例如轴交换和旋转,但没有取得明显的改善。
B.网络结构
检测器网络由U-Net [37]主干和RPN输出层组成,其结构如图5所示。U-Net主干使网络能够捕获多尺度信息,这是必不可少的,因为其大小的结节变化很大。 RPN的输出格式使网络可以直接生成建议。
网络主干具有前馈路径和反馈路径(图5a)。前馈路径始于两个均具有24个通道的3×3×3卷积层。然后是四个3D残差块,与四个3D最大池化层交错(大小为2×2×2,跨度为2)。每个3D残差块(图5b)由三个残差单元组成。剩余单元的架构如图5b所示。前馈路径中的所有卷积核都具有3×3×3的核大小和1的填充。
反馈路径由两个反卷积层和两个组合单元组成。每个反卷积层的步幅为2,内核大小为2。每个合并单元将前馈Blob和反馈Blob连接起来,并将输出发送到残差块(图5c)。在左侧的组合单元中,我们将位置信息作为额外的输入进行介绍(有关详细信息,请参阅第IV-C节)。该组合单元的特征图大小为32×32×32×131。其后分别有两个1×1×1卷积分别为64和15的卷积,输出结果为32×32×32×15。
将4D输出张量调整为32×32×32×3×5。最后两个维度分别对应于anchors和回归点。在RPN的启发下,该网络在每个位置都有三个不同比例的anchors,分别对应于三个bounding box,它们的长度分别为10、30和60 mm。因此总共有32×32×32×3个anchors。五个回归值是
激活函数被用于第一个,其他的不用激活函数。激活函数为:
C.位置信息
建议的位置可能还会影响对它是否是小结节以及是否是恶性肿瘤的判断,因此我们还将位置信息引入网络中。 对于每个图像块,我们计算其对应的位置裁切,该裁切与输出特征图一样大(32×32×32×3)。 位置crop具有3个特征图,它们对应于X,Y,Z轴上的标准化坐标。 在每个轴中,将每个轴中的最大值和最小值分别归一化为1和-1,它们分别对应于分段肺的两端。
D. 损失函数
用(Gx,Gy,Gz,Gr)表示目标结节的ground truth,用(Ax,Ay,Az,Ar)表示anchors的bounding box,其中前三个元素表示中心点的坐标框,最后一个元素表示边长。 联合交叉口(IoU)用于确定每个anchors的标签。 IoU的目标结节大于0.5和小于0.02的anchors分别被视为正样本和负样本。 其他的在训练过程中被忽略了。anchors的预测概率和标签分别用p^和P表示。 注意p∈{0,1}(负样本为0,正样本为1)。 然后通过以下方式定义此框的分类损失:
边界框回归标签定义为:
相应的预测分别为 dx,dy, dz,dr。 总的回归损失定义为:
损失的度量是平滑的L1-范数函数:
每个anchors的损失函数定义为:
该方程式表明回归损失仅适用于正样本,因为仅在这些情况下p =1。总损失函数是某些选定anchors的损失函数的平均值。 我们使用正样本平衡和负样本进行选择(请参阅下一部分)。
E.正样本平衡
对于一个大结节,有许多相应的anchors。 为了减少训练样本之间的相关性,在训练阶段仅随机选择其中一个样本。 尽管我们从LUNA中删除了一些非常小的结节,但结节大小的分布仍然高度不平衡。 小结节的数量比大结节的数量大得多。 如果使用统一采样,则经过训练的网络将偏向小结节。 这是不希望的,因为大结节通常比小结节更强。 因此,在训练集中增加了大结节的采样频率。 具体而言,大于30 mm和40 mm的结核的采样频率分别是其他结核的2倍和6倍。
F.负样本挖掘
负样本比正样本多得多。尽管大多数负样本都可以通过网络轻松分类,但其中一些样本的结节外观相似,很难正确分类。 负样本挖掘是对象检测中的一种常见技术,用于解决此问题。 我们在训练中使用简单的在线版本的硬否定挖掘。
首先,通过将patch输入到网络,我们获得输出图,该输出图代表一组具有不同置信度的提议边界框。其次,随机选择N个负样本以形成候选库。第三,该池中的负样本根据其分类置信度得分按降序排序,然后选择前n个样本作为硬性负样本。其他负样本将被丢弃,并且不包括在损失计算中。使用随机选择的候选库可以减少负样本之间的相关性。通过调整候选池的大小和n的值,可以控制硬负需要的强度。
然后,我们根据检测到的结节评估候选者的癌症可能性。对于每个目标,根据其在N-Net中的置信度分数挑选出五个建议。作为一种简单的数据扩充方法,在训练过程中,会随机选择建议。结节被选取的概率与其信度分数成正比。但是在测试过程中,直接选择了前五个建议。如果检测到的候选数量少于五个,则使用几个空白图像作为输入,因此数量仍为五个。
由于训练样本的数量有限,因此建立一个独立的神经网络来做到这一点是不明智的,否则将导致过度拟合。一种替代方法是重新使用在检测阶段训练的N-Net。
对于每个选择的建议,我们都裁剪一个以结节为中心的96×96×96×1patch(注意,该patch小于检测阶段的patch),将其馈送到N-Net,并获得最后的卷积层N-Net的大小为24×24×24×128。提取每个方案的中央2×2×2体素并对其进行最大池化,从而获得128-D特征(图6a)。为了从单个病例的多个结节获得单个评分,探索了四种整合方法(见图6b)。
A. Feature combining method
首先,将所有前五个结节的特征馈送到完全连接的层,以提供五个64-D特征。 然后,通过最大池合并将这些功能组合在一起以提供单个64-D功能。 然后将特征向量馈送到第二个完全连接的层,该第二个完全连接的层的激活函数为S型函数,以获取病例的癌症可能性(图6b的左图)。 如果结节之间存在某些非线性相互作用,则此方法可能有用。 缺点是在整合步骤中缺乏可解释性,因为每个结节与癌症发生率之间没有直接关系。
B. MaxP method
前五个小结节的特征分别送入具有64个隐藏单元和一个输出单元的同一两层感知器中。 最后一层的激活函数也是sigmoid函数,它输出每个结节的癌变概率。 然后将这些概率中的最大值作为案例的概率。 与特征合并方法相比,该方法为每个结节提供了解释能力。 然而这种方法忽略了结节之间的相互作用。 例如,如果患者有两个结节,两个结节均具有50%的癌症几率,那么医生将推断出总体癌症几率远大于50%,但模型仍将给出50%的预测。
C.Noisy-or method
为了克服上述问题,我们假设结节所患癌症的原因独立,任何人的恶性肿瘤都会导致癌症。 像最大概率模型一样,每个结节的特征都首先馈入两层感知器以获取概率。 最终的癌症可能性为[13]:
其中Pi代表第i个结节的癌症概率。
D. Leaky Noisy-or method
Noisy-or方法和MaxP方法存在问题。 如果患者患有癌症,但检测网络遗漏了一些恶性结节,则这些方法会将癌症原因归因于那些已检测到但是是良性的结节,这将增加数据集中其他类似良性结节的概率。 显然,这没有任何意义。 我们介绍了一个设定的假性结节,并定义了Pd作为其癌变的可能性[13]。 最终的癌症可能性变为:
Pd在训练过程中自动学习,而不是手动调整。
该模型用作我们的默认模型,称为C-Net(C代表大小写)。
E.训练步骤
标准的交叉熵损失函数用于案例分类。由于存储器的限制,每种情况的结节的边界框被预先产生。然后在这些预生成的边界框上训练分类器,包括共享的特征提取层(NNet部分)和集成层。由于N-Net很深,并且3D卷积核的参数比2D卷积核的参数更多,但是用于分类的样本数量有限,该模型倾向于过度拟合训练数据。为了解决这个问题,采用了两种方法:数据扩充和交替训练。 3D数据增强比2D数据增强功能更强大。例如,如果仅考虑翻转和轴交换,则在2D情况下有8个变体,而在3D情况下有48个变体。具体来说,使用以下数据增强方法:(1)在3个方向上随机滑动(2)在0.75和1.25之间的随机数调整大小,(3)在3D中旋转任意角度,(4)在3个方向上移动随机距离小于半径的15%。缓解过度拟合的另一种常用方法是使用一些适当的调节器。在此任务中,由于卷积层由检测器和分类器共享,因此这两个任务自然可以互为调节器。因此,我们在检测器和分类器上交替训练模型。
训练过程非常不稳定,因为每个GPU的批处理大小仅为2,并且训练集中有许多异常值。因此,梯度裁剪用于训练的后期阶段,即,如果梯度向量的l2范数大于1,则将其标准化为1。
网络中使用批处理规范化(BN)[40]。但是在替代训练中直接应用它是有问题的。在训练阶段,将计算批内的BN统计信息(激活的平均值和方差),而在测试阶段,将使用存储的统计信息(运行平均值统计信息)。备用训练方案将使移动平均值不适用于分类器和检测器。首先,它们的输入样本不同:分类器的patch大小为96,检测器的patch大小为128。其次,patch的中心始终是分类器的建议,但是图像是为检测器随机裁剪的。因此,这两个任务的平均统计信息可能会有所不同,并且运行平均统计信息可能会处于中间点,并且会降低这两个任务在验证阶段的性能。为了解决这个问题,我们首先训练分类器,使BN参数适合分类。然后在备用训练阶段,这些参数将被冻结,即在训练和验证阶段,我们都使用存储的BN参数。
总而言之,训练过程分为三个阶段:(1)从训练有素的检测器转移权重并以标准模式训练分类器;(2)使用梯度下降训练分类器,然后锁定BN参数;(3)训练梯度裁剪和存储的BN参数交替进行分类和检测的网络。该训练方案对应于表I中的A→B→E。
A. 结节检测
由于我们的检测模块旨在在训练过程中忽略非常小的结节,因此LUNA16评估系统不适合评估其性能。 我们在DSB验证集上评估了性能。 它包含来自198个病例的数据,总共有71个(排除了7个小于6毫米的结节)。FROC曲线如图7a所示。 每次扫描的1 / 8、1 / 4、1 / 2、1、2、4、8假阳性的平均召回率为0.8562。
当选择了不同的top-k值时,我们还计算了召回率(图7b)。 结果表明,k = 5足以捕获大多数结节。
B. 结节分类
为了选择训练方案,我们重新排列了训练集和验证集,因为我们凭经验发现原始训练和验证集存在显着差异。 原始训练集的四分之一用作新的验证集。 其余的与原始的验证集结合形成新的训练集。
如第V-E节所述,在训练期间使用了四种技术:(1)数据扩充,(2)梯度下降,(3)交叉验证,(4)锁定BN参数。在新的验证集上探索了这些技术的不同组合(在表I中用A,B … E表示)和阶段的不同顺序。发现A→B→E方案表现最佳。比赛结束后,我们仍然可以将结果提交给评估服务器,因此我们在测试集中评估了训练方案。表I显示了测试集上的结果(模型是在训练集和验证集的结合上进行训练的)。结果发现,A→B→E确实是许多方案中最好的方案。
从表I的块1,我们可以得出几个结论。首先,如果没有数据扩充,该模型将严重拟合训练集。第二,交替训练显着提高了性能。第三,梯度下降和BN锁定在这些方案中不是很有用。
从表I的第2块中可以发现,当我们对阶段A(A→B)的结果进行求解时,下降是有用的。交叉验证对于进一步确定模型(A→B→D)很有用。另外,引入BN锁定技术进一步改善了结果(A→B→E)。表I的方框3显示了比赛中前四名球队的表现。
分数非常接近。但是我们用一个模型就获得了最高分。表二显示了不同的多结节信息整合模型的结果。
使用替代训练方法(表I中的配置C)对模型进行了训练。这三种基于概率的方法比特征组合方法要好得多。 Leaky Noisy-or模型表现最好。训练和测试集上的预测癌症概率分布如图8a,b所示。通过改变阈值,在每个组上获得了接收器工作特性(ROC)曲线(图8c,d)。在训练集和测试集上,ROC曲线下的面积(AUC)分别为0.90和0.87。如果将阈值设置为0.5(如果预测的概率高于阈值,则分类为癌症),训练集和测试集的分类准确度分别为85.96%和81.42%。如果我们将阈值设置为1(所有病例均被预测为健康),则在训练集和测试集上的分类准确率分别为73.73%和69.76%。
几种病例的分类结果如图9所示。对于两个真实阳性病例(病例1和2),模型正确地预测了两个病例的高癌症可能性。病例1的肿瘤非常大(结节1-2),这导致了很高的癌症发病率。病例2有几个中型结节,其中三个有重要意义
本文提出了一种基于神经网络的肺癌自动诊断方法。设计了3D CNN来检测结节,并使用泄漏噪声或模型来评估每个检测到的结节的癌症几率并将它们组合在一起。在初赛中,整个系统在癌症分类任务上取得了非常好的成绩。
提议的泄漏噪声或网络可能会在医学图像分析中发现许多应用。许多疾病的诊断始于图像扫描。图像中显示的病变可能与疾病有关,但关系不确定,与本研究中研究的癌症预测问题的情况相同。泄漏噪声或模型可用于整合来自不同病变的信息以预测结果。它也减轻了对高精度细刻度标签的需求。
将3D CNN应用于3D对象检测和分类面临两个难题。首先,随着模型大小的增加,模型将占用更多的内存,因此运行速度,批处理大小和模型深度都受到限制。我们设计了一个较浅的网络,并使用图像patch而不是整个图像作为输入。其次,3D CNN的参数数量比具有类似架构的2D CNN的参数数量大得多,因此该模型倾向于拟合训练数据。数据扩充和备用培训可用来缓解该问题。
有一些潜在的方法可以改善建议模型的性能。最直接的方法是增加训练样本的数量:1700例病例太少,无法涵盖结节的所有变异,而经验丰富的医生会在他的职业生涯中看到更多的病例。其次,合并结节的分割标签可能是有用的,因为已经证明分割和检测任务的共同训练可以提高两个任务的性能[42]。
尽管许多团队在本次癌症预测比赛中均取得了不错的成绩,但这项任务本身对临床明显存在局限性:未考虑结节的增长速度。实际上,快速增长的结核通常很危险。为了检测生长速度,需要在一个时期内多次扫描患者,并检测所有结节(不仅是大结节,还要是小结节)并按时间排列它们。尽管在这项工作中提出的方法对于小结节并没有追求较高的检测精度,但是可以为此目的对其进行修改。例如,可以添加另一个解池层以合并更精细的信息并减小anchors的大小。