一、MM-WHS2017介绍
整个心脏亚结构的准确计算、建模和分析对于临床应用的开发非常重要。然而,整个心脏图像的分割和配准具有挑战性,目前仍然严重依赖手动操作,这既费时又容易出错。挑战赛提供了 120 例在真实临床环境中采集的多模态心脏图像。它旨在为各种研究小组创建一个公开和公平的竞争,以测试和验证他们的方法,特别是对于多模态全心分割。
二、MM-WHS2017任务
全心结构分割,包括七个全心脏子结构(1)左心室血腔;(2)右心室血腔;(3)左心房血腔;(4)右心房血腔;(5)左心室心肌;(6)升主动脉;(7) 肺动脉。
三、MM-WHS2017数据集
提供来自多个中心的120例多模态全心脏图像,包括 60 例心脏 CT/CTA 和 60例覆盖整个心脏亚结构的 3D 心脏 MRI。所有这些临床数据均已获得机构伦理批准并已匿名化。根据体内临床环境收集数据,并将数据用于临床。数据集里有各种图像质量,有些质量相对较差。然而,当涉及到实际临床使用时,有必要包含这些数据集以验证所开发算法的稳健性。使用常规心脏CT血管造影获得心脏CT/CTA数据。所有数据涵盖从上腹部到主动脉弓的整个心脏。在轴向视图中获取切片。平面内分辨率约为 0.78 × 0.78 mm,平均切片厚度为 1.60 mm。使用 3D 平衡稳态自由进动 (b-SSFP) 序列获取 MRI 数据,每个方向的采集分辨率约为 2 mm,并重建(重采样)为约 1 mm。
数据集分为训练(20 个 CT 和 20 个 MRI 代表)和测试(40 个 CT 和 40 个 MRI)数据集。对于训练数据集,提供了七个全心脏子结构的手动分割,(1)左心室血腔(标签值 500);(2)右心室血腔(标签值600);(3)左心房血腔(标签值420);(4)右心房血腔(标签值550);(5)左心室心肌(标号205); (6)升主动脉(标签值820),定义为从主动脉瓣到心房上水平的主动脉干;例如,在 25 名健康受试者中测量的这个躯干的平均长度约为 41.9 毫米; (7) 肺动脉(标签值 850),定义为肺动脉瓣和分叉点之间的起始主干,例如,在 25 名健康受试者中测量的该主干的平均长度约为 41.9 毫米。感兴趣的大血管包括升主动脉和肺动脉。由于视野的不同,大血管的覆盖范围在不同的扫描中会有所不同。为了在不同的受试者之间有一个一致的定义,升主动脉和肺动脉因此定义如上,而整个心脏分割的验证可以只关注血管的主干部分。
四、技术路线
任务一、CT全心脏分割
1、去除多余的背景,采用固定阈值(-100,图像最大像素值)进行分割,再采用形态学开操作(核大小是3)和最大连通域得到人体ROI区域。
2、统计ROI平均大小是500x480x266,Spacing平均大小是0.43x0.43x0.58。ROI图像窗宽窗位截断设置(-100,800),然后采用z-score归一化方式进行归一化处理,将图像缩放到固定大小为256x256x128,将数据划分成训练集(18例)和验证集(2例),其中训练集进行10倍数据增强处理(平移,旋转,翻转等)。。
3、搭建VNet3d网络,使用AdamW优化器,学习率是0.001,batchsize是1,epoch是300,损失函数采用多类dice和ce。
4、训练结果和验证结果
5、验证集分割结果
左边是金标准结果,右边是网络预测结果。
6、测试集分割结果
任务二、MRI全心脏分割
1、去除多余的背景,采用固定阈值(20,图像最大像素值)进行分割,再采用形态学开操作(核大小是3)和最大连通域得到人体ROI区域。
2、统计ROI平均大小是310x356x145,Spacing平均大小是0.94x0.94x1.2。ROI图像像素值截断设置(1,99),然后采用z-score归一化方式进行归一化处理,将图像缩放到固定大小为256x256x128,将数据划分成训练集(18例)和验证集(2例),其中训练集进行10倍数据增强处理(平移,旋转,翻转等)。
3、搭建VNet3d网络,使用AdamW优化器,学习率是0.001,batchsize是1,epoch是300,损失函数采用多类dice和ce。
4、训练结果和验证结果
5、验证集分割结果
左边是金标准结果,右边是网络预测结果。
6、测试集分割结果
为了方便大家更高效地学习,我将代码进行了整理并更新到github上,点击https://github.com/junqiangchen/PytorchDeepLearing即可访问。由于之前都是使用tensorflow1.14的进行代码实验开发的,为了方便pytorch的朋友们也可以复现实验结果,我将tensorflow版本的代码翻译转换成pytorch版本的。
如果大家觉得这个项目还不错,希望大家给个Star并Fork,可以让更多的人学习。如果有任何问题,随时给我留言我会及时回复的。