python cnn识别图像_用CNN识别CT图像检测肺癌
本文介绍了使用3D卷积神经网络(CNN)在CT图像中检测肺癌的方法。研究基于Kaggle的竞赛数据,采用LUNA16数据集和NDSB数据集,通过数据预处理、模型训练和多任务学习,构建了结节检测和恶性程度预测系统。研究重点包括数据预处理、U-net网络用于奇怪组织检测、多任务学习方法(分类与恶性程度预测)以及模型在不同尺度上的检测性能。最终模型在检测较大结节和预测恶性程度方面表现良好。
用CNN识别CT图像检测肺癌
概要
2017年Kaggle数据科学竞赛中获得第二名的Julian de Wit分享了一份解决方案。Julian de Wit与Daniel Hammack基于深度学习技术开发了肺结节探测器,用于评估患癌风险。开发环境使用Windows版的Tensorflow和Keras库。
Kaggle竞赛提示参赛者可参考LUNA16竞赛。该竞赛基于公开数据集LIDC-IDRI,经800名临床医生对1000个肺结节进行详细标注。研究团队通过从CT图像中标记区域提取小型三维切片,并建立与结节标记的对应关系,利用神经网络学习提取的特征,训练模型以识别肺结节。该模型可评估结节的恶性可能性。在预测阶段,通过滑动窗口遍历CT图像,评估每个窗口区域的恶性可能性。

在数据预处理阶段,构建训练数据集。
数据预处理
在预处理阶段,首先对CT图像进行缩放操作,以确保每个像素点仅代表

首先,计算并输出的体积值;随后,将CT图像的像素强度转换为Hounsfield单位(HU)值,并在此基础上进行归一化处理;最后,确保所有CT图像均具有相同的方向。
训练集构建
本研究旨在通过U-net网络实现肺部区域的分割。通过分析CT图像的肺组织边缘信息,构建相应的分割框架,从而实现对肺结节的识别。

上图为带有标记的不同数据集。
在分割掩膜边缘进行采样标注,从而分割得到肺部组织。
在初次训练阶段,我们基于LUNA16数据集进行结节预测任务,成功获得了所有假阳性结节,并将这些结节纳入LUNA16 V2数据集进行后续处理。随后,我们对NDSB数据集中的癌症样本阳性结节以及非癌症样本的假阳性结节进行了手动标注。在此基础上,我们训练了第二个模型,但其表现欠佳。然而,将两个模型集成后,效果较单一模型有所提升,因此,我们保留了第二个模型作为备用方案。
开发一个结节观察器,用于调试所有标记。LIDC数据集的说明文档指出,医生被指示忽略大小超过3厘米的结节,但担心这些被忽略的结节可能会影响分类器的准确性,因此删除了与这些结节重叠的区域。

上图展示了CT图像中的标记区域。具体来说,左上方区域为LUNA16 V2的数据显示结果,右上方为非肺组织的边缘区域,左下方为系统识别的假阳性区域,右下方为被系统自动识别并移除的无标注区域,通常用于清理图像中的噪声或非感兴趣区域。
3D卷积神经网络的训练方法和网络结构
数据集中的正负两类样本数量比为5000与500000,此外正面样本在大小和形状上存在显著差异。基于此,在CT图像的window中设计小型的3D卷积神经网络。
旨在训练一个基础的结节检测器模型。在训练过程中,首先对正例进行过采样(upsample),将正反两类样本的比例调整为1:20;随后实施一系列图像增强措施,以增强模型的泛化能力。
在完成分类器的设计后,我们采用回归模型对肿瘤的恶化程度进行预测。我们将肿瘤的恶化程度划分为1级(极有可能为良性)至5级(极有可能为恶性)。为了突出肿瘤的恶化程度,我们对原始划分结果进行平方运算,使范围扩展至0至25。我们的研究计划是使用同一个神经网络架构,通过多任务学习方法同时完成分类预测和肿瘤恶化程度估计两个目标。
基于C3D神经网络(采用VGG-style网络架构)构建了最终的分类评估网络。首先,将输入的尺寸配置为32×32×32毫米;随后,对Z轴方向执行average pooling操作;最后,在网络的输出层引入Bottleneck特征。
注:此处不是直接预测恶性肿瘤,而是输出结节的恶化程度。

上图为3D卷积神经网络结构示意图。
奇怪组织(strange tissue)检测器
当肺结节发生癌变时,其可能表现为肺部肿块或更复杂的结构。在CT扫描图像中,若发现大量“不规则组织”,则提示存在癌症风险。然而,在现有的结节检测程序中,对于CT图像中存在大量“不规则组织”的情况,该系统无法识别任何结节。因此,这一缺陷将导致较高的误诊率。
基于LUNA16训练集上的U-net$网络,构建了检测器,但其实现效果提升幅度有限。
在源码中,作者采用了部分LUNA16数据集和NDSB数据集,此外还引入了53个额外数据集(这些数据集来自本文提到的吸烟者肺部CT图像),基于U-Net模型开发一种高效的肿块检查器系统。
癌症预测
在之前的处理流程中,存在一个主要缺陷:未能检测到一些较大的、明显的病变结节。为此,我们采用了双尺度降采样技术,对CT图像分别在1x、1.5x和2x的分辨率下进行预测。

上图中左图显示大结节未被有效识别,通过将图像放大至原尺寸进行处理;右图的检测效果显著,通过将图像放大两倍的方式实现了更清晰的观察。图中标注的矩形框用于标识发现的恶性肿瘤。
引入辅助特征,开发梯度提升分类模型,其中包含7个关键特征,旨在预测一年内患者是否患癌。
主要由两个模型组成:
第一个模型基于所有的LUNA16数据集构建而成;
第二个模型是通过在NDSB3数据集中筛选出疑难病例和假阳性病例,采用主动学习机制构建过程完成的。
