返回列表

3rd place solution

686. PhysioNet - Digitization of ECG Images | physionet-ecg-image-digitization

开始: 2025-10-21 结束: 2026-01-22 医学影像分析 数据算法赛
第三名解决方案 - 高分辨率映射 + 抛物线细化

第三名解决方案

高分辨率映射 + 抛物线细化

作者: Tang (hirotetsu) | 排名: 第 3 名 | 发布日期: 2026 年 1 月 23 日

概述

  • 高分辨率映射校正: 使用低分辨率图像计算几何参数,然后将其放大并直接应用于原始高分辨率图像。这有助于避免丢失细节。
  • 训练: 使用强大的数据增强使模型更加稳健。
  • 亚像素精度: 使用抛物线细化方法将像素级预测转换为准确的浮点值。

掩膜准备 (Mask Preparation)

对于掩膜生成,我们使用信号数据绘制一像素宽的线。我们也尝试通过添加高斯模糊使线变宽以创建更柔和的标签,但这并没有改善结果。因此,我们决定保持一像素掩膜,并故意训练一个“过拟合”的模型,使其以高置信度预测细波形。

图像尺寸 信噪比 SNR (dB) 备注
2200 x 1700 24.2235 标准尺寸 (200 DPI)
4400 x 1700 31.2271 选定尺寸
掩膜示例
  1. 更宽的图像: 将宽度增加到 4400 像素大大提高了信噪比 (SNR)。ECG 信号是时间序列数据,因此更多的水平像素意味着更好的采样和更少的量化误差。
  2. 固定高度: 高度保持不变。保持波形厚度接近 1 像素有助于模型更准确地预测信号位置,并使后处理更稳定。

我们评估了不同掩膜尺寸的信噪比,发现较大的掩膜通常能提供更好的信噪比。然而,由于推理内存有限和训练结果,我们选择在保持原始高度的同时将宽度加倍。这里的问题是如何在校正过程中保持图像质量,我们通过将图像变换步骤与校正过程分离来解决这个问题。

高分辨率映射校正 (High-Resolution Mapping Rectification)

校正模型输出的校正图像尺寸相对较小,这可能会在校正过程中导致质量损失。为了避免重复调整大小造成的退化,我们将过程分为两步:

  • 参数估计(低分辨率)
  • 图像变换(高分辨率)
映射校正示意图

单应性矩阵 (Homography matrix) 和网格坐标被缩放以匹配原始 raw 图像的大小。这种方法在实验中产生了显著的改进。

信号分割模型 (Signal Segmentation Model)

  • 编码器 (encoder):

    • ConvNeXt V2
    • HRNet
    • EfficientNet V2

    在我们的实验中,性能排名为 ConvNeXt V2 > HRNet > EfficientNet V2。对于最终提交,我们通过取后处理信号的加权平均来集成 ConvNeXt V2 和 HRNet 模型,而不是直接平均分割概率。这种信号级集成产生了更好的结果。

  • 解码器 (decoder):

    • UnetDecoder
  • 数据增强 (Augmentation):

    • GridDropout
    • CoarseDropout
    • AddPerlinDirt
    • MotionBlur
    • Downscale
    • GaussianBlur
    • ImageCompression
    • GaussNoise
    • ISONoise
    • ToGray
    • RandomBrightnessContrast
    • HueSaturationValue
    • RandomShadow
    • ElasticTransform
    • HorizontalFlip
    • VerticalFlip

    考虑到隐藏测试数据中的一些样本可能噪声很高,我们在训练期间应用了非常激进的数据增强。我们添加了一个小的 ElasticTransform 来模拟展开图像中的失真,其中波形和网格线都可能因展开过程本身而略微扭曲。

  • 损失函数 (Loss):
    我们使用 BCE 损失训练模型。在实践中,即使在最低损失下,预测的波形仍然太粗。为了获得细的、接近一像素宽的波形边界,我们故意继续训练一个“过拟合”的模型,并使用 Dice 分数和 CV 分数作为模型选择的主要标准。

亚像素信号处理 (Sub-pixel Signal Processing)

我们尝试了不同的策略将像素位置转换为时间序列值。两种有效的方法是:

  • 加权质心 (Weighted Centroid): 我们选择了前 K 个像素,并使用预测概率作为权重计算最终位置。这种方法产生了良好的结果,但对 K 的选择和加权指数敏感。
  • 抛物线插值 (Parabolic Interpolation): 它通过拟合峰值及其两个邻居的局部抛物线来细化整数 argmax,给出亚像素(浮点)峰值位置。

我们选择了抛物线插值,因为它在我们的实验中始终提供最佳性能。我们认为这是因为模型输出了非常细、锐利的线,对于这种情况,抛物线插值提供了一种可靠的方法来估计真实位置,而不需要超参数调整。

亚像素处理示意图

偏移量计算如下:

delta = (y_left - y_right) / (2 * (y_left - 2*y_center + y_right))

最终位置为:

实际坐标 (Real Coordinate) = 整数索引 (Integer Index) + delta

其他 (Others)

  • 导联 II 融合 (Lead II Fusion): 通过平均重叠的头部区域,将短导联 II 预测与长节律条 (Series 3) 合并。
  • 爱因托芬校正 (Einthoven Correction): 应用 Einthoven 校正来调整导联 I、II 和 III,同时强制物理约束 II=I+III。导联 II 被赋予更高的重要性(权重 = 2),而导联 I 和 III 使用相等的较低权重(权重 = 1)。
  • 测试时增强 (TTA): 原始、水平翻转、垂直翻转以及两者都翻转。
同比赛其他方案