返回列表

13th place solution with code

348. RSNA Intracranial Hemorrhage Detection | rsna-intracranial-hemorrhage-detection

开始: 2019-09-18 结束: 2019-11-13 医学影像分析 数据算法赛
第13名解决方案(含代码)

第13名解决方案(含代码)

作者: nan (dattran2346) 及团队成员
比赛: RSNA 颅内出血检测

感谢 Kaggle 和 RSNA 主办了如此有趣的比赛。
感谢整个团队 @andy2709@moewie94@lego1st@nguyenbadung 的通力合作。

代码已公开发布在 https://github.com/dattran2346/rsna-2019

1. 预处理

窗技术

  • 我们使用了脑窗、硬膜下窗、骨窗和默认窗口的多种组合,并将它们堆叠以创建标准的 3 通道图像。
ct_windows = {
    'brain': {'L': 40, 'W': 80},
    'subdural': {'L': 75, 'W': 215},
    'bony': {'L': 600, 'W': 2800},
    'default': { # 来自元数据 }
}

窗设置优化

  • 其思路是使用 1x1 卷积和 Sigmoid 激活函数来学习相关的窗口,权重初始化为默认的脑窗、硬膜下窗和骨窗。@andy2709 尝试了这种方法,并注意到最终学习到的窗口与默认窗口非常接近。

数据划分

  • 我们同时根据患者 ID 和检查 ID 对数据集进行了划分。我、@andy2709 和 @lego1st 按患者划分训练模型,而 @nguyenbadung 和 @moewie94 则按检查划分进行训练。

2. 模型

2D 模型

2D Model Architecture

我们在此应用了两阶段训练:

  • 在第一阶段,仅进行常规的 CNN 训练,主干网络包括 EfficientNetB2-B5、SEResNeXt50、SEResNeXt101。
  • 在第二阶段,我们使用 5 个连续切片的输出,并应用一个简单的 CNN 来预测中心切片。

3D 模型

3D Model Architecture

  • 我们使用常规主干网络作为编码器,使用双向 LSTM 和全连接(FC)层作为解码器,该模型进行了端到端的训练。
  • 对于每次检查,我们在训练期间按顺序选择 10 个随机切片(连续或不连续)并输入网络。在推理时,则考虑所有切片。

3. 堆叠

Stacking Architecture

  • 拼接所有模型的预测结果(包括按
同比赛其他方案