返回列表

18th Place Solution

672. RSNA Intracranial Aneurysm Detection | rsna-intracranial-aneurysm-detection

开始: 2025-07-28 结束: 2025-10-14 医学影像分析 数据算法赛
第 18 名解决方案 - RSNA 颅内动脉瘤检测

第 18 名解决方案

副标题:使用分割模型对每个血管类别的 ROI 进行分类

作者: koooeo

发布时间: 2025-10-16

竞赛排名: 第 18 名

首先

首先,我想感谢主办方提供了如此有意义的比赛,感谢 Kaggle 工作人员,以及所有在讨论中分享见解的参与者。

策略

在比赛早期,基于提供的数据集,我制定了一个策略:使用分割模型生成 ROI,然后对它们进行分类。

流程概述

  1. 阶段 1:通过 2.5D 分割模型预测血管掩膜并在血管类别级别提取 ROI
  2. 阶段 2:ROI 分类
  3. 阶段 3:ROI 评分及序列级聚合

学习过程

阶段 1(分割模型)

  • 我们使用带有 EfficientNet-B0 骨干网络的 smp.Unet 进行了切片级掩膜预测。
  • 对于预处理,对 CT 图像应用了窗宽窗位调整,对 MRI 图像应用了百分位归一化。同时也使用了基本的数据增强技术。
  • 输入尺寸为 (C, H, W) = (3, 512, 512)。
  • 为了解决阴性、阳性和特定血管阳性样本之间的类别不平衡,我们使用了具有切片级权重的随机采样器。
  • 使用 3 通道输入比 1 通道输入取得了更好的准确率。
  • 最终 Dice 分数约为 0.66。

阶段 1(血管类别级 ROI 提取)

  • 我们使用分割模型提取了 ROI。
    每个 ROI 都是为每个血管类别生成的,作为预测掩膜的最小边界矩形,并添加了边距。
    当在同一切片内检测到同一类别的多个分离区域时,为每个对象创建单独的 ROI(例如,class_i_object_j)。
  • 对于动脉瘤阳性切片,根据上述定义提取 ROI,包含动脉瘤坐标的 ROI 被标记为阳性 ROI,命中率约为 94%。
  • 阴性 ROI 采样自阴性序列以及阳性序列中距离动脉瘤坐标超过 40 mm(xyz 空间)的区域。

阶段 2

  • 对于 ROI 分类,通过对 ROI 切片及其相邻切片应用相同的边界框创建了 2.5D 输入。
    图像在保持纵横比的同时进行调整,缩放使较长边匹配目标尺寸。
    最终输入尺寸为 (C, H, W) = (3, 224, 224),必要时应用填充。
  • 评估了多个骨干网络,包括 EfficientNet-B0 和 EfficientNet-V2-S。
    模型达到了约 0.94 的 ROI 级 AUC。

阶段 3

  • 对于每个 ROI,将 ROI 分类模型预测的动脉瘤概率 (prob) 乘以从分割模型获得的血管类别概率 (class_scores),以计算 13 个类别分数。
    二分类动脉瘤分数直接取自 ROI 概率 (prob),未经任何修改。
  • 使用 ROI 级分数的 top-k 均值执行序列级聚合。
  • 本地验证 AUC 达到约 0.81。

提交过程

  • DICOM 切片在 LPS 坐标系中对齐,仅沿 z 轴最后 150 mm(对应头部区域)用于推理。
    为了限制每个序列的切片数量,我们设置 max_slice = 200。
    获得的最佳公共 leaderboard 分数为 0.81。

有效的部分

  • 我们成功实施了 ROI 提取和 ROI 级分类。
  • 类别分数的推导也按预期工作。

无效的部分

  • 序列级聚合后整体分数下降。
    探索了几种后处理方法来过滤假阳性 ROI,但都没有效果。
    我们应该考虑结合空间上下文的分类方法,例如 2.5D LSTM 或 3D CNN。
  • MRI T2 图像上的性能 consistently 低,即使使用专用模型也没有观察到改进。

感谢阅读!

同比赛其他方案