Robust Transfer Learning for Paper ECG Recognition
Organizations: Uppsala University, Sweden · Nanjing Medical University, China · The First Affiliated Hospital with Nanjing Medical University, China
Abstract
Paper ECG recognition is challenging because real-world ECG images vary in layout, physical artifacts, and label availability. We introduce RobECG-CL, a rank-aware contrastive learning framework for robust paper ECG representation learning. Starting from standard 12-lead ECG recordings, we construct progressively degraded paper ECG views with heterogeneous layouts and train the model to balance same-recording invariance with degradation-aware ordering. Across synthetic stress tests on CODE-II and EchoNext, RobECG-CL improves robustness under severe degradation and few-shot transfer, outperforming contrastive learning baselines and surpassing the waveform-based foundation model, ECG-FM, in the 1% labeled setting. On 312 samples of hospital data with 37 labels, RobECG-CL achieves the best macro AUROC.
Figures & tables
| Method | Clean Paper ECG | Severity 1 | Severity 2 | Severity 3 | Severity 4 | Avg. | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1% | 10% | 1% | 10% | 1% | 10% | 1% | 10% | 1% | 10% | 1% | 10% | |
| PTB-XL downstream | ||||||||||||
| RobECG-CL | 0.766 0.006 | 0.798 0.003 | 0.766 0.005 | 0.797 0.003 | 0.763 0.005 | 0.793 0.003 | 0.758 0.006 | 0.786 0.003 | 0.742 0.005 | 0.768 0.003 | 0.759 0.005 | 0.788 0.003 |
| MoCo | 0.756 0.007 | 0.806 0.002 | 0.740 0.006 | 0.798 0.002 | 0.717 0.009 | 0.776 0.004 | 0.682 0.013 | 0.745 0.004 | 0.639 0.016 | 0.705 0.006 | 0.710 0.007 | 0.768 0.003 |
| DINO | 0.707 0.013 | 0.782 0.003 | 0.706 0.014 | 0.780 0.003 | 0.684 0.019 | 0.766 0.003 | 0.651 0.019 | 0.741 0.004 | 0.614 0.017 | 0.704 0.005 | 0.675 0.015 | 0.756 0.003 |
| BYOL | 0.739 0.006 | 0.803 0.001 | 0.724 0.007 | 0.793 0.001 | 0.698 0.009 | 0.772 0.003 | 0.663 0.011 | 0.743 0.003 | 0.623 0.013 | 0.708 0.003 | 0.693 0.008 | 0.766 0.002 |
| Method | Clean Paper ECG | Severity 1 | Severity 2 | Severity 3 | Severity 4 | Avg. | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1% | 10% | 1% | 10% | 1% | 10% | 1% | 10% | 1% | 10% | 1% | 10% | |
| PTB-XL downstream | ||||||||||||
| RobECG-CL | 0.692 0.006 | 0.738 0.002 | 0.691 0.006 | 0.735 0.002 | 0.689 0.006 | 0.734 0.002 | 0.684 0.006 | 0.729 0.002 | 0.673 0.006 | 0.715 0.002 | 0.686 0.006 | 0.730 0.002 |
| MoCo | 0.722 0.002 | 0.768 0.004 | 0.709 0.004 | 0.756 0.005 | 0.681 0.007 | 0.726 0.007 | 0.642 0.010 | 0.690 0.006 | 0.600 0.010 | 0.644 0.007 | 0.671 0.005 | 0.717 0.005 |
| DINO | 0.709 0.005 | 0.766 0.004 | 0.695 0.006 | 0.758 0.004 | 0.670 0.011 | 0.743 0.005 | 0.631 0.012 | 0.708 0.005 | 0.594 0.014 | 0.667 0.004 | 0.660 0.009 | 0.728 0.004 |
| BYOL | 0.711 0.006 | 0.764 0.004 | 0.689 0.007 | 0.749 0.004 | 0.663 0.008 | 0.723 0.004 | 0.626 0.010 | 0.694 0.005 | 0.586 0.012 | 0.657 0.006 | 0.655 0.006 | 0.717 0.004 |
| Method | 1AVB | AF | CRBBB | IRBBB | ISC | LAE | LVH | NORM | OMI | PAC | PVC | SB | Avg. | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AUC | F1 | AUC | F1 | AUC | F1 | AUC | F1 | AUC | F1 | AUC | F1 | AUC | F1 | AUC | F1 | AUC | F1 | AUC | F1 | AUC | F1 | AUC | F1 | AUC | F1 | |
| RobECG-CL | 0.581 | 0.212 | 0.753 | 0.278 | 0.928 | 0.691 | 0.626 | 0.140 | 0.653 | 0.271 | 0.830 | 0.429 | 0.952 | 0.615 | 0.841 | 0.299 | 0.557 | 0.177 | 0.699 | 0.219 | 0.842 | 0.590 | 0.912 | 0.635 | 0.765 | 0.380 |
| MoCo | 0.541 | 0.171 | 0.752 | 0.393 | 0.877 | 0.597 | 0.645 | 0.192 | 0.736 | 0.346 | 0.777 | 0.226 | 0.944 | 0.516 | 0.755 | 0.246 | 0.628 | 0.186 | 0.764 | 0.156 | 0.899 | 0.548 | 0.892 | 0.558 | 0.767 | 0.345 |
| DINO | 0.499 | 0.171 | 0.778 | 0.295 | 0.880 | 0.571 | 0.604 | 0.213 | 0.750 | 0.293 | 0.702 | 0.222 | 0.877 | 0.324 | 0.839 | 0.293 | 0.628 | 0.212 | 0.799 | 0.203 | 0.903 | 0.635 | 0.848 | 0.467 | 0.759 | 0.325 |
| BYOL | 0.500 | 0.134 | 0.617 | 0.273 | 0.848 | 0.522 | 0.574 | 0.139 | 0.657 | 0.259 | 0.745 | 0.203 | 0.960 | 0.636 | 0.792 | 0.250 | 0.575 | 0.115 | 0.729 | 0.216 | 0.884 | 0.577 | 0.889 | 0.454 | 0.731 | 0.315 |
| SimCLR | 0.510 | 0.148 | 0.618 | 0.256 | 0.722 | 0.278 | 0.540 | 0.136 | 0.788 | 0.351 | 0.790 | 0.189 | 0.928 | 0.415 | 0.778 | 0.233 | 0.598 | 0.182 | 0.691 | 0.216 | 0.813 | 0.463 | 0.840 | 0.500 | 0.718 | 0.281 |
Appendix figures & tables10 assets
Supplementary material from the paper’s appendix.
Appendix
| Method | Clean Paper ECG MAE | Severity 1 MAE | Severity 2 MAE | Severity 3 MAE | Severity 4 MAE | Avg. MAE | Avg. RMSE | Avg. | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1% | 10% | 1% | 10% | 1% | 10% | 1% | 10% | 1% | 10% | 1% | 10% | 1% | 10% | 1% | 10% | |
| RobECG-CL | 12.66 0.22 | 11.75 0.15 | 12.67 0.19 | 11.78 0.17 | 12.76 0.21 | 11.87 0.18 | 12.90 0.23 | 12.07 0.18 | 13.16 0.25 | 12.45 0.19 | 12.83 0.21 | 11.98 0.17 | 16.00 0.31 | 15.07 0.23 | 0.102 0.035 | 0.204 0.024 |
| MoCo | 13.10 0.10 | 12.18 0.08 | 13.00 0.09 | 12.26 0.07 | 13.25 0.13 | 12.50 0.05 | 13.61 0.22 | 12.87 0.06 | 13.88 0.22 | 13.22 0.06 | 13.37 0.14 | 12.60 0.05 | 16.48 0.16 | 15.66 0.07 | 0.047 0.019 | 0.140 0.007 |
| DINO | 13.28 0.20 | 12.10 0.05 | 13.27 0.22 | 12.14 0.05 | 13.42 0.23 | 12.38 0.05 | 13.66 0.15 | 12.76 0.06 | 13.90 0.10 | 13.17 0.07 | 13.51 0.17 | 12.51 0.05 | 16.64 0.18 | 15.47 0.06 | 0.028 0.021 | 0.160 0.006 |
| BYOL | 13.14 0.12 | 12.12 0.05 | 13.25 0.15 | 12.26 0.04 | 13.46 0.20 | 12.50 0.03 | 13.69 0.19 | 12.87 0.02 | 13.88 0.13 | 13.22 0.02 | 13.48 0.15 | 12.59 0.01 | 16.66 0.16 | 15.65 0.03 | 0.027 0.019 | 0.141 0.003 |
| SimCLR | 13.24 0.09 | 12.60 0.08 | 13.28 0.06 | 12.65 0.09 | 13.52 0.07 | 12.75 0.07 | 13.72 0.09 | 13.02 0.03 | 13.86 0.13 | 13.31 0.06 | 13.52 0.08 | 12.87 0.05 | 16.68 0.10 | 15.94 0.06 | 0.025 0.011 | 0.108 0.007 |
| Method | Clean Paper ECG | Severity 1 | Severity 2 | Severity 3 | Severity 4 | Avg. | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1% | 10% | 1% | 10% | 1% | 10% | 1% | 10% | 1% | 10% | 1% | 10% | |
| PTB-XL downstream | ||||||||||||
| RobECG-CL | 0.695 0.006 | 0.739 0.007 | 0.695 0.005 | 0.736 0.006 | 0.692 0.006 | 0.731 0.006 | 0.688 0.006 | 0.725 0.005 | 0.671 0.005 | 0.705 0.005 | 0.688 0.005 | 0.727 0.006 |
| MoCo | 0.696 0.014 | 0.755 0.005 | 0.678 0.012 | 0.744 0.005 | 0.650 0.012 | 0.717 0.006 | 0.611 0.014 | 0.680 0.006 | 0.568 0.015 | 0.637 0.005 | 0.645 0.011 | 0.710 0.004 |
| DINO | 0.648 0.014 | 0.722 0.007 | 0.647 0.013 | 0.720 0.005 | 0.622 0.016 | 0.707 0.003 | 0.583 0.018 | 0.680 0.003 | 0.541 0.016 | 0.640 0.003 | 0.612 0.013 | 0.696 0.004 |
| BYOL | 0.665 0.008 | 0.745 0.004 | 0.650 0.006 | 0.736 0.004 | 0.624 0.006 | 0.713 0.004 | 0.590 0.009 | 0.680 0.003 | 0.549 0.011 | 0.640 0.003 | 0.619 0.005 | 0.706 0.003 |
| Method | Clean Paper ECG | Severity 1 | Severity 2 | Severity 3 | Severity 4 | Avg. | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1% | 10% | 1% | 10% | 1% | 10% | 1% | 10% | 1% | 10% | 1% | 10% | |
| PTB-XL downstream | ||||||||||||
| RobECG-CL | 0.624 0.008 | 0.683 0.003 | 0.622 0.009 | 0.679 0.003 | 0.621 0.009 | 0.679 0.004 | 0.617 0.010 | 0.673 0.003 | 0.601 0.009 | 0.654 0.004 | 0.617 0.009 | 0.674 0.003 |
| MoCo | 0.663 0.004 | 0.715 0.005 | 0.644 0.005 | 0.698 0.005 | 0.611 0.007 | 0.665 0.007 | 0.571 0.014 | 0.626 0.006 | 0.528 0.011 | 0.572 0.006 | 0.609 0.005 | 0.661 0.005 |
| DINO | 0.650 0.006 | 0.712 0.003 | 0.628 0.007 | 0.701 0.003 | 0.600 0.013 | 0.679 0.003 | 0.555 0.017 | 0.636 0.005 | 0.520 0.016 | 0.594 0.005 | 0.595 0.010 | 0.669 0.003 |
| BYOL | 0.654 0.005 | 0.709 0.003 | 0.624 0.008 | 0.690 0.003 | 0.597 0.009 | 0.665 0.004 | 0.558 0.014 | 0.631 0.005 | 0.516 0.013 | 0.588 0.005 | 0.593 0.007 | 0.660 0.003 |
| Label | RobECG-CL | MoCo | DINO | BYOL | SimCLR | PULSE | GEM | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AUROC | AUPRC | F1 | AUROC | AUPRC | F1 | AUROC | AUPRC | F1 | AUROC | AUPRC | F1 | AUROC | AUPRC | F1 | AUROC | AUPRC | F1 | AUROC | AUPRC | F1 | |
| 1AVB (36) | 0.581 | 0.149 | 0.212 | 0.541 | 0.158 | 0.171 | 0.499 | 0.124 | 0.171 | 0.500 | 0.167 | 0.134 | 0.510 | 0.129 | 0.148 | 0.531 | 0.136 | 0.131 | 0.532 | 0.176 | 0.140 |
| AF (28) | 0.753 | 0.278 | 0.278 | 0.752 | 0.325 | 0.393 | 0.778 | 0.309 | 0.295 | 0.617 | 0.205 | 0.273 | 0.618 | 0.220 | 0.256 | 0.750 | 0.264 | 0.275 | 0.818 | 0.385 | 0.244 |
| CRBBB (36) | 0.928 | 0.724 | 0.691 | 0.877 | 0.656 | 0.597 | 0.880 | 0.581 | 0.571 | 0.848 | 0.563 | 0.522 | 0.722 | 0.248 | 0.278 | 0.895 | 0.676 | 0.597 | 0.908 | 0.693 | 0.677 |
| IRBBB (24) | 0.626 | 0.157 | 0.140 | 0.645 | 0.259 | 0.192 | 0.604 | 0.209 | 0.213 | 0.574 | 0.139 | 0.139 | 0.540 | 0.128 | 0.136 | 0.569 | 0.159 | 0.162 | 0.607 | 0.198 | 0.194 |
| ISC (41) | 0.653 | 0.240 | 0.271 | 0.736 | 0.249 | 0.346 | 0.750 | 0.317 | 0.293 | 0.657 | 0.211 | 0.259 | 0.788 | 0.428 | 0.351 | 0.688 | 0.246 | 0.205 | 0.726 | 0.264 | 0.270 |
| Method | Step Distribution ( ) | Physical Interpretation | Implementation |
|---|---|---|---|
| Rotation | Paper misalignment during scanning/photography. | iaa.Affine | |
| Color Temperature | Variations in white-balance and ambient illumination. | iaa.ChangeColorTemperature | |
| Cropping | Partial border loss or automatic edge trimming. | iaa.Crop | |
| Noise | Pixel-level noise introduced by camera/scanner sensors. | iaa.AdditiveGaussianNoise | |
| Gaussian Blur | Defocus, motion blur, and image-softening effects. | cv2.GaussianBlur |
| Method | Max epoch | Actual epoch | Pretraining LR | Optimizer | Early stopping strategy |
|---|---|---|---|---|---|
| SimCLR | 50 | 38 | SGD | Patience = 5; validation contrastive loss | |
| MoCo | 80 | 26 | SGD | Patience = 5; validation contrastive loss | |
| DINO | 50 | 50 | AdamW | Patience = 5; validation self-distillation loss | |
| BYOL | 50 | 16 | SGD | Patience = 8; validation BYOL loss |
| Pareto weight | Clean Paper ECG | Severity 1 | Severity 2 | Severity 3 | Severity 4 | Avg. | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AUROC | AUPRC | F1 | AUROC | AUPRC | F1 | AUROC | AUPRC | F1 | AUROC | AUPRC | F1 | AUROC | AUPRC | F1 | AUROC | AUPRC | F1 | |
| 0.835 | 0.637 | 0.611 | 0.836 | 0.638 | 0.611 | 0.831 | 0.631 | 0.607 | 0.820 | 0.618 | 0.597 | 0.803 | 0.592 | 0.576 | 0.825 | 0.623 | 0.600 | |
| (RobECG-CL) | 0.841 | 0.649 | 0.619 | 0.839 | 0.649 | 0.620 | 0.837 | 0.644 | 0.617 | 0.823 | 0.624 | 0.607 | 0.805 | 0.599 | 0.575 | 0.829 | 0.633 | 0.607 |
| 0.838 | 0.644 | 0.617 | 0.836 | 0.641 | 0.614 | 0.834 | 0.638 | 0.614 | 0.823 | 0.621 | 0.599 | 0.802 | 0.590 | 0.581 | 0.827 | 0.627 | 0.605 | |
| 0.840 | 0.648 | 0.620 | 0.840 | 0.646 | 0.617 | 0.836 | 0.640 | 0.615 | 0.820 | 0.617 | 0.594 | 0.787 | 0.570 | 0.551 | 0.825 | 0.624 | 0.599 | |