Imaging photoplethysmography (iPPG) system and method for remote measurement of vital signs

JP7630726B2Active Publication Date: 2025-02-17MITSUBISHI ELECTRIC CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024528262
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-09-28
Filing Date
2022-07-21
Publication Date
2025-02-17
Estimated Expiration
2042-07-21

AI Technical Summary

Benefits of technology

【0009】 したがって、いくつかの実施形態の目的は、高い精度で人のバイタルサインを推定することである。そのために、いくつかの実施形態は、イメージングフォトプレチスモグラフィ(iPPG)を利用する。また、いくつかの実施形態の目的は、狭帯域近赤外(NIR)システムを使用して、照明変動を減少させる波長範囲を決定することである。追加的にまたは代替的に、いくつかの実施形態は、NIRモノクロ映像(または、画像のシーケンス)を使用して、人の皮膚の異なる領域に関連付けられた多次元時系列データを取得し、ディープニューラルネットワーク(DNN:Deep Neural Network)を使用してこの多次元時系列データを処理することによって人のバイタルサインを正確に推定することを目的としている。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007630726000005
    Figure 0007630726000005
  • Figure 0007630726000006
    Figure 0007630726000006
  • Figure 0007630726000007
    Figure 0007630726000007
Patent Text Reader

Abstract

An imaging photoplethysmography (iPPG) system is provided. The iPPG system receives a sequence of images of different regions of a person's skin, each region including pixels of different intensities indicative of skin color variations. The iPPG system further converts the sequence of images into a multi-dimensional time series signal, each dimension corresponding to a respective region from a different region of the skin. The iPPG system further processes the multi-dimensional time series signal using a time-series U-Net neural network, the pass-through layer of which includes a recurrent neural network (RNN), to generate a PPG waveform, and the person's vital signs are estimated based on the PPG waveform, and the iPPG system further renders the person's estimated vital signs.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates generally to remotely monitoring a person's vital signs, and more particularly to an imaging PhotoPlethysmoGraphy (iPPG) system and method for remotely measuring vital signs. [Background technology]

[0002] A person's vital signs, such as heart rate (HR), heart rate variability (HRV), respiration rate (RR) or blood oxygen saturation, serve as indicators of a person's current condition and potential predictors of serious medical events. For this reason, vital signs are extensively monitored in inpatient and outpatient care settings, at home, and in other health, leisure and fitness settings. One method of measuring vital signs is plethysmography. Plethysmography corresponds to the measurement of volumetric changes in a person's organs or body parts. There are various realizations of plethysmography, such as photoplethysmography (PPG).

[0003] PPG is an optical measurement technique that evaluates time-varying changes in light reflectance or transmission of an area or volume of a subject and can be used to detect blood volume changes in tissue microvascular beds. PPG is based on the principle that blood absorbs and reflects light differently than surrounding tissues, and therefore, fluctuations in blood volume with each heart beat will correspondingly affect light transmission or reflectance. PPG is often used non-invasively to make measurements at the skin surface. PPG waveforms contain pulsatile physiological waveforms that are attributed to cardiac-synchronous changes in blood volume with each heart beat, superimposed on a slowly varying baseline with various low-frequency components that are attributed to other factors such as respiration, sympathetic nervous system activity, and thermoregulation.

[0004] Conventional pulse oximeters for measuring a person's heart rate and (arterial) blood oxygen saturation are attached to the person's skin, for example on the fingertip, earlobe or forehead. They are therefore referred to as "contact" PPG devices. A typical pulse oximeter may include a combination of green, blue, red and infrared LEDs as light sources and one photodiode to detect the light transmitted through the patient's tissue. Conventional available pulse oximeters measure the transmittance of the same area or volume of tissue at different wavelengths by rapidly switching between measurements at different wavelengths. This is called time division multiplexing. The transmittance over time at each wavelength gives rise to PPG signals for the different wavelengths. Although contact PPG is considered to be an essentially non-invasive technique, contact PPG measurements are often experienced as uncomfortable because the pulse oximeter is attached directly to the person and the cables limit freedom of movement.

[0005] Recently, non-contact remote PPG (RPPG) for unobtrusive measurements has been introduced. RPPG utilizes a light source, or generally a radiation source, that is disposed away from the subject. Similarly, a detector, for example a camera or a photodetector, can also be disposed away from the subject. RPPG is often also referred to as imaging PPG (iPPG) due to the use of an imaging sensor, such as a camera. (Hereinafter, the terms remote PPG (RPPG) and imaging PPG (iPPG) are used interchangeably.) Because they do not require direct contact with the person, remote photoplethysmography systems and devices are considered unobtrusive and in that sense suitable for medical and non-medical everyday applications.

[0006] One advantage of camera-based vital signs monitoring over on-body sensors is ease of use: there is no need to attach a sensor to the person, since it is sufficient to point the camera at the person. Another advantage of camera-based vital signs monitoring over on-body sensors is that cameras have higher spatial resolution than contact-based sensors, which in most cases include single-element detectors. Summary of the Invention [Problem to be solved by the invention]

[0007] One of the challenges of RPPG technology is to be able to provide accurate measurements in variable environments with inherent noise sources. For example, in a variable environment such as an in-vehicle environment, the lighting to the driver changes dramatically and suddenly while driving (e.g., while passing through the shadows of buildings, trees, etc.), making it difficult to distinguish the iPPG signal from other fluctuations. Also, there is significant movement of the driver's head and face due to several factors such as vehicle motion, the driver looking around both inside and outside the car (looking into the rearview and side mirrors for oncoming traffic), etc.

[0008] Several methods have been developed to enable robust camera-based vital signs measurements. One of these methods uses narrowband active near-infrared (NIR) illumination, where NIR illumination significantly reduces the adverse effects of lighting variations. For example, while driving, this method can reduce the adverse effects of lighting variations, such as sudden changes between sunlight and shadows, or passing street lights and other vehicle headlights without affecting the driver's vision at night. However, NIR frequencies bring new challenges to iPPG, such as a low signal-to-noise ratio (SNR). Reasons for this include the lower sensitivity of camera sensors and smaller magnitude of blood flow-related intensity changes in the NIR part of the spectrum. Thus, an RPPG system that can accurately estimate PPG signals from NIR frequencies is needed. [Means for solving the problem]

[0009] Therefore, an objective of some embodiments is to estimate a person's vital signs with high accuracy. To this end, some embodiments utilize imaging photoplethysmography (iPPG). Also, an objective of some embodiments is to use a narrowband near-infrared (NIR) system to determine a wavelength range that reduces illumination variations. Additionally or alternatively, some embodiments aim to use a NIR monochrome image (or a sequence of images) to obtain multi-dimensional time series data associated with different regions of the person's skin, and to accurately estimate the person's vital signs by processing the multi-dimensional time series data using a deep neural network (DNN).

[0010] Some embodiments are based on the recognition that a person's vital signs can be estimated from a sequence of NIR monochrome video or NIR images. To this end, an iPPG system acquires a sequence of NIR images of a face of a person of interest (also referred to as a "person") and partitions each image into a number of spatial regions, each of which includes a small portion of the person's face. The iPPG system analyzes the variation in skin color or intensity in each of the multiple spatial regions to estimate the person's vital signs.

[0011] To that end, the iPPG system generates a multidimensional time series signal, where the dimension of the multidimensional signal at each instant corresponds to the number of spatial regions, and each time point corresponds to one image in the sequence of images. The multidimensional time series signal is then provided to a deep neural network (DNN)-based module to estimate the person's vital signs. The DNN-based module applies a time-series U-Net architecture to the multidimensional time series data, and the pass-through connections of the U-Net architecture are modified to incorporate time recursion for NIR imaging PPG.

[0012] Some embodiments are based on the recognition that sequential processing of multi-dimensional time series signals using a Recurrent Neural Network (RNN) in a pass-through layer of a U-Net neural network can enable more accurate estimation of a person's vital signs.

[0013] Some embodiments are based on the recognition that the sensitivity of the PPG signal to noise in the measurement of the intensity of a person's skin (e.g., pixel intensity in a NIR image) is caused, at least in part, by the independent estimation of the photoplethysmography (PPG) signal from the intensity of the person's skin measured at different spatial locations (or spatial regions). Some embodiments are based on the recognition that the measured intensity at different locations, e.g., different regions of the person's skin, may be subject to different measurement noises. If the iPPG signal is estimated independently from the intensity at each location (e.g., the PPG signal estimated from the intensity at one skin region is estimated independently from the intensity or estimated signal from other skin regions), the independence of the respective estimates may prevent the estimator from discerning such noise.

[0014] Some embodiments are based on the recognition that the measured intensity in different spatial regions of a person's skin may be subject to different, sometimes even unrelated, noises. Such noises include one or more of illumination variations, person's motion, etc. In contrast, heartbeat is a common source of intensity variations present in different regions of the skin. Therefore, when independent estimation is replaced with a joint estimation of PPG signals measured from the intensity in different regions of the person's skin, the effect of noise on the quality of vital sign estimation can be reduced. In this way, some embodiments can extract PPG signals common to many skin regions (including regions that may also contain significant noise) while ignoring noise signals that are not shared across many skin regions.

[0015] Some embodiments are based on the recognition that it would be beneficial to estimate the PPG signals of different skin regions collectively, since this reduces the noise that affects the estimation of vital signs. Some embodiments are based on the recognition that two types of noise act on the intensity of the skin: external noise and internal noise. External noise affects the intensity of the skin due to external factors such as lighting variations, person's movement, and the resolution of the sensor that measures the intensity. Internal noise affects the intensity of the skin due to internal factors such as the different effects of cardiovascular blood flow on the appearance of different areas of a person's skin. For example, heartbeat may affect the intensity of a person's forehead and cheeks more than the intensity of the nose.

[0016] Some embodiments are based on the recognition that both types of noise can be addressed in the frequency domain of intensity measurements. Specifically, external noise can be detected in the frequency domain because it is often aperiodic or has a periodic frequency different from the signal of interest (e.g., a pulsatile signal). On the other hand, internal noise preserves the periodicity of common causes of intensity fluctuations in the frequency domain while producing intensity fluctuations or time shifts of intensity fluctuations in different areas of the skin.

[0017] Some embodiments aim to accurately estimate vital signs even in variable environments where dramatic lighting variations exist. For example, in a variable environment such as an in-vehicle environment, some embodiments provide an RPPG system suitable for estimating vital signs of a vehicle driver or passenger. However, while driving, lighting on a person's face can change dramatically. To address these challenges, additionally or alternatively, an embodiment uses active interior lighting in a narrow spectral band where the spectral energy of sunlight, street lights, and headlights and taillights are all minimal. For example, due to moisture in the atmosphere, sunlight reaching the Earth's surface has much less energy around the NIR wavelength of 940 nm than other wavelengths. The light output by street lights and vehicle lights is generally in the visible spectrum, with very little power in infrared frequencies. To that end, an embodiment uses an active narrowband lighting source at or near 940 nm and a camera filter at the same frequency to ensure that lighting changes due to environmental ambient lighting are filtered out. Moreover, because this narrow frequency band is beyond the visible range, humans do not perceive this light source and are therefore not distracted by its presence. Moreover, as the bandwidth of the light source used for active illumination becomes narrower, the camera's bandpass filter can become narrower, further eliminating intensity variations due to ambient lighting.

