返回列表

4th place solution

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

开始: 2024-05-17 结束: 2024-10-08 医学影像分析 数据算法赛
第四名解决方案 - RSNA 2024 腰椎退行性分类
标题:第四名解决方案
作者:tattaka, yu4u
发布日期:2024-10-09
竞赛排名:第 4 名

第四名解决方案

祝贺所有获奖者和奖牌获得者!今年的 RSNA 竞赛要求我们仔细处理数据并构建 pipeline,非常有趣。我们在此分享我们的解决方案。

总结

我们的解决方案检测关键点,即症状中的感兴趣区域,并使用周围的裁剪图像作为输入构建分类模型。
每个模型的结果通过堆叠模型进行优化,并提交为最终结果。
整体 pipeline 流程图

关键点检测模型

椎间盘水平检测模型及轴向、矢状 T1/T2 关键点检测 (@yu4u)

将每个轴向切片调整为 128×128,并使用 2.5D CNN + LSTM 模型估计每个切片属于哪个水平(L1, L2, …, S1)。随后,检测每个水平之间的边界切片。从这些切片(最多五个)中,使用 UNet 模型检测左右关键点。
同样,将矢状面 T1 切片调整为 128×128,并使用 2.5D CNN 模型识别属于应检测关键点的椎间孔区域的左右切片。然后,从这些左右切片中单独检测五个水平的关键点。
对于矢状面 T2/STIR,只需提取序列的中间切片并检测五个水平的关键点。

矢状面关键点检测模型 (@tattaka)

我们将每个矢状面 T1、T2/STIR 图像调整为 20x256x256,并预测关键点的 xy 坐标。
关键点的 xy 坐标取自共享的 Lumbar Coordinate Dataset
对于骨干网络,我们使用了 caformer_s18, convnext_tiny, resnetrs50 和 swinv2_tiny,并在 UNet Decoder 上应用了 SCSE 注意力机制。
至于损失函数,我们使用了 BCELoss * 0.2 + DICELoss * 0.8。

分类模型

多视图输入,多条件输出模型 (@tattaka)

tattaka 模型结构图

我们裁剪从矢状面 T1、矢状面 T2/STIR 和轴向 T2 体积中推断出的关键点周围的区域,并将它们作为输入来分类每个水平的条件。
每个图像被裁剪为相邻关键点之间距离两倍的大小。对于矢状面图像,如果所有切片少于 30 则应用填充,如果多于 30 则使用线性插值。(还有一种模型变体简单地使用线性插值调整为 20。)
对于轴向图像,切片取自预测椎间盘间隙周围 ±2 的范围。
图像输入到 2D 模型骨干网络后,从每个切片提取特征,最终输出使用 Transformer 编码器和对提取特征的注意力池化获得。

最终提交使用的模型包括以下变体:

  • 使用一个或两个骨干网络处理裁剪切片的模型,
  • 多种增强模式,
  • 多种切片的各种预处理模式。

使用的骨干网络包括 caformer_s18, resnetrs50, rdnet_tiny, 和 maxxvitv2_nano。
成功训练此模型的一个关键技术是在将特征输入 Transformer 之前应用注意力池化并计算辅助损失。

单视图输入,单条件输出模型 (@yu4u)

yu4u  pipeline 流程图

在这一部分,通过裁剪图像估计严重程度评分。

对于矢状面 T1 和矢状面 T2/STIR 图像,裁剪尺度基于五个水平的关键点之间的平均距离确定,并以关键点为中心裁剪 patches。对于轴向 T2 图像,应用仿射变换将左右关键点定位在 patch 内的特定位置,然后再进行裁剪。随后,将裁剪后的图像输入到 2.5D CNN 模型中以计算严重程度评分。对于轴向 T2 图像,该模型不仅用于预测关节下狭窄,还用于预测椎管狭窄。其他组合没有产生显著结果。

集成与堆叠

Nelder-Mead 引导的堆叠 MLP

我们使用 MLP 构建了一个堆叠模型。
该模型的关键特征是,除了标准的跳跃连接外,还将通过 Nelder-Mead 方法优化的输出添加到模型输出中。(换句话说,模型学习的是真实值与 Nelder-Mead 结果之间的差异。)
ss, scs 和 any 的输入仅包含各自分类模型的结果,而 nfn 则输入 scs, ss 和 nfn 的串联输出。

堆叠 LightGBM 和 XGBoost

单个模型的输出使用 LightGBM 和 XGBoost 进行堆叠。在这种堆叠方法中,相同的模型分别用于每个水平,并且仅利用与输出目标类型相同的输入。因此,输入维度等于模型数量乘以三。使用不同目标的预测效果不佳。

同比赛其他方案