FingerPy

FingerPy is a algorithm using python, scipy and fft to measure, analyse and monitor heart-beat using only a video of the user’s finger on a mobile cellphone camera.

Setup

On the repository directory:
pip3 install -r requirements.txt

Usage

  1. Record a video pressing your finger against the camera
  2. Copy video to /samples
  3. python3 main.py samples/your_video.mp4|avi|MOV

Example

Video on /samples

python3 main.py samples/test_finger.avi

Result:

(1) Number of Beats per minute  |  (2) Heart-rate variability in milliseconds  | (3) Signal-to-noise ratio in decibels

  • Upper plot show the intensity of brightness (y) over time (x)
  • Lower plot show the spectrum density of the signal that is Potency (y) over frequency bucket (x)

Footnotes

This is just an example GIF as the video should be. Notice the minimal variations in brightness that might be read by the algorithm.