返回列表

1st Place Solution

424. RANZCR CLiP - Catheter and Line Position Challenge | ranzcr-clip-catheter-line-classification

开始: 2020-12-14 结束: 2021-03-16 医学影像分析 数据算法赛
第一名方案

第一名方案

作者: Bo (团队成员: Qishen Ha, Gary)

恭喜所有的获奖者。感谢我的老队友 @haqishen@garybios 的精彩合作。能再次与如此有才华的队友合作,我感到非常愉快。

太长不看版 (TL;DR)

采用2阶段分割和2阶段分类的流程。在分割和分类阶段均使用了伪标签。

数据集定义

NIH ChestX 数据集(11.2万张图像)的不同子集如下图所示:

  • 官方数据集(3万张)包含9000张带有导管分割真值的图像。
  • 我们还使用了 Konya 医生 (@sandorkonya) 的气管分叉标注数据集,其中包含5000张图像。感谢医生!
  • 对于伪标签,我们在训练集之外确定了2.8万张包含导管的外部图像:
    1. 首先在所有11.2万张图像上运行分割模型推理,过滤掉所有没有导管的图像;
    2. 使用 imagehash 对已经在3万张训练集中的3万张图像进行去重;
    3. 关联患者ID,确保外部数据和原始数据中的同一患者落入同一个折叠。
Dataset Venn Diagram

预处理

对于图像,我们应用了不同参数的“Ben’s preprocessing”,以训练多样化的模型。

对于官方分割标注,我们通过绘制代表导管的线条和指示导管尖端的大圆点来制作2通道掩码。见下图。

对于气管分叉标注,我们通过绘制大圆点来制作1通道掩码。

分割阶段 1

Segmentation Stage 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

Segmentation Stage 2
  • 导管、尖端和 TB: 3通道输出
    • 在 3万 + 2.8万 张图像上训练(结合真值和伪标签)
    • 在9000张数据上验证导管和尖端
    • 在5000张数据上单独验证 TB
    • 对所有 3万 + 2.8万 张图像进行折外预测,供分类使用
  • 阶段 2 需要在推理内核中运行,因此集成中只有5个模型:
    • Unet++ B3 @ 1536