Method and system for heart rate extraction from RGB images
Method and system for determining one or more heart beat features using remote photoplethysmography (rPPG). The method, comprising capturing a series of images of a user in a car by a camera in the car, wherein each image comprises one or more colour signals; for each of the images: locating a face of the user in the image; determining a boundary in the image, wherein the face is located within the boundary; detecting one or more facial features within the boundary; and based on the detected facial features, determining one or more regions in the image representing skin patches in the face; analysing the colour signals in the regions representing the skin patches; and determining one or more heart beat features based on the analysis. The method further comprising selecting one or more pulse waves and/or frequency spectra of one or more skin patches reaching a predetermined level of similarity and/or a predetermined level of noise for further analysis and discarding all other pulse waves and/or frequency spectra. The method improves speed and accuracy of determining one or more heart beat features using rPPG.
1 . A method for determining one or more heart beat features, the method comprising:
capturing a series of images of a user in a car by a camera in the car, wherein each image comprises one or more colour signals;
for each of the images:
locating a face of the user in the image;
determining a boundary in the image, wherein the face is located within the boundary;
detecting one or more facial features within the boundary; and
based on the detected facial features, determining one or more regions in the image representing skin patches in the face;
analysing the colour signals in the regions representing the skin patches; and
determining one or more heart beat features based on the analysis;
wherein analysing the colour signals further comprises:
determining colour changes in the series of images of one or more skin patches;
creating a pulse wave for each skin patch based on the colour changes;
splitting the pulse waves from each skin patch into a plurality of overlapping time windows, wherein each of the plurality of overlapping time windows overlaps in time with an adjacent time window of the plurality of time windows;
transforming each of the windows into the frequency space to generate frequency spectra;
summing up said spectra into one accumulated spectrum;
comparing each frequency spectrum with a predetermined pulse wave pattern and determining a level of similarity;
discarding all pulse waves for which the level of similarity does not reach a first predetermined threshold; and
determining a weighted average of all pulse waves for which the level of similarity does reach the first predetermined threshold, wherein the level of similarity defines weights for the weighted average.
2 . The method of claim 1 , wherein capturing a series of images is performed using a visual light camera capturing RGB images.
3 . The method of claim 1 , further comprising determining blood flow intensities based on the colour changes.
4 . The method of claim 1 , further comprising detecting a noise level of each weight-averaged spectrum; and summing up all pulse waves for which the noise level does not exceed a predetermined threshold to an accumulated pulse wave.
5 . The method of claim 1 , further comprising processing the pulse wave to extract heart rate features, wherein the heart rate features comprise one or more of heart rate, inter-beat intervals and heart rate variability.
6 . A system for determining one or more heart beat features, the system comprising:
a camera; and
a computing device;
wherein the system is configured to execute the method of claim 1 .
7 . The system of claim 6 , wherein the camera is a visible light camera capturing RGB images.
8 . The method of claim 4 , further comprising discarding all pulse waves for which the noise level exceeds a second predetermined threshold.