返回列表

9th place solution

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

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

第9名解决方案

作者: Team Watercooled (@christofhenkel, @ilu000, @philippsinger)
比赛: SIIM-FISABIO-RSNA COVID-19 Detection

感谢 Kaggle 和主办方举办这场有趣的比赛。在下文中,我们将总结 Team Watercooled 的解决方案。一如既往,感谢所有团队成员为解决方案做出的同等贡献。

摘要

我们的解决方案基于独立的研究级(分类)模型和图像级(检测)模型的融合。大多数研究级模型通过额外的分割损失进行正则化。检测模型包括 EfficientDet 和 Yolo 模型,并使用 WBF 进行融合。我们仅依赖提供的比赛数据,不使用任何外部数据。

预处理与交叉验证 (CV)

在通用预处理方面,我们将原始 DICOM 文件转换为 PNG 图像,并将大小缩放为原始大小的 25% 或 50%,以加快数据加载和训练运行速度。我们按照主办方的建议处理重复图像,即如果多张图像属于同一研究,则仅保留带有边界框的图像。

在验证方面,我们采用 5 折交叉验证,同一研究不会在折之间重叠。总体而言,我们可以看到 CV 和 LB(排行榜)之间有相当不错的相关性,当然这处于一定的随机范围内,考虑到数据量小以及问题性质和验证指标,这是预期的结果。

研究级模型

我们的最终融合包含九个模型,每个模型拟合 5 折,总共平均有 45 次拟合。对于每个模型,我们在所有四个类别上使用交叉熵损失,并在平均之前使用 softmax 处理输出。对我们来说,softmax 显然更胜一筹,因为每张图像始终只能有一个目标。所有研究级模型都使用 Unet 解码器通过额外的分割损失进行正则化。具体来说,融合的不同模型如下:

  1. 主干网络: tf_efficientnet_b0, 图像尺寸: (512,512)
  2. 主干网络: tf_efficientnet_b7_ns, 图像尺寸: (1024,1024)
  3. 主干网络: tf_efficientnet_b7_ns, 图像尺寸: (1024,1024)
  4. 主干网络: tf_efficientnet_b7_ns, 图像尺寸: (1024,1024)
  5. 主干网络: tf_efficientnet_b5_ns, 图像尺寸: (1024,1024)
  6. 主干网络: tf_efficientnet_b5_ns, 图像尺寸: (1024,1024)
  7. 主干网络: tf_efficientnetv2_l, 图像尺寸: (512,512), 备注: Ben 预处理
  8. 主干网络: xcit_small_24_p16_224_dist, 图像尺寸: (640,640)
  9. 主干网络: xcit_small_24_p16_224_dist, 图像尺寸: (640,640)

在数据增强方面,我们混合使用了 ShiftScaleRotate、HorizontalFlip、RandomBrightnessContrast 和 Cutout。具体模型在次要超参数设置上可能略有不同。

图像级模型

在检测方面,我们同时使用了 EfficientDet 和 Yolo 模型。

Efficient Det 模型

对于大多数 EfficientDet 模型,我们通过额外的研究级分类来正则化检测部分,但仅使用检测部分作为输出。有关混合模型的进一步讨论,请参见下文。具体来说,我们训练了以下 EfficientDet 模型,每个模型训练 5 折:

  1. 主干网络: tf_efficientdet_d0, 图像尺寸: (512,512)
  2. 主干网络: tf_efficientdet_d0, 图像尺寸: (512,512)
  3. 主干网络: tf_efficientdet_d3, 图像尺寸: (512,512)
  4. 主干网络: efficientdet_q2, 图像尺寸: (768,768)

在数据增强方面,我们混合使用了 ShiftScaleRotate、HorizontalFlip、RandomBrightnessContrast 和 Cutout。具体模型在次要超参数设置上可能略有不同。

Yolo 模型

我们训练了几个 Yolo 模型,其中 3/4 的模型仅使用“opacity”(不透明度)作为唯一类别,如果图像标签为“none”,则没有边界框。然而,对于一个 Yolo 模型,我们创建了一个带有标签“none”的全图边界框作为第二个标签。

  1. yolov5s (512) opacity
  2. yolov5x (512) opacity
  3. yolov5m (640) opacity
  4. yolov5s (512) opacity + none

“None”预测

本次比赛的一个

同比赛其他方案