[0018] Thus, one embodiment uses a narrow bandwidth (narrowband) near infrared (NIR) light source to illuminate human skin in a narrow frequency band that includes near infrared wavelengths of 940 nm, and an NIR camera with narrowband filters overlapping the wavelengths of the narrowband light source to measure the intensity of different areas of the skin in the narrow frequency band.

[0019] One embodiment discloses an imaging photoplethysmography (iPPG) system for estimating vital signs of a person from images of the person's skin, the iPPG system comprising at least one processor and a memory having instructions stored thereon, the instructions, when executed by the at least one processor, causing the iPPG system to receive a sequence of images of different regions of the skin of the person, each region comprising pixels of different intensities indicative of color variations of the skin, the instructions, when executed by the at least one processor, further causing the iPPG system to convert the sequence of images into a multi-dimensional time series signal, each dimension corresponding to a respective region from the different regions of the skin, the instructions further causes the iPPG system, when executed by the at least one processor, to process the multi-dimensional time series signal using a time series U-Net neural network to generate a PPG waveform, the U-shape of the time series U-Net neural network includes a contraction path formed by a sequence of contraction layers followed by an augmentation path formed by a sequence of augmentation layers, at least some of the contraction layers downsample their inputs and at least some of the augmentation layers upsample their inputs to form a contraction layer and augmentation layer pair of corresponding resolution, at least some of the corresponding contraction layers and augmentation layers are connected via pass-through layers. Further, at least one of the pass-through layers includes a recurrent neural network that processes its inputs sequentially. The at least one processor is further configured to estimate the vital signs of the person based on the PPG waveform and render the estimated vital signs of the person.

[0020] Another embodiment discloses a method for estimating vital signs of a person, the method comprising: receiving a sequence of images of different regions of the skin of the person, each region comprising pixels of different intensities indicative of color variations of the skin; the method further comprises converting the sequence of images into a multi-dimensional time series signal, each dimension corresponding to a respective region from the different regions of the skin; the method further comprises processing the multi-dimensional time series signal with a time-series U-Net neural network to generate a PPG waveform; a U-shape of the time-series U-Net neural network comprises a contraction path formed by a sequence of contraction layers followed by an augmentation path formed by a sequence of augmentation layers, at least some of the contraction layers downsample their inputs and at least some of the augmentation layers upsample their inputs to form contraction layer and augmentation layer pairs of corresponding resolutions, at least some of the corresponding contraction and augmentation layers are connected via pass-through layers, each of the pass-through layers comprising a recurrent neural network that processes its inputs sequentially. The method further includes estimating the vital signs of the person based on the PPG waveform, and rendering the estimated vital signs of the person. [Brief description of the drawings]

[0021] [Figure 1A] FIG. 1 is a block diagram illustrating an imaging photoplethysmography (iPPG) system for estimating a person's vital signs from near-infrared (NIR) video according to an exemplary embodiment. [Figure 1B] FIG. 1 is a functional diagram of an iPPG system according to an exemplary embodiment. [Figure 1C] A diagram illustrating method steps performed by an iPPG system using NIR video according to an exemplary embodiment. [Figure 1D]FIG. 1 is a block diagram illustrating an imaging photoplethysmography (iPPG) system for estimating a person's vital signs from color video according to an exemplary embodiment. [Figure 1E] FIG. 1 is a functional diagram of an iPPG system that extracts information from a single color channel of a video according to an exemplary embodiment. [Figure 1F] FIG. 1 is a functional diagram of an iPPG system that stacks multi-dimensional time series for every color channel of every region along a single channel dimension according to an exemplary embodiment. [Figure 1G] FIG. 1 is a functional diagram of an iPPG system for combining multi-dimensional time series for multiple color channels into a single multi-dimensional time series according to an exemplary embodiment. [Figure 1H] FIG. 1 is a functional diagram of an iPPG system that stacks multi-dimensional time series for every color channel of every region along two different channel dimensions according to an exemplary embodiment. [Figure 1I] A diagram showing method steps performed by an iPPG system using color video according to an exemplary embodiment. [Figure 2A] FIG. 13 illustrates a temporal convolution of an input channel operated by a kernel of size 3 with a stride of 1 according to an exemplary embodiment. [Figure 2B] FIG. 13 illustrates a temporal convolution of an input channel operated by a kernel of size 3 and stride 2 according to an exemplary embodiment. [Figure 2C] FIG. 13 illustrates a temporal convolution of an input channel operated by a kernel of size 5 with a stride of 1 according to an exemplary embodiment. [Diagram 3] FIG. 2 illustrates a diagram showing temporal convolution for a multi-channel input according to an exemplary embodiment. [Figure 4] FIG. 1 illustrates sequential processing performed by a recurrent neural network (RNN) according to an exemplary embodiment. [Diagram 5]FIG. 1 illustrates a plot for comparison of a PPG signal frequency spectrum obtained using a near-infrared (NIR) portion of the spectrum with a PPG signal frequency spectrum obtained using a visible portion (RGB) of the spectrum, according to an exemplary embodiment. [Figure 6A] FIG. 13 illustrates the impact of data augmentation on heart rate estimation using the PTE6 (Percentage of Time Error < 6 bpm) metric, according to an exemplary embodiment. [Figure 6B] FIG. 13 illustrates the impact of data augmentation on heart rate estimation using the Root-Mean-Squared Error (RMSE) metric, according to an exemplary embodiment. [Figure 7] FIG. 1 illustrates a comparison of PPG signals estimated by TURNIP (Time-series U-net with Recurrence for NIR Imaging PPG) trained using Temporal Loss (TL) and Spectral Loss (SL) with the corresponding ground truth PPG signals for one subject, according to an exemplary embodiment. [Figure 8] FIG. 1 is a block diagram of an iPPG system according to an exemplary embodiment. [Figure 9] FIG. 1 illustrates a patient monitoring system using an iPPG system according to an exemplary embodiment. [Figure 10] FIG. 1 illustrates a driver assistance system using an iPPG system according to an exemplary embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0022] In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be apparent to one skilled in the art that the present disclosure may be practiced without these specific details. In other instances, the devices and methods are shown in block diagram form solely to avoid obscuring the present disclosure.

[0023] As used in the present specification and claims, the words "for example," "for instance," and "such as," as well as the verbs "comprising," "having," "including," and other forms of these verbs, when used in conjunction with a list of one or more components or other items, should each be construed as open-ended, meaning that the list should not be considered to exclude other additional components or items. The word "based on" means based at least in part on. Furthermore, it should be understood that the phraseology and terminology used herein are for the purpose of description and should not be considered limiting. Any headings used in this description are for convenience only and do not have any legal or restrictive effect.

[0024] FIG. 1A is a block diagram illustrating an imaging photoplethysmography (iPPG) system 100 for estimating a person's vital signs, according to an exemplary embodiment. The iPPG system 100 corresponds to a modular framework in which a time series extraction module 101 and a PPG estimator module 109 can be used to generate a PPG waveform (also referred to as a "PPG signal") from input images of different areas of the person's skin. Furthermore, the PPG waveform can be used to accurately estimate one or more vital signs of the person. In some embodiments, one or both of the time series extraction module 101 and the PPG estimator module 109 can be implemented using a neural network.

[0025] In some embodiments, the iPPG system 100 may include a near-infrared (NIR) light source configured to illuminate the person's skin and a camera configured to capture a monochrome image 105 (also referred to as NIR image 105). The NIR image 105 captures at least one body part (e.g., the person's face) of one or more people. For ease of explanation, the NIR image 105 captures the person's face. The NIR image 105 includes a number of frames. Thus, each frame in the NIR image 105 includes an image 107 of the person's face. In operation, the iPPG system 100 obtains an input, such as the NIR image 105. In some embodiments, the image 107 in each frame of the NIR image 105 is partitioned into a number of spatial regions 103, and the multiple spatial regions 103 are jointly analyzed to accurately determine a PPG waveform.

[0026] 1D is a block diagram illustrating an alternative embodiment in which the iPPG system 100 may include a color camera for capturing color imagery, such as RGB imagery 106 (so named because it includes red (R), green (G) and blue (B) color channels), which captures at least one body part of one or more people, such as the people's faces.

[0027] For ease of explanation, the RGB video 106 captures a human face. The RGB video 106 includes multiple frames. Thus, each frame in the RGB video 106 includes an image 107 of a human face. In this embodiment (different from the embodiment shown in FIG. 1C), the image 107 is an RGB image. In operation, the iPPG system 100 acquires an input such as the RGB video 106. In some embodiments, the RGB image 108 in each frame of the RGB video is divided into a red (R), green (G) and blue (B) channel. Each channel is partitioned into multiple spatial regions 103, which are jointly analyzed to accurately determine a PPG waveform. In some preferred embodiments, pixel locations corresponding to each spatial region are consistent across color channels.

[0028] The segmentation of each image 107 is based on the recognition that a particular area of ​​the considered body part contains the strongest PPG signal. For example, the particular areas of the face (also referred to as "Regions of Interest" (ROI) or simply "Regions") that contain the strongest PPG signal include areas located around the forehead, cheeks and chin (illustrated in FIG. 1A). Thus, the image segmentation may be performed using at least one image segmentation technique, such as segmentation based on estimated facial landmark positions, semantic segmentation, face parsing, threshold segmentation, edge-based segmentation, region-based segmentation, watershed segmentation, clustering-based segmentation algorithms, and neural networks for segmentation.

[0029] The partitioning of each image 107 results in a sequence of images including different ones of the spatial regions 103, each spatial region including a respective part of the person's skin. For example, in a NIR image 105 and an RGB image 106 of a person's face, the image 107 in each frame of the image may correspond to the person's face, and the spatial regions 103 in the sequence of images formed by partitioning the image 107 may correspond to areas of the person's skin. Furthermore, each spatial region of the spatial regions 103 is used to determine a PPG signal. Due to occlusion of parts of the face, which may be due to one or more occlusions, such as hair (e.g., bangs over the forehead), facial hair, objects (e.g., sunglasses), other body parts (e.g., hands), and head poses or camera poses that prevent parts of the face from being visible in the images, some regions may not include skin or may only include skin partially, which may inhibit or weaken the quality of the signal from those regions.

[0030] Some embodiments are based on the recognition that the sensitivity of the PPG signal to noise in the measurement of the intensity of a person's skin (e.g., pixel intensity in an image) is caused at least in part by the independent estimation of the PPG signal from the intensity of the person's skin measured at different spatial locations (or spatial regions). Furthermore, some embodiments are based on the recognition that the measured intensity at different locations, such as different regions of the person's skin, may be subject to different measurement noises. If the PPG signal is estimated independently from the intensity in each spatial region (e.g., the PPG signal estimated from the intensity in one skin region is estimated independently from the intensity or estimated signal from other skin regions), the independence of the respective estimates may prevent the estimator from identifying such noise that affects the accuracy in determining the PPG signal.

