使用人工智能和计算机视觉检测癌症生长

AI for social good: applications in medical imaging

Cover image from unsplash.com

介绍

乳腺癌是妇女中最致命的癌症之一。根据世界卫生组织(WHO)的数据,在2020年,全球约有230万例新的浸润性乳腺癌病例,导致68.5万人死亡。

尽管发展中国家占所有乳腺癌病例的一半,但它们却占导致乳腺癌死亡的62%。在诊断后至少5年存活的乳腺癌患者的生存率从高收入国家的90%以上,到印度的66%和南非的40%。

图1:病理学家进行乳腺癌转移检测的各个步骤 | 左上:来自Camelyon17挑战的图像 | 右上:来自unsplash.com的图像 | 中心:来自unsplash.com的图像 | 左下和右下:作者的图像

确定癌症所处的阶段的关键步骤是通过对毗邻乳腺的淋巴结进行显微镜检查,以了解癌症是否转移(医学术语,意思是扩散到身体的其他部位)。这一步不仅敏感,耗时费力,而且需要高技能的医学病理学家。它影响与治疗相关的决策,包括放射治疗,化疗以及可能切除更多淋巴结。

随着人工智能和计算机视觉技术的出现和发展,特别是卷积神经网络(CNN),我们已经能够在广泛的计算机视觉任务,如图像识别,物体检测和分割方面提高准确性。这些在解决一些最具挑战性的医疗保健问题方面非常有益,特别是在访问先进医疗设施有限的地区。

基于此,本文将介绍一个利用最先进的CNN和计算机视觉技术的框架,以帮助检测淋巴结转移。成功的解决方案有望减轻病理学家的工作量,同时减少诊断的主观性。

方法和途径

给定淋巴结切片的全幅图像,我们的目标是生成一个掩模,指示该部分的潜在癌变区域(带肿瘤的细胞)。图2显示了一个组织在幻灯片上的图像以及一个掩模的示例,其中黄色区域表示组织中的癌变区域。

图2:左侧:数据集中的WSI | 右侧:二进制掩模,黄色区域表示癌变区域——作者的图像

图像分割是经典的计算机视觉任务之一,其目的是训练神经网络输出像素级图像的掩模(类似于图2中的掩模)。有几种用于图像分割的深度学习技术在本文中进行了详细描述。 Google的TensorFlow也有一个很好的教程,使用编码器-解码器方法进行图像分割。

我们将不使用通常用于图像分割问题的编码器-解码器,而是将其视为二元分类问题,其中将自定义定义的切片区域分类为健康或有肿瘤,使用神经网络。这些整个幻灯片图像的单个区域可以缝合在一起以得到所需的掩模。

我们将使用标准的ML过程构建CV模型:数据收集→预处理→训练-测试拆分→模型选择→微调和培训→评估

数据收集和预处理

数据集来自CAMELYON16挑战赛,挑战网站显示该数据集共包含400个来自荷兰Nijmegen的Radboud大学医学中心和Utrecht的荷兰大学医学中心的哨兵淋巴结的整张切片图像(WSIs)。

整个切片图像以多分辨率金字塔结构存储,每个图像文件包含原始图像的多个降采样版本。金字塔中的每个图像都存储为一系列平铺,以便快速检索图像的子区域(见图3)。

可在此处找到有关整个切片成像的更多信息。

幻灯片的地面真相由WSI二进制掩模提供,指示幻灯片中包含肿瘤细胞的区域(如上图2所示)。

图3:整个切片成像(WSI)中不同放大级别的说明。图片来源于https://camelyon16.grand-challenge.org/Data/

我们数据集中的WSI具有8个缩放级别,允许我们将图像从1x缩放至40x。级别0被视为最高分辨率(40x),级别7是最低的(1x)。

由于它们的巨大尺寸(我们数据集中的每个WSI都超过2GB),标准图像工具无法将它们读取和压缩到系统RAM中。我们使用了Python中OpenSlide库的实现来高效地读取我们数据集中的图像,并提供了一个界面来浏览不同的缩放级别。

图4- 作者提供的图像

在400个WSI的整个数据集上训练CNN在计算上非常昂贵(想象一下在800GB数据集上训练2 x 400 = 800GB)。我们有免费的Google Collab的免费版,其中有限的GPU支持可用。因此,我们从数据集中随机抽取了22个WSI进行子抽样。一开始,一组22个图像可能看起来像是一个微小的数据集,无法准确地训练卷积神经网络,但正如我之前提到的,我们从这些巨大的WSI中提取小补丁,并将每个补丁视为一个独立的图像,可以用于训练我们的模型,如图5所示。

图5:每个WSI都被进一步分成较小的补丁以增加数据集-作者提供的图像

在最高放大级别(级别0=40倍放大)下,每个图像大约为62000 x 54000像素-从WSI中提取299 x 299大小的补丁将给我们大约35,000个独立的图像。我们从每个缩放级别提取补丁。随着缩放级别的增加,分辨率降低,我们可以从WSI中提取的补丁数量也会减少。在第7级,我们可以从每个图像中提取不到200个补丁。

