Learn PPG
Machine Learning for PPG Signal Quality
A machine-learning SQI learns the boundary between usable and unusable PPG instead of fixing one statistic. Published models include a wrist support-vector machine, a small ResNet, a per-sample artifact segmenter small enough for a microcontroller, an unsupervised clusterer, a reference-embedding distance, and a sparse set of learned kernels. They do not share a label definition, so their accuracies are not one leaderboard.

Why a model, if skewness already works
A single statistic is easy to audit. Elgendi's skewness index won a fair fight among eight fingertip indexes (/learn/skewness-sqi). It was also tied to that label set, those sensors, and healthy adults at rest. Wrist motion, a new LED, and a new body site move the waveform enough that a fixed cut often gets retuned. A learned model is an attempt to retune from examples, or, in the unsupervised case, from the shape of unlabeled data.
The signal quality index lists this as one family among several. This page stays inside papers that were opened, and it keeps each accuracy next to its own labels.
Features in, class out
Moscato and colleagues trained classifiers on individual wrist pulses from 31 people recorded for 24 hours. Raters used three quality levels. The tasks they published were binary: basic quality (systolic peaks identifiable, for heart rate) and high quality (systolic and diastolic waves visible, for morphology). Nineteen features, nine of them described as new, came from the pulse and the accelerometer. Five classical algorithms and a neural network were tuned with ten-fold cross-validation on 70% of the data. On the remaining 30%, a support vector machine was best, with accuracy 0.96 and 0.97 (doi:10.3390/s22155831). The abstract says both classifiers beat comparable published ones. The comparison set is theirs to define. The distinction that carries past that paper is peaks you can count, and a shape you can measure.
A small ResNet on expert good-or-bad labels
Zhao and colleagues trained a one-dimensional ResNet with squeeze-and-excitation blocks, explicitly to keep the parameter count down for a wearable (arXiv:2511.00943). Inputs were the PPG, its first derivative, its second derivative, the autocorrelation, or combinations. No image conversion.
The training recordings were the Moore4Medical wrist set: a Philips Datalogger, reflective green LEDs, 32 Hz, hospital monitoring aimed at atrial fibrillation burden. After one participant was dropped, 48 people remained, 34 in sinus rhythm and 14 in atrial fibrillation. Two cardiology-trained experts labeled morphology, noise, and whether beats were visible, and resolved disagreements by consensus. A 30-second segment was good if more than 80% of it had been labeled good. The train split was 41 people and 774.1 hours (58.5% good). The test split was the last seven people recruited, 159.1 hours (52.1% good). An extra test was 14 MIMIC-IV records, 83.2 hours, 72.1% good.
The abstract reports up to 96.52% AUC on the M4M test set and up to 84.43% AUC on MIMIC-IV. Against five reproduced studies, their models used over 99% fewer parameters and more than 60% fewer floating-point operations. The drop from the wrist hospital test to MIMIC-IV is the number that should travel with the 96% figure. A classifier that has only seen one logger and one labeling protocol is allowed to slip on ICU waveforms. The paper says the code is on GitHub. This guide does not add a URL that was not printed in the text that was read.
No labels: cluster the embedding
Shao and colleagues argue that supervised SQI does not survive a new device, because each hardware generation wants new labels (arXiv:2509.12510). Their pipeline is unsupervised. A contrastive 1-D ResNet-18 trains on 276 hours of unlabeled wrist PPG, WildPPG at 128 Hz (216 hours, green) and We-Be at 25 Hz (60 hours, green), resampled to 25 Hz and cut into 8-second windows. Each 512-dimensional embedding becomes a four-number persistent-homology signature. HDBSCAN clusters those signatures. The densest cluster is called acceptable. Everything else is called poor.
On a stratified sample of 10,000 windows they report silhouette 0.72, Davies-Bouldin 0.34, and Calinski-Harabasz 6,173, without retuning. Those are cluster-quality scores. They do not say what fraction of expert-marked artifacts landed in the poor group, because the training corpora were unlabeled. The preprint is explicit that commercial firmware often uses hand-set thresholds on amplitude, template correlation, or derivative energy, and that those rules are brittle when the LED or the strap changes. The method is a proposal for a cross-device gate, not a completed clinical validation.
A reference set instead of a new training run
Abdulsadig and Rodriguez-Villegas fine-tune a pretrained PPG transformer with a triplet loss so that windows with similar morphology sit nearer each other (Scientific Reports, 2026). Quality is then the distance from a new window's embedding to a small set of embeddings taken from high-quality segments. A new sensor location needs a reference recording, not a retrained network. They suggest a short still period at the start of a session, or a clean recording already on file.
Across the datasets they report, a window was labeled artifact if at least 10% of it overlapped an annotated artifact. On the CSL finger set the mean F1 was 89.98% ± 0.39, sensitivity 91.09% ± 0.32, precision 88.99% ± 0.95, accuracy 93.66% ± 0.38, and Cohen's kappa 0.8 ± 0.01. The abstract rounds the finger result to an F1 near 90%. On wrist PPG (WCS), a generalized reference of two windows from half the subjects reached a mean F1 of 95.0% ± 3.9 and kappa 0.90 ± 0.08. The abstract rounds that wrist result to an F1 near 95%. On neck PPG from the Apnea and Artifacts set the same distance rule was weaker: accuracy 71.96% ± 8.25, F1 69.92% ± 8.04, kappa 0.42 ± 0.15, which the abstract rounds to about 70%. Quote the finger F1 with the finger site, and the neck F1 with the neck site.
A sparse kernel, sized for a small device
Chen and colleagues published SMoLK as a sparse mixture of learned kernels (Nature Machine Intelligence, 2024). The journal abstract says the model was tested on photoplethysmography artifact detection and on atrial fibrillation from a single-lead ECG, and that it matched models orders of magnitude larger while staying suited to low-power hardware. The article PDF was paywalled in this reading. The journal page lists public code at github.com/SullyChen/SMoLK and data on Zenodo (10.5281/zenodo.13117608). The open preprint (arXiv:2307.05385) describes the PPG path as a small bank of convolution kernels whose outputs are rectified, weighted, and summed into a quality measure, then smoothed and thresholded to mark artifact samples. The smallest configuration in that preprint uses 12 kernels. Treat the preprint as the source for that mechanism. The journal abstract is the source for the claim that the published model matched much larger networks.
A window label or a label on every sample
Most deep-learning quality checks still score a fixed window. Goh and colleagues are the plain example: a 13-layer one-dimensional CNN labels each 5-second PPG segment clean or artifact, with no pulse detection first (doi:10.1016/j.cmpb.2020.105596). It was trained and validated on 30 people from the authors' own recordings and tested on eight more, where the abstract reports 94.9% accuracy. Two independent sets taken from PhysioNet's MIMIC II gave 93.8% and 86.7%. The second figure is the one to remember. The same network lost about eight points on a hospital set it had not seen.
A window label throws away timing. If two seconds of a five-second segment are bad, the whole segment goes. Tiny-PPG, from Zheng and colleagues, labels every sample instead (arXiv:2305.03308; journal version in Internet of Things, volume 25, 2024, doi:10.1016/j.iot.2023.101007). The output is a mask over a 30-second window, so a later heart-rate or morphology step can keep the clean beats on either side of a movement.
The training data was PPG-DaLiA: Empatica E4 wrist PPG at 64 Hz from 15 people doing about two hours of daily activities each. The preprint band-passes at 0.9 to 5 Hz, cuts 4,305 segments, and reuses the sample-level artifact labels that Guo and colleagues drew with a web annotation tool (doi:10.1088/1361-6579/ac3b3d). It keeps the model small with depthwise separable convolutions, adds atrous spatial pyramid pooling so artifacts of different lengths are caught, trains with a contrastive loss, and then prunes channels.
Its numbers are Dice scores on artifact samples, not window accuracy. The abstract says 87.4% with 19,726 parameters (0.15 MB). In the preprint's comparison table, which we read in arXiv version 3, the unpruned model is 87.4% ± 0.23 at 85,949 parameters and the pruned one is 87.2% ± 0.16 at 19,726 parameters and about 17 million multiply-accumulates. A reimplemented U-Net reached 87.3% with about 2.1 million parameters, and pulse template matching reached 69.7%. The conclusion's 87.8% belongs to the pruned model with contrastive fine-tuning in a separate ablation table. All three figures are within a point of each other, and a fair summary is "about the same Dice as a U-Net, at roughly one percent of the parameters."
On an STM32F746 board (a Cortex-M7 at up to 216 MHz) the pruned model took 206 ms per 30-second segment and used about 60 KB of flash and 135 KB of RAM. That is the edge claim, and it is measured on one development board.
The transfer test is smaller and more useful than the headline. The authors ran the board with a different optical sensor, a green-LED pulse module, on a fingertip and on an earlobe for five minutes each while tapping the sensor and moving the head and hand. Dice was 73.9% at the fingertip and 86.8% at the earlobe. The authors put the fingertip drop down to a pulse shape unlike the wrist training data, and they note one participant whose morphology differed enough to degrade results badly. The preprint describes splitting PPG-DaLiA into training and test parts by Guo's scheme. The passages we read do not say in plain words that the test people were held out, so treat the 87% figures as a PPG-DaLiA result and the fingertip figure as the first evidence about a new site.
The repository the paper names, SZTU-wearable/Tiny-PPG, holds Python training notebooks, the STM32 project, and preprocessed data arrays. On 6 November 2026 it had no licence file, so the terms for reusing the code are unknown. We did not check whether a trained checkpoint is included or reproduces the paper. The Creative Commons terms on the arXiv preprint (CC BY-NC-SA 4.0) and the journal article (CC BY-NC 4.0) cover the article text, not the code. PPG-DaLiA's own terms allow scientific, non-commercial use. Nothing here is a clearance for commercial use.
Nie and colleagues' 2026 scoping review in Health Data Science uses these two papers as its contrast in signal quality: Goh's 5-second classifier, and Tiny-PPG for "point-wise artifact detection" (doi:10.34133/hds.0474). The review included 460 deep-learning PPG papers published from 2017 through 2025. Its signal-processing group had 41 of them, and the authors call quality assessment one of that group's most studied directions. They also warn that a quality filter can be too strict. A filter can remove abnormal waveforms that come from disease, and then the model never sees them. The review's companion table on GitHub (Ngk03/DL_PPG_Review) is a different list. It has 193 rows, was last changed in July 2024, and links the earlier arXiv version. It is not the 460-paper set.
What the accuracies are allowed to mean
None of these papers used Elgendi's three classes. Moscato used peak visibility. Zhao used a consensus "good if most of the 30 seconds was good." Goh scored 5-second windows. Tiny-PPG scored sample overlap with Dice. Shao published cluster separation, not sensitivity. Abdulsadig used a 10% overlap rule against existing artifact annotations. SMoLK's journal abstract reports a match to larger models and does not, in the text available here, publish a PPG F1 you can line up beside Zhao's AUC.
A higher AUC on one hospital logger is a result about that logger and those experts. The MIMIC-IV drop in Zhao, the MIMIC II drop in Goh, the fingertip drop in Tiny-PPG, and the neck drop in Abdulsadig are the transfer tests that were actually run. Skin tone, motion, and label disagreement remain open in the way the index guide describes. Xu's activity split is the free-living heart-rate failure mode these classifiers are trying to catch (motion artifact detection).
This page is educational. A model score is not a diagnosis, and it is not a clearance to show or hide a vital on a person.
Research on this site
These records are public datasets, models, and papers linked from this guide.
Papers
Sparse learned kernels for interpretable and efficient medical time series processingSparse learned kernels for PPG artifact detectionNature Machine Intelligence · 2024
Lightweight ResNet-Based Deep Learning for Photoplethysmography Signal Quality AssessmentLightweight ResNet with squeeze-and-excitationarXiv preprint · 2025
Self-Supervised and Topological Signal-Quality Assessment for Any PPG DeviceUnsupervised SSL and persistent homologyarXiv preprint · 2025
Domain-independent PPG signal quality assessment framework via representation learningTriplet-loss embeddings and a reference setScientific Reports · 2026
ppg-dl-scoping-review-nie-2024Earlier preprint of the 2026 Health Data Science reviewarXiv preprint · 2024
Datasets
Go deeper
Frequently Asked Questions
Can deep learning assess PPG signal quality?
Yes, in published studies. Zhao et al. 2025 report up to 96.52% AUC for a small ResNet on a hospital wrist test set and up to 84.43% AUC on a separate MIMIC-IV set (arXiv:2511.00943). Abdulsadig and Rodriguez-Villegas 2026 score quality as a distance in a learned embedding (doi:10.1038/s41598-026-58783-6).
Do these models share one accuracy number?
No. Labels differ: expert good-or-bad segments, peak visibility, artifact-overlap rules, or no labels at all. Shao et al. 2025 report cluster scores such as a silhouette of 0.72, which is not an accuracy against expert labels (arXiv:2509.12510).
What is SMoLK?
A sparse mixture of learned kernels from Chen et al., Nature Machine Intelligence 2024 (SMoLK, 2024). The abstract says it was tested on PPG artifact detection and matched much larger models. The article PDF was paywalled for this guide. Code is at github.com/SullyChen/SMoLK.
Does a high AUC mean the model is ready for a watch?
It means the model ranked windows well on the test the paper ran. Zhao's AUC fell from the wrist hospital set to MIMIC-IV. Abdulsadig's F1 was near 90% on finger PPG and about 70% on neck PPG. A new site or a new device is a new measurement.
What is Tiny-PPG?
A small convolutional network from Zheng et al. that marks every sample of a 30-second PPG window as clean or artifact (arXiv:2305.03308; Internet of Things 2024, doi:10.1016/j.iot.2023.101007). Trained on PPG-DaLiA wrist data, the pruned model has 19,726 parameters, scored about 87% Dice, and ran in 206 ms per segment on an STM32 board. Dice fell to 73.9% on a fingertip sensor. The code repository had no licence file when checked.