Dataset guide · Updated Oct 2026

Best PPG datasets for heart rate estimation under motion

PPG-DaLiA is the standard benchmark for wrist heart rate under motion: 15 subjects wearing an Empatica E4 (BVP 64 Hz, accelerometer 32 Hz) and a chest RespiBAN ECG (700 Hz) through a wide range of daily-life activities. WESAD uses the same devices and is often added as a second test set. IEEE SPC 2015 (12 subjects, intense running) is short but still widely reported, and WildPPG adds full-day outdoor recordings at four body sites.

Best PPG datasets for heart rate estimation under motion: ChatPPG research summary card

Top picks and when to use each

  1. #1PPG-DaLiABest for: The default wrist HR-under-motion benchmark

    15 subjects, wrist PPG and accelerometer with chest-ECG HR ground truth, collected under close-to-real-life conditions. About 2.7 GB. The Deep PPG paper reports CNN MAE improvements of 31% on PPG-DaLiA over classical methods.

    Access: Open (UCI lists CC BY 4.0; the original Siegen page says scientific, non-commercial use)Original host
  2. #2WESADBest for: Second test set with the same devices

    15 subjects in a lab stress study with E4 wrist BVP 64 Hz and RespiBAN chest ECG at 700 Hz.

    Access: Open (scientific, non-commercial use with credit)Original host
  3. #3IEEE Signal Processing Cup 2015 (TROIKA)Best for: Short, intense-exercise sessions; legacy comparisons

    Two wrist green-LED PPG channels, accelerometer and ECG during running.

    Access: Open (CC BY 4.0)Original host
  4. #4WildPPGBest for: Real-world, full-day multi-site PPG

    Four devices at head, sternum, wrist and ankle during a full-day outdoor trip (NeurIPS 2024 Datasets & Benchmarks).

    Access: OpenOriginal host
  5. #5Pulse Transit Time PPGBest for: High-rate finger PPG while sitting, walking and running

    22 subjects with unfiltered multi-wavelength finger PPG, IMU and ECG with annotated R peaks.

    Access: Open (ODbL 1.0)Original host
  6. #6MW-PPG-HRBest for: Multi-wavelength wrist PPG

    Manchester Metropolitan University benchmark built to address cohort diversity and wavelength gaps.

    Access: Open (Figshare)Original host

Comparison table

18 datasets. Swipe sideways on mobile. Values come from each dataset record; open a dataset for sources. Popularity is cached at build time: OpenAlex citations of the source paper (or the dataset DOI when no paper is linked), results on ChatPPG leaderboards, and GitHub stars or Zenodo / Hugging Face downloads where the host reports them. Hover for the source; a dash means unknown.

