返回列表

1st place solution

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

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

第一名解决方案

作者: DungNB (Grandmaster)

首先,我要感谢 Kaggle、SIIM、FISABIO 和 RSNA 举办了这场精彩的比赛,也要感谢所有在这里分享了精彩讨论和代码的人。祝贺所有的获胜者!

方案总结:
https://drive.google.com/file/d/1TaFsZKXfJVwVhognM3lNIxU7FpVCUltt/view?usp=sharing

交叉验证

按患者 ID 将训练集分为 5 折。

多任务分类 + 分割

  • 使用 Chexpert + Chest14 数据集预训练编码器。
  • 使用 RSNA 肺炎数据集训练分类(正常/肺炎)+ 分割(不透明框转掩码)。
  • 使用 SIIM COVID 数据集训练分类(4 类:阴性、典型、不确定、非典型)+ 分割(框转掩码),加载 RSNA 肺炎检查点的权重。
  • 预测 SIIM-COVID 测试集,使用 SIIM COVID 训练集 + 伪标签测试集训练模型,加载上一个检查点的权重。
  • 数据增强:RandomResizedCrop, ShiftScaleRotate, HorizontalFlip, VerticalFlip, Blur, CLAHE, IAASharpen, IAAEmboss, RandomBrightnessContrast, Cutout。
  • 衰减为 0.997 的指数移动平均 [LB 分数增加 +0.001~0.002]。
  • 损失函数:辅助损失 = 0.6加权BCE + 0.4Dice,加权BCE的权重:0.2阴性 + 0.2典型 + 0.3不确定 + 0.3非典型,重点关注 2 个弱类(不确定和非典型)。[CV 和 LB 均增加约 0.002]。
  • 优化器:Adam,初始学习率 0.0001。
  • 学习率调度器:CosineAnnealingLR。
  • 测试时增强(TTA):8TTA(原图、中心裁剪 80%)->缩放->(无、水平翻转、垂直翻转、水平+垂直翻转),8TTA 使 CV 和公共 LB 均增加 +0.003~0.004。在最终提交中,我使用肺部检测器模型代替中心裁剪 80%。
  • 最终提交包含 4 个模型,具有不同的编码器、解码器和输入尺寸:
    SeResnet152-Unet 512, EfficientnetB5-DeeplabV3+ 512, EfficientnetB6-Linknet 448, EfficientnetB7-Unet++ 512
    加权融合:0.3[eb5/deeplabv3] + 0.2[eb6/linknet] + 0.2[eb7/unet++] + 0.3[sr152/unet]。

肺部检测器 - YoloV5

我使用 https://github.com/tzutalin/labelImg 工具标注了训练数据(6334 张图像),并利用边界框构建了一个肺部定位器。我注意到增加输入图像尺寸可以提高模型性能,肺部检测器有助于模型减少背景噪声。与简单的中心裁剪 80% 相比,单折肺部检测器使 LB 增加了 +0.003。

检测

使用加权框融合(IoU 0.6)集成 4 个模型(Yolov5X6 输入尺寸 768 + EfficientDet D7 输入尺寸 768 + FasterRNN FPN resnet101 输入尺寸 1024 + FasterRNN FPN resnet200 输入尺寸 768)。

  • 使用 Chexpert + Chest14 预训练 FasterRCNN FPN 的主干网络。
  • 使用 RSNA 肺炎框训练模型。
  • 使用 SIIM COVID 训练集训练模型,加载 RSNA 检查点的权重。
  • 预测 SIIM COVID 测试集 + 外部数据集(padchest, pneumothorax + vin)。
    保留满足条件的图像:阴性预测 < 0.3 且(典型、不确定、非典型)最大预测值 > 0.7。然后为每张图像选择置信度最高的 2 个框作为伪标签。
  • 使用 RSNA 肺炎标签 + 外部伪标签(SIIM COVID 测试集 + padchest, pneumothorax + vin)训练模型。
  • 使用 SIIM COVID 训练集训练模型,加载伪标签阶段检查点的权重。
  • 数据增强:Scale, RandomResizedCrop, Rotate(maximum 10 degrees), HorizontalFlip, VerticalFlip, Blur, CLAHE, IAASharpen, IAAEmboss, RandomBrightnessContrast,
同比赛其他方案