返回列表

3rd place solution

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

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

第3名解决方案

作者: YujiAriyasu, Ian Pan
比赛: SIIM-FISABIO-RSNA COVID-19 Detection

首先,我要感谢主办方组织了这场非常有趣的比赛。
同时,我无法表达对 IanPan 的足够感谢。在我们组队后,我们的分数就像变魔术一样迅速提升。在这次比赛中,我从他那里学到了很多。

以下是我的部分。


研究级别:

・Swin Transformer
在我的环境中,Swin Transformer 效果最好。cait 也不错,但 aux loss 在 cait 上效果不佳,所以我选择了 Swin Transformer。
我将分辨率保持在 384。我尝试了 768,但结果稍差。我也做了一些裁剪,所以 384 似乎已经足够了。

第1阶段:

・使用 CheXpert 数据进行预训练。
这是 Ian 的想法。该数据与 ImageNet 差异很大。我们可以通过预训练获得良好的初始权重。
此外,在使用 CheXpert 进行训练之前,先使用 RSNA 2018 竞赛数据进行进一步的预训练,相比于仅使用 CheXpert,CV(交叉验证)分数略有提高。
我使用了稍后会提到的裁剪方法,并且没有使用 aux loss。

第2阶段:

・5个类别
我在类别中加入了 'none'(无)。
・使用检测和分割进行裁剪
通过使用检测预测结果进行裁剪,我能够将检测模型的智慧应用于分类模型。我还使用了由 VinBigData 数据集训练的肺部分割器。我仅裁剪图像中存在检测框(置信度 > 0.3)或分割掩码的区域。
如果直接使用检测框,例如胸腔积液可能会导致图像难以区分,因此检测框被填充了 100 个像素。
・mixup
Mixup 带来了微小的改进。最后,在我的部分,我使用了两个不同的模型,一个使用了 Mixup,另一个没有。
在不使用 aux loss 的阶段,resize mix 效果最好,但最终 mixup 效果更好。
・aux loss(辅助损失)
我使用了 binary_cross_entropy_with_logits。
在两个模型中的一个,我将负样本图像的损失设置为零。
・无伪标签
我尝试了各种方法,但结果都稍差。
・5折模型在四个类别上的 mAP 平均值为 0.397。

图像级别

・YOLOV5
我使用了 l6 和 l 版本。

opacity(不透明度):

・使用 RSNA 2018 数据进行预训练。
原因与研究级别相同。
・mixup: 0.5
有轻微的改进。
・使用 none 预测
对于每张图像,我发现以下方法最能提高分数:
detection_conf = detection_conf * (1 - image none prediction) ** 0.4

none:

我像这样结合使用了分类模型和检测模型的预测:
none_pred = cl_none_pred * 0.7 + (1 - image_conf_max) * 0.3


以下是来自 Ian 的信息。


我要感谢 Yuji 同意与我组队。我在比赛后期才联系他,当时他即使没有我也已经表现得非常出色。我从他那里学到了很多,这次比赛提醒了我,在 Kaggle 上组队是多么有趣和具有启发性。

分类

对于分类,我训练了一个5类分类器:4个研究标签 + 图像级别的 'none'(相对于 opacity)。我们仅在每项研究的1张图像上进行训练。由于绝大多数研究只有一张独特的图像,这并不是真正的问题。

首先,我在 RSNA 2018 肺炎检测挑战赛的3个类别上对分类器进行了预训练。然后,我在本次比赛的数据上对这些权重进行了微调。这显著提高了性能。

我训练了一个混合分类-分割模型。一种架构使用了 EfficientNet-B6 和 DeepLabV3+,另一种使用了 Swin Transformer 和 FPN。这些是使用很棒的 Segmentation Models PyTorch 库训练的。

模型使用 AdamW 优化器、512x512 图像进行训练,并使用 albumentations 进行数据增强,包括对比度/亮度调整、随机噪声和缩放/平移/旋转。

我对分类(尽管可以使用交叉熵,但我发现 BCE 对该评估指标效果更好)和分割都使用了 BCE 损失,权重为 1:1。模型的分割部分只有1个类别(opacity)。分割标签是使用边界框标签生成的。我将边界框转换为椭圆,并将其用作训练标签。

我也使用了 mixup,这显示了显著的改进。EfficientNet-B6/DeepLabV3+ 和 Swin/FPN 模型的5折集成(共10个模型)在研究标签分类上达到了 0.408 的 LB 分数。