[0031] The noise may be due to one or more of illumination variations, person movement, etc. Some embodiments are based on the further recognition that heartbeat is a common cause of intensity variations present in different regions of the skin. Thus, when the independent estimates are replaced with joint estimates of PPG signals measured from intensities at different regions of the person's skin, the effect of noise on the quality of the vital signs estimates can be reduced.

[0032] Thus, the iPPG system 100 jointly analyzes multiple spatial regions 103 to estimate a vital sign, which is one or a combination of the person's pulse rate and the person's heart rate variability (also referred to as a "heartbeat signal") in a manner that reduces the effects of noise. In some embodiments, the person's vital sign is a one-dimensional signal for each instant in a time series.

[0033] Some embodiments are based on the recognition that vital signs can be accurately estimated by employing temporal analysis. Accordingly, the iPPG system 100 is configured to extract at least one multi-dimensional time series signal from a sequence of images corresponding to different regions of the human skin, which time series signal is used to determine a PPG signal to accurately estimate the vital signs.

[0034] To this end, the iPPG system 100 uses a time series extraction module 101 .

[0035] Time Series Extraction Module:

[0036] In some embodiments, the time series extraction module 101 is configured to receive a sequence of images of multiple frames of NIR video 105 and extract a multidimensional time series signal from the sequence of images. In some embodiments, the time series extraction module 101 is further configured to partition images 107 from the frames of the NIR monochrome video 105 into multiple spatial regions 103 and generate a multidimensional time series corresponding to the multiple spatial regions 103.

[0037] In other embodiments, the time series extraction module 101 is configured to receive a sequence of images of multiple frames of the RGB video 106 and extract a multidimensional time series signal from the sequence of images. In some embodiments, the time series extraction module 101 is further configured to partition an image 107 from a frame of the RGB video 106 into a red (R), green (G) and blue (B) channel. In some embodiments, the time series extraction module 101 is further configured to partition each of the R, G and B channels of the image into multiple spatial regions 103 and generate a multidimensional time series corresponding to the multiple spatial regions 103.

[0038] The images 107 in the sequence of images may include different regions of a person's skin, with each region including pixels of different intensities indicative of variations in skin color. It will be appreciated that although FIG. 1A illustrates skin regions located on the face (facial regions), various embodiments are not limited to using the face. In some embodiments, sequences of images corresponding to other areas of exposed skin, such as the person's neck or wrist, may be acquired and processed by the time series extraction module 101.

[0039] In some embodiments, each dimension of the multi-dimensional time series signal obtained from the NIR monochrome image 105 corresponds to a respective spatial region from a plurality of spatial regions of the human skin in the image 107.

[0040] In some embodiments, each dimension of the multi-dimensional time series signal obtained from the RGB video 106 corresponds to a respective color channel and a respective spatial region from multiple spatial regions of the human skin in the image 107.

[0041] Furthermore, in some embodiments, each dimension is a signal from an explicitly tracked (alternatively, explicitly detected in each frame) region of interest (ROI) of multiple spatial regions of the human skin. Tracking (alternatively, detection) reduces the amount of motion-related noise. However, multi-dimensional time series still contain significant noise due to factors such as landmark localization errors, lighting variations, 3D head rotation, and deformations such as facial expressions.

[0042] In order to recover the signal of interest (the PPG signal) from the noisy multidimensional time series signal, the multidimensional time series signal is provided to a PPG estimator module 109 .

[0043] PPG estimator module:

[0044] The PPG estimator module 109 is configured to recover and output 111 a PPG signal from the noisy multi-dimensional time series signal. Furthermore, vital signs of the person are determined based on the PPG signal.

[0045] Considering the quasi-periodic nature of the time series signal acquired by the PPG estimator module 109, the architecture of the PPG estimator module 109 is designed to extract temporal features at different time resolutions. To that end, the PPG estimator module 109 is realized using a neural network such as a Recurrent Neural Network (RNN) or a Deep Neural Network (DNN).

[0046] In some embodiments, the present disclosure proposes a Time-series U-net with RecurreNce for Imaging PPG (TURNIP) architecture for the PPG estimator module 109. Figure IB illustrates a TURNIP architecture based on a U-net architecture combined with an RNN architecture.

[0047] Some embodiments are based on the recognition that U-net is a convolutional network architecture used in image processing applications such as image segmentation. The U-net architecture is a "U" shaped architecture, which includes a contraction path on the left side of the U-net architecture and an augmentation path on the right side of the U-net architecture. The U-Net architecture can be broadly classified into an encoder network corresponding to the contraction path and a decoder network corresponding to the augmentation path, where the encoder network is followed by the decoder network.

[0048] The encoder network forms the first half of the U-net architecture. In image processing applications, where the U-net architecture is commonly used, the encoder consists of a series of spatial convolutional layers, which may have max-pooling downsampling layers at multiple different levels to encode the input image into a feature representation.

[0049] The decoder network forms the second half of the U-net architecture and contains a series of convolutional and upsampling layers. The goal of the decoder network is to semantically reproject the (low-resolution) features learned by the encoder network back to the original (high-resolution) space. In image processing applications where the U-net architecture is commonly used, the convolutional layers use spatial convolution, and the input and output spaces are the image pixel spaces.

[0050] Some embodiments are based on the realization that the input of the PPG estimator module 109 (also referred to as the "PPG estimator network") is a multidimensional time series, and the desired output is a one-dimensional time series of vital signs. Thus, in some preferred embodiments, the convolutional layers of the encoder and decoder sub-networks of the time series U-net 109a use temporal convolution.

[0051] Some embodiments are based on the further realization that a recurrent neural network (RNN) is a type of artificial neural network (ANN) in which the connections between nodes form a directed graph along a time sequence. The directed graph allows RNNs to exhibit time dynamic behavior. Unlike forward propagation neural networks, RNNs can process variable length sequences of inputs using their internal state (memory). Thus, RNNs can remember important features of past inputs, which allows RNNs to determine temporal patterns more accurately. Thus, RNNs can form a much deeper understanding of the sequence and its context. Hence, RNNs can be used for sequential data such as time series.

[0052] In some embodiments of the proposed TURNIP architecture of the iPPG system 100, a U-Net architecture is applied to the time series data. In some embodiments, the pass-through connections incorporate 1×1 convolutions. Unlike previous U-Nets, in TURNIP, the pass-through connections are modified to incorporate time recursion using an RNN. Thus, the PPG estimator module 109 includes a time series U-Net neural network (also referred to as "U-net") 109a coupled to a recurrent neural network (RNN) 109b. The U-net 109a and the RNN 109b are combined to process the multi-dimensional time series data to accurately determine a PPG waveform, which is used to estimate a person's vital signs. Further details regarding the workings of the proposed iPPG system 100 using the TURNIP architecture are described in more detail below with reference to Figures 1B-1J.

[0053] FIG. 1B is a functional diagram of an iPPG system 100 according to an exemplary embodiment. FIG. 1B is described in conjunction with FIG. 1A. The iPPG system 100 initially receives one or more images of a body part (e.g., a face) of a person. The one or more images may be near-infrared (NIR) images. In some embodiments, the iPPG system 100 includes a NIR illumination source and a camera, where the NIR illumination is configured to illuminate the body part of the person with NIR light such that the camera can record one or more NIR images of the particular body part of the person. The one or more NIR images are used to determine a PPG waveform using the TURNIP architecture.

[0054] To that end, the iPPG system 100 acquires, for each NIR image 105 of one or more images, an image (e.g., image 107) from each of the sequence of image frames of the NIR image 105. Each image is partitioned or segmented into a number of spatial regions (e.g., spatial regions 103), resulting in a sequence of images whose spatial regions correspond to different areas of the body part. The partitioning of the image 107 is performed such that each spatial region includes a particular area of ​​the body part that may be strongly indicative of a PPG signal. Thus, each spatial region of the number of spatial regions 103 is a region of interest (ROI) for determining the PPG signal. Furthermore, for each spatial region, a time series signal is derived using a time series extraction module 101.

[0055] In an exemplary embodiment, for each NIR video 105, the time series extraction module 101 extracts a 48-dimensional time series corresponding to pixel intensities over time for 48 facial regions (ROIs), which correspond to multiple spatial regions 103. In some embodiments, the multidimensional time series signal may have more or fewer dimensions than 48 dimensions corresponding to more or fewer than 48 facial regions.

[0056] In some embodiments, to extract an ROI associated with a particular body part of a person in an image, a number of landmark positions corresponding to the particular body part of the person are located in each image frame 107 of the video. Thus, these number of landmark positions may vary depending on the body part used to determine the PPG signal. In an exemplary embodiment, when a person's face is used to determine the PPG signal, 68 landmark positions corresponding to the person's face (i.e., 68 face landmarks) are located in each image frame 107 of the video.

[0057] Some embodiments are based on the recognition that due to imperfect or inconsistent landmark localization, motion jitter of estimated landmark positions in subsequent frames will cause region boundaries to wiggle from one frame to the next, adding noise to the extracted time series. To reduce the extent of this noise, the landmark positions are temporally smoothed before extracting the ROI (e.g., 48 face regions).

[0058] Thus, in some embodiments, prior to extracting an ROI from the landmark locations, the landmark locations are smoothed over time using a smoothing technique, such as a moving average technique. In particular, a time kernel of a predetermined length is applied to the landmark locations over time, and the location of each landmark in each video frame image 107 is determined as a weighted average of the landmark's estimated location in preceding and subsequent frames within a time window corresponding to the length of the kernel.

[0059] For example, in one embodiment, the 68 landmark locations are smoothed using a moving average with a kernel of length 11 frames. The smoothed landmark locations in each frame (i.e., each image 107) of the NIR video 105 are then used to extract 48 ROIs located around the forehead, cheeks, and chin in the frame. The average intensity of pixels in each of the 48 spatial regions is then calculated for the frame. In this manner, intensity values ​​for each region in the multiple spatial regions 103 (or ROIs) are extracted from each image, and the intensity values ​​from the multiple spatial regions 103 for a sequence of frames 107 (e.g., a sequence of 314 frames) form a multi-dimensional time series.

[0060] The time series extraction module 101 is configured to convert a sequence of images 107 corresponding to multiple spatial domains 103 into a multidimensional time series signal. Some embodiments are based on the realization that spatial averaging reduces the effects of noise sources such as quantization noise of the camera capturing the image (NIR image 105 or RGB image 106) and minor deformations caused by human head and face movements. To this end, pixel intensities of pixels from each spatial domain of the multiple spatial domains (also referred to as "different spatial domains") 103 at a given moment are averaged to generate a value for each dimension of the multidimensional time series signal at that moment.