SignalsSamplingGround truthLicenceAccess
PPG-DaLiA15PPG, ECG, accel, skin temp, resp64Hz, 32Hz, 700HzHR, activityScientific, non-commercial use with credit to the …Open (UCI lists CC BY 4.0; the original Siegen page says scientific, non-commercial use)378 cited12 results
WESAD15PPG, ECG, accel, skin temp, EDA64Hz, 32Hz, 4Hzstress, mwlScientific, non-commercial use with credit to the …Open (scientific, non-commercial use with credit)1,337 cited12 results
IEEE Signal Processing Cup 2015 (TROIKA)12PPG, accel, ECG125 HzHRCC BY 4.0Open (CC BY 4.0)3 cited2 results4,131 downloads
WildPPG16PPG, ECG, accel, skin temp, baro128HzHR, SQI, ECGSee hostOpen1 result24 stars
Pulse Transit Time PPG22PPG, ECG, accel, gyro1000 Hz, 500 Hz, 80 HzSPO2, cuff BP, activity, SQIODbL 1.0Open (ODbL 1.0)25 cited
MW-PPG-HR20PPG, ECG, accel100Hz, 200HzHR, vascular age, ECGSee hostOpen (Figshare)0 cited0 stars
GalaxyPPG24PPG, ECG, accel, skin temp25Hz, 4HzHR, SQI, ECGSee hostSee host1 cited10 stars1,025 downloads
HealthRing RingDatasetV2.154PPG, accel, ECG, resp100 Hz, 128 Hzcuff BP, HR, resp rate, SPO2See hostSee host0 cited47 stars288 downloads
IMU5050PPG, accel, gyro, skin temp25 Hz, 128 Hz, 32 Hzactivity, SQISee hostSee host0 cited162 downloads
Multi-site PPG (Earring / Necklace / Ring / Watch)—PPG, ECG, accel, skin temp—HR, activity, vascular age, ECGSee hostSee host948 downloads
PPG-Sport30PPG, ECG, accel, gyro64 Hz, 130 HzHR, activity, SQISee hostSee host0 cited3 stars
Pulsewatch106PPG, ECG, accel—AFIB, HR, ECGSee hostSee host2 results
SensSmartTech32PPG, ECG, accel, pcg100 Hz, 500 Hz, 1 kHzcuff BP, resp rate, SQISee hostSee host3 cited
Two-wearables placements10PPG, accel, gyro, magnetometer, skin temp—SQISee hostSee host0 cited1 stars127 downloads
Walker posture E4—PPG, accel, skin temp, EDAE4 BVP/ACC/GSR/TEMP per Empatica default…activity, SQISee hostSee host0 cited4 stars289 downloads
Wrist PPG During Exercise (PhysioNet wrist)8PPG, ECG, accel, gyro256HzSQI, ECGODC-By 1.0See host0 cited
Brno University of Technology Smartphone PPG Database (BUT PPG)50PPG, ECG30Hz, 1000Hz, 100HzHR, glucoseCC BY 4.0See host7 cited1 result
Gyro-Acc-PPG (BAMI-I, Wonkwang)24PPG, accel, gyro, ECG50 Hz, 125 HzHRSee hostSee host79 cited1 result9 stars

Benchmark results

Reported results from papers in the ChatPPG hub. Protocols differ, so only compare rows on the same dataset and metric.

