Skip to content

Latest commit

 

History

History
72 lines (48 loc) · 2.85 KB

README.md

File metadata and controls

72 lines (48 loc) · 2.85 KB

ArgParser: 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

https://go.yuri.at/streaming-ffmpeg-with-nodejs-on-web-sockets-to-html/

Dependencies

The following libraries are required to run HeartBeat:

  • OpenCV
  • [G3Log] - needs to be installed

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. This works with opencv 3.4.1 on macOS:

$ g++ -std=c++11 -lopencv_core -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_objdetect -lopencv_video -lopencv_videoio -lavcodec ArgParser.cpp opencv.cpp RPPG.cpp Baseline.cpp -o ArgParser

Alternative compilation for Ubuntu. Works with opencv 3.1:

$ g++ -std=c++11 ArgParser.cpp opencv.cpp RPPG.cpp Baseline.cpp `pkg-config --cflags --libs opencv` -o ArgParser

or using CMake

mkdir build
cmake ..
make

License

GPL-3.0