第9名方案(含GitHub代码)
第9名方案(含GitHub代码)
作者: shimacos, rincha
比赛: RSNA STR Pulmonary Embolism Detection
恭喜所有的获奖者!
这次比赛在很多方面对我来说都很艰难。
方案概览
.png?generation=1603760751579416&alt=media)
预处理
第一阶段训练 (Stage 1 training)
- 我们使用了 512 x 512 图像 + EfficientNet-b5 以及 384 x 384 图像 + EfficientNet-b3,并使用了预处理后的标签。
第二阶段训练 (Stage 2 training)
- 由于我们使用了 512 x 512 图像 + EfficientNet-b5,推理时间非常紧张。因此,我们将400个序列下采样到200个序列,并使用了反卷积模块。
- 由于资源限制,我们在第一阶段无法使用多种模型。因此,我们在第二阶段训练了多种模型。
- 输入:仅 b5特征, 仅 b3特征, b5特征 + b3特征
- 模型:Conv1D, LSTM, GRU, Conv1D + LSTM
- 输出:3 x 4 = 12 个预测结果
堆叠
- 我们训练了 LGBM, Conv1D 和 GRU。
- 在使用 LGBM 训练
pe_present_on_image 时,我们只使用了 PE 检查数据,因为来自阴性 PE 的图像不影响比赛指标。
后处理
- 我们实施了一种启发式后处理方法。
- 该后处理使 CV 和 Public 分数提高了 0.002(Private 分数从 0.160 提高到 0.162)。
- 主要思路
- 当
1 - negative_exam_for_pe <= pe_present_on_image 时,用 1 - negative_exam_for_pe 替换 pe_present_on_image。
- 重复执行 sigmoid -> logit -> logit += s -> sigmoid,直到满足标签一致性。
label_cols = [
"pe_present_on_image",
"