686. PhysioNet - Digitization of ECG Images | physionet-ecg-image-digitization
感谢 PhysioNet 和 Kaggle 举办如此精彩的比赛。非常感谢 hengck23、wasupandceacar 以及其他人的无私开源贡献。我们直到最后一周才开始认真投入,因此我们专注于优化得分最高的开源解决方案。我们很激动能取得这个排名,并期待看到获胜者的解决方案!
我们的解决方案主要基于 hengck23 的开源代码。我们将优化重点放在第一阶段和第二阶段(由于时间不足,我们保留了阶段 0 的原样)。最大的改进来自于第二阶段的两阶段训练,它结合了分割和信号提取。这使得原始信号数据能够直接参与训练过程——这个想法之前在 hengck23 的讨论帖中已经提出过(虽然起初我从图表中不太理解……)。
我们基于多个外部数据集(例如 PTB, PTB-XL, Georgia, CPSC-2018 等),使用修改版的 ecg-image-kit 随机生成了约 10k 张原始 ECG 图像。结合官方数据集,我们将这些图像通过我们的阶段 0 和阶段 1 推理管道进行处理。 resulting 输出作为预标注,然后使用我们自定义的标注软件进行手动 refinement。

标准 UNet。骨干网络:EfficientNet-V2-S, ResNet34。(AdamW (lr: 1e-4, wd: 2e-5).)
各种 Albumentations 技术,包括 Noise, Blur, ToGray, 和 CLAHE。
在训练期间,我们根据验证损失和分数保留排名前三的模型,然后进行离线权重平均。
使用修改版的 ecg-image-kit 生成了 20k 张 ECG 图像(带有导联掩码),并结合官方数据集。所有训练数据都经过我们优化的阶段 0 + 阶段 1 推理管道预处理,以获得校正后的无失真图像。

在官方数据集上使用患者 ID 作为分组进行 5 折交叉验证。合成数据仅包含在每折的训练集中,排除在验证集之外。
wasupandceacar 的 ResNet34-UNet。图像大小:1696 x 4352
各种 Albumentations 技术,包括 Noise, Blur, ToGray, 和 CLAHE。
结合分割阶段的增强与自定义设计的效果:模拟黑色/黄色污渍、镜头失真、纸张折痕、部分阴影和扫描仪噪声。
4x RTX 4090 (DDP), EMA (0.992), AdamW, Warmup + Cosine Scheduler, 2e-5 学习率。每个 epoch 的数据采样:80% 官方数据和 20% 合成数据。