返回列表

4th place solution

459. RSNA-MICCAI Brain Tumor Radiogenomic Classification | rsna-miccai-brain-tumor-radiogenomic-classification

开始: 2021-07-13 结束: 2021-10-15 医学影像分析 数据算法赛
第4名解决方案

第4名解决方案

作者: David Roberts, DeepUnderstanding
比赛: RSNA-MICCAI 脑肿瘤放射基因组分类

我们要感谢 Kaggle 和比赛主办方提供这次挑战机会。我们还要感谢所有分享智慧、知识、代码和提出批评的其他参赛者。我们非常感激你们。

感谢我的队友 @mrinath,感谢他的专业知识和辛勤工作,将整个项目整合在一起。

我们的方法很简单,主要包括目标检测和分类。我们使用 YOLOv5 进行目标检测(OD),使用 EfficientNet 的 2D 和 3D 骨干网络进行分类。

我们仅使用轴位平面的 T1wCE 序列进行目标检测和 2D 网络训练。基本策略如下:

1. 将所有图像提取到同一平面

  • 将冠状位和矢状位重采样为轴位。感谢 @boojum 提供的巧妙重采样方法。 -> https://www.kaggle.com/boojum/connecting-voxel-spaces
  • 剔除空白或大部分空白的图像(平均像素值 < 40)。
  • 从序列中选出 7 个等间距的切片。
  • 找到中心切片,以及中心下方(下侧)的两个切片和中心上方(上侧)的三个切片(因为在轴位平面中,大脑的大部分位于中心切片的上方)。

2. 寻找带有肿瘤的切片

我们尝试在矢状位和冠状位平面上进行目标检测,但在轴位上获得了更好的 mAP。我们的轴位 mAP 约为 0.68。

3. 2D 分类

训练:

我们将所有图像导出到每个平面,总共生成 12 个数据集。接下来,我们使用 YOLO OD 模型寻找带有肿瘤的图像,并将其添加到训练数据集中。其想法是消除重复和非肿瘤图像。我们在每个“采样”数据集上尝试了大约 20 种不同的骨干网络。我们发现总体上最好的结果(虽然仍然不是很好)是在 T1wCE 轴位和 EffNet B3 上取得的……所以我们坚持使用这种组合,打算稍后将表现较差的模型进行集成。

  • 训练集-验证集随机划分,验证集中包含 25% 的数据。
  • 使用 AdamW 优化器,并使用 cosine_schedule_with_warmup 作为学习率调度器。
  • 数据增强包括:CenterCrop、CLAHE、RandomRotate90、HorizontalFlip、VerticalFlip、RandomContrast 和 Cutmix。

预测:

  • YOLO 检测到有肿瘤的图像被传递给 EffNet 分类器(每个研究 1-7 张图像)。
  • 如果检测到同一病例的多个切片,则使用第一个和最后一个切片。
  • 最佳验证 AUC 为 0.6829。
  • 我们在最终预测中使用了 4 倍 TTA(测试时增强)和幂集成,这比简单的平均效果更好。
  • 如果在 TTA 之后我们有 4 个预测集 y1, y2, y3, y4,那么 y_final = (y1² + y2² + y3² + y4²) / 4。

对于没有可用 T1wCE 图像或 OD 未检测到肿瘤的研究,我们将所有序列收集在一起并传递给 3D 网络。

4. 3D 分类

训练:

对于 3D 模型,我们知道像在其他比赛中那样使用预训练模型是有益的。但是我们从 MONAI 训练的大多数 3D 模型都没有预训练权重。因此我们决定使用 ImageNet 预训练模型进行 3D 分类。我们知道这些模型是用于 2D 图像的,那么我们如何对 3D 数据进行分类呢?在大多数 2D 挑战中,我们看到人们更改最后一

同比赛其他方案