Your webcam as a heart-rate monitor, benchmarked
A unified training and evaluation framework for remote photoplethysmography—turning ordinary camera video into physiological signals without contact.

What it does
rPPG-Toolbox is a Python platform for remote photoplethysmography: extracting heart-rate and blood-volume-pulse signals from face videos using only ambient light and a camera. It bundles both classical unsupervised methods (color-space tricks like CHROM and POS dating back to 2008–2016) and modern neural architectures (DeepPhys, TS-CAN, PhysFormer, PhysMamba, and others through 2024) under one training and benchmarking roof.
The interesting bit
The field has produced a decade of scattered one-off papers with incompatible codebases. This toolbox treats them as interchangeable modules, letting you pit a 2008 green-channel heuristic against a 2024 Mamba-based transformer on the same dataset split. That comparative rigor is rarer than it should be in health-sensing research.
Key highlights
- Covers 7 unsupervised classical methods and 10+ supervised neural models, including recent NeurIPS/CVPR architectures
- Supports 8 public datasets (UBFC-rPPG, PURE, SCAMPS, MMPD, iBVP, etc.) with prescribed directory layouts
- Designed for rapid prototyping: swap model, loss, or dataset via configuration rather than rewriting pipelines
- Includes visualization tools for preprocessing and model outputs
- Presented at NeurIPS 2023; actively maintained with 2024 additions like PhysMamba and FactorizePhys
Caveats
- Dataset setup is manual and finicky: each dataset demands a specific nested directory structure, and some require external registration or downloads
- The README recommends only a subset of datasets (UBFC-rPPG, PURE, iBVP, SCAMPS) for training due to synchronization quality
- No pre-trained weights or hosted demo are mentioned; you bring your own data and compute
Verdict
Researchers in ubiquitous computing, health AI, or anyone building contactless vital-sign monitoring should treat this as the reference implementation table. If you just want a quick heart-rate reading from your laptop webcam, this is overkill—you’ll need to curate datasets and train first.
Frequently asked
- What is ubicomplab/rPPG-Toolbox?
- A unified training and evaluation framework for remote photoplethysmography—turning ordinary camera video into physiological signals without contact.
- Is rPPG-Toolbox open source?
- Yes — ubicomplab/rPPG-Toolbox is an open-source project tracked on heatdrop.
- What language is rPPG-Toolbox written in?
- ubicomplab/rPPG-Toolbox is primarily written in Python.
- How popular is rPPG-Toolbox?
- ubicomplab/rPPG-Toolbox has 1.2k stars on GitHub.
- Where can I find rPPG-Toolbox?
- ubicomplab/rPPG-Toolbox is on GitHub at https://github.com/ubicomplab/rPPG-Toolbox.