| Literature DB >> 33120975 |
Marco Paracchini1, Marco Marcon1, Federica Villa1, Franco Zappa1, Stefano Tubaro1.
Abstract
The problem of performing remote biomedical measurements using just a video stream of a subject face is called remote photoplethysmography (rPPG). The aim of this work is to propose a novel method able to perform rPPG using single-photon avalanche diode (SPAD) cameras. These are extremely accurate cameras able to detect even a single photon and are already used in many other applications. Moreover, a novel method that mixes deep learning and traditional signal analysis is proposed in order to extract and study the pulse signal. Experimental results show that this system achieves accurate results in the estimation of biomedical information such as heart rate, respiration rate, and tachogram. Lastly, thanks to the adoption of the deep learning segmentation method and dependability checks, this method could be adopted in non-ideal working conditions-for example, in the presence of partial facial occlusions.Entities:
Keywords: deep learning; heart rate; remote photoplethysmography; single-photon avalanche diode
Mesh:
Year: 2020 PMID: 33120975 PMCID: PMC7663690 DOI: 10.3390/s20216102
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1The proposed remote photoplethysmography (rPPG) method. The frame stream coming from the single-photon avalanche diode (SPAD) camera is first analyzed with a neural network that generates a signal further processed with classical techniques.
Figure 2Facial skin network topology. For each layer, the number of filters is reported.
Figure 3Dependability score definition. Both periodic head movement and pulsating light scores are defined as the ratio between area under peak (green) and total area (black).
Figure 4Average beat shape for subject 1 for each one of the wavelengths. Each beat shape is reported in gray and the blue lines represent the average. The red intervals represent the standard deviation for each sampling point. Values on the y-axes are normalized amplitudes.
Standard deviations for the single beats detection for each acquisition. Bold values represent best results.
| Wavelength (nm) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
| |
|
| 0.14 | 0.15 | 0.10 | 0.08 | 0.13 | 0.18 | 0.17 | 0.17 | 0.13 | 0.13 |
|
| 0.14 | 0.12 | 0.12 | 0.12 | 0.14 | 0.16 | 0.16 | 0.15 | 0.14 | 0.12 |
|
| 0.14 | 0.14 | 0.11 | 0.12 | 0.12 | 0.20 | 0.21 | 0.22 | 0.16 | 0.19 |
|
| 0.15 | 0.12 | 0.13 | 0.12 | 0.15 | 0.21 | 0.20 | 0.20 | 0.14 | 0.13 |
|
| 0.15 | 0.12 | 0.12 | 0.09 | 0.12 | 0.15 | 0.16 | 0.14 | 0.11 | 0.10 |
|
| 0.14 | 0.13 | 0.12 |
| 0.13 | 0.18 | 0.18 | 0.18 | 0.14 | 0.13 |
Errors calculated as absolute differences between heart rate obtained from the electrocardiogram (ECG) track and SPAD pulse signals. Bold values represent best results.
| Wavelength (nm) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| [bpm] | 400 | 450 | 500 | 550 | 600 | 650 | 700 | 750 | 800 | 850 |
|
| 0 | 2 | 4 | 1 | 3 | 7 | 4 | 2 | 1 | 0 |
|
| 27 | 41 | 0 | 0 | 0 | 9 | 32 | 22 | 50 | 24 |
|
| 18 | 1 | 3 | 2 | 14 | 15 | 12 | 17 | 9 | 18 |
|
| 0 | 0 | 0 | 1 | 2 | 12 | N.A. | 6 | 1 | 0 |
|
| 4 | 6 | 3 | 0 | 3 | 1 | N.A. | 1 | 0 | 0 |
|
| 9.8 | 10.0 | 2.0 |
| 4.4 | 8.8 | 16.0 | 9.6 | 12.2 | 8.4 |
Figure 5Example of tachogram result. Blue: tachogram extracted by pulse wave; red: tachogram calculated by ECG track.
Errors calculated as mean square error (MSE) between tachogram obtained from ECG track and SPAD pulse signals. Bold values represent best results.
| Wavelength (nm) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| [s] | 400 | 450 | 500 | 550 | 600 | 650 | 700 | 750 | 800 | 850 |
|
| 0.10 | 0.04 | 0.08 | 0.03 | 0.07 | 0.11 | 0.10 | 0.07 | 0.06 | 0.03 |
|
| 0.05 | 0.07 | 0.03 | 0.07 | 0.23 | 0.22 | 0.23 | 0.15 | 0.09 | 0.06 |
|
| 0.09 | 0.07 | 0.06 | 0.03 | 0.08 | 0.17 | 0.17 | 0.15 | 0.10 | 0.28 |
|
| 0.07 | 0.05 | 0.05 | 0.03 | 0.07 | 0.21 | N.A. | 0.18 | 0.11 | 0.07 |
|
| 0.12 | 0.10 | 0.14 | 0.02 | 0.08 | 0.30 | N.A. | 0.12 | 0.05 | 0.05 |
|
| 0.09 | 0.07 | 0.07 |
| 0.11 | 0.20 | 0.17 | 0.13 | 0.08 | 0.10 |
High frequency (HF)/low frequency (LF) root–mean–squared error (RMSE) between the SPAD estimation and the ECG ground truth one. Bold values represent best results.
| Wavelength (nm) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 400 | 450 | 500 | 550 | 600 | 650 | 700 | 750 | 800 | 850 | |
|
| 1.6 | 1.5 | 1.1 | 1.3 | 2.1 | 1.6 | 1.7 | 1.2 | 1.3 | 1.5 |
|
| 0.3 | 0.4 | 1.2 | 0.5 | 0.9 | 0.9 | 0.5 | 0.6 | 0.3 | 0.3 |
|
| 1.0 | 1.7 | 1.4 | 1.3 | 1.8 | 4.2 | 1.2 | 2.8 | 2.5 | 3.3 |
|
| 1.3 | 1.2 | 1.8 | 0.8 | 1.1 | 1.9 | N.A. | 1.5 | 1.8 | 1.7 |
|
| 1.2 | 0.8 | 2.5 | 0.1 | 0.5 | 1.4 | N.A. | 0.8 | 0.6 | 0.6 |
|
| 1.1 | 1.1 | 1.6 |
| 1.3 | 2.0 | 1.1 | 1.4 | 1.3 | 1.5 |
Respiration rate errors between the SPAD estimation and the ECG ground truth one. Bold values represent best results.
| Wavelength (nm) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| [bpm] | 400 | 450 | 500 | 550 | 600 | 650 | 700 | 750 | 800 | 850 |
|
| 0.4 | 0.3 | 0.4 | 0.2 | 0.4 | 0.7 | 0.5 | 0.4 | 0.3 | 0.3 |
|
| 0.4 | 0.2 | 0.4 | 0.0 | 0.2 | 0.3 | 0.4 | 0.1 | 0.3 | 0.1 |
|
| 0.3 | 0.5 | 0.1 | 0.1 | 0.7 | 0.4 | 0.7 | 0.8 | 0.6 | 0.5 |
|
| 0.3 | 0.1 | 0.3 | 0.5 | 0.4 | 0.5 | N.A. | 0.6 | 0.6 | 0.4 |
|
| 0.4 | 0.7 | 0.4 | 0.3 | 0.2 | 0.7 | N.A. | 0.2 | 0.6 | 1.1 |
|
| 0.36 | 0.36 | 0.32 |
| 0.38 | 0.52 | 0.53 | 0.42 | 0.48 | 0.48 |
Average errors in determination of heart rate in one-minute windows.
| Error [bpm] | SPAD | RGB |
|---|---|---|
|
| 0.0 | 0.0 |
|
| 0.2 | 0.2 |
|
| 0.2 | 0.2 |
|
| 0.1 | 0.1 |
Mean square error between tachogram extracted from cameras and ECG. Bold values represent best results.
| RMSE (ms) | SPAD | RGB |
|---|---|---|
|
| 2 | 2 |
|
| 0.8 | 0.7 |
|
| 0.6 | 6 |
|
|
| 2.9 |
Comparison of heart rate estimation between signal extracted with deep learning-based facial skin detection (Skin) versus classical face detection method (Foreh.).
| Skin | Foreh. | Skin w/o Foreh. | ||||
|---|---|---|---|---|---|---|
| (bpm) | RMSE | std | RMSE | std | RMSE | std |
|
| 2 | 1.4 | 2 | 1.4 | 2 | 1.4 |
|
| 1.4 | 0 | 1.4 | 1.4 | 1.4 | 0 |
|
| 1.7 | 0.7 | 1.7 | 1.4 | 1.7 | 0.7 |