nasir6 / rPPG

274 stars 90 forks source link

HRV from HR #17

Open rua333 opened 3 years ago

rua333 commented 3 years ago

Thanks for sharing your repo! I am running your codes and want to know how can I get HRV(heart rate variability) from HR. I think we need R-R intervals to calculate HRV, but I don't know how to get it. Do you have any ideas?

stephenparvaresh commented 3 years ago

The output of the function is blood volume pulse (BVP), which is the measurement of when your heart pumps blood. The data array titled pulse.npy contains the BVP measurements. time.npy contains the time measurements in UTF seconds. Join those two dataframes, and you can find the peaks of the BVP wave, then calculate the time between peaks to get R-R values. Once you have the time difference between successive beats (peaks), you can the Root Mean Square of the Successive Differences (RMSSD) to determine HRV.

See paper below for more resources pertaining to HRV. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5624990/

rua333 commented 3 years ago

Thanks for your quick response!

rua333 commented 3 years ago

Hi. It takes 230sec to process a 30-second (320*240) video to run code. It does not seem to take time in the face detection part because GPU is used. Is the signal processing part time consuming? Thank you!