Uuuuki / heartbeat

Desktop implementation of Remote Photoplethysmography – Measuring heart rate using facial video.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Heartbeat: Measuring heart rate using remote photoplethysmography (rPPG)

N|Solid

This is a simple implementation of rPPG, a way to measure heart rate without skin contact. It uses a video recording or 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 our publications on the topic:

Demo

Dependencies

The following libraries are required to run Heartbeat:

They must be installed on the system such that headers and libraries are found on the compiler's standard search path.

Installation

Compile the source code for your system, providing a number of required linker flags, e.g.:

$ g++ -std=c++11 -lopencv_core -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_objdetect -lopencv_video -lopencv_videoio -lavcodec -lavformat -lavutil -lswscale  Heartbeat.cpp FFmpegDecoder.cpp FFmpegEncoder.cpp opencv.cpp RPPG.cpp Baseline.cpp -o Heartbeat

License

GPL-3.0

About

Desktop implementation of Remote Photoplethysmography – Measuring heart rate using facial video.

License:GNU General Public License v3.0


Languages

Language:C++ 100.0%