[0061] In some embodiments, the time series extraction module 101 is further configured to temporally window (or segment) the multidimensional time series signal. Thus, there may be multiple segments of the multidimensional time series signal, with at least a portion of each segment of the multiple segments overlapping with a subsequent segment of the multiple segments to form a sequence of overlapping segments. Furthermore, the multidimensional time series corresponding to each of the segments may be normalized before feeding the multidimensional time series signal into the PPG estimator module 109, which may process each segment from the sequence of overlaps of the multidimensional time series signal using a time series U-Net 109a.

[0062] A windowed sequence has a particular duration with a particular frame stride during inference (e.g., a 10 second duration with a stride of 10 frames (300 frames at 30 fps) during inference), where the stride indicates the time shift of a number of frames (e.g., 10 frames) between subsequent windowed sequences (e.g., 10 second windowed sequences).

[0063] In the exemplary case where the vital sign of the person to be estimated is a heartbeat signal, the heartbeat signal is locally periodic and the period of the heartbeat signal varies over time, in such a case, some embodiments are based on the recognition that a 10 second window is a good compromise of the period for extracting the current heart rate.

[0064] Some embodiments are based on the recognition that a longer stride is more efficient for training with a larger dataset. Thus, the stride (in frames) used for windowing during training will be longer (e.g., 60 frames) than the stride (e.g., 10 frames) used for windowing during inference. Also, the length of the stride in frames may be modified according to the vital signs of the person being estimated.

[0065] In some embodiments, a preamble of a certain duration (e.g., 0.5 seconds) is added to each window. For example, a number of additional frames (e.g., 14) are added just before the beginning of the window, resulting in a multidimensional time series of a longer duration (e.g., 314 frames).

[0066] In some embodiments where the input is NIR video 105, the multi-dimensional time series (e.g., 48 dimensions of the time sequence) is fed as channels into the PPG estimator module 109. The PPG estimator module 109 includes a sequence of layers associated with a time series U-net 109a and an RNN 109b forming a TURNIP architecture. The channels corresponding to the multi-dimensional time series signals are combined during a forward pass through of the sequence of layers. In the PPG estimator module 109, the time series U-Net 109a, together with the RNN 109b, maps the multi-dimensional time series signal to a desired PPG signal. For each windowed sequence of the multi-dimensional time series signal (e.g., 10 second window), the TURNIP architecture extracts convolutional features at a specific time resolution (e.g., 3 time resolutions). The specific time resolution may be predefined.

[0067] Further, in some embodiments, the TURNIP architecture downsamples the input time series by a first factor and then by a second factor, where the second factor is an additional factor. The first and second factors for downsampling the input time series may be predefined (e.g., the first factor may be 3 and the second factor may be 2). The PPG estimator module 109 then estimates the desired PPG signal in a deterministic manner.

[0068] TURNIP Architecture:

[0069] The TURNIP architecture is a neural network (e.g., DNN)-based architecture trained on at least one dataset to accurately determine PPG signals based on multi-dimensional time series data. The time series U-Net 109a includes a contraction path formed by a sequence of contraction layers, followed by an augmentation path formed by a sequence of enhancement layers. The sequence of contraction layers is a combination of convolution layers, max pooling layers, and dropout layers. Similarly, the sequence of enhancement layers is a combination of convolution layers, upsampling layers, and dropout layers. At least some of the contraction layers downsample their input multi-dimensional time series signals, and at least some of the enhancement layers upsample their inputs to form a contraction layer and enhancement layer pair of corresponding resolution. Furthermore, at least some of the contraction layers and enhancement layers are connected via pass-through layers. The multiple contraction layers form an encoding sub-network that can be considered to encode input data into a sequence with a lower time resolution. Meanwhile, the multiple enhancement layers form a decoding sub-network that can be considered to decode input data encoded by the encoding network. Furthermore, at least at some resolutions, the encoding sub-network and the decoding sub-network are connected by pass-through connections. In parallel with the 1×1 convolutional pass-through connections, specific recurrent pass-through connections are included. The specific recurrent pass-through connections are realized using RNNs 109b, which process their inputs sequentially and which are included in each of the pass-through layers.

[0070] In a preferred embodiment, the RNN 109b is implemented using a Gated Recurrent Unit (GRU) 113 to provide time-recurrent features. In other embodiments, the RNN 109b may be implemented using a different RNN architecture, such as a Long Short-Term Memory (LSTM) architecture. Some embodiments are based on the recognition that a GRU is an evolution of a standard RNN. A GRU uses gates to control the flow of information, and unlike an LSTM, a GRU does not store separate cell states (C t ) GRU does not have a hidden state (H t ) at each timestamp t. t and the hidden state H from the previous timestamp t-1. t-1 Then, the GRU takes in a new hidden state H t Then, we output this new hidden state H t is passed to the GRU at the next timestamp. The GRU has two main gates. The first gate is a reset gate and the other is an update gate. Some embodiments are based on the further realization that GRUs are faster to train due to their simple architecture compared to other types of RNNs such as long short-term memory (LSTM) networks.

[0071] Shrinkage Path:

[0072] In the time series U-net 109a, the shrinkage path is formed by a sequence of shrinkage layers, each of which includes one or more combinations of a convolutional layer, a single downsampling convolutional layer, and a dropout layer. A dropout layer is a regularization layer used to reduce overfitting of a layer (e.g., a convolutional layer) and is used together with the generalization of the corresponding layer to improve the generalization of the corresponding layer. A dropout layer drops the output of a layer (e.g., a convolutional layer) with which it is used with a certain probability p, also referred to as the dropout rate. The dropout rate may be predefined or calculated in real time based on the training dataset used to train the TURNIP architecture. In an exemplary embodiment, the dropout rate (or p) of each dropout layer is equal to 0.3.

[0073] Alternatively, in some other embodiments, the contraction path of the time-series U-net 109a may not include a dropout layer. In such embodiments, the contraction path is formed by a sequence of contraction layers, each of which includes one or more combinations of only a convolutional layer and a single downsampling layer.

[0074] Further, in some embodiments of the TURNIP architecture, the sequence of contraction layers is formed by five contraction layers. In other embodiments, there may be six or more contraction layers, and in still other embodiments, there may be four or less contraction layers. Among the five contraction layers, the first contraction layer 116a includes two convolution layers. The first contraction layer 116a processes its input, which is a multi-dimensional time series signal provided as multiple channels, and the multi-channel output generated by the first contraction layer 116a is fed into one of the layers in the expansion path (e.g., the fourth expansion layer 118d). Note that although all layers in the contraction path are referred to as "contraction layers" and all layers in the expansion path are referred to as "expansion layers," in some embodiments, not all contraction layers actually contract the length of their input sequence. For example, in one embodiment shown in FIG. 1B, the sequence output from the first contraction layer 116a has substantially the same length as the sequence input to the first contraction layer 116a. This is because the convolutions performed in the first contraction layer have a stride = 1. Similarly, not all "enhancement layers" actually extend the length of their input sequence: for example, the input to the fourth enhancement layer and the output of the fourth enhancement layer have substantially the same length.

[0075] Further, each of the second deflation layer 116b, the third deflation layer 116c, and the fourth deflation layer 116d includes a convolution layer (sometimes referred to as a "single downsampling layer," although as noted above, in practice not all downsampling layers downsample the length of their inputs) followed by a dropout layer with a particular dropout rate (e.g., p=0.3). In one embodiment shown in FIG. 1B, each of the second deflation layer 116b (whose convolutions have stride=3) and the fourth deflation layer 116d (whose convolutions have stride=2) downsamples its input by a factor equal to its stride, while the third deflation layer 116c and the fifth deflation layer 116e do not downsample their inputs. In this embodiment, downsampling is achieved by the stride of the convolutions of each downsampling layer, although in alternative embodiments, downsampling may be achieved using other means, such as max pooling or average pooling. The second contraction layer 116b receives input channels corresponding to the multidimensional time series signals extracted by the time series extraction module 101 and feeds its output to the third contraction layer 116c and the corresponding pass-through layer 113a. Furthermore, each of the third and fourth contraction layers receives a corresponding input from the previous contraction layer and feeds a corresponding output to both the corresponding next contraction layer and the corresponding pass-through layer.

[0076] The fifth and final contraction layer in the sequence of five contraction layers includes two convolutional layers followed by a dropout layer with a particular dropout rate. The fifth contraction layer receives an input from the fourth contraction layer and feeds its output into one of the enhancement layers in the enhancement path (e.g., the first enhancement layer 118a).

[0077] Expansion Path:

[0078] In some embodiments, the enhancement path includes a sequence of five enhancement layers. In one such embodiment shown in FIG. 1B, in the sequence of five enhancement layers, the first enhancement layer 118a is configured to perform upsampling, concatenation with the output of its corresponding pass-through layer 113c, and convolution on its input time series. Similarly, the third enhancement layer 118c performs upsampling, concatenation with the output of its corresponding pass-through layer 113a, and convolution on its input time series. Each of the second enhancement layer 118b and the fourth enhancement layer 118d is configured to perform concatenation with the output of its corresponding pass-through layer, and convolution on its input time series. Furthermore, the fourth enhancement layer includes a dropout layer with a particular dropout rate (e.g., p=0.3). The fifth enhancement layer is composed of a convolution layer followed by a dropout layer with a particular dropout rate. To upsample input data in the first enhancement layer 118a and the third enhancement layer 118c, each of these two enhancement layers uses an upconverter operation to generate upsampled data at its corresponding input, and this upsampled data is then used to concatenate and temporally convolve each of these enhancement layers.

[0079] Still referring to FIG. 1B, the output of the time series extraction module 101, which is a multi-dimensional time series, is provided as channels to the PPG estimator module 109. Thus, each contraction layer processes a number of (Chan_in) input channels into a number of (chan_out) output channels for a kernel of a particular size (e.g., kernel of size k=3) and a particular stride (e.g., stride s=1). In some exemplary embodiments, the first contraction layer 116 may have Chan_in=48 input channels and Chan_out=64 output channels. The output of the first contraction layer 116a is fed into the fourth enhancement layer 118d.

[0080] Similarly, input channels, output channels, kernels and strides are specified for the second deflated layer 116b, the third deflated layer 116c, the fourth deflated layer 116d and the fifth deflated layer 116e.

[0081] 1B, the convolution performed by the second deflation layer 116b has 48 input channels and 64 output channels, with kernel size k = 9 and stride s = 3. The output of the second deflation layer 116b is fed into the third deflation layer 116c and the first pass-through layer 113a.

[0082] Each pass-through layer, such as the first pass-through layer 113a, consists of a 1×1 convolutional layer 117 and an RNN, such as GRU 113, whose respective outputs are concatenated (115) and then passed to a corresponding layer in the augmentation path.

