返回列表

16th place solution

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

开始: 2019-09-18 结束: 2019-11-13 医学影像分析 数据算法赛
第16名方案

第16名方案

作者: Beomhee Park | 比赛排名: 第16名

祝贺所有的获奖者,也感谢 Kaggle 和组织者提供这个学习平台。

我们开始得比较晚,但得益于 @appian 分享的代码,我们有了一个很好的起点。非常感谢 @appian

我们的整体流程如下。

流程图

步骤 1

  • 将图像视为独立输入进行基础训练。
    • 输入形状:(batch_size, 512, 512, 3)
      • 第4个轴 (3) 表示具有多个窗参数的3个通道。
    • 输出形状:(batch_size, 6)
    • CNN 架构:SE-ResNeXt-101 和 EfficientNet-B6
    • 损失函数:加权对数损失 (weights = [2/7, 1/7, 1/7, 1/7, 1/7, 1/7])
    • 优化器:Adam (学习率从 1e-4 到 1e-5)
    • 采样:随机采样或基于位置的采样(从患者级别的图像序列中更多地采样中间切片)
    • 5折或7折训练

步骤 2

  • 我们希望根据标签关系或相邻图像切片来校准输出分布,因此我们将患者级别图像的输出视为信号并训练模型。
  • 输出分布从验证集中提取。(例如,来自5折的5个模型可以组成完整的训练数据集。)
  • 如果在步骤1中使用了约 640,000 张图像,那么在步骤2中使用了约 19,500 个输出信号(患者数量)。
    • 输入形状:(batch_size, None, 6, 1)
      • 第1个轴 表示信号的长度(切片数量)。
      • 第2个轴 (6) 表示标签的数量。
    • 输出形状:(batch_size, None, 6, 1)
    • CNN 架构:简单的 CNN 模型,包含4个卷积层,使用 5x6 矩阵
    • 损失函数:加权对数损失 (weights = [2/7, 1/7, 1/7, 1/7, 1/7, 1/7])
    • 优化器:Adam (学习率 1e-5)
    • 5折训练
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
input_1 (InputLayer)         (None, None, 6, 1)        0         
_________________________________________________________________
conv2d_1 (Conv2D)            (None, None, 6, 64)       1984      
_________________________________________________________________
conv2d_2 (Conv2D)            (None, None, 6, 64)       122944    
_________________________________________________________________
conv2d_3 (Conv2D)            (None, None, 6, 64)       122944    
_________________________________________________________________
conv2d_4 (Conv2D)            (None, None, 6, 64)       122944    
_________________________________________________________________
conv2d_5 (Conv2D)            (None, None, 6, 1)        65        
=================================================================

我们也曾考虑在图像级别处理序列信息,但由于时间紧迫,因此将过程分为两步,并使用维度相对较小的输出信号作为次优选择。

结果如下:
步骤 1 结果:0.05425(私有分数)
步骤 2 结果:0.04793(私有分数)
我们认为,像其他团队一样,我们团队的核心处理过程也是为了反映序列信息。

{'
同比赛其他方案