Change Point--Aware Evaluation and Re-Calibration of PPG-Based Blood Pressure Estimation
Organizations: VUNO Inc. · University of California, Irvine · Research Institute for Future Medicine, Samsung Medical Center · Department of Critical Care Medicine and Emergency Medicine, Inha University Hospital
Abstract
Non-invasive continuous blood pressure (BP) monitoring using photoplethysmography (PPG) is a promising alternative to cuff-based measurements. However, existing PPG-based BP estimation studies predominantly rely on aggregated performance metrics (e.g., mean absolute error) computed over entire evaluation intervals, which can obscure model failures during rapid BP fluctuations and limit clinical relevance. In this work, we propose a fluctuation-aware evaluation framework for PPG-based BP estimation based on time-series change point detection. Instead of heuristic BP thresholding (e.g., ), we identify BP change points by capturing abrupt distributional shifts in BP trajectories and evaluate estimation performance specifically during these fluctuation periods. Our analysis shows that several state-of-the-art models exhibit substantial performance degradation around BP change points, and that periodic test-time calibration is insufficient to handle such dynamic BP variations. To address this limitation, we introduce a targeted re-calibration framework triggered by detected BP change points, improving robustness without modifying model architectures. To the best of our knowledge, this is the first systematic evaluation of PPG-based BP estimation from a BP change point perspective, highlighting the importance of fluctuation-aware evaluation and calibration for real-world continuous BP monitoring.
Figures & tables
| MIMIC-III | VitalDB | |||
|---|---|---|---|---|
| Train | Test | Train | Test | |
| N. Subjects/Cases | 1,213/2,095 | 135/236 | 1,293/1,347 | 144/146 |
| N. 10s Segments | 436,680 | 54,000 | 465,480 | 57,600 |
| N. Unstable Segments | 53,518 | 6,085 | 54,507 | 7,132 |
| SBP (mean ± SD) | 121.94 ± 22.58 | 122.47 ± 21.83 | 115.48 ± 18.93 | 115.43 ± 18.72 |
| DBP (mean ± SD) | 60.73 ± 13.14 | 60.91 ± 12.58 | 62.92 ± 12.08 | 63.02 ± 11.87 |
| Models | Whole | Unstable BP Intervals | ||
|---|---|---|---|---|
| SBP ↓ | DBP ↓ | SBP ↓ | DBP ↓ | |
| Baseline (Median) | 16.48 ± 0.04 | 9.75 ± 0.02 | 21.10 ± 0.07 | 11.85 ± 0.04 |
| Vanilla | ||||
| Inception1D | 13.79 ± 0.03 | 8.36 ± 0.02 | 17.04 ± 0.07 | 8.86 ± 0.04 |
| PaPaGei-S | 13.68 ± 0.03 | 8.66 ± 0.02 | 15.81 ± 0.07 | 9.12 ± 0.04 |
| Pulse-PPG | 13.72 ± 0.03 | 8.37 ± 0.02 | 17.84 ± 0.07 | 9.38 ± 0.04 |
| Calibration Points | TTC | PPG2BP-Net | Points / Case | ||
|---|---|---|---|---|---|
| SBP ↓ | DBP ↓ | SBP ↓ | DBP ↓ | ||
| Every 120 minutes | 11.28 ± 0.06 | 6.22 ± 0.03 | 9.33 ± 0.05 | 5.21 ± 0.03 | 3.30 ± 1.52 |
| + BP | 9.89 ± 0.05 | 5.34 ± 0.03 | 8.05 ± 0.05 | 4.53 ± 0.03 | 17.36 ± 22.57 |
| + Random | 9.27 ± 0.05 | 5.08 ± 0.03 | 7.44 ± 0.04 | 4.01 ± 0.03 | 9.91 ± 4.02 |
| + PELT | 8.97 ± 0.05 | 4.94 ± 0.03 | 5.84 ± 0.04 | 3.85 ± 0.02 | 9.82 ± 4.02 |
| Models | AUROC | AUPRC | Weighted Accuracy | IoU |
|---|---|---|---|---|
| Inception1D | 0.7275 | 0.3079 | 0.6457 | 0.6149 |
| PaPaGei-S | 0.7223 | 0.3070 | 0.6412 | 0.6062 |
| Pulse-PPG | 0.7308 | 0.3066 | 0.6112 | 0.6099 |
| AnyPPG | 0.7286 | 0.3075 | 0.6176 | 0.6106 |
| Calibration Points | TTC | PPG2BP-Net | Points / Case | ||
|---|---|---|---|---|---|
| SBP ↓ | DBP ↓ | SBP ↓ | DBP ↓ | ||
| Every 120 minutes | 11.28 ± 0.06 | 6.22 ± 0.03 | 9.33 ± 0.05 | 5.21 ± 0.03 | 3.30 ± 1.52 |
| + Random | 9.52 ± 0.05 | 5.20 ± 0.03 | 7.60 ± 0.04 | 4.07 ± 0.03 | 8.77 ± 3.34 |
| + Online CPD | 9.24 ± 0.05 | 5.12 ± 0.03 | 7.27 ± 0.04 | 3.87 ± 0.02 | 8.77 ± 3.33 |
Appendix figures & tables13 assets
Supplementary material from the paper’s appendix.
Appendix
| Parameter | Value |
|---|---|
| model | rbf |
| min_size | 1 |
| jump | 1 |
| pen | 5 |
| Parameter | Value |
|---|---|
| PPG Preprocessing | |
| Filter type | Third-order Butterworth |
| Filter bandwidth | 0.5–8.0 Hz |
| Normalization | Z-normalization |
| PPG Encoder Training | |
| Epoch | 50 |
| Parameter | Value | Points/Case | SBP | DBP |
|---|---|---|---|---|
| Penalty | 1 | 26.75 | 11.69 | 6.16 |
| 5 ∗ | 9.09 | 13.18 | 6.81 | |
| 10 | 6.00 | 12.04 | 6.27 | |
| Model | l1 | 56.72 | 7.52 | 3.94 |
| l2 | 121.70 | 6.32 | 3.33 | |
| rbf ∗ | 9.09 | 13.18 | 6.81 |
| Parameter | Value | AUROC | Accuracy | IoU |
|---|---|---|---|---|
| 0.999 | 0.7271 | 0.6412 | 0.6140 | |
| 0.99 ∗ | 0.7275 | 0.6457 | 0.6149 | |
| 0.9 | 0.7190 | 0.7214 | 0.5656 | |
| 1.0 | 0.7444 | 0.2391 | 0.2793 | |
| 0.1 | 0.7401 | 0.5271 | 0.5758 | |
| 0.05 ∗ | 0.7275 | 0.6457 | 0.6149 |
| Calibration Points | Whole | Unstable BP Intervals | Points / Case | ||
|---|---|---|---|---|---|
| SBP ↓ | DBP ↓ | SBP ↓ | DBP ↓ | ||
| Every 120 minutes | 9.33 ± 0.05 | 5.21 ± 0.03 | 10.93 ± 0.17 | 5.78 ± 0.09 | 3.30 ± 1.52 |
| + BP | 8.05 ± 0.05 | 4.53 ± 0.03 | 9.46 ± 0.15 | 3.88 ± 0.08 | 17.36 ± 22.57 |
| + Random | 7.44 ± 0.04 | 4.01 ± 0.03 | 9.10 ± 0.15 | 4.63 ± 0.09 | 9.91 ± 4.02 |
| + PELT | 5.84 ± 0.04 | 3.85 ± 0.02 | 6.73 ± 0.13 | 4.11 ± 0.07 | 9.82 ± 4.02 |
| CPD Backbone | CPD Method | CPD | BP Estimation | ||
|---|---|---|---|---|---|
| AUROC ↑ | IoU ↑ | SBP MAE ↓ | DBP MAE ↓ | ||
| Inception1D | Classification | 0.5332 | 0.3919 | 8.31 ± 0.04 | 4.56 ± 0.03 |
| Ours | 0.7275 | 0.6149 | 7.27 ± 0.04 | 3.87 ± 0.02 | |
| PaPaGei-S | Classification | 0.5321 | 0.4552 | 7.79 ± 0.04 | 4.13 ± 0.02 |
| Ours | 0.7223 | 0.6062 | 7.30 ± 0.04 | 3.87 ± 0.02 | |
| Calibration Points | Whole | Unstable BP Intervals | Points / Case | ||
|---|---|---|---|---|---|
| SBP ↓ | DBP ↓ | SBP ↓ | DBP ↓ | ||
| Every 120 minutes | 9.33 ± 0.05 | 5.21 ± 0.03 | 10.93 ± 0.17 | 5.78 ± 0.09 | 3.30 ± 1.52 |
| + Classification | 8.31 ± 0.04 | 4.56 ± 0.03 | 8.73 ± 0.09 | 4.72 ± 0.05 | 12.31 ± 22.59 |
| + Random | 7.60 ± 0.02 | 4.07 ± 0.01 | 8.06 ± 0.09 | 4.33 ± 0.05 | 8.77 ± 3.34 |
| + Online CPD | 7.27 ± 0.02 | 3.87 ± 0.01 | 7.76 ± 0.08 | 4.15 ± 0.05 | 8.77 ± 3.33 |
| CPD Backbone | Params (M) | FLOPs (M) | Forward (ms) | Cluster (ms) |
|---|---|---|---|---|
| Inception1D | 0.5 | 591.8 | 21.9 | 0.03 |
| PaPaGei-S | 5.8 | 76.6 | 9.2 | 0.03 |
| Pulse-PPG | 28.5 | 1140.5 | 31 | 0.03 |
| AnyPPG | 5.9 | 245.5 | 26.2 | 0.04 |
| Context | Unstable Segments (%) |
|---|---|
| Vasopressor | 6,094 (85.4%) |
| No vasopressor | 1,038 (14.6%) |