返回列表

1st Place Solution

425. VinBigData Chest X-ray Abnormalities Detection | vinbigdata-chest-xray-abnormalities-detection

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

第一名解决方案

作者: Mohammed Rizin V K, Sergio Manuel Papadakis, avsanjay, Fatih Öztürk
比赛: VinBigData Chest X-ray Abnormalities Detection

感谢 Kaggle 和主办方提供了这个非常有趣的比赛以及极具挑战性的数据集。这是一个伟大的合作成果。请为 @fatihozturk @socom20 @avsanjay 点赞。祝贺获胜者们。

太长不看版 (TLDR)

@fatihozturk 在他的帖子中解释了他参加这次比赛的经历,本帖旨在概述我们最终解决方案的全貌,该方案在 PublicLB/PrivateLB 上取得了 0.354/0.314 的成绩。值得一提的是,我们还有一个更好的方案,成绩为 0.330/0.321 PublicLB/PrivateLB(不幸的是我们没有选择它)。正如大家所知,我们在这次比赛中使用的主要“魔法”是我们的集成过程,此外还有许多其他重要发现,我们将在本文中提及。

CV 策略:这是我们的主要挑战,我们没有统一的验证方案。由于我们是以不同的队伍开始比赛的,我们都使用不同的 CV 划分来训练模型并构建各自的最佳集成。为了克服这个困难,我们最终使用 Public LB 作为额外的验证数据集。我们觉得这个策略有点冒险,所以我们也使用共同的验证划分重新训练了一些最佳模型,然后将它们集成(后一种方法本身在 Private LB 上并没有获得最佳分数)。我们认为,使用 Public LB 作为验证来源的最后一次集成,帮助我们的最终方案更好地适应了用于构建测试数据集的共识方法。

我们的验证策略

我们最终提交的策略可分为 3 个阶段:

  • 完全验证阶段
  • 部分验证阶段
  • 未验证阶段(仅使用 Public LB 验证)

我们用于集成的模型

  • 完全验证阶段:

    • Detectron2 Resnet101(notebook 作者 @corochann,感谢)
    • YoloV5
    • EffDetD2
  • 部分验证阶段:

    • YoloV5 5折交叉验证
  • 未验证阶段:

    • 2 个 EffdetD2 模型
    • 3 个 YoloV5(1个使用 TTA,2个不使用 TTA)
    • 16 类 Yolo 模型
    • @awsaf49 的 5 折 YoloV5
    • New Anchor Yolo
    • Detectron2 Resnet50(notebook 作者 @corochann,感谢)
    • YoloV5 @nxhong93 (链接)
    • 图像大小为 640 的 Yolov5

集成策略

为了集成所有部分模型,我们主要使用了 @zfturbo 的集成仓库 Weighted-Boxes-Fusion。我们的集成技术如下图所示:

集成策略流程图

正如你在未验证阶段结束时所见,我们使用了 WBF+p_sum。最后这种混合方法是 @socom20 提出的 WBF 的一种变体,旨在模拟这个特定测试数据集中使用的放射科医生共识。通过使用 WBF+p_sum,我们在 PublicLB 上的未验证阶段分数从 0.319 提高到了 0.331。

改进的 WBF: 它比 WBF 具有更大的灵活性,它有 4 种 bbox 混合技术,我们发现其中只有 2 种在这次比赛中有用:</

同比赛其他方案