zl程序教程

您现在的位置是:首页 >  Java

当前栏目

Shifts Challenge 2022——评估真实数据的稳健性和不确定性

2023-02-18 16:34:20 时间

今天将分享多模态MR多发性硬化症分割完整实现版本,为了方便大家学习理解整个流程,将整个流程步骤进行了整理,并给出详细的步骤结果。感兴趣的朋友赶紧动手试一试吧。

一、Shifts Challenge 2022介绍

多发性硬化症 (MS) 是一种使人衰弱、无法治愈和发展的中枢神经系统疾病,对个人的生活质量产生负面影响。据估计,每五分钟就有一个人被诊断出患有 MS,到 2020 年将达到 280 万例,并且 MS 在女性中的患病率是男性的 2 到 4 倍。磁共振成像(MRI)在疾病诊断和随访中起着至关重要的作用。但是,人工注释成本高、耗时且容易出错。基于机器学习的自动方法可以在跟踪 MS 病变时引入客观性,并提高效率。但是,用于机器学习方法训练图像的可用性是有限的。没有完全描述病理学的异质性的公开可用数据集。此外,MRI 扫描仪供应商、配置、成像软件和医务人员的变化导致成像过程的显著变化。在从多个医疗中心收集图像时这些差异会加剧,这表示了基于 ML 的 MS 检测模型的显著分布偏差,从而降低了自动化模型在真实情况下的适用性和稳健性。开发稳健的 MS 病变分割模型对于提高越来越多的 MS 患者可获得的医疗护理的质量和吞吐量是必要的。降低自动化模型在现实条件下的适用性和稳健性。开发稳健的 MS 病变分割模型是非常必要的,这给越来越多的多发性硬化症患者提高了医疗服务的质量。

二、Shifts Challenge 2022任务

在磁共振图像 (MRI) 中分割多发性硬化症 (MS) 的白质病变 (WML)。这涉及生成 3D 每体素分割掩码,将每个体素识别为病变组织或非病变组织。

三、Shifts Challenge 2022数据集

预处理:包括去噪、将T1加权配准到FLAIR后的头骨剥离、偏置场校正和插值到1mm等体素空间。真实掩码也被插值到1mm等体素空间,并作为多个专家注释器的共识获得(并且作为 Best 和 Lausanne 的单个掩码,它们只有 2 个注释器)。

数据分为:域内拆分: Trn(训练)、Evl_in(评估)和 Dev_in(开发);分布外转移拆分:Dev_out(转移开发)和 Evl_out(转移评估)。

文件结构:第一级目录代表源数据集的划分。二级目录代表拆分。为了获得完整的训练集,结合来自 ISBI/Trn/ 和 MSSeg/Trn 的数据。第三级目录包含模态:FLAIR、gt(ground truth)、fg_mask(foreground mask)、T1(T1-weighted)。

四、技术路线

分析三个中心的多模态MR数据,采用T1,T2,Flair三个模态作为输入来预测多发性硬化症病变区域。

1、提取人脑ROI,由于数据都是预处理完的,根据头骨区域Mask的最大连通域分析得到人脑ROI区域。

2、分析ROI的平均大小是136x167x133,平均spacing大小是1x1x1,因此将图像缩放到固定大小160x176x160,然后对图像进行像素范围(1,99)的截断,再使用z-score方式对图像进行归一化处理。数据一共有98例,其中88例用于训练,10例用于验证,对训练集数据进行10倍数据增强(旋转,翻转操作)。

3、搭建VNet3d网络,使用AdamW优化器,学习率是0.001,batchsize是3,epoch是200,损失函数采用二值dice和ce。

4、训练结果和验证结果

5、验证集分割结果

左图是金标准结果,右图是预测分割结果。

为了方便大家更高效地学习,我将代码进行了整理并更新到github上,点击原文链接即可访问。由于之前都是使用tensorflow1.14的进行代码实验开发的,为了方便pytorch的朋友们也可以复现实验结果,我将tensorflow版本的代码翻译转换成pytorch版本的。

如果大家觉得这个项目还不错,希望大家给个Star并Fork,可以让更多的人学习。如果有任何问题,随时给我留言我会及时回复的。