[0083] The third contraction layer 116c has 64 input channels and 128 output channels and a convolution kernel of size k=7 and stride s=1. The output of the third contraction layer 116c is provided to the fourth contraction layer 116d and the second pass-through layer 113b in the contraction path, whose output is passed to the corresponding layer 118b in the augmentation path. The fourth contraction layer 116d has 128 input channels and 256 output channels and a convolution with a kernel of size 7 and stride 1, whose output is provided to the fifth contraction layer 116e and the third pass-through layer 113c in the contraction path, whose output is passed to the corresponding augmentation layer 118b. At the final stage of the contraction path, the fifth contraction layer 116e has 256 input channels and 512 output channels, and a convolution kernel of size 7 with a stride of 1. Furthermore, the output of the fifth contraction layer 116e is provided to the first enhancement layer 118a of the enhancement path.

[0084] The first enhancement layer 118a takes two inputs, the first input being taken from the fifth contraction layer 116e and the second input being taken from the output of the third pass-through layer 113c. The first enhancement layer 118a processes its inputs and passes its output to the second enhancement layer 118b. The second enhancement layer 118b also takes two inputs, the first input corresponding to the output of the first enhancement layer 118a and the second input corresponding to the output of the second pass-through layer 113b.

[0085] Similarly, a first input of the third enhancement layer 118c corresponds to the output of the second enhancement layer 118b, and a second input of the third enhancement layer 118c corresponds to the output of the first pass-through layer 113a. Additionally, the output of the third enhancement layer 118c is provided to a fourth enhancement layer 118d.

[0086] The fourth enhancement layer 118d gets a first input from the third enhancement layer 118c and a second input from the first contraction layer 116a. The output of the fourth enhancement layer is provided to a fifth enhancement layer, which performs channel contraction (e.g., from 64 channels to 1 channel), followed by a dropout layer.

[0087] In some embodiments, the output of the fifth enhancement layer 118e is the final output of the PPG estimator module 109. This output (e.g., a one-dimensional time series that estimates the PPG waveform) is used to obtain the output 111 of the iPPG system 100.

[0088] At each time scale, the convolutional layer of the time series U-net 109a processes all samples from a time series window (e.g., a 10 second window) in parallel. (The computation to obtain each output time step of each convolution can be performed in parallel with the corresponding computation of other output time steps of the convolution.) In contrast, the proposed RNN layer (e.g., the GRU layer 113) processes the time samples sequentially. This time recursion has the effect of expanding the time receptive field in each layer of the expansion path of the time series U-net 109a.

[0089] 1B, after GRU 113 has run through all time steps in a 10 second window, the resulting sequence of hidden states is concatenated 115 with the output of a more standard pass-through layer (1×1 convolution) 117. The hidden states of GRU 113 are reinitialized and fed into GRU 113 for each 10 second window.

[0090] Further details regarding the steps performed by the iPPG system 100 to determine a PPG signal are described below with reference to FIG. 1C.

[0091] 1C illustrates steps of a method 119 performed by iPPG system 100 according to an exemplary embodiment. In step 119a, a NIR monochrome video of a person (e.g., NIR video 105) is received. The NIR video 105 may include the person's face or other body part of the person, whose skin is exposed to a camera that records the video. The iPPG system 100 may include a NIR light source configured to illuminate the person's skin to record the NIR video 105. Furthermore, the iPPG system 100 may be configured to measure intensities indicative of skin color variations at different instants of time, each instant corresponding to an image in a video frame, i.e., a sequence of images.

[0092] To that end, an image corresponding to each frame of the input NIR video is segmented into different regions, and these different regions correspond to different parts of the human skin in the image. The different regions of the human skin can be identified using landmark detection. For example, if the human body part is a human face, the different regions of the face can be obtained using facial landmark detection.

[0093] In step 119b, a sequence of images containing different regions of human skin is received by the time series extraction module 101 of the iPPG system 100.

[0094] In step 119c, the sequence of images is converted into a multidimensional time series signal by the time series extraction module 101 by averaging pixel intensities of pixels from each of the spatial regions 103 (also referred to as "different spatial regions") at a given time instant (e.g., in one video frame image 107) to generate a value for each dimension of the multidimensional time series signal at that time instant.

[0095] In step 119d, the multi-dimensional time series signal is processed by a time series U-net 109a combined with a recurrent neural network 109b in a pass-through layer forming a TURNIP architecture. The multi-dimensional time series signal is processed by different layers of the TURNIP architecture to generate a PPG waveform, which in some embodiments is represented as a one-dimensional (1D) time series.

[0096] In step 119e, vital signs, such as the person's heartbeat or pulse rate, are estimated based on the PPG waveform. In some embodiments, the output 111 of the iPPG system 100 includes vital signs.

[0097] Thus, the PPG estimator module 109 estimates the PPG signal from the multi-dimensional time series signal extracted from the NIR video 105. To that end, a time convolution is performed on the multi-dimensional time series signal at each layer of the TURNIP architecture. Further details regarding the time convolution are described below with respect to FIGS. 2A-2C. Furthermore, in some embodiments, the estimated vital signs signal is rendered on an output device, such as a display device. In some embodiments, the estimated vital signs may further be utilized to control the operation of one or more external devices associated with the person whose vital signs are estimated.

[0098] Time series extraction from multi-channel video:

[0099] 1A and 1C, the iPPG system 100 or method 119 starts with a single channel video as input, such as single channel NIR video 105. It should be understood that although these figures and the corresponding above description apply to single channel NIR video, the same concepts are equally applicable to other single channel video, such as video collected using a monochrome grayscale camera sensor or a thermal infrared camera sensor.

[0100] However, in other embodiments, the iPPG system or method starts with a multi-channel image. The description of the multi-channel image in this specification mainly describes an RGB image (i.e., an image having a red color channel, a green color channel, and a blue color channel) as an example of a multi-channel image. However, it should be understood that the same concept is equally applicable to other multi-channel image inputs, such as a multi-channel NIR image, an RGB-NIR four-channel image, a multi-spectral image, and a color image stored using a color space representation different from RGB, such as a YUV image, or a different permutation of the RGB color channels, such as BGR.

[0101] For multi-channel images, such as RGB images, there are multiple ways that the time series extraction module can extract time series from the multi-channel image, and different embodiments use different methods for extracting time series from the multi-channel image. Figures 1E-1H show some of these methods, each used in a different embodiment of the present invention.

[0102] FIG. 1E illustrates an exemplary embodiment in which the input is an RGB video 106. In this embodiment, all but one of the color channels are ignored, and the time series extraction module 101 extracts the multidimensional time series from just one channel, e.g., the green (G) channel, using a method similar to that described herein for extracting multidimensional time series from single-channel video, such as NIR video. The green channel is used because it has been found that of the three color channels, red, green, and blue, the intensity of the green channel is the one most affected by blood volume changes detected by iPPG. As in the monochrome case, the output of the time series extraction module 101 is fed into the PPG estimator 109. Each dimension of the multidimensional time series is fed into the PPG estimator 109 by treating it as an input channel. The disadvantage of this approach is that it ignores all information in the other two color channels. For example, it has been demonstrated that using three color channels rather than one can help distinguish between intensity changes due to pulsatile blood volume changes (which affect the green channel more than the other two color channels) and intensity changes due to nuisance factors such as subject movement and global lighting changes (which may, for example, affect all three color channels more evenly).

[0103] FIG. 1F illustrates an exemplary embodiment in which a multidimensional time series (e.g., a time series having 48 dimensions corresponding to 48 ROIs) is extracted from each of the R, G, and B channels using a method similar to that described herein for extracting multidimensional time series from single channel video, such as NIR video. This results in a multidimensional time series (e.g., a 48 channel time series) extracted from each of the red channel ("R chan"), green channel ("G chan"), and blue channel. These three multi-channel time series are concatenated along the channel dimension to form a single multidimensional time series (e.g., having 3·48=144 channels) that is fed into the PPG estimator 109. Each dimension of the multidimensional time series is fed into the PPG estimator 109 by treating it as an input channel. One disadvantage of this approach is that the concatenation obscures the correspondence between channels obtained from the same ROI by different channels.

[0104] FIG. 1G illustrates another exemplary embodiment in which a multidimensional time series (e.g., a time series having 48 dimensions corresponding to 48 ROIs) is extracted from each of the R, G, and B channels using a method similar to that described herein for extracting a multidimensional time series from a single channel video, such as NIR video. This again results in a multidimensional time series (e.g., a 48 channel time series) extracted from each of the red channel ("R chan"), green channel ("G chan"), and blue channel. In this case, the multidimensional time series from each of the color channels R, G, and B are linearly combined to form a single multidimensional time series whose dimensions are the same as those of the multidimensional time series of each channel (e.g., 48 channels x 314 time steps) and fed into the PPG estimator 109. In some embodiments, the coefficients used for the linear combination are learned along with the parameters of the neural network. In other embodiments, these coefficients may be selected a priori, such as based on a standard color space conversion from RGB to grayscale. Each dimension of the multi-dimensional time series is fed into the PPG estimator 109 by treating it as an input channel. One disadvantage of this approach is that it can only learn a single linear combination to combine the three color channels into one. The same linear combination must be used in all regions, and this linear combination is independent of the data (e.g., the same linear combination must be used by all subjects of all skin colors in all lighting conditions).

[0105] FIG. 1H illustrates an alternative embodiment in which a multidimensional time series (e.g., a time series having 48 dimensions corresponding to 48 ROIs) is extracted from each of the R, G and B channels using a method similar to that described herein for extracting multidimensional time series from single channel video, such as NIR video. This again results in a multidimensional time series (e.g., a 48 channel time series) extracted from each of the red channel ("R chan"), green channel ("G chan") and blue channel. In this case, the multidimensional time series from each of the color channels R, G and B are shaped into a three-dimensional (3D) array, also known as a 3D tensor. The three dimensions of this array correspond to time (e.g., 314 time steps), face region (e.g., 48 region channels) and color channel (e.g., 3 color channels). This array forms the input to the PPG estimator 109. The convolution kernels of the first and second erosion layers are constructed such that the color dimension is collapsed into a single dimension at the output of each layer. This approach can overcome the disadvantages of the approach described in Figures 1E-1H.

[0106] 1I illustrates steps of a method 120 performed by an iPPG system 100 according to an exemplary embodiment. A multi-channel video, e.g., an RGB video, is received (120a). In step 120a, an RGB video of a person (e.g., RGB video 106) is received. The RGB video 106 may include the person's face or other body parts of the person, whose skin is exposed to a camera that records the video. Furthermore, the iPPG system 100 may be configured to measure intensities indicative of skin color variations at different instants of time, each instant corresponding to a video frame, i.e., an image in a sequence of images.

[0107] To that end, an image corresponding to each frame of the input NIR video is segmented into different regions, and these different regions correspond to different parts of the human skin in the image. The different regions of the human skin can be identified using landmark detection. For example, if the human body part is a human face, the different regions of the face can be obtained using facial landmark detection.

[0108] In step 120b, a sequence of images containing different regions of human skin is received by the time series extraction module 101 of the iPPG system 100.

