返回列表

7th place solution -> 2-step MIL based strategy

510. Mayo Clinic - STRIP AI | mayo-clinic-strip-ai

开始: 2022-07-06 结束: 2022-10-05 医学影像分析 数据算法赛
第7名解决方案 -> 基于2步MIL的策略

第7名解决方案 -> 基于2步MIL的策略

作者:tdiceman
比赛排名:第7名

对我来说,这是一次很好的入门体验,能取得这样的成绩很大程度上归功于新手的好运。尽管如此,我学到了很多东西,最终的方法论结合了所有的学习成果并发挥了最佳效果,这让我感到非常满意。感谢所有在比赛期间分享提示、技巧和建议的人。以下是所用方法论的总结:

预处理 - 图块创建与选择

开始时尝试了很多方法,但最终确定使用缩小6倍的图像来创建图块,以平衡信号丢失和可控的图块数量。创建和选择图块的方法如下:

  • 创建形状为 (224,224,3) 的图块,并对图像数组的唯一值及其计数应用简单的阈值处理——用于去除大部分单色和背景图块。
  • 通过 EfficientNetB0(预训练,ImageNet权重)运行图块进行评分,并为每张全切片图像(WSI)选择前 50-60% 的图块,从而进一步减少图块数量(这在每张图像的图块数量上产生了另一个问题,将在最后解决)。
  • 通过简单地填充图像并在两个方向上将图像中的图块位置移动 tile_size/2,为 LAA 类别增加了增强数据。

MIL - 基于伪标签图块的特征提取器训练、特征聚合与分类器

遵循了图块特征嵌入,然后在切片级别进行聚合以进行进一步分类的方法。主要有两个步骤:

1. 特征提取器训练

此笔记本包含该部分的详细实现。主要点如下:

  • 从 ImageNet 权重开始训练 EfficientnetB0,第一个 epoch 使用带有切片级别标签的所有图块。
  • 对图块添加了随机色调增强(详情见后文)。
  • 定义了一个特征提取器,它是最后一个全连接分类层之前的整个网络(形状为 (1,1280))。
  • 使用提取器生成的图块特征应用基于聚类距离的伪标签,用于下一次迭代的图块标记。

这里使用的逻辑是试图赋予特征提取器能力,使其不仅能为两个类别提供高输出,还能为类外或非关键图块提供低输出。因此,我使用带有目标 [0.0] 的 'Other' 标签图块,LAA 和 CE 分别对应 [1,0] 和 [0,1],并使用 sigmoid 激活和 BCE 损失。每次训练 epoch 时,都会生成特征,执行聚类,并根据与负类的最小距离对图块进行评分——即对于 CE 图块,距离 LAA+Other 特征聚类最小距离最大的前 20% 标记为 [0,1],最小距离最小的后 10% 标记为 [0,0]——LAA 图块伪标签则反之。希望这能区分两个类别以及关键和非关键图块。主要的聚类思想受此论文启发。

  • 使用 CE 类别的随机采样来平衡类别,并使用了一个简单的指标在切片级别进行训练评估——最大池化 AUC 分数,即取切片中任何图块对两个类别的最大预测值的 AUC 分数。4折交叉验证 AUC 分数为 0.6-0.65。

2. 特征聚合、分类与推理

从特征提取器获取图块级别特征,并采用此论文的方法在切片级别进行特征聚合,该方法基于对具有最大输出 logit 的图块的注意力机制。

  • 使用切片级别的聚合特征构建了一个简单的随机森林分类器,并将切片级别的最大预测值(任何图块)作为额外特征。
  • 仅使用任何图像中前 25 个深色图块来训练分类器和进行推理。
  • 推理:从大小不超过 2.2 Gb 的图像中选取前 25 个深色图块,从提取器创建特征并从分类器头获取最大 logits,聚合并预测分类器概率。

一些重要的观察