# Translating Electrocardiograms to Cardiac Magnetic Resonance Imaging Useful for Cardiac Assessment and Disease Screening: A Multi-Center Study
省流版:
- 数据预处理:重采样到 250Hz,随机裁剪、带通滤波(0.67–40 Hz)去除基线漂移和高频噪声标准化后转为张量
- 预训练 CMR encoder:先用 CPGG 生成五倍 CMR 数据,然后把原始和生成的数据一起用于 CMR 的自监督预训练,骨架网络用的是 ViT,然后冻结权重
- 对比学习阶段:CMR 编码器使用上一步训练好并冻结的模型,ECG 编码器使用 ST-Mem 的权重来初始化,权重矩阵是对从冻结的 CMR 编码器里提取出来的特征进行 PCA 降维然后用公式 Wik = 1 − exp (−∥φi − φk ∥² / (2σ²)) 计算得到;sik 是 ze,i 和 zc,k 的余弦相似度 sik = cos (ze,i, zc,k) ;然后对于损失函数要加上权重进行计算(区别于标准的 infoNCE);最后训练得到 ECG encoder 的参数
- 下游任务:仅使用对比学习训练出来的 ECG encoder,在相同的模型架构下和多种基准方法进行比较,进行定量评估与统计分析,……
CMR 是检测心血管疾病最有效的手段,但是成本高、操作复杂,12 导联心电图虽然成本低,但是精细度不足。论文提出 CardioNet 框架,将 12 导联 ECG 数据转化为功能参数及与 CMR 成像高度匹配的合成图像,从而实现低成本高精度的心脏评估和疾病筛查。
# Methods
主要有三层:
(1) CMR 自监督表征学习
(2) ECG–CMR 对比学习对齐(让 ECG 学会 CMR 语义)
(3) ECG → CMR 生成模型
# Dataset
模型预训练用的是 UKB 数据集,包含 4 万多个受试者的 ECG-CMR 数据。
为了验证模型的泛化能力,论文在四个不同的多中心队列上进行了 zero-shot transfer 或 fine-tuning:UKB, mimic-IV-ECG31 以及来自两所医院的私有数据集:浙江大学医学院第一附属医院 (FAHZU) 和浙江大学医学院第二附属医院 (SAHZU)
# 数据预处理
参考 A population-based phenome-wide association study of cardiac and aortic structure and function 对 ECG 数据进行预处理
原始数据:
| 模态 | 原始格式 |
|---|---|
| ECG | 多导联时间序列信号 |
| CMR | 2D 或 3D 医学图像(DICOM 格式),灰度值代表组织信号强度 |
- 对于 ECG:
- 对重采样到 250Hz
- 使用带通滤波器(0.67-40Hz)去除基线漂移和高频噪声
- 每导联标准化(Z-score)(消除个体和设备差异)
对于每个导联,计算均值和标准差,公式为,其中 为时间点信号值, 为均值, 为标准差。
- 训练时:随机裁剪一;测试时:多段固定裁剪
- 转为 python tensor 输入模型
- 对于 CMR:
原诗 CMR 是灰度图,对 CMR 数据进行归一化处理
# 对 CMR 进行自监督预训练
如果直接用原始 CMR 图像做对比学习,噪声大、语义弱;而通过自监督预训练 + 生成增强,得到的 CMR 编码器能自动提取出与心脏结构 / 功能高度相关的特征
ECG 不是直接对齐 “原始 CMR 图像”,而是对齐 “已经学会心脏语义的 CMR 表征”
- 用 CPGG 生成合成数据
Phenotype-Guided Generative Model for High-Fidelity Cardiac MRI Synthesis: Advancing Pretraining and Clinical Applications
CMR 数据对于 ViT 太少了,所以用 CPGG 生成了大量高质量合成 CMR 数据用于自监督预训练,扩充了 5 倍数据量
UKB: 32k CMR + 82 pyenotypes -> CPGG 生成 162k 合成 CMR -> 32k 真实 + 162k 生成 = 194k CMR 数据用于自监督预训练
- Masked SSL
50 帧心跳视频 “伪装” 成一张 50 通道的图像,随机遮掉 75% 的时间帧,让 Vision Transformer 学会从残缺信息中重建完整心跳,从而自动学到心脏的结构与功能表征
ViT 原本输入是单张 RGB 图像 (3, 16, 16),但是因为 CMR 只有灰度没有颜色,有 50 帧,所以把 50 帧当作通道数,输入变成 (50, H, W)
随机选择 75% 的通道进行遮挡,模型需要从剩下的 25% 通道中重建完整的 50 通道图像(有点像 MAE)
# 主要工作:Contrastive ECG-CMR Pre-training
冻结经过 SSL 预训练的 CMR ViT 编码器的权重,开始对比学习步骤,目标是特征对齐
标准的 infoNCE 损失函数会把所有未配对的样本均视为负样本 (导致模型过拟合到个体差异),因此采用加 infoNCE 降低 CMR 语义空间中临床相似样本对应的负样本权重
根据 CMR 特征的语义相似性,给负样本分配不同的权重
- 用 “冻结的 CMR Encoder” 提取语义表征
ViT 首先进行 patch 切分(假设 patch size 为 n*n),然后进行 patch embedding 把每个 patch 展平,加上 CLS token 和位置编码,把 n*n+1 个 token 输入 Transformer,经过 L 层 Transformer 编码器后,取出 CLS token 作为整张图像的高阶语义嵌入表示
其中每个,是原始 CMR embeddings
2. 用 PCA 构造 “连续伪表型空间”
对于矩阵 $ H \in \mathbbR} $
进行 PCA 降维
这里的 用来度量 “临床相似性”
# 重点:对比学习阶段
- CMR embeddings 由 作 normalize 得到
- ECG embeddings 由 ECG encoder 得到,ECG encoder 是 ST-Mem 自监督模型
- 计算相似度矩阵
使用余弦相似度:
其中吗,S 的具体结构
S = \begin{bmatrix} z_{e,1} \cdot z_{c,1} & z_{e,1} \cdot z_{c,2} & \dots \ z_{e,2} \cdot z_{c,1} & z_{e,2} \cdot z_{c,2} & \dots \ \vdots & \vdots & \ddots \end{bmatrix}对角线: 是正样本。
- 构造权重矩阵 W
- PCA 输入
使用:
PCA 投影矩阵:
- PCA 输出
维度:
计算距离矩阵 D
向量化计算方法,利用公式:
首先计算:
然后计算每行平方范数:
接着构造距离矩阵:
构造权重矩阵
设置
- Weighted InfoNCE
- ECG->CMR 对齐方向
对于相似度矩阵,infoNCE 要进行温度缩放
对每一行 i:
取第 i 行相似度
计算分母
单样本 loss
总 loss
- CMR->ECG 对齐方向
- 最终对比损失
# ECG2CMR 生成模型
# CMR 压缩
3D-VAE 将长轴 cine CMR 编码为 latent 表征
/ 为 temporal /spatial downsampling factor
# Masked Autoregressive Model (MAR)
Transformer backbone,双向 attention
将 CMR latent 表征划分为 tokens
训练时动态 masking,并用 diffusion-based denoising loss 重建
# ECG 条件信息
输入 ECG 编码为特征向量
作为特殊 conditional token 拼接到 CMR token 序列
双向 attention 融合 ECG 信息,指导 CMR 生成
# 迭代解码
从全 masked latent 表征开始
K 步迭代,每步预测部分 token,随机保留
masking ratio 按余弦调度逐步减小
# 超参数
- 3D-VAE: latent dim =16, (f_t=2, f_s=8)
- MAR: 12-layer encoder-decoder, latent embedding 768, patch size 5×2×2
- Diffusion: 1000 steps 训练,100 steps 推理,MLP 3-block, width=1024
- 迭代解码 16 steps
# 数学原理:
- Transformer autoregressive 预测:
- Diffusion denoising loss:
迭代解码逐步减少 uncertainty,提高生成质量
# Downstream Tasks
- 心脏结构表型预测
- 使用 ECG encoder embedding
- 监督训练回归 82 个表型
- 评价指标:R², Pearson correlation, MAE, RMSE
- 心血管疾病筛查
- 三类心肌病 (DCM/HCM/RCM)、CAD、HF、PH
- 评价指标:AUC, accuracy, sensitivity, specificity, PPV, NPV
- 解释性研究
- 使用 ECG-CMR 对齐 embedding,分析模型关注特征
- 影响判读研究
- 医生基于 AI 生成 CMR 图像 vs 真实 CMR 进行诊断
- 验证模型生成图像的临床可用性
# 软件与训练环境
数据处理: numpy, pandas, sklearn, scipy, SimpleITK
模型开发: PyTorch 1.11.0
硬件: NVIDIA A800 80GB GPU