[0109] In step 120c, the sequence of images is converted into a multidimensional time series signal by the time series extraction module 101. To this end, pixel intensities in each color channel of pixels from each spatial domain of the multiple spatial domains 103 (also referred to as "different spatial domains") at a certain moment (e.g., in one video frame image 107) are averaged to generate values ​​for each dimension of the color channel multidimensional time series signal at that moment. A single multidimensional time series is extracted from the color channel multidimensional time series, for example, using one of the methods described in Figures 1E-1H.

[0110] In step 120d, the multi-dimensional time series signal is processed by a time series U-net 109a combined with a recurrent neural network 109b in a pass-through layer forming a TURNIP architecture. The multi-dimensional time series signal is processed by different layers of the TURNIP architecture to generate a PPG waveform, which in some embodiments is represented as a one-dimensional (1D) time series.

[0111] In step 120e, vital signs, such as the person's heartbeat or pulse rate, are estimated based on the PPG waveform. In some embodiments, the output 111 of the iPPG system 100 includes vital signs.

[0112] Thus, the PPG estimator module 109 estimates the PPG signal from the multi-dimensional time series signal extracted from the RGB video 106. To that end, a temporal convolution is performed on the multi-dimensional time series signal at each layer of the TURNIP architecture. Further details regarding the temporal convolution are described below with respect to FIGS. 2A-2C. Furthermore, in some embodiments, the estimated vital signs signal is rendered on an output device, such as a display device. In some embodiments, the estimated vital signs may further be utilized to control the operation of one or more external devices associated with the person whose vital signs are estimated.

[0113] Figure 2A illustrates a temporal convolution of an input channel 201 operated on by a kernel of size 3 with a stride of 1, according to an exemplary embodiment. Figure 2B illustrates a temporal convolution of an input channel 201 operated on by a kernel of size 3 with a stride of 2, according to an exemplary embodiment. Figure 2C illustrates a temporal convolution of an input channel 201 operated on by a kernel of size 5 with a stride of 1, according to an exemplary embodiment.

[0114] In FIG. 2A, the time series 201 in a single input channel (Ch_in=1) is obtained by one of the convolution layers of the time series U-net 109a (e.g., the convolution layer in the first contraction layer), and the length of the input channel 201 is assumed to be 10. The input channel 201 corresponds to one dimension of the multi-dimensional time series fed into the PPG estimator module 109 by the time series extraction module 101 (e.g., the input channel 201 is a one-dimensional time series sequence). Furthermore, based on the stride value used to manipulate the input channel, the corresponding output channel 203 The length of is changed.

[0115] Let each block depicted in the diagram of the input channel x(t) 201 represent the value of the channel at one time step. Furthermore, let each coefficient of the kernel be represented by k(τ). Let the size of the kernel used for the convolution of the input channel 201 by the convolution layer be 3. Since the kernel size is 3, the kernel contains three coefficients corresponding to τ=-1, 0 and 1. Furthermore, let the kernel traverse (or move) the input channel 201 with a stride value of s=1 (the stride value may also be referred to as the "stride length"). Furthermore, the output of the convolution is obtained in the output channel y(t) 203. Thus, the temporal convolution is calculated as follows:

number

[0116] Similarly, in Figures 2B and 2C, the temporal convolution is calculated using equation (1). In Figure 2B, the kernel size is 3, which is the same as the kernel size used in Figure 2A. However, the stride length is increased to 2. Thus, the length of the output time series (in channel y(t)) is reduced. Thus, the convolution in Figure 2B downsamples the input by a factor of two.

[0117] 3 is a diagram illustrating a time convolution for a multi-channel input according to an exemplary embodiment. The time convolution for the multi-channel input is based on the time convolution for the single channel input shown in FIG. 2A-2C. The PPG estimator module 109 uses the time convolution for the multi-channel input, which corresponds to the multi-dimensional time series signal output by the time series extraction module 101 or the multi-dimensional time series signal output by a previous layer of the PPG estimator network 109.

[0118] In FIG. 3, for ease of explanation, three input channels are considered. However, the number of input channels for convolution in the PPG estimator module 109 is equal to the dimension of the multidimensional time series input to the convolution layer. For example, if the multidimensional time series signal has 48 dimensions corresponding to 48 face ROIs, the number of channels input to the convolution in the first two contraction layers is also equal to 48.

[0119] Thus, the three input channels are channel 1 (also referred to as the "first channel") 301 of the input feature map, channel 2 (also referred to as the "second channel") 303 of the input feature map, and channel 3 (also referred to as the "third channel") 305 of the input feature map. The first channel 301 is represented by x(t), the second channel 303 is represented by y(t), the third channel 305 is represented by z(t), and the output channel 307 generated after the time convolution of the multiple channels (301-305) is represented by o(t). Furthermore, the kernel size is assumed to be 3, which moves through each of the three input channels (301-305) with a stride value of 4 frames. The time convolution for the multiple input channels (301-305) is calculated based on equation (1) for each input channel. The time convolution is performed using as many filters as there are channels in the output feature map. In some embodiments, a learnable bias is also added to the output of each filter. In some embodiments, at least one of the temporal convolutions is followed by a non-linear activation function, such as a Rectified Linear Unit (RELU) or a sigmoid activation function.

[0120] Furthermore, the output of the temporal convolution is passed to RNN 109b via a pass-through layer (FIG. 1B), and the input to RNN 109b is processed sequentially.

[0121] FIG. 4 illustrates sequential processing performed by RNN 109b (e.g., by GRU 113 in FIG. 1B) according to an exemplary embodiment. RNN 109b is configured to sequentially process data from an input multidimensional time series 401, where the dimensions (time x input channels) of the input multidimensional time series 401 represent the number of time steps in the input time series and the number of channels in the input time series, respectively. To that end, the input time series 401 is reshaped into multiple shorter time windows 405, each having the same number of channels as the input time series 401. The windows 405 are then passed sequentially to RNN 109b. In a preferred embodiment, RNN 109b is implemented as a GRU (such as GRU 113). Alternatively, in some embodiments, RNN 109b may be implemented using a long short-term memory (LSTM) neural network.

[0122] After the RNN has sequentially processed all of the shorter time windows 405 of the input time series 401, the sequential outputs 407 of the RNN 109b are re-stacked into longer time windows to form the RNN's output time series 403, whose dimensions (time x input channels) represent the number of time steps in the output time series (which in some embodiments are the same as the number of time steps in the input time series) and the number of channels in the output time series, respectively. In some embodiments, the re-stack of the outputs 407 into the output time series may be in the reverse order of stacking from that shown in FIG.

[0123] Once the entire input time series 401 has been sequentially passed through the RNN and re-stacked into an output time series 403, it is ready to be concatenated (e.g., concatenation 115 in FIG. 1B) with a time series output obtained by processing the same input time series using a more standard U-net pass-through (e.g., 1×1 convolution 117 in FIG. 1B) performed using parallel (i.e., not sequential in nature) computation.

[0124] At each time scale, the convolutional layer of the time series U-net 109a processes all samples from a time series window (e.g., a 10 second window) in parallel. (The computation to obtain each output time step of each convolution can be performed in parallel with the corresponding computation of other output time steps of the convolution.) In contrast, the proposed RNN layer (e.g., the GRU layer 113) processes the time samples sequentially. This time recursion has the effect of expanding the time receptive field in each layer of the expansion path of the time series U-net 109a.

[0125] In this manner, the sequential time processing of the RNN 109b combined with the parallel time processing of the time series U-Net 109a enables the PPG estimator module 109 to more accurately estimate the PPG signal from the multi-dimensional time series signal.

[0126] Some embodiments are based on the recognition that in a narrow frequency band including the near infrared frequency of 940 nm, the signal observed by the NIR camera is significantly weaker than the signal observed by a color intensity camera such as an RGB camera. However, the iPPG system 100 is configured to process such weak intensity signals by using a bandpass filter. The bandpass filter is configured to denoise the pixel intensity measurements of each spatial region of the different spatial regions. Further details regarding the processing of the NIR signal into an estimated iPPG signal are described below with reference to FIG. 5.

[0127] 5 is a diagram illustrating a plot for comparing PPG signal frequency spectrum acquired using the NIR portion of the spectrum with the PPG signal frequency spectrum acquired using the visible portion (RGB) of the spectrum, according to an exemplary embodiment. As can be seen from FIG. 5, the iPPG signal in NIR 501 (labeled in the legend as "NIR iPPG signal") is about 10 times weaker than the iPPG signal in RGB 503 (labeled as "RGB iPPG signal"). Thus, in some embodiments, the iPPG system 100 includes a near-infrared (NIR) light source for providing illumination in a first frequency band for illuminating the person's skin, and a camera including a processor for measuring the intensity of each of the different regions in a second frequency band overlapping with the first frequency band, such that the measured intensity of a region of the skin is calculated from the intensity of pixels of the image of that region of the skin.

[0128] In some embodiments, the first and second frequency bands include near infrared frequencies of 940 nm. The iPPG system 100 may include filters to denoise the intensity measurements of each of the different regions. For that purpose, techniques such as Robust Principal Components Analysis (RPCA) can be used. In one embodiment, the second frequency band has a passband with a width of less than 20 nm, e.g., the bandpass filter has a narrow passband with a Full Width at Half Maximum (FWHM) of less than 20 nm. In other words, the overlap between the first and second frequency bands is less than 20 nm in width.

[0129] Some embodiments are based on the recognition that optical filters such as bandpass and longpass filters (i.e., filters that block the transmission of light having wavelengths below a cutoff frequency but allow the transmission of light having wavelengths greater than a second cutoff frequency) can be very sensitive to the angle of incidence of light passing through the filter. For example, an optical filter can be designed to transmit and block a given frequency range when light is incident on the optical filter parallel to the optical filter's axis of symmetry (approximately perpendicular to the surface of the optical filter), which may be an angle of incidence of 0°. As the angle of incidence changes from 0°, many optical filters exhibit a "blue shift," in which the passband and / or cutoff frequency of the filter effectively shifts to shorter wavelengths. To account for this blue shift phenomenon, some embodiments use a center frequency of overlap between a first frequency band and a second frequency band to have a wavelength greater than 940 nm (e.g., the center frequency of a bandpass optical filter or the cutoff frequency of a longpass optical filter is shifted to have a wavelength greater than 940 nm).

[0130] Light from different parts of the skin may be incident on the optical filter at different angles of incidence, such that the optical filter allows different transmission of light from different parts of the skin. In response to this, some embodiments use a bandpass filter with a wider passband (e.g., a bandpass optical filter with a passband wider than 20 nm), such that the overlap between the first and second frequency bands is greater than 20 nm in width.

[0131] In some embodiments, the iPPG system 100 uses a narrow frequency band that includes near-infrared frequencies at 940 nm to reduce noise caused by illumination variations, so that the iPPG system 100 accurately estimates a person's vital signs.