DatasetMetricMethodResultProtocol
Brno University of Technology Smartphone PPG Database (BUT PPG)Mean absolute HR error (BPM) ↓ECG-PPG JEPA 345M7.86Nested 5-fold CV (AnyPPG protocol); smartphone PPG
Gyro-Acc-PPG (BAMI-I, Wonkwang)Mean absolute HR error (BPM) ↓ECG-PPG JEPA 345M10.22Nested 5-fold CV (AnyPPG protocol); treadmill wrist PPG
IEEE Signal Processing Cup 2015 (TROIKA)Mean absolute HR error (BPM) ↓GPT-PPG1.98GPT-1B fine-tuned (MOFT), LOSO; arXiv v1 Table 2
IEEE Signal Processing Cup 2015 (TROIKA)Mean absolute HR error (BPM) ↓ECG-PPG JEPA 345M2.09LOSO, frozen
PPG-DaLiAexact_match ↑PulseLM0.86210 s @125 Hz, subject-disjoint ~8/1/1 per source; categorical QA exact-match (arXiv 2603.03331 Table 2); HR 3-class (<60…
PPG-DaLiAMean absolute HR error (BPM) ↓CardioState-JEPA3.8Paper Table 1 frozen
PPG-DaLiAMean absolute HR error (BPM) ↓GPT-PPG4.77GPT-1B fine-tuned (MOFT), LOSO; arXiv v1 Table 2; not comparable to frozen-probe rows
PPG-DaLiAMean absolute HR error (BPM) ↓ECG-PPG JEPA 345M4.96LOSO, frozen; PPG-only input
PPG-DaLiAMean absolute HR error (BPM) ↓TF-MambaNet7.278 s windows, frozen features (paper Table 1); split unstated; same-paper re-runs NormWear 10.16 / PaPaGei 12.25 / Chrono…
PPG-DaLiAMean absolute HR error (BPM) ↓PPG-Bench7.39PPG-Bench linear probe; AnyPPG; subject-disjoint 5-fold; mean±95% CI in paper
WESADMean absolute HR error (BPM) ↓ECG-PPG JEPA 345M4.58LOSO, frozen encoder (KDD'26 Table 2)
WESADMean absolute HR error (BPM) ↓GPT-PPG4.98GPT-1B fine-tuned (MOFT), LOSO; arXiv v1 Table 2
WildPPGMean absolute HR error (BPM) ↓PPG-Bench9.76PPG-Bench linear probe; AnyPPG; subject-disjoint 5-fold
WESADAccuracy ↑Cross-Modal Correlation Fusion for End-to-End EC0.9034WESAD subject-independent 5-fold CV; mean Accuracy 90.34%; Stress Recall 94.07%
WESADAccuracy ↑TF-MambaNet0.81Binary stress, 8 s, frozen features (paper Table 2); accuracy — not comparable to AUROC rows; PaPaGei 0.80 / Chronos 0.7…
WESADArea under ROC ↑Cross-Modal Correlation Fusion for End-to-End EC0.9729WESAD subject-independent 5-fold CV; dual ECG+PPG encoders + cross-modal correlation fusion; paper AUC-ROC 97.29%
WESADArea under ROC ↑Pulse-PPG0.9687Binary stress; paper non-stress definition
WESADArea under ROC ↑Thapa wrist-PPG features0.965LOSO pooled AUC, BVP 64 Hz 60 s windows, stress from 9 subjects; post hoc; interval-only 0.911–0.933; RF 0.972 transduct…
WESADArea under ROC ↑TEX-MEX 0.56M0.9630Binary stress, subject-level 5-fold CV × 15 seeds (arXiv 2610.19557 Table 4); same-paper Pulse-PPG 0.9388 / AnyPPG 0.952…
WESADArea under ROC ↑Quality-aware PPG+ACC0.956LOSO 15 subj, 60-s windows, baseline vs stress; low-tier venue; selective prediction improves accepted-window F1
WESADexact_match ↑PulseLM0.49710 s @125 Hz, subject-disjoint ~8/1/1 per source; categorical QA exact-match (arXiv 2603.03331 Table 2); stress label se…

See all leaderboards

Preprocessing pitfalls

  • Use the published windowing. PPG-DaLiA ground truth is computed on 8 s windows with 2 s shift; changing the window changes MAE.
  • Do leave-one-subject-out evaluation. With 15 subjects, random window splits leak each person into training.
  • Report MAE per activity. Averages hide large errors during cycling, stairs and table soccer in PPG-DaLiA.
  • Licence wording differs by host for PPG-DaLiA (UCI: CC BY 4.0; Siegen page: scientific, non-commercial). Check with the authors before commercial use.
  • Raw PPG from the Pulse Transit Time dataset is unfiltered; the authors suggest removing the DC component and a 0.75 to 5 Hz band-pass to match filtered datasets.

FAQ

What is PPG-DaLiA?

PPG-DaLiA is a public dataset for PPG-based heart rate estimation in daily life: 15 subjects wearing an Empatica E4 wrist device and a RespiBAN chest device, with ECG-derived heart rate ground truth. It was introduced in Deep PPG (Reiss et al., Sensors 2019).

What is the state-of-the-art MAE on PPG-DaLiA?

The ChatPPG leaderboard below lists the reported mean absolute errors in BPM with each paper's protocol. Protocols differ, so compare rows only when the evaluation setup matches.

What sampling rates does PPG-DaLiA use?

Wrist BVP (PPG) 64 Hz, wrist accelerometer 32 Hz, EDA and temperature 4 Hz; the chest RespiBAN records ECG, respiration and acceleration at 700 Hz.

Sources