返回列表

9th place solution

625. RSNA 2024 Lumbar Spine Degenerative Classification | rsna-2024-lumbar-spine-degenerative-classification

开始: 2024-05-17 结束: 2024-10-08 医学影像分析 数据算法赛
第 9 名解决方案 - RSNA 2024

第 9 名解决方案

作者: Adam Narai
竞赛排名: 第 9 名
发布时间: 2024-10-10

感谢组织者,恭喜获胜者及所有参赛者。今年很高兴能处理 MRI 数据,这让我有机会应用该领域的经验。

总结

第一阶段:基于高斯热图的关键点检测,使用 DeepLabV3Plus,三种序列类型分别使用独立模型。
第二阶段:基于级别的 ROI 分类,使用带有 GRU 头和 ResNet18/Swin-Tiny/ConvNeXt-Nano 基底的 2.5D 模型集成。

关键点检测

我为每个坐标创建了高斯热图,并使用 resnet34 编码器训练了 DeepLabV3Plus 模型,分别针对三种序列类型(Sag T2, Sag T1, Axi)。坐标定义为每个预测图的 argmax。输入分别为 5、3 和 3 个切片(作为通道),调整大小为 512x512 像素并进行强度归一化。Sag T2 系列从中间选择切片,Sag T1 系列从相对于中间的预定 mm 位置选择。对于 Axi 系列,相关的 Sag T2 坐标被投影到轴向系列空间,并选择最接近该坐标的切片周围。使用了旋转、剪切、通道洗牌 (p=0.5) 以及锐化或运动模糊之一 (p=0.5) 的数据增强。使用 AdamW 优化器,基础学习率 0.001,批量大小 16 和 CosineAnnealingLR 调度器,分别训练了三个模型 30、20 和 10 个 epoch,使用 MSE 损失和 5 折交叉验证。

关键点检测模型架构

分类

我提取了以坐标为中心的 50 mm x 50 mm ROI,包含 5 个切片(作为通道),调整大小为 128x128 像素(ResNet18 基底)或 224x224 像素(Swin-Tiny 和 ConvNeXt-Nano 基底),并归一化强度。切片选择方式与关键点检测相同,只是这种情况下 Sag T1 使用依赖于级别的 mm 位置。使用了旋转、剪切以及锐化或运动模糊之一 (p=0.5) 的数据增强。我还仅对 Axi 系列使用了通道洗牌 (p=0.5),因为尽管使用了循环网络头,它显著提高了性能。分类器是基于 resnet18、swin_tiny 和 convnext_nano 特征提取器带有 GRU 头的 2.5D 模型。使用 AdamW 优化器,基础学习率 0.001 或 0.00003,批量大小 16 和 StepLR 或 CosineAnnealingLR 调度器,使用交叉熵损失和 5 折交叉验证训练模型 3-5 个 epoch(最佳参数取决于模型类型)。我使用了两种方法:“拆分”模型,每个核心条件(椎管狭窄、椎间孔狭窄和关节下狭窄)使用单独的单一输出模型;以及“全局”模型,输出所有五个条件(包括两侧)。

拆分模型

脊柱:使用 Sag T2 和 Axi(以左右坐标均值为中心)ROI。
椎间孔:使用 Sag T1 ROI,两侧使用相同模型。
关节下:使用 Axi ROI,两侧使用相同模型,但右侧图像被镜像。
使用这三个模型获得每个级别和侧面的预测,并连接以制作每个研究的 25 个输出。

拆分模型架构

全局模型

Sag T2、左/右 Sag T2 和左/右(右侧镜像)Axi ROI 被用作模型输入,生成给定级别所有 5 个条件的预测。左右侧使用相同的特征提取器模型。
获得每个级别的预测并连接以制作每个研究的 25 个输出。

全局模型架构

提交

我的最终提交是 6 个模型的集成,结合了拆分和全局模型以及三种不同的特征提取器 ResNet18、Swin-Tiny 和 ConvNeXt-Nano。每个模型进一步是 5 折集成,最终预测是这些集成的简单平均值。

同比赛其他方案