今天将分享MRI中风病灶分割完整实现版本,为了方便大家学习理解整个流程,将整个流程步骤进行了整理,并给出详细的步骤结果。感兴趣的朋友赶紧动手试一试吧。
一、比赛介绍
准确的病灶分割在中风康复研究中对于量化病灶负担和准确的图像处理至关重要。目前常用于康复研究的 T1 加权 (T1w) MRI 的自动病灶分割方法缺乏准确性和可靠性。手动分割仍然是黄金标准,但它耗时、主观,并且需要大量的神经解剖学专业知识。ATLAS v2.0 (N=955)是一个更大的 T1w 中风 MRI 数据集和手动分割的病灶掩模,其中包括训练(公共)和测试(隐藏)数据。使用这个更大样本的算法开发应该会产生更强大的解决方案,隐藏的测试数据允许通过分段挑战进行无偏见的性能评估。
二、比赛任务
为 T1w MR 图像自动生成病变分割掩模。任务分为两个阶段:预测评估和算法评估。在第一阶段,参与者提交他们对分布式测试集的预测。第二,参与者将通过 Docker 容器提交他们的分割模型(“算法”),然后使用该容器生成对隐藏集的预测。
评估指标:Sørensen-Dice 系数,精确,灵敏度,特异性。
三、比赛数据集
该数据集由 955 个 T1 加权 MR 扫描组成,分为 655 名受试者的训练集和 300 名受试者的测试集。训练集包含完整的分割标签,但测试集仅包含图像。
四、技术路线
1、人脑ROI区域提取,由于病灶都是在人脑内部的,其余都是背景,为了减少背景对分割效果的影响,首先要对人脑区域进行提取。具体步骤如下:通过阈值分割(1,2000)对图像进行二值化分割,然后采用核大小是5的形态学开操作对二值图像进行处理,再使用最大连通域分析得到人体区域,分析得到人体的bounding box。根据这个bounding box将原始图像和标注图像的ROI提取出来。
2、分析步骤1ROI图像信息,得到图像平均大小是,因此将图像缩放到固定大小128x128x96。
3、图像预处理,对步骤2的原始图像进行(5%,95%)截断,然后采用均值为0,方差为1的方式进行归一化处理。然后将数据分成训练集和验证集,对训练集做5倍数据增强处理。
4、搭建VNet3d网络,使用Adam优化器,学习率是0.001,batchsize是1,epoch是40,损失函数采用二分类的dice。
5、训练结果和验证结果
训练损失和精度
验证损失和精度
6、测试结果
验证集部分结果,左图是金标准结果,右图是预测结果。
测试集部分结果
为了方便大家更高效地学习,我将代码进行了整理并更新到github上,点击原文链接即可访问。由于之前都是使用tensorflow1.14的进行代码实验开发的,为了方便pytorch的朋友们也可以复现实验结果,我将tensorflow版本的代码翻译转换成pytorch版本的。
如果大家觉得这个项目还不错,希望大家给个Star并Fork,可以让更多的人学习。如果有任何问题,随时给我留言我会及时回复的。