返回列表

12th place solution

448. SIIM-FISABIO-RSNA COVID-19 Detection | siim-covid19-detection

开始: 2021-05-18 结束: 2021-08-09 医学影像分析 数据算法赛
第12名解决方案

第12名解决方案

作者: Inoichan (Grandmaster)
比赛排名: 第12名 (金牌)

首先,非常感谢 Kaggle 和主办方举办了如此有趣的比赛,并祝贺所有获奖者。

我很高兴能在这场精彩的比赛中获得单人金牌。我很感激 Kaggler 到目前为止与我的组队。我从他们那里学到了很多,才得以赢得这枚金牌。我也感谢 Kaggle 社区。讨论区和代码区总是分享着大量的知识,顶尖团队在比赛结束后也会分享他们出色的解决方案。没有这些,我不可能有现在的成长。谢谢。

概览

classification_detection_model (1)

详情如下。

研究级别 和 ‘none’ 类

在第一个月里,我很难获得好的 CV 分数。经过近 100 次实验,我发现数据增强并不合适,当我将增强方式改为 @haqishen 在 RANZCR 解决方案中展示的方法时,CV 分数大幅提升。
https://www.kaggle.com/haqishen/ranzcr-1st-place-soluiton-cls-model-small-ver

包含 'none' 的 5 分类效果总是比 4 分类 + 单独处理 'none' 要好。使用 sigmoid + bce 比 softmax + ce 效果更好。

模型架构

其他技巧:

  • 五折交叉验证,按患者 进行划分
  • 模型:Efficientnet v2 m, l 和 swin transformer base(384)
  • 优化器:AdamW
  • 学习率调度器:Cosine Annealing (lr 1e-4 -> 1e-5)
  • 轮数:20 ~ 30
  • 附加分割任务,bce + symmetric lovasz (1 : 1)
  • 辅助损失 : 分类损失 = 1 : 1 (辅助损失大约是分类损失的两倍)
  • 伪标签 (bimcv+, record)
  • TTA: 水平翻转

我使用了 @hengck23 在讨论区分享的辅助损失。
https://www.kaggle.com/c/siim-covid19-detection/discussion/240233

研究级别 最佳单模型是 EffnetV2L ATfL6,CV 0.4248 / LB 0.463 / PB 0.430 (LB/PB 是在图像级别使用 ‘none 1 0 0 1 1’ 计算的)。

Swin transformer 的得分稍低,但对集成有贡献。

图像级别

除了 Yolo,我还使用了几个 mmdet 模型,如概览图所示。
最佳模型是 Cascade RCNN Res2Net101,CV 0.0897 / LB 0.094 / PB 0.096。

WBF (th=0.5) 集成将分数提升至 LB 0.098 / PB 0.101。

检测置信度校准如下:

det_conf = det_conf * (1 - none)**0.5

推理代码

<a href="https://www.kaggle.com/inoueu1/siim-sub145-lp-c2-effv2m-l-p-swin-mmdet?scriptVersionId=70843218" target="_

同比赛其他方案