A reproducible method for evaluating whether camera-derived heart-rate error differs across aggregate skin-tone groups on separately obtained data with synchronized ground truth.
This public repository contains the scoring method, a bounded aggregate conclusion, limitations, and data-rights guidance. It excludes per-subject output, selected future experiments, motion-study plans, and source-model comparison maps.
Across the evaluated cross-dataset conditions, the darker-skin aggregate had consistently higher error than the lighter-skin aggregate. The available sample is small and the absolute accuracy is weak, so this establishes a fairness warning, not a population effect size or a production claim.
When group coverage or reference quality is inadequate, the evaluator should decline to state a reliable gap.
See RESULTS.md for the bounded report.
The scorer:
- Loads locally held preprocessed camera-signal inputs and reference labels.
- Runs a separately obtained model under a fixed cross-dataset evaluation protocol.
- Computes error and waveform-fidelity metrics per local record.
- Emits aggregate summaries by predeclared skin-tone group.
- Keeps source records and per-subject results out of the repository.
Run the scorer from a compatible rPPG-Toolbox checkout:
export MMPD_SLICE_ZIP=/path/to/local/preprocessed-slice.zip
python /path/to/mmpd_skintone_score.py /path/to/local-weights.pthThe command depends on local data, local weights, and the toolbox environment. None are provided by this repository.
No dataset, model weight, feature cache, or per-subject output is distributed. MMPD is gated by its maintainers. Other source datasets and rPPG-Toolbox weights have their own terms, which may be more restrictive than this repository's licence.
The MIT licence applies only to this repository's code and documents. It does not grant rights to external data, models, or locally derived records.
Before release, verify that the tree contains no raw data, arrays, model weights, per-subject tables, private paths, unpublished experiment configurations, or baked visual claims that cannot be reviewed as text.
python -m unittest discover -s tests
python -m py_compile mmpd_skintone_score.pyThese checks validate repository structure and Python syntax. They do not reproduce the scientific result without separately obtained data and weights.
MIT. See LICENSE.