Heart Rate CV
Technical Summary
PulseVision (formerly Heart Rate CV) is an experimental, browser-based implementation of Remote Photoplethysmography (rPPG). It runs entirely locally on your device, leveraging your front-facing camera to detect micro-variations in skin color caused by your heartbeat.
It uses MediaPipe Face Landmarker (via WebAssembly) to robustly track facial landmarks and isolates the forehead Region of Interest (ROI). It then performs signal processing (bandpass filtering, detrending) on the green color channel to calculate your Beats Per Minute (BPM) in real-time.
Features
- Zero Backend Needed: 100% Client-side. Privacy-first by design.
- Cross-Platform: Works on mobile Safari, Chrome, and Desktop environments.
- State-of-the-art Tracking: Uses Googleโs MediaPipe for highly accurate face tracking.
How to Run
This is a standard static web application. Since it accesses the camera (navigator.mediaDevices.getUserMedia), it must be served over HTTPS or localhost.
Quick Start
You can run a local Python server from this directory:
python3 -m http.server 8000
Then visit http://localhost:8000 in your browser.
Legacy Implementation
The original Python/OpenCV implementation of this project (which uses Eulerian Video Magnification natively) has been moved to the legacy-python/ directory. If you are looking for the desktop-only version, please refer to the files in that directory.
Disclaimer
This project is for educational and experimental purposes only. It is not a medical device. Lighting conditions, motion artifacts, and camera quality heavily impact the accuracy of rPPG readings.