[0132] Some embodiments are based on the recognition that the illumination intensity across a body part (e.g., a person's face) may be non-uniform due to factors such as 3D variations in the normal across the face surface, due to shadows cast on the face, and due to different parts of the face being at different distances from the NIR light source. To make the illumination more uniform across the face, some embodiments use multiple NIR light sources (e.g., two NIR light sources placed on each side of the face and approximately equal distances from the head). Horizontal and vertical diffusers are also placed on the NIR light sources to broaden the light beam reaching the face and minimize the illumination intensity difference between the center of the face and the periphery of the face.

[0133] Some embodiments aim to capture well-exposed images of skin areas to measure strong iPPG signals. However, the intensity of illumination is inversely proportional to the square of the distance from the light source to the face. If the person is too close to the light source, the image will be saturated and will not contain the iPPG signal. If the person is at a long distance from the light source, the image may be dim and have a weak iPPG signal. Some embodiments may select the most advantageous positions of the light sources and their brightness settings to avoid capturing saturated images while recording well-exposed images at a range of possible distances between the person's skin area and the camera.

[0134] The type of U-net architecture used in the time-series U-Net 109a in some embodiments, such as the embodiment shown in FIG. 1B, is sometimes referred to as a "V-net" because the U-net's contraction path uses strided convolutions instead of max-pooling operations to reduce the size of the feature maps in the contraction layer. In another embodiment, the time-series U-net 109a may be replaced with other U-Net-based architectures, such as a U-net that uses max-pooling in the contraction layer. In other exemplary embodiments, the RNN 109b may be implemented using at least one of a GRU architecture or a long short-term memory (LSTM) architecture.

[0135] Furthermore, to enable the PPG estimator module 109 to accurately estimate the PPG signal, the PPG estimator module 109 is trained. Details regarding the training of the PPG estimator module 109 are described below.

[0136] Training TURNIP (PPG estimator module):

[0137]

number

[0138] To minimize TL, the network (i.e., TURNIP) parameters are determined as follows:

number

[0139] To minimize SL, in some embodiments, the input to the loss function is first transformed into the frequency domain, for example using a Fast Fourier Transform (FFT), to suppress any frequency components that are outside the desired frequency range. For example, for heart rate, frequency components that are outside the band in the range [0.6, 2.5] Hz are suppressed because they are outside the typical range of human heart rates. In this case, the network parameters are calculated to solve:

number

[0140] Training dataset:

[0141] In an exemplary embodiment, TURNIP is trained on the MERL-Rice Near Infrared Pulsed (MR-NIRP) automotive dataset. This dataset includes facial footage recorded using a NIR camera fitted with a 940±5 nm bandpass filter. Frames were recorded at 30 frames per second (fps) with 640×640 resolution and fixed exposure. A ground truth PPG waveform is obtained using a finger pulse oximeter (e.g., CMS 50D+) recording at 60 fps, which is then downsampled to 30 fps and synchronized with the video recording. The dataset covers 18 subjects and is divided into two main scenarios: driving (driving in city streets) and garage (parked with the engine running). Furthermore, only the "minimal head movement" condition is evaluated for each scenario. The dataset includes female and male subjects with and without facial hair. Footage is recorded during both night and day in different weather conditions. All recordings in the garage setting are 2 minutes in length (3,600 frames), and all recordings during driving are between 2 and 5 minutes in length (3,600 and 9,000 frames).

[0142] Furthermore, the training dataset consists of subjects with heart rates between 40 and 110 beats per minute (bpm). However, the subjects' heart rates are not uniformly distributed. For most subjects, the heart rates are roughly between 50 and 70 bpm. The dataset has a smaller number of outliers. Therefore, data augmentation techniques are used to address both (i) the relatively small number of subjects and (ii) the gaps in the distribution of the subjects' heart rates. During training, in addition to using the 48-dimensional PPG signal output by the time series extraction module 101 for each 10-second window, the signal is also resampled with linear resampling rates 1+r and 1-r, where a value of r ∈ [0.2, 0.6] is randomly selected for each 10-second window.

[0143] Data augmentation is therefore useful for subjects with heart rates outside the distribution. It is therefore desirable to train TURNIP with as many examples as possible for a given frequency range.

[0144] In an exemplary embodiment, TURNIP is trained for 10 epochs and the trained model is used for testing (also called "inference"). In another embodiment, TURNIP may be trained for fewer than 10 epochs. In an exemplary embodiment, the batch size is 96 and the learning rate is 1.5·10 -4 An Adam optimizer is selected where p = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 1010, 109, 108, 109, 1010, 1011, 102, 103, 104, 1055, 1066, 107,

[0145] Furthermore, the performance of the system is evaluated using two metrics. The first metric, Percentage of Time Error < 6 bpm (PTE6), indicates the percentage of heart rate (HR) estimates that deviate from the ground truth by less than 6 bpm in absolute value. The error threshold is set to 6 bpm since this is the expected frequency resolution of a 10 second window. The second metric is the root mean square error (RMSE) between the ground truth and the estimated HR. The second metric is measured in bpm for each 10 second window and averaged over the test sequence.

[0146] Without data augmentation, the standard deviation of the iPPG system 100 for PTE6 is significantly higher, meaning there is a large variability across subjects. We further analyze the effect of data augmentation on subjects.

[0147] FIG. 6A illustrates the effect of data augmentation on the percentage of time error less than 6 bpm (PTE6 metric), according to an exemplary embodiment. FIG. 6B illustrates the effect of data augmentation on the root mean square error (RMSE) metric, according to an exemplary embodiment. The portions of FIG. 6A and FIG. 6B covered by the rectangles show that for two subjects with out-of-distribution heart rates, the iPPG system 100 performs poorly without data augmentation. Subjects 10 and 12 have the lowest and highest resting heart rates in the dataset, i.e., 40 bpm and 100 bpm, respectively. Thus, when testing against either of these subjects, the training set does not contain subjects with similar heart rates. Without data augmentation, TURNIP does not work at all for these subjects. With data augmentation, TURNIP is much more accurate.

[0148] Furthermore, we analyze the impact of GRU cells in the pass-through connections. GRUs process feature maps sequentially at multiple time resolutions. Therefore, GRUs extract features beyond the local receptive fields of the convolution kernels used in the convolutional layers of TURNIP. The addition of GRUs improves the performance of the iPPG system 100. Furthermore, the two training loss functions TL and SL used for training are compared.

[0149] FIG. 7 is a diagram illustrating a comparison of PPG signals estimated by TURNIP trained using TL and TURNIP trained using SL for a subject, according to an exemplary embodiment. FIG. 6 compares SL and TL for estimated PPG signals over 10 seconds for a subject. From FIG. 6, it is clear that the performance of TURNIP trained using SL in estimating PPG signals is lower compared to that of TL. As shown in FIG. 7, TURNIP trained using TL produces a much better estimate of the ground truth PPG signal. The signal recovered using SL has similar frequencies, but often does not match the peaks and distorts the signal amplitude or shape. That is, the spectrum and heart rate of the recovered signal are similar in both cases, but the temporal variations are not similar. Therefore, in a preferred embodiment, TURNIP can be trained using a TL training loss function.

[0150] Exemplary embodiments:

[0151] 8 is a block diagram of an iPPG system 800, according to an exemplary embodiment. The system 800 includes a processor 801 configured to execute stored instructions and a memory 803 storing instructions executable by the processor 801. The processor 801 may be a single-core processor, a multi-core processor, a computing cluster, or any other configuration. The memory 803 may include a Random Access Memory (RAM), a Read Only Memory (ROM), a Flash memory, or any other suitable memory system. The processor 801 is connected to one or more input / output devices via a bus 805.

[0152] The instructions stored in the memory 803 correspond to an iPPG method for estimating a person's vital signs based on the waveforms of a set of iPPG signals measured from different regions of the person's skin. The iPPG system 800 may also include a storage device 807 configured to store various modules, such as a time series extraction module 101 and a PPG estimator module 109, which includes a time series U-net 109a and an RNN 109b. The above modules stored in the storage device 807 are executed by the processor 801 to perform vital signs estimation. The vital signs correspond to the person's pulse rate or the person's heart rate variability. The storage device 807 may be realized using a hard drive, an optical drive, a thumb drive, an array of drives, or any combination thereof.

[0153] The time series extraction module 101 obtains images from each frame of video from one or more videos 809 fed into the iPPG system 800, the one or more videos 809 including a video of a body part of a person whose vital signs are to be estimated. The one or more videos may be recorded by one or more cameras. The time series extraction module 101 may partition the images from each frame into a number of spatial regions corresponding to ROIs of the body part that are strong indicators of PPG signals, the partitioning of the images into the number of spatial regions forming a sequence of images of the body part, each image including a different area of ​​skin of the body part within the image. The sequence of images may be converted into a multi-dimensional time series signal. The multi-dimensional time series signal is provided to the PPG estimator module 109. The PPG estimator module 109 processes the multidimensional time series signal by performing time convolution on the multidimensional time series signal using a time series U-net 109a and an RNN 109b, and the convolved data is further sequentially processed by the RNN 109b to estimate a PPG waveform, and the PPG waveform is used to estimate a person's vital signs.

[0154] The iPPG system 800 includes an input interface 811 for receiving one or more videos 809. For example, the input interface 811 may be a network interface controller adapted to connect the iPPG system 800 to a network 813 via a bus 805.

[0155] Additionally or alternatively, in some implementations, the iPPG system 800 is connected to a remote sensor 815, such as a camera, to collect one or more videos 809. In some implementations, a Human Machine Interface (HMI) 817 in the iPPG system 800 connects the iPPG system 800 to input devices 819, such as a keyboard, mouse, trackball, touchpad, joystick, pointing stick, stylus, touch screen, among others.

[0156] The iPPG system 800 can be coupled to an output interface for rendering a PPG waveform via a bus 805. For example, the iPPG system 800 can include a display interface 821 adapted to connect the iPPG system 800 to a display device 823, which can include, but is not limited to, a computer monitor, a projector, or a mobile device.

[0157] The iPPG system 800 also includes an imaging interface 825 adapted to connect the iPPG system 800 to an imaging device 827 and / or may be connected to the imaging interface 825.

[0158] In some embodiments, the iPPG system 800 may be connected via the bus 805 to an application interface 829 adapted to connect the iPPG system 800 to an application system 831 operable based on the estimated vital signs. In an exemplary scenario, the application system 831 is a patient monitoring system that uses the patient's vital signs. In another exemplary scenario, the application system 831 is a driver monitoring system that uses the driver's vital signs to determine whether the driver is safe to drive, for example, whether the driver is drowsy.

[0159] 9 is a diagram illustrating a patient monitoring system 900 using the iPPG system 800 according to an exemplary embodiment. A camera 903 is used to capture images, i.e., video sequences, of a patient 901 for monitoring the patient's vital signs.

[0160] The camera 903 may include a CCD or CMOS sensor for converting the incident light and its intensity variations into an electrical signal. The camera 903 non-invasively captures light reflected from the skin part of the patient 901. Thus, the skin part refers in particular to the forehead, neck, wrist, part of the arm or other part of the patient's skin. A light source, such as a near-infrared light source, may be used to illuminate the patient or an area of ​​interest including the patient's skin part.

[0161] Based on the captured images, the iPPG system 800 determines vital signs of the patient 901. In particular, the iPPG system 800 determines vital signs such as heart rate, respiratory rate, or blood oxygenation of the patient 901. Furthermore, the determined vital signs are typically displayed on an operator interface 905 for displaying the determined vital signs. Such an operator interface 905 may be a patient bedside monitor, or may be a remote monitoring station in a dedicated room in a hospital, a group care facility such as a nursing home, or in a remote location in a telemedicine application.

[0162] FIG. 10 illustrates a driver assistance system 1000 using an iPPG system 800 according to an exemplary embodiment. An NIR light source and / or an NIR camera 1001 are disposed in a vehicle 1003. In particular, the NIR camera 1001 may be disposed within a field of view (FOV) capturing a driver 1005. The iPPG system 800 is integrated into the vehicle 1003. The NIR light source is configured to illuminate the skin of a person (driver 1005) who drives the vehicle, and the NIR camera 1001 is configured to record an image of the driver in real time. Furthermore, the NIR image is fed into the iPPG system 800 to measure iPPG signals from different areas of the driver's 1005 skin. The iPPG system 800 receives the measured iPPG signals to determine vital signs, such as the pulse rate, of the driver 1005.

[0163] Further, the processor of the iPPG system 800 can generate one or more control action commands based on the estimated vital signs of the driver 1005 of the vehicle 1003. The one or more control action commands include vehicle braking, steering control, generating an alert notification, initiating an emergency service request, or switching driving modes. The one or more control action commands are transmitted to the controller 1005 of the vehicle 1003. The controller 1005 can control the vehicle 1003 according to the one or more control action commands. For example, if the driver's determined pulse rate is very slow, the driver 1005 may be suffering from a heart attack. As a result, the iPPG system 800 can generate control commands for vehicle deceleration and / or steering control (e.g., steer the vehicle to the shoulder of a highway and stop it) and / or initiating an emergency service request.

[0164] The above description provides only exemplary embodiments and is not intended to limit the scope, applicability or configuration of the present disclosure. Rather, the above description of exemplary embodiments provides those skilled in the art with an enabling description for implementing one or more exemplary embodiments. It is intended that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosed subject matter, as set forth in the appended claims.

[0165] Specific details are provided in the above description to provide a thorough understanding of the embodiments. However, those skilled in the art will appreciate that the embodiments may be practiced without these specific details. For example, systems, processes and other elements of the disclosed subject matter may be shown as components in block diagram form so as not to obscure the embodiments in unnecessary detail. In other instances, well-known processes, structures and techniques may be shown without unnecessary detail so as to avoid obscuring the embodiments. Additionally, like reference numbers and names in the various drawings refer to like elements.

[0166] Also, particular embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe operations as a sequential process, many of these operations may be performed in parallel or simultaneously. Also, the order of these operations may be rearranged. A process may be terminated when its operations are completed, but may have additional steps not discussed or included in the diagram. Moreover, not all operations in any process specifically described are performed in all embodiments. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, or the like. When a process corresponds to a function, the end of the function may correspond to a return of the function to a calling function or to a main function.

[0167] Furthermore, embodiments of the disclosed subject matter may be implemented at least partially manually or automatically. The manual or automatic implementation may be performed or at least assisted by the use of machines, hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments to perform the necessary tasks may be stored on a machine-readable medium. A processor may perform the necessary tasks.

[0168] The various methods or processes outlined herein may be coded as software executable on one or more processors utilizing any one of a variety of operating systems or platforms. Further, such software may be written using any of a number of suitable programming languages ​​and / or programming or scripting tools, and compiled as executable machine language code or intermediate code that runs on a framework or virtual machine. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.

[0169] An embodiment of the present disclosure may be embodied as a method, an example of which is provided. The operations performed as part of this method may be ordered in any suitable manner. Thus, embodiments may be constructed in which operations are performed in an order different from that shown, which may include performing some operations simultaneously even though they are shown as sequential operations in the exemplary embodiment. Although the present disclosure has been described with reference to certain preferred embodiments, it should be understood that various other adaptations and modifications may be made within the spirit and scope of the present disclosure. It is therefore the aspect of the appended claims to cover all such variations and modifications that fall within the true spirit and scope of the present disclosure.

Claims

1. 1. An imaging PhotoPlethysmoGraphy (iPPG) system for estimating vital signs of a person from an image of the person's skin, comprising: at least one processor; and a memory having instructions stored thereon, the instructions, when executed by the at least one processor, causing the iPPG system to: and receiving a sequence of images of different regions of the skin of the person, each region including pixels of different intensities indicative of variations in color of the skin, the instructions when executed by the at least one processor further comprising: causing the iPPG system to: The instructions, when executed by the at least one processor, further cause the iPPG system to: convert the sequence of images into a multi-dimensional time series signal, each dimension corresponding to a respective area from the different areas of the skin; and and processing the multi-dimensional time series signal with a time series U-Net neural network to generate a PPG waveform, the U-shape of the time series U-Net neural network including a contraction path including a sequence of contraction layers followed by an augmentation path including a sequence of augmentation layers, at least some of the contraction layers down-sample their inputs and at least some of the augmentation layers up-sample their inputs to form a contraction layer and augmentation layer pair of corresponding resolution, at least some of the corresponding contraction layers and augmentation layers are connected via pass-through layers, at least one of the pass-through layers includes a recurrent neural network that processes its inputs sequentially, and the instructions, when executed by the at least one processor, further cause the iPPG system to: estimating the vital signs of the person based on the PPG waveform; and rendering the estimated vital signs of the person.

2. 2. The iPPG system of claim 1, wherein at least one deflation layer from the sequence of deflation layers downsamples and processes the input by downsampling its input using a strided convolution having a stride greater than one.

3. 2. The iPPG system of claim 1, wherein at least one enhancement layer from the sequence of enhancement layers upsamples its input using an upconversion operation to generate an upsampled input, and the enhancement layer includes multiple convolution layers that process the upsampled input.

4. 2. The iPPG system of claim 1, wherein the recurrent neural network includes a Gated Recurrent Unit (GRU) or a Long Short-Term Memory (LSTM) network.

5. 2. The iPPG system of claim 1, wherein a contraction layer from the sequence of contraction layers receives its input from a previous contraction layer and inputs its output into both the next contraction layer in the sequence of contraction layers and into a corresponding pass-through layer.

6. 2. The iPPG system of claim 1, wherein the at least one processor is configured to process each segment from the sequence of overlapping segments of the multidimensional time series signal using the time series U-Net neural network to estimate the vital signs of the person from the PPG waveform.

7. The iPPG system of claim 6 , wherein the vital signs of the person are one-dimensional signals.

8. To generate the multi-dimensional time series signal, the at least one processor comprises: identifying the distinct regions of the skin of the person using facial landmark detection; The iPPG system of claim 1 , configured to average pixel intensities of pixels from each of the different regions at an instant in time to generate a value for each dimension of the multi-dimensional time series signal at said instant in time.

9. 9. The iPPG system of claim 8, wherein each dimension of the multi-dimensional time series signal is a signal corresponding to the corresponding region of the different regions of the skin, and each region is an explicitly tracked Region Of Interest (ROI).

10. The iPPG system of claim 1 , wherein the converting includes a concatenation operation that combines two or more multidimensional time series, each extracted from a different channel of a multichannel video, into a single multidimensional time series that comprises the multidimensional time series signal.

11. The iPPG system of claim 1 , wherein the converting comprises a linear combination of two or more multidimensional time series, each extracted from a different channel of a multichannel video, into a single multidimensional time series comprising the multidimensional time series signal.

12. The iPPG system of claim 1 , wherein the converting includes extracting two or more multi-dimensional time series, each extracted from one channel of a multi-channel video, and shaping the two or more multi-dimensional time series into a 3D array comprising the multi-dimensional time series signal.

13. The iPPG system of claim 1 , wherein the time series U-Net neural network is trained using a temporal loss function or a spectral loss function.

14. The iPPG system of claim 1 , wherein the vital signs are one or a combination of the person's pulse rate and the person's heart rate variability.

15. The iPPG system of claim 1 , wherein the person corresponds to a driver of a vehicle, and the at least one processor is further configured to generate one or more control commands for a controller of the vehicle based on the vital signs of the driver.

16. The iPPG system of claim 15 , further comprising a controller configured to perform a control action based on the vital signs of the person.

17. a camera including a processor configured to measure the intensities indicative of the variation in color of the skin at different times to generate the sequence of images; and a display device configured to display the vital signs of the person.

18. 1. A method for estimating a vital sign of a person, the method using a processor coupled to stored instructions implementing the method, the instructions, when executed by the processor, perform steps of the method, the steps comprising: receiving a sequence of images of different regions of the person's skin, each region including pixels of different intensities indicative of color variations of the skin, said step further comprising: converting the sequence of images into a multi-dimensional time series signal, each dimension corresponding to a respective region from the different regions of the skin, said step further comprising: processing the multi-dimensional time series signal using a time series U-Net neural network to generate a PPG waveform, the U-shape of the time series U-Net neural network includes a contraction path including a sequence of contraction layers followed by an augmentation path including a sequence of augmentation layers, at least some of the contraction layers downsample their inputs and at least some of the augmentation layers upsample their inputs to form a contraction layer and augmentation layer pair of corresponding resolutions, at least some of the corresponding contraction layers and augmentation layers are connected via pass-through layers, at least one of the pass-through layers includes a recurrent neural network that processes its inputs sequentially, the step further includes: estimating the vital signs of the person based on the PPG waveform; and rendering the estimated vital signs of the person.

19. A non-transitory computer-readable storage medium having embodied thereon a program executable by a processor for performing a method, the method comprising: receiving a sequence of images of different regions of a person's skin, each region including pixels of different intensities indicative of color variations of the skin, the method further comprising: converting the sequence of images into a multi-dimensional time series signal, each dimension corresponding to a respective region from the different regions of the skin, the method further comprising: processing the multi-dimensional time series signal with a time series U-Net neural network to generate a PPG waveform, the U-shape of the time series U-Net neural network including a contraction path including a sequence of contraction layers followed by an augmentation path including a sequence of augmentation layers, at least some of the contraction layers down-sample their inputs and at least some of the augmentation layers up-sample their inputs to form a contraction layer and augmentation layer pair of corresponding resolutions, at least some of the corresponding contraction layers and augmentation layers are connected via pass-through layers, at least one of the pass-through layers includes a recurrent neural network that processes its inputs sequentially, the method further comprising: estimating vital signs of the person based on the PPG waveform; and rendering the estimated vital signs of the person.

Citation Information

Patent Citations

  • Systems and methods for remote measurement of vital signs

    JP2020527088A