Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rohintangirala/eulerian-remote-heartrate-detection
Remote heart rate detection through Eulerian magnification of face videos
https://github.com/rohintangirala/eulerian-remote-heartrate-detection
bandpass-filter computer-vision eulerian-magnification fft heart-rate numpy opencv python scipy signal-processing
Last synced: 6 days ago
JSON representation
Remote heart rate detection through Eulerian magnification of face videos
- Host: GitHub
- URL: https://github.com/rohintangirala/eulerian-remote-heartrate-detection
- Owner: rohintangirala
- Created: 2018-11-17T19:01:06.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-06T21:37:42.000Z (about 2 years ago)
- Last Synced: 2024-12-08T01:30:42.864Z (15 days ago)
- Topics: bandpass-filter, computer-vision, eulerian-magnification, fft, heart-rate, numpy, opencv, python, scipy, signal-processing
- Language: Python
- Size: 35.5 MB
- Stars: 323
- Watchers: 8
- Forks: 54
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Remote Heart Rate Detection through Eulerian Magnification of Face Videos
An implementation of the Eulerian video magnification computer vision algorithm initially developed by MIT CSAIL. This program uses the method for the application of remotely detecting an individual's heart rate in beats per minute from a still video of their face.
Built with OpenCV, NumPy, and SciPy in Python 3
## Program organization:
The main.py file contains the main program that utilizes all of the other modules defined in the other code files
to read in the input video, run Eulerian magnification on it, and to display the results. The purposes of the other
files are described below:
- preprocessing.py - Contains function to read in video from file and uses Haar cascade face detection to select an ROI on all frames
- pyramids.py - Contains functions to generate and collapse image/video pyramids (Gaussian/Laplacian)
- eulerian.py - Contains function for a temporal bandpass filter that uses a Fast-Fourier Transform
- heartrate.py - Contains function to calculate heart rate from FFT results## How to run:
To run the program, specify the path to the input video in the preprocessing.read_video() function on line 13 of
main.py. To alter the frequency range to be filtered, change the values assigned to freq_min and freq_max on lines 8
and 9.