返回列表

3rd Place Solution [Preferred CLiP]

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

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

第三名方案 [Preferred CLiP]

作者: Preferred CLiP 团队 (@charmq, @la4laaa, @yhirano, @suga93)
比赛排名: 第 3 名

祝贺所有的获奖者,并感谢组织者举办了这次比赛!

简短总结 (TL; DR)

我们的策略基于 @hengck23 提出的三阶段训练方法,并由 @yasufuminakama 在公共笔记本中初步实现。我们还训练了一个分割器,以便在第 1 和第 2 阶段为未标注数据或外部数据提供伪标注。我们在最终推理中没有使用该分割器。

简而言之,我们的训练流程如下:

  • 训练一个分割器,预测输入图像的每个像素被哪种类型的导管(或无导管)占据。
  • 使用分割器对未标注的 RANZCR 数据和外部数据(NIH Chest X-rays 和 MIMIC-CXR)进行预测。我们从外部数据中排除了没有任何导管的样本。
  • 执行多阶段分类。
    • 阶段 1:将真实标注(如果存在)或分割器的输出(如果不存在)叠加在原始图像上,并用它们训练一个教师模型。
    • 阶段 2:训练一个学生模型,使用分类损失和通过将其特征与教师模型的特征进行比较而计算出的致性损失。
    • 阶段 3:微调学生模型。
流程概览图

[交叉验证 / 公共排行榜 / 私有排行榜]
基础多阶段训练,TTA (resnet200d): 0.96606/0.97020/0.97328
+分割器: 0.96742/0.97323/0.97389
(+4种不同架构的集成: 0.97101/0.97430/0.97515)
+伪标签(NIH): 0.96918/0.97335/0.97455
+8种不同训练设置的集成,无 TTA: 0.97215/0.97386/0.97611
+通过逻辑回归确定集成系数: 0.97228/0.97434/0.97624

数据增强

我们在分割和分类中都使用了 sin 在以下笔记本中提出的数据增强方法。我们将图像大小设置为 720 像素。
https://www.kaggle.com/underwearfitting/resnet200d-public-benchmark-2xtta-lb0-965

分割

问题设置

  • 像素级多标签分类
  • 4个类别 (ETT, NGT, CVC, Swan ganz)

架构: DeepLabV3+
编码器主干网络:

  • Resnet152
  • Regnety160

图像大小: 720x720
损失函数: BCEWithLogitsLoss + DiceLoss + RecallLoss

训练步骤

  1. 仅使用 RANZCR 标注数据训练第一个分割器。
  2. 除了 RANZCR 标注数据外,还使用 NIH Chest X-rays 作为外部数据集微调分割器。如果先前最佳分类器的任何预测值超过 0.95,则选择 NIH Chest X-rays 的图像。它们的伪标签是由先前最佳集成分割器生成的。

分类任务中使用的分割掩码是由集成分割器生成的,该分割器是 10 个预训练分割器(5 折 x 2 个主干网络)的集成。虽然我们发现标注中存在一些噪声,但它们仍然比我们的分割器输出更具信息量。因此,我们仅将预测的分割掩码用于未标注数据和外部数据,并将真实标注用于已标注数据。

分类

对于分类,我们采用了以下笔记本中提出的

同比赛其他方案