grounded-ecg-understanding-eval
GEM: Empowering MLLM for Grounded ECG Understanding with Time Series and Images — Lan et al. (2025) (arXiv:2503.06073, 2025)
What this evaluates
Evaluates a multimodal LLM's ability to interpret 12-lead ECG signals and images, providing clinically grounded diagnoses, detailed feature annotations, and evidence-based reasoning. It also tests cardiac abnormality detection and automated report generation across multiple public ECG datasets.
Datasets
- MIMIC-IV-ECG — total 2381; splits: test (2381)
- ECG-Bench (PTB-XL, CPSC2018, G12EC, CODE-15%, CSN) — total ?; splits: test (-1)
- PTB-XL Report — total ?; splits: test (-1)
- ECG-QA — total ?; splits: test (-1)
Metrics
DiagnosisAccuracy (primary) — range: percent
- Evaluates whether the generated diagnosis is correct, specific, and supported by ECG findings. Results are expressed as a percentage indicating average accuracy across identified key diagnoses.
ECGFeatureGrounding — range: [0, 100]
- Determines if the interpretation references actual ECG features (e.g., QRS amplitude, PR interval) instead of generic terms. Scaled from 0 to 100.
AUC — range: [0, 1]
- Area Under the Receiver Operating Characteristic curve for multi-label abnormality detection.
Accuracy — range: [0, 1]
- Proportion of correctly classified samples for single-label datasets (CSN, G12EC).
Report Score — range: [0, 100]
- Evaluates generated reports based on accuracy in rhythms, waveform descriptions, and diagnoses. Max score 100, scored by GPT-4o.
Input / output format
Input: 12-lead ECG time series signals, corresponding 12-lead ECG images, and text prompts/instructions for diagnosis, feature grounding, or report generation.
Output: Textual clinical interpretations, specific ECG feature annotations (e.g., QRS/PR intervals, lead findings), diagnostic labels, and structured ECG reports.
Scoring recipe
def score_ecg_response(response, ground_truth, task_type):
if task_type == 'grounded_understanding':
prompt = f'Score response against criteria: {criteria}.'
score = gpt4o.evaluate(response, prompt)
return score
elif task_type == 'abnormality_detection':
y_true = ground_truth_labels
y_pred = model_predictions
auc = roc_auc_score(y_true, y_pred)
f1 = f1_score(y_true, y_pred, average='macro')
hl = hamming_loss(y_true, y_pred)
acc = accuracy_score(y_true, y_pred)
return {'AUC': auc, 'F1': f1, 'HL': hl, 'Accuracy': acc}
elif task_type == 'report_generation':
return gpt4o.score_report(response, max_score=100)
Common pitfalls
- GPT-4o is used as an automated judge for clinical reasoning metrics, which may introduce scoring bias or variability compared to human experts.
- The cardiologist evaluation is qualitative and based on only 6 representative examples, limiting statistical generalizability.
- Training data (ECG-Grounding) is sampled from MIMIC-IV-ECG but explicitly excludes samples used to train baselines like PULSE, requiring careful split verification to avoid leakage.
Evidence (verbatim from paper)
We utilize GPT-4o to score the responses of the MLLM using a predefined set of metrics that measures the accuracy and comprehensiveness of the details provided. Specifically, these metrics include: DiagnosisAccuracy evaluates whether the generated diagnosis is correct, specific, and supported by ECG findings. Results are expressed as a percentage, indicating the average accuracy across identified key diagnoses. AnalysisCompleteness checks if all key ECG components (e.g., rhythm, intervals, waveforms, and lead-specific findings) are discussed. Results are provided in absolute terms, indicating the average number of correctly addressed key ECG features for each sample. ECGFeatureGrounding determines if the interpretation references actual ECG features (e.g., QRS amplitude, PR interval) instead of generic terms. Results are scaled from 0 to 100.
Citation
@misc{lan2025gem,
title={GEM: Empowering MLLM for Grounded ECG Understanding with Time Series and Images},
author={Lan et al. (2025)},
year={2025},
note={arXiv:2503.06073}
}
1---2name: grounded-ecg-understanding-eval3description: Evaluates a multimodal LLM's ability to interpret 12-lead ECG signals and images, providing clinically grounded diagnoses, detailed feature annotations, and evidence-based reasoning. It also tests cardiac abnormality detection and automated report generation across multiple public ECG datasets. Use when the user wants to benchmark on MIMIC-IV-ECG, ECG-Bench (PTB-XL, CPSC2018, G12EC, CODE-15%, CSN), PTB-XL Report, ECG-QA, or asks about evaluating this task. Reports DiagnosisAccuracy.4---56# grounded-ecg-understanding-eval78> GEM: Empowering MLLM for Grounded ECG Understanding with Time Series and Images — Lan et al. (2025) (arXiv:2503.06073, 2025)910## What this evaluates1112Evaluates a multimodal LLM's ability to interpret 12-lead ECG signals and images, providing clinically grounded diagnoses, detailed feature annotations, and evidence-based reasoning. It also tests cardiac abnormality detection and automated report generation across multiple public ECG datasets.1314## Datasets1516- **MIMIC-IV-ECG** — total 2381; splits: test (2381)17- **ECG-Bench (PTB-XL, CPSC2018, G12EC, CODE-15%, CSN)** — total ?; splits: test (-1)18- **PTB-XL Report** — total ?; splits: test (-1)19- **ECG-QA** — total ?; splits: test (-1)2021## Metrics2223- `DiagnosisAccuracy` **(primary)** — range: percent24 - Evaluates whether the generated diagnosis is correct, specific, and supported by ECG findings. Results are expressed as a percentage indicating average accuracy across identified key diagnoses.25- `ECGFeatureGrounding` — range: [0, 100]26 - Determines if the interpretation references actual ECG features (e.g., QRS amplitude, PR interval) instead of generic terms. Scaled from 0 to 100.27- `AUC` — range: [0, 1]28 - Area Under the Receiver Operating Characteristic curve for multi-label abnormality detection.29- `Accuracy` — range: [0, 1]30 - Proportion of correctly classified samples for single-label datasets (CSN, G12EC).31- `Report Score` — range: [0, 100]32 - Evaluates generated reports based on accuracy in rhythms, waveform descriptions, and diagnoses. Max score 100, scored by GPT-4o.3334## Input / output format3536**Input**: 12-lead ECG time series signals, corresponding 12-lead ECG images, and text prompts/instructions for diagnosis, feature grounding, or report generation.3738**Output**: Textual clinical interpretations, specific ECG feature annotations (e.g., QRS/PR intervals, lead findings), diagnostic labels, and structured ECG reports.3940## Scoring recipe4142```python43def score_ecg_response(response, ground_truth, task_type):44 if task_type == 'grounded_understanding':45 prompt = f'Score response against criteria: {criteria}.'46 score = gpt4o.evaluate(response, prompt)47 return score48 elif task_type == 'abnormality_detection':49 y_true = ground_truth_labels50 y_pred = model_predictions51 auc = roc_auc_score(y_true, y_pred)52 f1 = f1_score(y_true, y_pred, average='macro')53 hl = hamming_loss(y_true, y_pred)54 acc = accuracy_score(y_true, y_pred)55 return {'AUC': auc, 'F1': f1, 'HL': hl, 'Accuracy': acc}56 elif task_type == 'report_generation':57 return gpt4o.score_report(response, max_score=100)58```5960## Common pitfalls6162- GPT-4o is used as an automated judge for clinical reasoning metrics, which may introduce scoring bias or variability compared to human experts.63- The cardiologist evaluation is qualitative and based on only 6 representative examples, limiting statistical generalizability.64- Training data (ECG-Grounding) is sampled from MIMIC-IV-ECG but explicitly excludes samples used to train baselines like PULSE, requiring careful split verification to avoid leakage.6566## Evidence (verbatim from paper)6768> We utilize GPT-4o to score the responses of the MLLM using a predefined set of metrics that measures the accuracy and comprehensiveness of the details provided. Specifically, these metrics include: DiagnosisAccuracy evaluates whether the generated diagnosis is correct, specific, and supported by ECG findings. Results are expressed as a percentage, indicating the average accuracy across identified key diagnoses. AnalysisCompleteness checks if all key ECG components (e.g., rhythm, intervals, waveforms, and lead-specific findings) are discussed. Results are provided in absolute terms, indicating the average number of correctly addressed key ECG features for each sample. ECGFeatureGrounding determines if the interpretation references actual ECG features (e.g., QRS amplitude, PR interval) instead of generic terms. Results are scaled from 0 to 100.6970## Citation7172```bibtex73@misc{lan2025gem,74 title={GEM: Empowering MLLM for Grounded ECG Understanding with Time Series and Images},75 author={Lan et al. (2025)},76 year={2025},77 note={arXiv:2503.06073}78}79```8081- arXiv: 2503.06073