此外,每个WSI都有很多没有组织细胞的空白区域。为了保持数据的准确性,我们避免使用组织细胞少于30%的补丁,这是通过使用灰色区域的密集计算程序计算的。

数据集被平衡,以包含健康和肿瘤细胞的补丁数量大致相同。这个最终数据集进行了80-20的训练集和测试集分割。

模型训练

我们构建了多个CNN模型,这些模型是使用上一节中描述的机制生成的图像补丁进行训练的。

目标函数

我们的主要优化目标是灵敏度和召回率,但我们也密切监测接收器操作特性 (ROC) 下的曲线下面积 (AUC),以确保我们不会产生过多的假阳性。

在癌症检测的背景下,最重要的是我们要尽量减少假阴性的数量,即模型错误地将癌样本分类为非癌性。大量的假阴性可能会延误确实患有癌症的患者的诊断和治疗。 灵敏度 (或召回率) 衡量正确识别的实际阳性的比例,通过优化高召回率,我们旨在正确识别尽可能多的实际阳性病例。

然而,仅关注灵敏度可能导致模型将大多数样本预测为阳性,从而增加假阳性的数量 (将非癌性样本分类为癌性)。这是不可取的,因为它可能导致不必要的医疗干预并为患者带来不必要的焦虑。这就是监测 AUC-ROC 变得极其重要的地方。

模型构建

我们开始建立的 基线模型 是一个非常简单的架构,由 2 个带有最大池化和丢弃正则化的卷积层组成。为了改善基线,我们对我们的数据集进行了 VGG16 和 Inception v3 等最先进的图像识别模型的微调。

由于我们有不同缩放级别的图像,我们 训练了多个模型,每个模型使用来自一个缩放级别的图像,以查看在特定缩放级别上查看图像是否增强了网络的性能。由于在较低的缩放级别提取的补丁数量有限,这些缩放级别中的 3、4、5 张图像被合并为单个训练集。为 0、1 和 2 缩放级别的图像构建了单独的模型。

Figure 6: Standard Inception v3 model appended with a Global Max Pool Layer and Sigmoid Activation. Inception v3 image sourced from: https://cloud.google.com/tpu/docs/inception-v3-advanced

有趣的是,表现最佳的模型是在 ImageNet 权重上预训练的 Inception v3 模型,附加有额外的全局最大池化层(见图 6)。 Sigmoid 激活函数将任何范围的实数压缩到 0 和 1 之间的范围中。这在我们的场景中特别有用,因为我们希望将预测映射到两个类别(0 和 1)的概率。

模型配置

我们进行了交叉验证以了解模型的最佳超参数。以下显示了我们增强的 ImageNet v3 的最终配置,包括所使用的优化器、学习率、rho、epochs 和批处理大小。通过使用类别权重,我们增强了模型对少数类(肿瘤病例)的关注,提高了其正确识别和诊断癌症病例的能力,这是这种关键健康背景下的一个重要要求。

Figure 7: Model configurations and hyperparameters — Image by the Author

模型评估

我们观察了不同超参数和不同缩放级别的训练运行的损失、AUC 和召回率。

如前所述,3、4、5 缩放级别的图像被合并为单个训练集,并为 0、1 和 2 缩放级别的图像构建了单独的模型。下面的图表显示了不同缩放级别在验证集上的性能。在修改的 Imagenet v3 上,缩放级别 1 的性能在 AUC 和召回率方面最佳。

Figure 8: Configurations and performance of the final fine-tuned model — Image by the Author

推理

一旦模型被微调,我们就可以使用它来为任何新的全幻灯片图像生成“掩码”。为此,我们首先需要从我们感兴趣的缩放级别(1级或2级)的图像中生成299 x 299分辨率(标准Imagenet v3架构的输入尺寸)的块。

然后,将单个图像通过微调的模型进行分类,以识别其是否包含有肿瘤的细胞。然后将这些图像拼接在一起以生成掩码。

下面是我们测试集中两个全幻灯片图像的输出和实际掩码。如您所见,我们模型输出的掩码与实际掩码相当相似。

Figure 9: Model results on a couple of images in the test set — Image by the Author

结论

在本文中,我们探讨了如何微调计算机视觉模型以检测吉各巴尔病在千亿像素病理图像上的转移。下面的图片总结了模型训练和推理过程的工作流程,以分类新图像。

Figure 9: Summary of the training and inference workflow — Image by the Author

这个模型被整合在病理学家现有的工作流程中,可以作为辅助工具,并且在资源能力有限的组织中具有高度的临床相关性,也可以用作诊断潜在疾病的第一线防御,以便及时诊断。

需要进一步研究其对真实临床工作流程和患者结果的影响。尽管如此,我们仍然保持积极的态度,认为经过精心验证的深度学习技术,以及经过深思熟虑的临床工具,有潜力提高全球病理诊断的精度和可访问性。

欢迎访问我的Github查看源代码:https://github.com/saranggupta94/detecting_cancer_metastasis。

您可以在此处找到CAMELYON竞赛的最终结果:https://jamanetwork.com/journals/jama/article-abstract/2665774。

感谢Niti Jain在本文中的贡献。