返回列表

⭐️ Remek & Andrij - #9 solution ⭐️

535. RSNA Screening Mammography Breast Cancer Detection | rsna-breast-cancer-detection

开始: 2022-11-28 结束: 2023-02-27 医学影像分析 数据算法赛
⭐️ Remek & Andrij - 第9名方案 ⭐️

⭐️ Remek & Andrij - 第9名方案 ⭐️

作者: Remek Kinas (Grandmaster) & Andrij (Master) | 比赛: RSNA Breast Cancer Detection | 排名: 第9名 (金牌区)

首先恭喜所有参赛者。恭喜金牌区的梦之队。你们在赢得Kaggle比赛方面的一贯表现令我印象深刻。期待向你们的方案学习。

感谢我的队友 Andrij @aikhmelnytskyy。我们的合作非常愉快 👍👍👍 —— 从我们组队的第一分钟起,我就感觉到我们有一个共同的目标——找到更好的解决方案。

在比赛中获得金牌是我的梦想。去年我们(与 @christofhenkel)在银牌区排名第一(Image Matching Challenge 2021的第12名方案)。今年我决定努力工作,体验金牌区并最终成为竞赛大师。尽管官方LB尚未最终确定……我们是第9名,进入了金牌区!:) 我……极其高兴!😁😁😍😜

这次比赛非常适合测试许多不同的计算机视觉技术。三个月过得很快。比赛的第一阶段很困难。我们进行了大量不同的测试,但结果都没有超过0.3(LB分数)。这非常令人沮丧。我们无法找到本地CV和LB之间的任何相关性。然后我们建立了良好的训练流程——我们成功的主要点是:

  • 采样策略和正类平衡
  • 数据增强
  • 模型选择
  • 后处理

比赛的最后两周对我来说很艰难——我感染了新冠,不得不暂停(在康复期间我使用iPad编程)。但我们一直合作,最终成功跻身TOP10,达到0.63(公共LB)。最终我们在公共LB上排名第13,在私有LB上排名第9!

模型分数总结

  • 最佳公共LB:0.63(集成)/ 0.57(单模型)/ 本地CV(0.48)
  • 私有LB:0.50(最高:0.50)

比赛成就

  • Kaggle比赛的新体验 —— 很多精彩的讨论
  • 1枚金牌 - 数据集(我很开心 - 我的第一枚)
  • 2枚金牌 - Notebook
  • 1枚金牌 - 比赛 -> 极其开心!😁😁😍😜

我们的最终选择

我们选择了两种基于相同模型设置的不同方案。

  • 3个模型 - 集成平均模型预测概率 -> LB: 0.63 (PL: 0.47)
  • 3个模型 - 投票策略,然后平均得分(基于投票得分) -> LB: 0.62 (PL: 0.5)

经过多次测试,我们强烈感觉我们的第二个选择(尽管LB分数低于我们许多其他方案)比其他方案更稳定(对阈值不那么敏感)。所以我们闭上眼睛,相信我们的测试而不是LB分数。

解决方案描述(4个步骤)

我们的解决方案非常简单。我们尝试了不同的方法来预测乳腺癌,但最终发现最简单的方案对我们最有效(无论是本地CV还是LB)。

  1. 将dicom文件处理为png(窗口化)。
  2. 推理 – 3个带有TTA的ConvNext (v1) 模型
  3. 集成 – 概率平均或投票
  4. 阈值处理 – 阈值 ~0.5 -> 最终预测结果 0|1

数据集

  • 图像分辨率:1536x768
  • ROI裁剪 - cv2.connectedComponentsWithStats 方法(我们在原型阶段开始使用yolov5,但后来使用了cv2 - 因为许可证规定)
  • 4-GroupFold:基于patient_id
  • 图像像素缩放:除以255。
  • dicom2png – 由 @hengck23 提供 (链接)
  • 我们不使用外部数据集——所有模型均在比赛数据上训练
  • 我们分两步处理数据(为了避免文件存储容量问题——在测试期间我们将图像导出为不同的分辨率——最大2400px):
    1. 处理j2k文件格式(dicom2png并裁剪至1536xW - 在此步骤中我们不将其调整为最终分辨率)->推理->删除文件
同比赛其他方案