/heartbeat-js

JavaScript implementation of Remote Photoplethysmography – Measuring pulse rate using facial video.

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

heartbeat-js: Video-based pulse rate monitoring in JavaScript

This is a simple JavaScript implementation of rPPG, a way to measure the pulse rate without skin contact. It uses a live feed of the face to analyse subtle changes in skin color.

Here's how it works:

  • The face is detected and continuously tracked
  • Signal series is obtained by determining the facial color in every frame
  • Heart rate is estimated using frequency analysis and filtering of the series

If you are interested in the specifics, feel free to have a read of my publications on the topic:

Demo

Test the live demo directly in your browser: Demo

Currently, tracking is disabled. Works best if there is no subject motion.

See also my C++ implementation and YouTube Demo.

License

GPL-3.0