云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

微软云_云虚拟主机和云服务器的区别_免费6个月

小七 141 0

基于数据库学习的数字化病理图像自动分析

加入我们的网络研讨会,通过深入学习自动分析数字病理图像,了解更多信息并观看现场演示。随着成像技术的进步和新的高效计算工具的出现,数字病理学已经成为研究和诊断领域的中心。全幻灯片成像(WSI)一直处于这一转变的中心,使我们能够迅速数字化病理切片成高分辨率图像。通过使幻灯片可以立即共享和分析,WSI已经提高了可重复性,并支持增强的教育和远程病理服务。如今,在不到一分钟的时间内,以非常高的分辨率对整个幻灯片进行数字化,成本低廉。因此,越来越多的医疗保健和生命科学机构获得了大量数字化幻灯片的目录。这些大数据集可以用来建立机器学习的自动诊断,机器学习可以将幻灯片或其片段分类为表达特定表型,或者直接从玻片中提取定量生物标记物。借助机器学习和深度学习的力量,数千张数字幻灯片可以在几分钟内完成翻译。这为提高病理科、临床医生和研究人员诊断和治疗癌症和传染病的效率和效果提供了巨大的机会。阻碍数字病理工作流程广泛采用的3个常见挑战虽然许多医疗保健和生命科学组织认识到将人工智能应用于整个幻灯片图像的潜在影响,但实现自动幻灯片分析管道仍然很复杂。一个可操作的WSI管道必须能够以低成本处理高吞吐量的数字化仪幻灯片。我们发现有三个共同的挑战阻碍了组织在支持数据科学的情况下实施自动化数字病理工作流程:缓慢且昂贵的数据摄取和工程管道:WSI图像通常非常大(通常每张幻灯片0.5-2GB),并且可能需要大量的图像预处理。难以将深度学习扩展到TB级的图像:在一个包含数百个WSI的适度大小的数据集上训练深度学习模型可能需要数天到数周的时间。这些延迟阻止了对大型数据集的快速实验。虽然可以通过跨多个节点并行化深度学习工作负载来减少延迟,但这是一种高级技术,是典型的生物数据科学家无法企及的。确保WSI工作流程的可重复性:当涉及到基于患者数据的新颖见解时,能够重现结果是非常重要的。目前的解决方案大多是即席的,不允许有效的方法来跟踪实验和机器学习模型训练期间使用的数据版本。在本博客中,我们将讨论如何使用Databricks统一数据分析平台来解决这些挑战,并在WSI图像数据上部署端到端可扩展的深度学习工作流。我们将重点关注一个工作流程,它训练一个图像分割模型来识别幻灯片上的转移区域。在本例中,我们将使用apachespark在图像集合中并行化数据准备,使用pandas UDF跨多个节点基于预先训练的模型(传输学习)提取特征,MLflow用于重复地跟踪我们的模型训练。基于WSI的端到端机器学习为了演示如何使用Databricks平台加速WSI数据处理管道,我们将使用Camelyon16大挑战数据集。这是一个开放存取的数据集,由400张来自乳腺癌组织的TIFF格式的幻灯片图像组成,用于演示我们的工作流程。Camelyon16数据集的子集可以从/Databricks datasets/med images/Camelyon16/(AWS | Azure)下的Databricks直接访问。为了训练图像分类器来检测包含癌症转移的幻灯片区域,我们将运行以下三个步骤,如图1所示:贴片生成:使用病理学家注释的坐标,我们将幻灯片图像裁剪成大小相等的斑块。每个图像可以生成数千个斑块,并标记为肿瘤或正常。深度学习:我们使用转移学习来使用一个预先训练的模型从图像块中提取特征,然后使用apachespark训练二元分类器来预测肿瘤与正常斑块。评分:然后我们使用使用MLflow记录的经过训练的模型,在给定的幻灯片上投射一个概率热图。与用于预处理放射学图像的"人类长寿"工作流类似,我们将使用apachespark来操作幻灯片及其注释。对于模型训练,我们将首先从Keras中使用预先训练的InceptionV3模型提取特征。为此,我们利用Pandas udf来并行化特征提取。有关此技术的更多信息,请参阅Featureization For Transfer Learning(AWS | Azure)。请注意,这项技术不是针对InceptionV3的,可以应用于任何其他预先训练的模型。图1:实现基于WSI数据的DL模型的培训和部署的端到端解决方案图像预处理与ETL使用诸如自动幻灯片分析平台之类的开源工具,病理学家可以以非常高的分辨率导航WSI图像,并对幻灯片进行注释,以标记与临床相关的位置。注释可以保存为XML文件,其中包含站点和其他信息(如缩放级别)的多边形边缘的坐标。为了训练一个在一组真实的幻灯片上使用注释的模型,我们需要加载每个图像的注释区域列表,将这些区域与我们的图像连接起来,并切除注释区域。一旦我们完成了这个过程,我们就可以使用我们的图像补丁进行机器学习。图2:在Databricks笔记本中可视化WSI图像尽管此工作流通常使用存储在XML文件中的注释,但为了简单起见,我们使用的是Baidu研究团队在Camelyon16数据集上构建NCRF分类器的预处理注释。Apache将这些注释作为文本存储到CSV文件中。在下面的笔记本单元格中,我们加载了肿瘤和正常斑块的注释,并将标签0分配给正常切片,1分配给肿瘤切片。然后我们将坐标和标签合并到一个数据帧中。尽管许多基于SQL的系统限制您只能进行内置操作,apachespark对用户定义函数(udf)有着丰富的支持。udf允许您对任何apachespark数据帧中的数据调用自定义Scala、Java、Python或R函数。在我们的工作流中,我们将定义一个Python UDF,它使用OpenSlide库从图像中删除给定的补丁。我们定义了一个python函数,它接受要处理的WSI的名称、补丁中心的X和Y坐标以及补丁的标签,并创建稍后将用于培训的tile。图3。以不同的缩放级别可视化面片然后我们使用OpenSlide库从云存储中加载图像,并分割出给定的坐标范围。虽然OpenSlide本身并不了解如何从amazons3或azuredatalake存储中读取数据,但Databricks文件系统(DBFS)FUSE层允许OpenSlide直接访问存储在这些blob存储区中的数据,而无需任何复杂的代码更改。最后,我们的函数使用DBFS FUSE层写回补丁。此命令从databricks数据集中的Camelyon16数据集生成约174000个补丁大约需要10分钟。一旦我们的命令完成,我们可以加载我们的补丁备份,并直接显示在我们的笔记本电脑。利用转移学习和MLFlow训练肿瘤/正常病理分类器在上一步中,我们生成了补丁和相关的元数据,并使用云存储来存储生成的图像块。现在,我们准备训练一个二元分类器来预测幻灯片的一个片段是否包含肿瘤转移。为此,我们将使用转移学习来使用预先训练的深层神经网络从每个补丁中提取特征,然后使用sparkml进行分类任务。在许多图像处理应用程序中,这种技术常常优于从头开始的训练。我们将从InceptionV3架构开始,使用Keras预先训练的权重。我们可以直接将Apache的所有数据帧加载到一个数据帧中。然后我们使用Pandas udf将图像转换为基于InceptionV3的特征,使用Keras。一旦我们对每个图像进行了特征化,我们使用火花.ml对每个贴片的特征和标签进行逻辑回归拟合。我们用MLFlow记录logistic回归模型,以便以后访问该模型进行服务。在Databricks上运行ML工作流时,用户可以利用托管MLFlow。每次运行笔记本和每轮培训,MLFlow都会自动记录参数、指标和任何指定的工件。此外,它还存储了经过训练的模型,以后可以用来预测数据上的标签。我们向感兴趣的读者推荐这些文档,了解如何利用MLFlow管理数据块上的ML工作流的完整周期。表1显示了在工作流的不同部分花费的时间。我们注意到,在~170K样本上进行模型训练所需时间不到25分钟,准确率为87%。工作流程时间补丁生成10分钟特色工程与培训25分钟计分(每张幻灯片)15秒表1:使用2-10个r4.4xlarge workers使用Databricks ML Runtime 6.2,对从Databricks数据集中包含的幻灯片中提取的170000个修补程序进行运行时由于实际中可能有更多的补丁,使用深度神经网络进行分类可以显著提高精度。在这种情况下,我们可以使用分布式培训技术来扩展培训过程。在Databricks平台上,我们打包了HorovodRunner工具包,它将培训任务分发到一个大型集群中,只需对ML代码进行很小的修改。这篇博客文章提供了一个很好的