今天将分享缺血性中风病变分割完整实现版本,为了方便大家学习理解整个流程,将整个流程步骤进行了整理,并给出详细的步骤结果。感兴趣的朋友赶紧动手试一试吧。
一、ISLES‘22介绍
缺血性卒中的梗死分割在 i) 急性期以指导治疗决策(是否再灌注,以及治疗类型)和 ii) 亚急性期和慢性期对于评估患者的疾病结果至关重要,对于他们的临床跟进并确定最佳治疗和康复策略,以最大化恢复的关键窗口。
ISLES'22 与之前的缺血性卒中挑战版的不同之处在于 i) 不仅针对大面积梗塞病变的描述,而且针对多发栓塞和/或皮质梗塞(通常在机械再通后看到)的描绘,ii) 通过评估前和介入后 MRI 图像和 iii) 通过包含比 ISLES'15(具有类似目标的先前挑战版)多约 3 倍的数据。
从临床角度来看,ISLES'22 侧重于急性栓塞性梗塞模式的临床日益增长的兴趣,包括干预前(即处于非常早期的疾病状态)和干预后(典型的、干预后的亚急性梗塞模式。这一临床问题也从技术角度提出了挑战:将处理更广泛的缺血性中风疾病谱,包括来自多个中心的数据中的可变病变大小和负担、更复杂的梗塞模式和不同解剖位置的病变。
二、ISLES‘22任务
急性和亚急性中风的多模式 MRI 梗死分割,任务是从DWI、ADC和FLAIR的多MRI模态中自动生成病变分割掩码。
三、ISLES‘22数据集
一共提供了250例多模态数据集
评估指标:骰子分数,绝对体积差,绝对病变计数差异,病变F1评分。
四、技术路线
1、分析DWI、ADC和FLAIR三个模态数据
发现只有DWI和ADC与标注Mask是在同一个图像空间分辨率的,此外对于急性期脑梗死影像表现为:DWI呈高信号,ADC呈低信号。所以实验只采用DWI和ADC两个模态图像进行分割处理。
2、人脑ROI区域提取
由于病灶都是在人脑内部的,其余都是背景,为了减少背景对分割效果的影响,首先要对人脑区域进行提取。具体步骤如下:通过阈值分割(0.1,2000)对图像进行二值化分割,然后采用核大小是1的形态学开操作对二值图像进行处理,再使用最大连通域分析得到人体区域,分析得到人脑的bounding box。根据这个bounding box将原始图像DWI,ADC和标注图像的ROI提取出来。
3、分析步骤1的ROI图像信息,得到图像平均大小是75x90x58,因此将图像缩放到固定大小96x96x64。
4、图像预处理,对步骤3的原始图像进行像素范围是(5,95)的截断,然后采用均值为0,方差为1的方式进行归一化处理。然后将数据分成训练集和验证集,对训练集做5倍数据增强处理。
5、搭建VNet3d网络,使用Adam优化器,学习率是0.001,batchsize是3,epoch是40,损失函数采用二分类的dice。
6、训练结果和验证结果
训练损失结果和精度结果
验证损失结果和精度结果
7、测试结果
左图是金标准结果,右图是预测结果。
为了方便大家更高效地学习,我将代码进行了整理并更新到github上,点击原文链接即可访问。由于之前都是使用tensorflow1.14的进行代码实验开发的,为了方便pytorch的朋友们也可以复现实验结果,我将tensorflow版本的代码翻译转换成pytorch版本的。
2022ATLASR2.0中风病灶分割挑战赛此项目的pytorch项目已经整理完成并更新到github上,https://github.com/junqiangchen/ATLAS-R2.0---Stroke-Lesion-Segmentation
如果大家觉得这个项目还不错,希望大家给个Star并Fork,可以让更多的人学习。如果有任何问题,随时给我留言我会及时回复的。