Equity-Driven Sensing System for Measuring Skin Tone–Calibrated Peripheral Blood Oxygen Saturation (OptoBeat): Development, Design, and Evaluation Study
Bibliographic record
Abstract
Background Many commodity pulse oximeters are insufficiently calibrated for patients with darker skin. We demonstrate a quantitative measurement of this disparity in peripheral blood oxygen saturation (SpO2) with a controlled experiment. To mitigate this, we present OptoBeat, an ultra–low-cost smartphone-based optical sensing system that captures SpO2 and heart rate while calibrating for differences in skin tone. Our sensing system can be constructed from commodity components and 3D-printed clips for approximately US $1. In our experiments, we demonstrate the efficacy of the OptoBeat system, which can measure SpO2 within 1% of the ground truth in levels as low as 75%. Objective The objective of this work is to test the following hypotheses and implement an ultra–low-cost smartphone adapter to measure SpO2: skin tone has a significant effect on pulse oximeter measurements (hypothesis 1), images of skin tone can be used to calibrate pulse oximeter error (hypothesis 2), and SpO2 can be measured with a smartphone camera using the screen as a light source (hypothesis 3). Methods Synthetic skin with the same optical properties as human skin was used in ex vivo experiments. A skin tone scale was placed in images for calibration and ground truth. To achieve a wide range of SpO2 for measurement, we reoxygenated sheep blood and pumped it through synthetic arteries. A custom optical system was connected from the smartphone screen (flashing red and blue) to the analyte and into the phone’s camera for measurement. Results The 3 skin tones were accurately classified according to the Fitzpatrick scale as types 2, 3, and 5. Classification was performed using the Euclidean distance between the measured red, green, and blue values. Traditional pulse oximeter measurements (n=2000) showed significant differences between skin tones in both alternating current and direct current measurements using ANOVA (direct current: F2,5997=3.1170 × 105, P<.01; alternating current: F2,5997=8.07 × 106, P<.01). Continuous SpO2 measurements (n=400; 10-second samples, 67 minutes total) from 95% to 75% were captured using OptoBeat in an ex vivo experiment. The accuracy was measured to be within 1% of the ground truth via quadratic support vector machine regression and 10-fold cross-validation (R2=0.97, root mean square error=0.7, mean square error=0.49, and mean absolute error=0.5). In the human-participant proof-of-concept experiment (N=3; samples=3 × N, duration=20-30 seconds per sample), SpO2 measurements were accurate to within 0.5% of the ground truth, and pulse rate measurements were accurate to within 1.7% of the ground truth. Conclusions In this work, we demonstrate that skin tone has a significant effect on SpO2 measurements and the design and evaluation of OptoBeat. The ultra-low-cost OptoBeat system enables smartphones to classify skin tone for calibration, reliably measure SpO2 as low as 75%, and normalize to avoid skin tone–based bias.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.001 | 0.001 |
| Meta-epidemiology (narrow) | 0.001 | 0.000 |
| Meta-epidemiology (broad) | 0.000 | 0.000 |
| Bibliometrics | 0.000 | 0.000 |
| Science and technology studies | 0.000 | 0.000 |
| Scholarly communication | 0.000 | 0.001 |
| Open science | 0.001 | 0.000 |
| Research integrity | 0.001 | 0.000 |
| Insufficient payload (model declined to judge) | 0.003 | 0.001 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".