Wrist-worn photoplethysmography (PPG) offers practical and comfortable continuous heart-rate (HR) monitoring; however, motion artifacts can severely degrade accuracy in daily activities. At the same time, reproducible research is hindered by limited transparency: most consumer wearables do not disclose the processing algorithms, while many HR estimation methods in the literature are either not publicly released or not suitable for direct embedded deployment. In this context, open-source wearable smartwatches, such as the community-driven Bangle.js2, can address these limitations. Finally, public datasets are often short and largely laboratory-based, with limited activity diversity, under-representing daily-life scenarios. This thesis tackles this challenge through two main contributions. First, in addition to the previously acquired BangleDataset1, a new multimodal dataset collected with Bangle.js2, named BangleDataset2, is introduced, spanning laboratory protocols, outdoor daily-life activities, and free-living conditions. Second, an open-source, lightweight, real-time algorithm for pulse-rate (PR) estimation from motion-corrupted wrist PPG, named TRUST-PPG, is developed and implemented in C for embedded deployment. The proposed pipeline, available in four variants, integrates motion-level estimation, accelerometer-driven adaptive filtering for artifact removal, FFT-based PR estimation with motion-informed peak search, and confidence-based Kalman tracking. The algorithms are validated on the internal datasets and on major public benchmarks to assess robustness and generalization across acquisition settings. The best version shows robust behavior over different conditions and good generalization across datasets, devices, and settings. In terms of mean MAE over subjects, it achieves 10.32 bpm (±5.03) on BangleDataset1; 12.48 bpm (±8.29), 14.30 bpm (±6.83), and 5.13 bpm (±2.62) for BangleDataset2 on laboratory, everyday activities, and freeliving conditions, respectively; and 7.38 bpm (±1.59) on public PPG-DaLiA. All algorithms are publicly available to support transparency, reproducibility, and adoption within Bangle.js2 firmware, enabling further community-driven development.
La fotopletismografia (PPG) da polso offre un monitoraggio continuo della frequenza cardiaca (HR) pratico e confortevole; tuttavia, gli artefatti da movimento possono degradarne significativamente l’accuratezza nelle attività quotidiane. Allo stesso tempo, la riproducibilità in ricerca è ostacolata da una limitata trasparenza: la maggior parte dei dispositivi wearable commerciali non rende pubblici gli algoritmi interni, mentre molti metodi di stima della HR in letteratura non sono pubblicamente disponibili o non sono adatti a un’implementazione embedded diretta. In questo contesto, smartwatch open-source, come Bangle.js2, possono contribuire a superare tali limitazioni. Inoltre, i dataset pubblici sono spesso brevi e raccolti soprattutto in laboratorio, con una limitata diversità di attività, risultando poco rappresentativi degli scenari di vita quotidiana. Questa tesi affronta tale problematica attraverso due contributi principali. In primo luogo, oltre a BangleDataset1 precedentemente acquisito, viene introdotto un nuovo dataset multimodale raccolto con Bangle.js2, denominato BangleDataset2, che comprende attività di laboratorio, attività quotidiane all’aperto e condizioni di free-living. In secondo luogo, viene proposto TRUST-PPG, un algoritmo open-source, leggero e adatto ad operare in tempo reale per la stima del pulse rate (PR) da PPG da polso corrotto dal movimento, implementato in C in ottica di integrazione embedded. La pipeline proposta, disponibile in quattro varianti, integra stima del livello di movimento, filtraggio adattativo basato sull’accelerometro per la rimozione degli artefatti, stima del PR basata su FFT con ricerca del picco adattata al movimento e Kalman tracking basato su una misura di confidenza. Gli algoritmi sono validati sui dataset interni e su benchmark pubblici, per valutarne robustezza e capacità di generalizzazione in diversi contesti. La versione migliore mostra robustezza in condizioni differenti e una buona capacità di generalizzazione tra dataset, dispositivi e contesti. In termini di MAE medio sui soggetti, essa raggiunge 10.32 bpm (±5.03) su BangleDataset1; 12.48 bpm (±8.29), 14.30 bpm (±6.83) e 5.13 bpm (±2.62) su BangleDataset2 in condizioni di laboratorio, attività quotidiane e free-living, rispettivamente; e 7.38 bpm (±1.59) sul dataset pubblico PPG-DaLiA. Gli algoritmi sono resi pubblicamente disponibili per supportare trasparenza, riproducibilità e adozione nel firmware di Bangle.js2, favorendo ulteriori sviluppi da parte della comunità.
Trustworthy and open-source algorithms for pulse rate estimation from wrist PPG under motion: data collection and validation on public datasets
MIORELLI, NICCOLÒ MARIA
2025/2026
Abstract
Wrist-worn photoplethysmography (PPG) offers practical and comfortable continuous heart-rate (HR) monitoring; however, motion artifacts can severely degrade accuracy in daily activities. At the same time, reproducible research is hindered by limited transparency: most consumer wearables do not disclose the processing algorithms, while many HR estimation methods in the literature are either not publicly released or not suitable for direct embedded deployment. In this context, open-source wearable smartwatches, such as the community-driven Bangle.js2, can address these limitations. Finally, public datasets are often short and largely laboratory-based, with limited activity diversity, under-representing daily-life scenarios. This thesis tackles this challenge through two main contributions. First, in addition to the previously acquired BangleDataset1, a new multimodal dataset collected with Bangle.js2, named BangleDataset2, is introduced, spanning laboratory protocols, outdoor daily-life activities, and free-living conditions. Second, an open-source, lightweight, real-time algorithm for pulse-rate (PR) estimation from motion-corrupted wrist PPG, named TRUST-PPG, is developed and implemented in C for embedded deployment. The proposed pipeline, available in four variants, integrates motion-level estimation, accelerometer-driven adaptive filtering for artifact removal, FFT-based PR estimation with motion-informed peak search, and confidence-based Kalman tracking. The algorithms are validated on the internal datasets and on major public benchmarks to assess robustness and generalization across acquisition settings. The best version shows robust behavior over different conditions and good generalization across datasets, devices, and settings. In terms of mean MAE over subjects, it achieves 10.32 bpm (±5.03) on BangleDataset1; 12.48 bpm (±8.29), 14.30 bpm (±6.83), and 5.13 bpm (±2.62) for BangleDataset2 on laboratory, everyday activities, and freeliving conditions, respectively; and 7.38 bpm (±1.59) on public PPG-DaLiA. All algorithms are publicly available to support transparency, reproducibility, and adoption within Bangle.js2 firmware, enabling further community-driven development.| File | Dimensione | Formato | |
|---|---|---|---|
|
2026_03_Miorelli_Tesi.pdf
non accessibile
Descrizione: Tesi
Dimensione
92.36 MB
Formato
Adobe PDF
|
92.36 MB | Adobe PDF | Visualizza/Apri |
|
2026_03_Miorelli_Executive_Summary.pdf
non accessibile
Descrizione: Executive Summary
Dimensione
822.72 kB
Formato
Adobe PDF
|
822.72 kB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/253310