第一名方案
第一名方案
作者: Bo (团队成员: Qishen Ha, Gary)
恭喜所有的获奖者。感谢我的老队友 @haqishen 和 @garybios 的精彩合作。能再次与如此有才华的队友合作,我感到非常愉快。
太长不看版 (TL;DR)
采用2阶段分割和2阶段分类的流程。在分割和分类阶段均使用了伪标签。
数据集定义
NIH ChestX 数据集(11.2万张图像)的不同子集如下图所示:
- 官方数据集(3万张)包含9000张带有导管分割真值的图像。
- 我们还使用了 Konya 医生 (@sandorkonya) 的气管分叉标注数据集,其中包含5000张图像。感谢医生!
- 对于伪标签,我们在训练集之外确定了2.8万张包含导管的外部图像:
- 首先在所有11.2万张图像上运行分割模型推理,过滤掉所有没有导管的图像;
- 使用 imagehash 对已经在3万张训练集中的3万张图像进行去重;
- 关联患者ID,确保外部数据和原始数据中的同一患者落入同一个折叠。
预处理
对于图像,我们应用了不同参数的“Ben’s preprocessing”,以训练多样化的模型。
对于官方分割标注,我们通过绘制代表导管的线条和指示导管尖端的大圆点来制作2通道掩码。见下图。
对于气管分叉标注,我们通过绘制大圆点来制作1通道掩码。
分割阶段 1
- 模型 1: 掩码为导管和尖端 - 2通道输出
- 在有导管标注的9000张图像上进行训练和验证
- 在没有导管标注的 2.8万 + (3万 - 9千) 数据上生成伪标签
- 10个模型集成,混合使用 Unet 和 Unet++,骨干网络为 B3-B8,不同的预处理参数,图像尺寸为 1024x1024 到 1536x1536。
- 模型 2: 气管分叉 (TB) - 1通道输出
- 在有 TB 标注的5000张图像上进行训练和验证
- 在没有 TB 标注的 2.8万 + (3万 - 5千) 数据上生成伪标签
- 集成方式类似模型 1。但 TB 更容易分割,因此图像尺寸为 384x384 到 1024x1024
分割阶段 2
- 导管、尖端和 TB: 3通道输出
- 在 3万 + 2.8万 张图像上训练(结合真值和伪标签)
- 在9000张数据上验证导管和尖端
- 在5000张数据上单独验证 TB
- 对所有 3万 + 2.8万 张图像进行折外预测,供分类使用
- 阶段 2 需要在推理内核中运行,因此集成中只有5个模型: