今天将分享快速且低资源的半监督CT影像腹部器官分割完整实现版本,为了方便大家学习理解整个流程,将整个流程步骤进行了整理,并给出详细的步骤结果。感兴趣的朋友赶紧动手试一试吧。
一、FLARE2022介绍
腹部器官分割具有许多重要的临床应用,例如器官量化、手术计划和疾病诊断。然而,从 CT 扫描中手动注释器官既耗时又费力。因此,我们通常无法获得大量的标记案例。作为一种潜在的替代方案,半监督学习可以从未标记的案例中探索有用的信息。将FLARE 2021 挑战赛从完全监督设置扩展到半监督设置,重点关注如何使用未标记数据。FLARE 2022 挑战赛具有三个主要特点:
任务:使用半监督设置,重点关注如何使用未标记的数据。
数据集:整理了一个大规模且多样化的腹部 CT 数据集,包括来自20多个医疗团体的 2300个CT扫描。
评价指标:不仅关注分割精度,还关注分割效率和资源消耗。
二、FLARE2022任务
腹部器官分割,包括肝、脾、胰、右肾、左肾、胃、胆囊、食管、主动脉、下腔静脉、右肾上腺、左肾上腺、十二指肠13个器官。
三、FLARE2022数据集
训练集中提供50 个标记的胰腺疾病病例和 2000 个未标记的肝脏、肾脏、脾脏或胰腺疾病病例;肝、肾、脾、胰疾病50例用于验证;200个隐藏案例用于测试,其中肝、肾、脾、胰疾病100例,子宫体子宫内膜、膀胱尿路上皮、胃、肉瘤、卵巢疾病100例。
除了典型的 Dice 相似系数 (DSC) 和归一化表面 Dice (NSD) 之外,评估指标还关注推理速度和资源(GPU、CPU)消耗。与 FLARE 2021 挑战相比,数据集大了 4 倍,分割目标增加到 13 个器官。此外,与资源相关的指标改为GPU内存-时间曲线下的面积和CPU利用率-时间曲线下的面积,而不是最大GPU内存消耗。
四、技术路线
采用二阶网络分割提取方法,第一个粗分割网络来定位腹部器官大致区域范围,第二个精细分割网络来分割提取腹部器官。
1、人体ROI区域提取,由于腹部器官是在人体内部的,其余都是背景,为了减少背景对分割效果的影响,首先要对人体区域进行提取。具体步骤如下:通过阈值分割(-500,5000)对图像进行二值化分割,然后采用核大小是3的形态学开操作对二值图像进行处理,再使用最大连通域分析得到人体区域,分析得到人体的bounding box。根据这个bounding box将原始图像和标注图像的ROI提取出来。
2、分析ROI图像信息,得到图像平均大小是470x354x154,因此将图像缩放到固定大小256x256x256。
3、图像预处理,对步骤2的原始图像进行(-900,500)截断,然后采用均值为0,方差为1的方式进行归一化处理。然后将数据分成训练集和验证集,对训练集做10倍数据增强处理。
4、搭建VNet3d网络,使用AdamW优化器,学习率是0.001,batchsize是1,epoch是300,损失函数采用二分类的dice和交叉熵。
5、训练结果和验证结果
6、验证集分割结果
左图是金标准结果,右图是网络预测结果。
7、根据粗分割出来的结果先进行形态学膨胀(核大小为10),再提取原始图像和标注图像的ROI。
8、分析步骤7ROI图像信息,得到图像平均大小是372x262x118,因此将图像缩放到固定大小320x256x224。
9、图像预处理,对步骤8的原始图像进行(-900,500)截断,然后采用均值为0,方差为1的方式进行归一化处理。然后将数据分成训练集和验证集,对训练集做10倍数据增强处理。
10、搭建VNet3d网络,使用AdamW优化器,学习率是0.001,batchsize是1,epoch是300,损失函数采用多分类的dice和交叉熵。
11、训练结果和验证结果
12、验证集分割结果
左图是金标准结果,右图是网络预测结果。
13、测试集分割结果
点击阅读原文可以访问参考项目,如果大家觉得这个项目还不错,希望大家给个Star并Fork,可以让更多的人学习。如果有任何问题,随时给我留言我会及时回复的。