phuselab / pyVHR

Python framework for Virtual Heart Rate
http://phuselab.di.unimi.it/
GNU General Public License v3.0
461 stars 128 forks source link

Monochrome Source BVP Extraction #87

Open brian1000 opened 11 months ago

brian1000 commented 11 months ago

Hello! I'm new to the field of photoplethysmography and I find it very interesting. I wanted to try it out with a monochrome camera that captures in the infrared range. I know that RGB holds more information and is more robust to artifacts, but this is just a simple test I want to perform.

My main question is ~ which BVP extraction methods are suited for single-channel analysis? Or, are any suited for this task? I understand that CHROM and POS rely on RGB, but would LGI or OMIT be possible?

My workflow would be as follows:

  1. Perform ear mask segmentation and use it to calculate mean pixel intensity for each frame.
  2. Process the 1D signal using either SVD or QR decomposition.

One confusion I have from the PVB methods.py file regards the structure of the signal array:

rPPG METHOD SIGNATURE
An rPPG method must accept theese parameters:
    > signal -> RGB signal as float32 ndarray with shape [num_estimators, rgb_channels, num_frames], or a custom signal.

What does it mean by num_estimators? My raw signal would be of shape [ir_ch, num_frames], so basically a 1D array.

Please let me know your thoughts!