zl程序教程

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

当前栏目

ASOCA2020——冠状动脉分割

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

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

一、ASOCA2020介绍

心血管疾病是全世界死亡的主要原因。计算机断层扫描冠状动脉造影 (CCTA) 是一种非侵入性方法,用于评估冠状动脉疾病,以及评估和重建心脏和冠状血管结构。重建模型具有广泛的教育、培训和研究应用,例如研究患病和未患病的冠状动脉解剖、基于机器学习的疾病风险预测以及医疗设备的计算机和体外测试。然而,冠状动脉由于其尺寸小、位置小和运动小而难以成像,导致分辨率差和伪影。冠状动脉的分割传统上侧重于半自动方法,其中人类专家指导算法并纠正错误,这严重限制了临床系统内的大规模应用和集成。

二、ASOCA2020任务

分割冠状动脉管腔,不包括钙化区域或存在的其他疾病。Dice分数和 95% Hausdorff 距离将用于评估分割结果。

三、ASOCA2020数据集

40个心脏计算机断层扫描血管造影 (CCTA) 的训练集,其中造影剂显示冠状动脉,其中包括20名健康患者和20名确诊冠状动脉疾病的患者。

20个CCTA图像(10个健康图像和10个疾病患者)作为用于评估分割算法的测试集。

四、技术路线

1、由于冠脉是在心脏表面,首先分割提取心脏区域,采用固定阈值(-100,最大hu值)和最大连通域提取方法来去除多余的背景区域,只保留心脏ROI区域。

2、分析心脏ROI图像的图像大小和Spacing大小的中位数值为:512x512x275,0.35x0.35x0.5。将数据采样到固定spacing分辨率为0.4x0.4x0.4,然后随机裁切出10个patch图像,大小为256x256x240来生成训练数据。patch图像需要进行窗宽窗位截断设置(0,800),然后采用z-score归一化方式进行归一化处理。

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

4、训练结果和验证结果。

5、验证集数据分割部分结果,左边是金标准结果,右边是网络预测结果。

6、测试集数据部分分割结果。

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

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