| Literature DB >> 35323429 |
Treesukon Treebupachatsakul1, Apivitch Boosamalee1, Siratchakrit Shinnakerdchoke1, Suejit Pechprasarn2, Nuntachai Thongpance2.
Abstract
This research proposes an algorithm to preprocess photoplethysmography (PPG) and electrocardiogram (ECG) signals and apply the processed signals to the context aggregation network-based deep learning to achieve higher accuracy of continuous systolic and diastolic blood pressure monitoring than other reported algorithms. The preprocessing method consists of the following steps: (1) acquiring the PPG and ECG signals for a two second window at a sampling rate of 125 Hz; (2) separating the signals into an array of 250 data points corresponding to a 2 s data window; (3) randomizing the amplitude of the PPG and ECG signals by multiplying the 2 s frames by a random amplitude constant to ensure that the neural network can only learn from the frequency information accommodating the signal fluctuation due to instrument attachment and installation; (4) Fourier transforming the windowed PPG and ECG signals obtaining both amplitude and phase data; (5) normalizing both the amplitude and the phase of PPG and ECG signals using z-score normalization; and (6) training the neural network using four input channels (the amplitude and the phase of PPG and the amplitude and the phase of ECG), and arterial blood pressure signal in time-domain as the label for supervised learning. As a result, the network can achieve a high continuous blood pressure monitoring accuracy, with the systolic blood pressure root mean square error of 7 mmHg and the diastolic root mean square error of 6 mmHg. These values are within the error range reported in the literature. Note that other methods rely only on mathematical models for the systolic and diastolic values, whereas the proposed method can predict the continuous signal without degrading the measurement performance and relying on a mathematical model.Entities:
Keywords: blood pressure measurement; context aggregation network; cuff-less blood pressure measurement; electrocardiogram; photoplethysmography
Mesh:
Year: 2022 PMID: 35323429 PMCID: PMC8946486 DOI: 10.3390/bios12030159
Source DB: PubMed Journal: Biosensors (Basel) ISSN: 2079-6374
Figure 1Pulse arrival time (PAT) and pulse transit time (PTT).
Accuracy of previous blood pressure estimations based on PTT, PAT, and other methods.
| Systolic Blood Pressure Errors | Diastolic Blood Pressure Errors | Operating Range Systolic Blood Pressure | Operating Range Diastolic Blood Pressure | |
|---|---|---|---|---|
|
| ||||
| Two-step algorithm developed by machine learning [ | 0.07 ± 7.1 mmHg | −0.08 ± 6.0 mmHg | Reduced accuracy for hypotension | Reduced accuracy for hypotension |
| B.P. estimation based on PTT and photoplethysmography intensity ratio (PIR) [ | −0.37 ± 5.21 mmHg | −0.08 ± 4.06 mmHg | Reduced accuracy for hypertension | Reduced accuracy for hypertension |
| B.P. estimation based on PTT and intensity ratio of the first derivative wave of PPG (1st-dPIR) [ | 2.88 ± 7.75 mmHg | 2.80 ± 4.38 mmHg | ||
| Proceeding PTT-based method on the repeatability test [ | 0.0 ± 5.3 mmHg | 0.0 ± 2.9 mmHg | 80–150 mmHg | 60–120 mmHg |
| Proceeding PTT-based method using regression coefficients [ | 1.4 ± 10.2 mmHg | 2.1 ± 7.3 mmHg | 80–150 mmHg | 60–120 mmHg |
|
| ||||
| Estimating beat-by-beat blood pressure using Chen’s method [ | −0.5 ± 5.3 mmHg | 4.1 ± 3.4 mmHg | ||
| Standard pulse arrival time based method calculations [ | 0 ± 3 mmHg | 0 ± 3 mmHg | ||
| Using a linear correlation of systolic blood pressure and a non-linear correlation of diastolic blood pressure and PAT [ | 0.2 ± 5.8 mmHg | 0.4 ± 5.7 mmHg | ||
| Model-driven method: Logarithmic [ | −0.512 ± 8.793 mmHg | −0.148 ± 3.622 mmHg | ||
| Model-driven method: Inverse [ | −0.008 ± 8.203 mmHg | −0.078 ± 3.448 mmHg | ||
| Model-driven method: Inverse Square [ | −0.358 ± 8.084 mmHg | −0.066 ± 3.574 mmHg | ||
|
| ||||
| Estimating blood pressure based on pulse morphology of PPG [ | 0.043 ± 5.001 mmHg | 0.011 ± 3.689 mmHg | ||
| Blood pressure prediction based on demographic and physiological partitioning [ | Mean absolute error = 6.9 mmHg | Mean absolute error | 80–220 mmHg | 45–120 mmHg |
Figure 2Shows (a) average maximum, average minimum, average mean, and standard deviation of each frame number for the training dataset; (b) histogram of blood pressure distribution covering in the training dataset; (c) average maximum, average minimum, average mean, and standard deviation of each frame number for the test dataset; and (d) histogram of blood pressure covering in the test dataset.
Figure 3Flowchart describing signal preconditioning process and the network performance analysis.
Figure 4Context Aggregation Network (CAN) architecture with 4 × 250 data inputs for both magnitude and phase of ECG and PPG (4 × 250 pixels) in the frequency domain and 250 data outputs of blood pressure (1 × 250 pixels) in the time domain.
Details of the implemented context aggregation network.
| Layer | Activations | Learnable Variable | Descriptions |
|---|---|---|---|
| Image input | 4 × 250 × 1 | – | 4 × 500 × 1 images |
| Convolutional | 4 × 250 × 32 | Weights 2 × 2 × 1 × 32, Bias 1 × 1 × 32 | 1 padding |
| Batch normalization | Offset 1 × 1 × 32, Scale 1 × 1 × 32 | – | |
| Adaptive normalization | – | – | |
| Leaky ReLU | – | Scale 0.2 | |
| Convolutional | Weights 3 × 3 × 32 × 32, Bias 1 × 1 × 32 | 2 padding, 1 Stride, 2 dilation | |
| Batch normalization | Offset 1 × 1 × 32, Scale 1 × 1 × 32 | – | |
| Adaptive normalization | – | – | |
| Leaky ReLU | – | Scale 0.2 | |
| Convolutional | Weights 3 × 3 × 32 × 32, Bias 1 × 1 × 32 | 4 padding, 1 Stride, 4 dilation | |
| Batch normalization | Offset 1 × 1 × 32, Scale 1 × 1 × 32 | – | |
| Adaptive normalization | – | – | |
| Leaky ReLU | – | Scale 0.2 | |
| Convolutional | Weights 3 × 3 × 32 × 32, Bias 1 × 1 × 32 | 8 padding, 1 Stride, 8 dilation | |
| Batch normalization | Offset 1 × 1 × 32, Scale 1 × 1 × 32 | – | |
| Adaptive normalization | – | – | |
| Leaky ReLU | – | Scale 0.2 | |
| Convolutional | Weights 3 × 3 × 32 × 32, Bias 1 × 1 × 32 | 16 padding, 1 Stride, 16 dilation | |
| Batch normalization | Offset 1 × 1 × 32, Scale 1 × 1 × 32 | – | |
| Adaptive normalization | 4 × 250 × 32 | – | – |
| Leaky ReLU | – | Scale 0.2 | |
| Convolutional | Weights 3 × 3 × 32 × 32, Bias 1 × 1 × 32 | 32 padding, 1 Stride, 32 dilation | |
| Batch normalization | Offset 1 × 1 × 32, Scale 1 × 1 × 32 | – | |
| Adaptive normalization | – | – | |
| Leaky ReLU | – | Scale 0.2 | |
| Convolutional | Weights 3 × 3 × 32 × 32, Bias 1 × 1 × 32 | 64 padding, 1 Stride, 64 dilation | |
| Batch normalization | Offset 1 × 1 × 32, Scale 1 × 1 × 32 | – | |
| Adaptive normalization | – | – | |
| Leaky ReLU | – | Scale 0.2 | |
| Convolutional | Weights 3 × 3 × 32 × 32, Bias 1 × 1 × 32 | 128 padding, 1 Stride, 128 dilation | |
| Batch normalization | Offset 1 × 1 × 32, Scale 1 × 1 × 32 | – | |
| Adaptive normalization | – | – | |
| Leaky ReLU | – | Scale 0.2 | |
| Convolutional | Weights 3 × 3 × 32 × 32, Bias 1 × 1 × 32 | 1 padding, 1 Stride | |
| Batch normalization | Offset 1 × 1 × 32, Scale 1 × 1 × 32 | – | |
| Adaptive normalization | – | – | |
| Leaky ReLU | 4 × 250 × 32 | – | Scale 0.2 |
| Convolutional | 4 × 250 × 3 | Weights 3 × 3 × 32 × 32, Bias 1 × 1 × 32 | 0 padding, 1 Stride |
| Regression output | 1 × 1 × 250 | – | Mean square error |
Details of the implemented context aggregation network.
| Hyperparameter | Parameter Value |
|---|---|
| Initial Learn Rate |
|
| Gradient Decay Factor | 0.9000 |
| Squared Gradient Decay Factor | 0.9990 |
| Epsilon ( |
|
| Learn Rate Schedule | piecewise |
| Learn Rate Drop Factor | 0.0100 |
| Learn Rate Drop Period | 125,000 |
| L2 Regularization |
|
| Gradient Threshold Method | L2 norm |
| Gradient Threshold | 1 |
| Maximum Epochs | 7000 |
| Mini Batch Size | 1 |
| Input and Label Shuffle | every epoch |
Figure 5Shows the network training and validation for different iterations ranging from 0 to 82,500 epochs (a) RMSE in mmHg, and (b) loss; training RMSE is the blue curve, training loss is the red curve, and validation curves are shown in black.
Figure 6Shows the blood pressure levels in (a) the training dataset; (b) resubstitution prediction using the trained network; and (c) resubstitution loss calculated using the data in Figure 6a,b.
Figure 7Shows histogram of (a) training dataset, and (b) the resubstitution responses predicted using the training dataset and the trained CAN network.
Figure 8Shows the average max, min, mean, and standard deviation of each frame number for the training dataset compared to the predicted responses.
Figure 9Shows the blood pressure predicted by the trained neural network (red curves) compared to the actual blood pressure signal (blue curves) across four ranges: (a) 108/55 mmHg (healthy); (b) 125/60 mmHg (healthy); (c) 79/58 mmHg (hypotension); and (d) 150/67 mmHg (hypertension).
Figure 10Shows the blood pressure levels in (a) the test dataset; (b) B.P. prediction using the trained network; and (c) test data error calculated using the data in Figure 7a,b.
Figure 11Shows the (a) average max, min, mean, and standard deviation of each frame number for the test dataset and predicted responses; (b) histogram of blood pressure level covering in the actual testing blood pressure data; and (c) histogram of blood pressure level covering in the predicted blood pressure data.
Figure 12Shows the blood pressure predicted by the trained neural network (red curves) compared to the untrained actual blood pressure signal (blue curves) across four ranges: (a) 95/51 mmHg (healthy); (b) 110/62 mmHg (healthy); (c) 78/53 mmHg (hypotension); and (d) 179/70 mmHg (hypertension).
Details of the implemented Long Short-Term Memory network.
| Layer | Activations | Learnable Variable | Descriptions |
|---|---|---|---|
| Sequence input | 2 | – | Sequence input with 2 dimensions |
| LSTM | 400 | InputWeights 1600 × 2, | LSTM with 400 hidden units |
| Fully Connected | 1 | Weights 1 × 400, Bias 1 × 1 | 1 fully connected layer |
| Regression Output | 1 | – | Mean-squared-error with response |
Details of the hyperparameters used in the Long Short-Term Memory network.
| Hyperparameter | Parameter Value |
|---|---|
| Initial Learn Rate |
|
| Gradient Decay Factor | 0.9000 |
| Squared Gradient Decay Factor | 0.9990 |
| Epsilon ( |
|
| Learn Rate Schedule | piecewise |
| Learn Rate Drop Factor | 0.0100 |
| Learn Rate Drop Period | 125,000 |
| L2 Regularization |
|
| Gradient Threshold Method | L2 norm |
| Gradient Threshold | 1 |
| Maximum Epochs | 7000 |
| Mini Batch Size | 2 |
| Input and Label Shuffle | once |
Figure 13Shows the (a) average max, min, mean, and standard deviation of each frame number training dataset and predicted responses; (b) histogram of blood pressure level covering in the actual training blood pressure data; and (c) histogram of blood pressure level covering in the predicted blood pressure data by using LSTM network.
Figure 14Shows the (a) average max, min, mean, and standard deviation of each frame number for test dataset and predicted responses; (b) histogram of blood pressure level covering in the actual testing blood pressure data; and (c) histogram of blood pressure level covering in the predicted blood pressure data by using LSTM network.
The performance comparison between the CAN with the proposed preprocessing method and the LSTM without the preprocessing method.
|
| ||
|
|
|
|
| The average maximum B.P. | 4.9590 mmHg | 0.6804 mmHg |
| The average minimum B.P | 5.0880 mmHg | 0.8556 mmHg |
| The average mean B.P. | 1.9776 mmHg | 0.3992 mmHg |
| The standard deviation | 2.4064 mmHg | 0.1348 mmHg |
|
| ||
|
|
|
|
| The average maximum B.P. | 7.1455 mmHg | 9.5528 mmHg |
| The average minimum B.P | 6.0862 mmHg | 7.3774 mmHg |
| The average mean B.P. | 4.2381 mmHg | 7.2500 mmHg |
| The standard deviation | 2.3218 mmHg | 2.5795 mmHg |