Next Article in Journal
Artificial Intelligence and Pediatrics: Synthetic Knowledge Synthesis
Previous Article in Journal
Urban Delay-Tolerant Multicast Using Uncontrolled Mobile Relay
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Single-Cycle Pulse Signal Recognition Based on One-Dimensional Deep Convolutional Neural Network

1
Institute of Microelectronics of the Chinese Academy of Sciences, Beijing 100029, China
2
University of Chinese Academy of Sciences, Beijing 100049, China
*
Authors to whom correspondence should be addressed.
Electronics 2024, 13(3), 511; https://doi.org/10.3390/electronics13030511
Submission received: 16 December 2023 / Revised: 17 January 2024 / Accepted: 20 January 2024 / Published: 26 January 2024

Abstract

:
Pulse signals carry comprehensive information regarding human cardiovascular physiology and pathology, providing a noninvasive and continuous method to assess cardiovascular health status in blood pressure monitoring. The blood pressure measurement method based on the pulse signal needs to extract the features of the single-cycle pulse signal, while the pulse signal pertains to the weak physiological signal of body surface. The acquisition process is susceptible to various factors leading to abnormal cycles, especially adjacent channel interference, affecting the subsequent feature extraction. To address this problem, this paper conducts an analysis of the formation mechanism of adjacent channel interference and proposes a single-cycle pulse signal recognition algorithm based on a one-dimensional deep convolutional neural network (1D-CNN) model. Radial pulse signals were collected from 150 subjects by pulse bracelet, and a dataset comprising 3446 single-cycle signals was extracted in total after denoising, single-cycle segmentation, and standardized preprocessing. The 1D-CNN model is trained to classify input signals into three categories: effective pulse signals, distortion, and interference signals. This classification is achieved by evaluating the waveform morphology of the signals within a single cycle. The results show that the overall classification accuracy of the algorithm on the test set is 98.26%, in which the classification accuracy of pulse waves is 99.8%, indicating that it can effectively recognize single-cycle pulse waves, which lays the foundation for subsequent continuous blood pressure measurement.

1. Introduction

Pulse waves carry comprehensive information regarding the human cardiovascular system, which is an essential indicator of cardiac and vascular function and plays a key role in blood pressure monitoring [1,2,3]. Additionally, when coupled with electrocardiogram (ECG) signals, pulse waves serve as auxiliary tools for detecting heart diseases, such as the added role of the aortic pulse wave velocity (PWV) index in the prediction of coronary heart disease (CHD) risk [4,5,6]. In recent years, researchers in the fields of traditional Chinese medicine (TCM) diagnosis and hemodynamics have successfully utilized the information contained in single-cycle pulse waves to assess patients’ cardiovascular health status, such as heart rhythm, cardiac output, vascular elasticity, and so on [7,8,9,10]. Modern blood pressure measurement techniques are evolving in three directions: noninvasive, continuous, and precise. The pulse wave is relatively easy to obtain and can meet the requirements of non-invasiveness and continuity. Pulse wave characteristic parameters, holding physiological significance, facilitate the extraction of hemodynamic parameters to reflect cardiovascular function [11,12] and enable a more accurate estimation of blood pressure through modeling analysis. Consequently, there has been extensive exploration by researchers into blood pressure measurement methods leveraging pulse signals, with the anticipation of achieving enhanced accuracy [13,14,15,16]. Pulse wave-based blood pressure measurement methods encompass two types: pulse transit time (PTT)-based [17,18,19] and morphology-centric approaches [20,21,22]. PTT-based methods involve the utilization of two pulse signals obtained at different locations along with the extraction of peak points within the same cycle of these signals. This facilitates the calculation of the transit time between these peaks, which is closely related to blood pressure variations. On the other hand, morphology-centric approaches primarily rely on analyzing the temporal and frequency domains, primarily within a single cycle of the pulse wave. They both necessitate feature analysis with the help of single-cycle pulse signals. Meanwhile, the single-cycle pulse wave reflecting the cardiac cycle can also serve as fertile ground for heart disease detection methods. In practical scenarios, the pulse wave signal collected tends to be in its entirety, comprising multiple cycles. Hence, it is crucial to segment the entire pulse signal into numerous intact single-cycle signals.
Usually, the pulse wave is a quasi-periodic signal [23]. Although the pulse signal is relatively convenient to acquire compared with other physiological signals, the pulse signal belongs to weak physiological signals on the body surface. It is easily affected by the acquisition environment, human motion [24], the equipment [8], and the inherent defects of the current cycle segmentation method [25], so it often contains a large amount of distortion and interference, which results in abnormal cycles. Adjacent channel interference is one of the leading causes of severe deviation of pulse signals. The interference primarily arises from the physical connection between the sensor and the wristband. Additionally, the sensor’s acquisition position may slightly deviate from the pulse’s pulsation point. During successive acquisitions, the dynamic force on the sensor is forced to change because of the passive displacement caused by the upward and downward movement of the vascular beating wristband. Kaisti et al. [26] designed a wearable multichannel pulse wave acquisition device. A stiff framework connects the three sensors directly. One sensor will generate radial vibration that compels the flexible wristband to move in a compliant manner when it comes into contact with the radial artery’s pulse point. This structural passive displacement will change the original pressure on the rest of the sensors, resulting in a disturbed pulse signal. Wang et al. [27] designed a multichannel pulse detection system based on a flexible array sensor with a specialized pulse transducer made of silicone. Interference signals are produced when an air pump applies static pressure, causing a transducer to move because of the vessel’s vibration. This causes the balloon on the transducer to distort, forcing the neighboring transducer to move as well. The aforementioned issues typically arise with pressure sensors affixed to the wristband and are often disregarded. Noise reduction techniques such as wavelet transform [28], independent components analysis [29], and empirical modal decomposition [30] have been widely used in pulse signal processing, but they have no apparent advantage or significance for pulse signals with considerable noise pollution. Therefore, this paper focuses on recognizing the effective single-cycle pulse wave from the signals acquired by the sensors. More specifically, the effective single-cycle pulse wave denotes an individual pulse cycle without distortions caused by severe noise, interference, or external factors, aiming to provide reliable and accurate data for blood pressure assessment.
Currently, the methods for recognizing pulse signals are mainly divided into traditional and machine-learning-based detection. Traditional detection mainly relies on the time series of pulse signals. The early approach involved excluding waveform outliers that were either excessively long or short [31]. Nevertheless, this approach fails to detect outliers with standard length. Krishnan et al. [32] proposed a method based on a motion-detection algorithm to recognize interfering data, extracting time-frequency domain features for comparative analysis under different signal qualities. Huang et al. [33] used convolutional neural networks to identify the interference signal in the entire pulse wave and achieved 99.3% accuracy. However, segmentation errors could not be identified, as the method was applied to the entire pulse sequence rather than a single-cycle signal. To sum up, in terms of applications, current research predominantly focuses on the recognition of interference under the entire pulse wave [33] and the recognition of various types of single-cycle pulse waves, such as those associated with conditions like hypertension [34] or specific pulse patterns [35,36]. However, a notable gap exists in recognizing effective pulse waves under single-cycle signals. In terms of method, the traditional time series approach is more accurate but more complex; the machine learning approach requires feature extraction as input first, and the accuracy depends on the relevance of the features.
Therefore, this paper combines the advantages of the above two methods and proposes a single-cycle pulse signal recognition model based on 1D-CNN. The algorithm directly uses waveform morphology as input, which can effectively identify the single-cycle pulse signal with high recognition accuracy and low complexity. Figure 1 depicts the block diagram of the proposed methodology in this paper, encompassing the following key steps:
  • Mechanism analysis: analyze the noise sources, investigate interference formation mechanisms, and build a structural mechanics model to illustrate the phenomenon better.
  • Data preparation: collect and preprocess data and label the waveforms.
  • Model design: partition the dataset, set parameters, and optimize the model.
  • Proposed structure: test and evaluate the model; analyze the final results.
These blocks will be elaborated in the following sections. Adjacent channel interference signals are hereinafter referred to as interference signals.

2. Materials and Methods

2.1. Data Acquisition

2.1.1. Data Acquisition Device

Figure 2a describes the pulse bracelet developed by our laboratory for collecting pulse data, and the real product is shown in Figure 2b. The device uses a composite pressure sensor structure consisting of a piezoelectric sensor and a piezoresistive sensor, which measures the dynamic pressure of the pulse wave and the static pressure when the wristband is tight to the wrist. The sensor’s bending structure fits the wrist’s arc, ensuring signal strength and weakening the occurrence of reversed waveforms. A polyurethane sponge is attached to the sensor as a vibration-absorbing material to reduce the effects of mechanical vibrations transmitted by the wristband and to physically weaken adjacent channel interference. The pulse bracelet currently utilizes USB connectivity at a baud rate of 115,200 for real-time transmission, display, and storage of pulse data in the LabVIEW supervisory program, and its sampling frequency is 225 Hz. The raw data obtained are shown in Figure 2c, with the x-axis representing the sampling time and the y-axis representing the amplitude of the pulse signal.

2.1.2. Data Source

The data gathering process involved 150 volunteers from the laboratory team, consisting of 86 male individuals and 64 female subjects. Table 1 displays the fundamental physiological parameters of the subjects. The specific inclusion criteria for the subjects are outlined below:
(1)
Cardiovascular health, no cardiovascular-related diseases;
(2)
In good physical condition, without acute illness;
(3)
No recent medications affecting heart rate or vascular tone.

2.1.3. Formation Mechanism of Adjacent Channel Interference

The sensor profile close to the wrist during pulse signal acquisition is shown in Figure 3a. The output signal amplitude of the piezoelectric sensor is directly proportional to the deformation of piezoelectric materials. As the amount of mechanical deformation increases, the output signal value of the piezoelectric sensor increases. During pulse wave acquisition, the sensor may not be aligned with the vibration point, and the wristband is influenced by the blood vessel fluctuation to vibrate up and down, resulting in passive displacement of the sensor due to the connected structure. The sensor that was forced to vibrate did not receive the pulse signal but generated an interference signal because of the connection. The interference signal will overlay the original signal obtained by the sensor, thereby reducing the signal quality.
The structural model is constructed using a single-point vibration signal generator and a single sensor to better illustrate the occurrence of adjacent channel interference from a mechanical perspective, as depicted in Figure 3b. When the vibration point moves upward, the wristband in this position is propelled upwards by the supporting force, causing an increase in deformation. Because of the connected compliance structure, the sensor is forced to follow the upward movement. The original deformation of the sensor gradually decreases, and the output voltage value decreases. When the displacement of the wristband reaches its maximum, the sensor’s output value decreases to its minimum value. As the vibration point descends, the strain pressure on the wristband diminishes, resulting in a decrease in displacement. Conversely, the sensor’s output signal value increases. The interference and pulse signals show the same period, and the amplitude fluctuation is opposite in waveform morphology, as shown in Figure 3c. The 12th harmonic decomposition of the signals is performed, and the Fourier transform is applied to calculate the phase difference in each harmonic component of the two signals, as shown in Figure 3d. The phase difference between the vibration point and the sensor’s output signal is approximated to be 180 degrees for the main harmonic components. Because of the attenuation of the signal in the transmission process, the intensity of the interference signal is lower than that of the vibration source. This attenuation phenomenon is more evident with the increase in the deviation distance.

2.2. Data Preprocessing

The preprocessing of the pulse signal is mainly composed of three parts: denoising, period division, and standardization. Figure 4 illustrates the complete preprocessing flowchart. The main components of noise that can be removed by preprocessing are random noise, baseline drift, and 50 Hz power line interference. First, the median filter is used to remove transients occurring in the data, and the notch filter is used to remove 50 Hz power line interference. It is challenging to eliminate random noise based on frequency filtering, since its distribution is over the whole frequency range. Therefore, wavelet transform is applied to reduce the random noise. Daubechies’ wavelet is selected as the wavelet basis to optimize wavelet coefficients, and the original signal is decomposed into four layers. The soft threshold processing of wavelet coefficients obtained by decomposition is applied to reconstruct each layer’s signal, effectively reducing the random noise energy. Baseline drift partly arises due to the subject breathing, causing a relative shift in the pulse wave. Trough points obtained from the valley-finding algorithm are fitted as the baseline by cubic spline interpolation. Finally, subtracting this baseline from the signal eliminates the baseline drift of the pulse wave.
The adaptive peak-finding algorithm based on dynamic interval threshold segmentation realizes the peak recognition of pulse waves, which serves as the basis of period division. First, the location of the local maximum after differencing is selected as the peak point. Secondly, the peak points are iteratively screened by setting a threshold from the perspective of dynamic time intervals. The lowest point between two peaks is identified as the trough, and single cycle division is achieved by starting with this trough and ending with the next trough. Pulse wave sequence segments with cycle segmentation points are shown in Figure 5a, where there are slight fluctuations in the pulse wave at the beginning or end of each cycle, which may lead to incorrect cycle segmentation of the pulse wave. Figure 5b depicts the cycle segmentation of the interference wave. As the acquisition process is easily affected, it leads to severe waveform distortion, as shown in Figure 5c.
The amplitude and length of the single-cycle signals differ from each other. The data are standardized to reduce the impact on the classification and to make the classifier perform from the perspective of waveform morphology. For signal length, cubic spline interpolation is applied to resample the segments to unify their lengths to the same length as shown in Equation (1):
S i x = a i + b i x x i + c i x x i 2 + d i x x i 3 , i = 0,1 , 2 255
The curves between each pair of sampling points are defined by cubic function, where x i represents the sampling point, and a i ,   b i ,   c i ,   d i represent the coefficients of different orders of each segment, respectively. The sampling frequency of the instrument is 225 Hz, and the normal cardiac cycle is 0.6~1 s. Therefore, to ensure that a complete pulse wave cycle is included, the signal length is uniformly upsampled to 256 sampling points, which is approximately 1.14 s. For the amplitude of the signal, zero-mean normalization is applied as shown in Equation (2):
x ( i ) * = x μ σ σ 2 = 1 m i = 1 m x i μ 2 μ = 1 m i = 1 m x i
where x i represents each sample, μ represents the mean of all samples, σ represents the standard deviation of all samples, and x ( i ) * represents each normalized sample. The standardized single-cycle signals are manually labeled, the distortion is labeled as 0, the pulse signal is labeled as 1, and the interference signal is labeled as 2. The symbolic single-period pulse wave, interference, and distortion waveforms are presented in Figure 6a–f.
After pulse wave acquisition and waveform preprocessing, a total of 3446 single-cycle waveforms were collected. Table 2 shows the dataset partitioning used for training, validation, and testing and the number of their corresponding categories. The validation set is used for model selection and hyperparameter tuning, and the test set is used to observe the results of unbiased network estimation.

2.3. 1D-CNN Model Construction

2.3.1. Model Selection

Pulse signals, being time-series data [37], are processed as one-dimensional signals in pulse signal recognition. Recurrent neural networks (RNNs) and long-short-term memory (LSTM) are commonly employed to capture long-term dependencies in data. However, when it comes to classification tasks that do not have temporal dependencies, their ability to capture morphologically critical features is no better than convolutional neural networks. The 1D-CNN automatically learns global structural patterns and feature information based on convolution operation. It is capable of extracting local features on subtle temporal variations from signal data with temporal components, so it is chosen as a model framework for single-cycle pulse recognition in this study.
The 1D-CNN model structure is shown in Figure 7. This study’s output results are classified into three categories: 0 is distortion and segmentation error, 1 is pulse signal, and 2 is interference signal. The experimental software and hardware development environment is based on Python 3.10.12, PyTorch 2.1.0 with CUDA support, and an NVIDIA GTX 1660Ti GPU. The essential libraries to install include Torch and Sklearn. This experiment has employed Anaconda and created a dedicated virtual environment, thereby mitigating potential conflicts from other projects. Algorithm 1 presents an example of the 1D-CNN algorithm pseudocode in the PyTorch framework.
Algorithm 1. The 1D-CNN pseudocode in the PyTorch framework
   Input: data, hyperparameters
   Output: Predictions, Evaluations
   Process:
   Phase 1—design model
1    PulseModel = Sequential()
2    For layer in Conv Layers
3        model.add (Conv1d(in_channels, out_channels, kernel, padding))
4        model.add (Activation = ‘ReLu ’)
5        model.add (MaxPool1d(kernel, stride))
6    model.add (Flatten ())
7    model.add (Linear(in_features, out_features))
8    model.add (Activation = ‘ReLu’)
9    model.add (Linear(in_features, out_features))
Phase 2—model instantiation
10   model= PulseModel().to(DEVICE)
11   criterion =CrossEntropyLoss()
12   optimizer = Adam(model.parameters, learning_rate = 0.003, decay = 0.5
       Phase 3—train
13   For epoch in range(Epoches)
14      model.train()
15      For (inputs,labels) in train_loader
16         outputs = model(inputs)
17         loss = criterion(outputs, labels)
18         optimizer.zero_grad()
19         loss.backward()
20         optimizer.step()
21      If epoch_loss < patience_loss:
22         break
23   return train_model
    Phase 4—test
24   model.test(train_model, test_loader)
25   return Predictions, Evaluations
In this study, we predefine key hyperparameters and optimization strategies for the 1D-CNN model to expedite network learning. Given that the task involves multi-class classification, we consistently opt for the cross-entropy loss as the fixed loss function. The remaining parameters are primarily tuned through a grid search approach, with the chosen values representing the optimal performance configuration, as depicted in Table 3. Instead of computing the gradient on the entire dataset (batch gradient descent) or just a single sample (stochastic gradient descent), mini-batch gradient descent processes a small subset of the data in each iteration. It allows for faster computation of gradients and weight updates compared to the entire batch while reducing the noise inherent in stochastic gradient descent. The batch size was varied within the range of 32 to 128 to assess its impact on model performance. Ultimately, a batch size of 64 ( 2 6 ) was chosen. Adam [38] was chosen as the optimization algorithm to dynamically adjust the learning rate according to past gradient information during training. The Softmax function is applied to the output layer of the model to convert the values of the last layer ( z i ) into the probability distribution of classes ( p i ) so that the most likely classes ( y ^ ) can be determined based on the probabilities, as shown in the following Equations:
z i = j h j W j i
s o f t m a x z i = p i = e z i j = 1 n e z j
y ^ = a r g m a x i   p i

2.3.2. Model Evaluation

This study uses the cross-entropy loss function [39] as an indicator to assess the completion of network training. When the cross-entropy loss function value is trained for 30 consecutive times on the validation set and the overall cost is no longer decreasing, the network is considered to have been trained. Otherwise, the optimization algorithm continues the backpropagation to train the network parameters. The cross-entropy loss function is shown in Equation (6):
L o s s = i = 0 C 1 y i l o g p i = l o g p c
where p = [ p 0 , , p C 1 ] is a probability distribution where each element p i denotes the probability that the sample belongs to class i ; y = [ y 0 , , y C 1 ] is the one-hot encoding of the label, when the sample belongs to class i , y i = 1 ; otherwise, y i = 0 .
The confusion matrix [40] serves as a valuable tool for assessing the performance of a classifier. The definition of a confusion matrix is as follows: True Positive (TP) represents correct positive predictions; True Negative (TN) represents correct negative predictions; False Positive (FP) represents incorrect positive predictions; and False Negative (FN) represents incorrect negative predictions. It shows the correspondence between the model prediction results and the actual labels, which can be used to calculate accuracy, precision, recall (sensitivity), F1 score, and macro-F1. The Receiver Operating Characteristic (ROC) plots the recall against the (1−Specificity) at different classification thresholds. The Area Under the Curve (AUC) represents the area under the ROC curve, ranging from 0 to 1. Higher AUC values imply better discrimination ability of the model. In ROC curve analysis, micro-average is calculated by aggregating all classes’ contributions, thus treating all instances equally. Macro-average computes the average performance across each class and then calculates the arithmetic average of all the results. Specifically, these indicators can be calculated by the following equation:
A c c u r a c y i = T P + T N T P + T N + F P + F N
P r e c i s i o n i = T P T P + F P
R e c a l l i = T P T P + F N
S p e c i f i c i t y i = T N T N + F P
F 1 i = 2 × P r e c i s i o n i × R e c a l l i P r e c i s i o n i + R e c a l l i
m a c r o F 1 = 1 n i = 1 n F 1 i
For each class i in the multi-class problem, all samples except the ith class can be regarded as negative samples.

3. Results

3.1. 1D-CNN Model Training

The primary determinants impacting the accuracy of recognition and the duration of training for the 1D-CNN model include the size of the sample, the structure of the model, and the hyperparameters. Given the limited sample sizes in our experiment, we adapted the model structure and hyperparameters to enhance the recognition of single-cycle waveforms. They compensate for the smaller dataset by optimizing the model’s ability to extract and learn relevant features, thus mitigating the risk of overfitting and enhancing its ability to make accurate predictions on new, unseen data. During the training process, attempts are made to change the learning rate, Conv layers, input and output channels, and the length of the input data to find the best combination of hyperparameters and model structure for the performance of the task and to shorten the training time by comparing the performance of the validation set.
The learning rate affects the convergence speed and stability of the model on the training data. Eight values for the learning rate were chosen between the range [0.0001, 0.01] as the step rate for gradient descent. The condition for iteration stopping was that the single mean loss on the training set was less than the threshold 10 5 . After model training, the performance of different learning rates on the validation set is shown in Figure 8a. The results indicate that as the learning rate increases, the accuracy of the validation set increases first and tends to be stable, and the training time increases exponentially. It is worth noting that a larger learning rate does not indicate a shorter time. A learning rate that is too large will cause the model to fail to converge and take longer to reach the desired accuracy. When the learning rate is 0.003, the validation accuracy reaches the highest point, and convergence is relatively fast.
Conv layers are capable of learning abstract features from low to high levels. Setting different numbers of Conv layers (from 2 to 8) for the model affects the performance on the validation set, as shown in Figure 8b. The validation set accuracy rises and then drops as the number of Conv layers increases, and the average training time per epoch also increases. This suggests that increasing the number of Conv layers does not always lead to linear improvement in performance, and too many Conv layers may lead to model overfitting and extended training time. By comprehensively weighing the relationship between Conv layers and the model’s performance, we can see that the validation set reaches the highest accuracy when the number equals 6, and the training converges relatively quickly.
The Conv layer’s input and output channel count influences the features. This study optimized the model by adjusting input and output channels in each Conv layer. Table 4 displays the eight network model structures. In the model, the sixth Conv layer has 32 output tensors of size 4 that are flattened into a one-dimensional tensor of length 128, serving as the input feature of the seventh FC layer. The performance of different input and output channels on the validation set is shown in Figure 8c. The results show that Structure 1 and Structure 2 have higher validation accuracy than the other structures. What is more, Structure 1 requires fewer channel parameters and has higher computational efficiency, so the input and output channel setting of Structure 1 is selected in this paper.
In order to improve convergence speed, reduce the number of calculations, and reduce the computational load, the raw signals with 256 sampling points were downsampled to obtain signals with lengths of 128, 64, and 32. The respective sample frequencies are 112.5 Hz, 56.25 Hz, and 28.125 Hz, which adhere to Nyquist’s theorem and avoid the occurrence of alias frequencies in the signals. The performance of input data with different sampling lengths on the validation set is shown in Figure 8d. Therefore, a single-cycle waveform with a sampling point 128 is selected as the input signal.

3.2. Performance of the Proposed Structure

Based on the above experiments, the final structure of the 1D-CNN model selected is presented in Figure 9a, and it contains six Conv layers and two FC layers. The data length of the input single-cycle waveform is 128. The learning rate is dynamically adjusted using a learning rate scheduler. Initially, the learning rate is set at 0.003 and drops by half every 100 epochs. The iteration stopping condition is that validation set accuracy no longer decreases for 30 consecutive epochs. The loss and accuracy trend curves of the training set and the validation set are shown in Figure 9b,c, indicating that the loss gradually decreases as the number of training epochs increases, while the accuracy gradually increases and tends to stabilize. The final result of the training is that the overall loss of the training set is 0.15, the overall loss of the validation set is 1.52, the accuracy of the training set is 99.8%, and the accuracy of the validation set is 98.07%. The model’s execution time is 86.297 s, and it consumes 51.375 MB of runtime memory in Python.
The trained network model was used in the testing set with a sample size of 517. Figure 10a,b show the confusion matrixes of the validation set and the testing set, i.e., the number of respective correct and misclassified samples, as well as their percentages. Figure 10c,d illustrate the ROC–AUC curves for the validation and testing sets, which depict the trade-off between the true positive rate and the false positive rate across all possible classification thresholds. A curve closer to the upper-left corner signifies better model performance. Table 5 indicates that the model achieved significant precision, recall, f1-score, macro-F1,macro-AUC, micro-AUC, average accuracy, and loss on both the validation and the testing sets.

4. Discussion

As is evident in Table 5, after the training of the classifier, the overall recognition accuracy on the test set is 98.26%, which demonstrates a highly stable classification ability for the three single-cycle waveforms, in which the accuracy of the pulse signal category is 99.8% with only one misclassified sample. Classification errors are mainly mutual misclassification of the interference signal and distortion. Distortion is the worst classification effect among the three categories because the distortion morphology is not fixed, and the sample size is the least among the three classes, resulting in its classification difficulty being higher and its robustness being poor. The overall classification precision of the model is 98.25%, of which the precision of the pulse signal is 100%, indicating that the samples classified as pulse signal must be positive, thus ensuring the accurate recognition of single-cycle pulse waves. Macro-F1 is 98.07% in the validation set and 98.26% in the test set, indicating that the model’s classification performance is relatively balanced for each category. The macro-AUC and micro-AUC for both the validation and test sets are both 0.99, achieving robust discrimination capabilities for diverse categories.
The notable distinctions between distortion, pulse, and interference can be attributed to their distinct origins and characteristics. The distortion often emanates from human motion artifacts, resulting in waveforms exhibiting a pattern of random disorder. Pulse waves, on the other hand, originate from the cardiovascular system and are based on hemodynamics. The high-pressure pulse generated by cardiac ejection propagates locally, forming the pulse wave, and its unique waveform morphology contains physiological significance. Interference, in contrast, arises during the data acquisition process due to structural connections, where sensor displacement occurs due to wristband vibrations.
However, this paper only classifies the types of single-cycle waveforms and does not evaluate the quality of pulse signals. High-quality pulse waves showcase distinct features during the systolic and diastolic phases of cardiac ejection, including inflection points such as the percussion wave, tidal wave, and dicrotic wave [34]. In contrast, low-quality pulse waves obscure crucial features, leading to a reduction in valuable information. For visual examples of classified pulse wave quality, refer to [41] Figure 1 and [42] Figure 2. Additionally, the recognition model is not integrated into the microprocessor platform. In future work, we will continue to study the quality assessment methods of pulse signals, deduce the signal quality index (SQI) reflecting the signal quality level, and seriously explore the integration of a cost-effective microprocessor into the pulse acquisition bracelet [43,44], incorporating the recognition algorithm as an integral part of the overall algorithm within the microprocessor.

5. Conclusions

Pulse-wave-based blood pressure measurements require feature analysis with the help of single-cycle pulse signals to assess the patient’s cardiovascular health status. However, the pulse signal is easily affected by various factors during the acquisition process. This paper proposes a single-cycle pulse signal recognition algorithm utilizing the 1D-CNN model. First, this paper analyzes the causes of adjacent channel interference. Then, 3446 raw pulse waves extracted by the pulse bracelet were preprocessed by denoising, period division, and standardization. All single-cycle signals were classified into three categories, pulse signals, interference signals, and distortion, and labeled as the network dataset. Finally, to improve the network accuracy and accelerate the training, the 1D-CNN model was optimized by adjusting the network structure and hyperparameters. The results indicate that the final network structure has an overall recognition accuracy of 98.26% and an overall classification precision of 98.25% on the test set, of which the accuracy and precision of pulse signals are 99.8% and 100%. This method improves the robustness of pulse signal recognition under complex single-cycle waveforms and facilitates the timeliness, validity, and reliability of pulse signal analysis. This shows that it can be applied to the subsequent development of wearable intelligent continuous blood pressure algorithms.

Author Contributions

Conceptualization, J.C., X.G., F.Y. and X.L.; methodology, J.C. and X.G.; software, J.C. and F.Y.; validation, X.L., X.G. and Y.Z.; formal analysis, X.L.; resources, X.G.; data curation, J.C. and X.G.; writing—original draft preparation, J.C., X.G. and F.Y.; writing—review and editing, J.C., X.G., Y.Z. and Y.W.; visualization, J.C.; project administration, Y.Z. and Y.W.; Y.Z. and Y.W. contributed the idea equally and are co-corresponding authors. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Key Research and Development Program of China, grant number 2022YFC3502303.

Data Availability Statement

The raw/processed data required to reproduce these findings cannot be shared at this time as the data also form part of an ongoing study.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Landowne, M. A Method Using Induced Waves to Study Pressure Propagation in Human Arteries. Circ. Res. 1957, 5, 594–601. [Google Scholar] [CrossRef] [PubMed]
  2. Meng, K.Y.; Chen, J.; Li, X.S.; Wu, Y.F.; Fan, W.J.; Zhou, Z.H.; He, Q.; Wang, X.; Fan, X.; Zhang, Y.X.; et al. Flexible Weaving Constructed Self-Powered Pressure Sensor Enabling Continuous Diagnosis of Cardiovascular Disease and Measurement of Cuffless Blood Pressure. Adv. Funct. Mater. 2019, 29, 10. [Google Scholar] [CrossRef]
  3. Hirata, K.; Kawakami, M.; O’Rourke, M.F. Pulse wave analysis and pulse wave velocity—A review of blood pressure interpretation 100 years after Korotkov. Circ. J. 2006, 70, 1231–1239. [Google Scholar] [CrossRef] [PubMed]
  4. Ayano, Y.M.; Schwenker, F.; Dufera, B.D.; Debelee, T.G. Interpretable Machine Learning Techniques in ECG-Based Heart Disease Classification: A Systematic Review. Diagnostics 2023, 13, 111. [Google Scholar] [CrossRef] [PubMed]
  5. Vallée, A.; Cinaud, A.; Blachier, V.; Lelong, H.; Safar, M.E.; Blacher, J. Coronary heart disease diagnosis by artificial neural networks including aortic pulse wave velocity index and clinical parameters. J. Hypertens. 2019, 37, 1682–1688. [Google Scholar] [CrossRef]
  6. Vallée, A.; Petruescu, L.; Kretz, S.; Safar, M.E.; Blacher, J. Added Value of Aortic Pulse Wave Velocity Index in a Predictive Diagnosis Decision Tree of Coronary Heart Disease. Am. J. Hypertens. 2019, 32, 375–383. [Google Scholar] [CrossRef]
  7. Fey, J. Contemporary Sphygmology in Traditional Chinese Medicine (in Chinese); People’s Medical Publishing House: Beijing, China, 2003. [Google Scholar]
  8. Chen, C.L.; Li, Z.Q.; Zhang, Y.T.; Zhang, S.L.; Hou, J.N.; Zhang, H.Y. A 3D Wrist Pulse Signal Acquisition System for Width Information of Pulse Wave. Sensors 2020, 20, 16. [Google Scholar] [CrossRef]
  9. Yoo, S.K.; Shin, K.Y.; Lee, T.B.; Jin, S.O. New pulse wave measurement method using different hold-down wrist pressures according to individual patient characteristics. SpringerPlus 2013, 2, 406. [Google Scholar] [CrossRef]
  10. Hao, Y.M.; Cheng, F.; Pham, M.; Rein, H.; Patel, D.; Fang, Y.C.; Feng, Y.Y.; Yan, J.; Song, X.Y.; Yan, H.X.; et al. A Noninvasive, Economical, and Instant-Result Method to Diagnose and Monitor Type 2 Diabetes Using Pulse Wave: Case-Control Study. JMIR mHealth uHealth 2019, 7, 11. [Google Scholar] [CrossRef]
  11. Moura, N.G.R.; Ferreira, A.S. Pulse Waveform Analysis of Chinese Pulse Images and Its Association with Disability in Hypertension. J. Acupunct. Meridian Stud. 2016, 9, 93–98. [Google Scholar] [CrossRef]
  12. de Moura, N.G.R.; Cordovil, I.; Ferreira, A.D. Traditional Chinese medicine wrist pulse-taking is associated with pulse waveform analysis and hemodynamics in hypertension. J. Integr. Med.-JIM 2016, 14, 100–113. [Google Scholar] [CrossRef] [PubMed]
  13. Steptoe, A.; Smulyan, H.; Gribbin, B. Pulse-wave velocity and blood-pressure change—Calibration and applications. Psychophysiology 1976, 13, 488–493. [Google Scholar] [CrossRef]
  14. Gesche, H.; Grosskurth, D.; Küchler, G.; Patzak, A. Continuous blood pressure measurement by using the pulse transit time: Comparison to a cuff-based method. Eur. J. Appl. Physiol. 2012, 112, 309–315. [Google Scholar] [CrossRef] [PubMed]
  15. Geddes, L.A.; Voelz, M.H.; Babbs, C.F.; Bourland, J.D.; Tacker, W.A. Pulse Transit-Time as An Indicator of Arterial Blood-Pressure. Psychophysiology 1981, 18, 71–74. [Google Scholar] [CrossRef] [PubMed]
  16. Radha, M.; Zhang, G.; Gelissen, J.; de Groot, K.; Haakma, R.; Aarts, R.M. Arterial path selection to measure pulse wave velocity as a surrogate marker of blood pressure. Biomed. Phys. Eng. Express 2017, 3, 10. [Google Scholar] [CrossRef]
  17. Kachuee, M.; Kiani, M.M.; Mohammadzade, H.; Shabany, M. Cuffless Blood Pressure Estimation Algorithms for Continuous Health-Care Monitoring. IEEE Trans. Biomed. Eng. 2017, 64, 859–869. [Google Scholar] [CrossRef] [PubMed]
  18. Yang, C.X.; Tavassolian, N. Pulse Transit Time Measurement Using Seismocardiogram and In-Ear Acoustic Sensor. In Proceedings of the 12th IEEE Biomedical Circuits and Systems Conference (BioCAS), Shanghai, China, 17–19 October 2016; IEEE: Piscataway, NJ, USA, 2016; pp. 188–191. [Google Scholar]
  19. Lass, J.; Meigas, K.; Karai, D.; Kattai, R.; Kaik, J.; Rossmann, M.; IEEE. Continuous blood pressure monitoring during exercise using pulse wave transit time measurement. In Proceedings of the 26th Annual International Conference of the IEEE-Engineering-in-Medicine-and-Biology-Society, San Francisco, CA, USA, 1–5 September 2004; pp. 2239–2242. [Google Scholar]
  20. Kurylyak, Y.; Lamonaca, F.; Grimaldi, D. A Neural Network-based Method for Continuous Blood Pressure Estimation from a PPG Signal. In Proceedings of the IEEE International Instrumentation and Measurement Technology Conference (I2MTC), Minneapolis, MN, USA, 6–9 May 2013; pp. 280–283. [Google Scholar]
  21. Xie, Q.S.; Wang, G.X.; Peng, Z.C.; Lian, Y. Machine Learning Methods for Real-Time Blood Pressure Measurement Based on Photoplethysmography. In Proceedings of the 23rd IEEE International Conference on Digital Signal Processing (DSP), Shanghai, China, 19–21 November 2018; IEEE: Piscataway, NJ, USA, 2018. [Google Scholar]
  22. Shimazaki, S.; Kawanaka, H.; Ishikawa, H.; Inoue, K.; Oguri, K. Cuffless blood pressure estimation from only the waveform of photoplethysmography using CNN. In Proceedings of the 2019 41st Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC), Berlin, Germany, 23–27 July 2019; pp. 5042–5045. [Google Scholar]
  23. Xue, X.H.; Dong, Y.G.; Pan, Y.X. A Synchronous Detection Algorithm for Quasi-Periodic Signal Components and Its Application in Photoplethysmographic Imaging. IEEE Trans. Instrum. Meas. 2022, 71, 13. [Google Scholar] [CrossRef]
  24. Orphanidou, C. Quality Assessment for the photoplethysmogram (PPG). In State of the Art and Practical Considerations; Springer: Cham, Switzerland, 2018; pp. 41–63. [Google Scholar]
  25. Ahmed, A.A.; Ali, W.; Abdullah, T.A.A.; Malebary, S.J. Classifying Cardiac Arrhythmia from ECG Signal Using 1D CNN Deep Learning Model. Mathematics 2023, 11, 16. [Google Scholar] [CrossRef]
  26. Kaisti, M.; Leppänen, J.; Lahdenoja, O.; Kostiainen, P.; Pänkäälä, M.; Meriheinä, U.; Koivisto, T. Wearable Pressure Sensor Array for Health Monitoring. In Proceedings of the 44th Computing in Cardiology Conference (CinC), Rennes, France, 24–27 September 2017; IEEE: Piscataway, NJ, USA, 2017. [Google Scholar]
  27. Wang, X.; Yang, C.; Lu, X.; Luo, M.; Zhou, P. The design of multi-channel pulse detection system based on flexible array sensor. Chin. J. Sens. Actuators 2012, 25, 733–737. [Google Scholar] [CrossRef]
  28. Ban, D.; Shahid, S.M.; Kwon, S. Movement Noise Cancellation in Second Derivative of Photoplethysmography Signals with Wavelet Transform and Diversity Combining. Appl. Sci. 2018, 8, 15. [Google Scholar] [CrossRef]
  29. Kim, B.S.; Yoo, S.K. Motion artifact reduction in photoplethysmography using independent component analysis. IEEE Trans. Biomed. Eng. 2006, 53, 566–568. [Google Scholar] [CrossRef] [PubMed]
  30. Agarwal, V.; Tsoukalas, L.H. Denoising electrical signal via empirical mode decomposition. In Proceedings of the iREP Symposium on Bulk Power System Dynamics and Control—VII Revitalizing Operational Reliability, Charleston, SC, USA, 19–24 August 2007; IEEE: Piscataway, NJ, USA, 2007; p. 72. [Google Scholar]
  31. Xia, C.M.; Li, Y.; Yan, J.J.; Wang, Y.Q.; Yan, H.X.; Guo, R.; Li, F.F. A practical approach to wrist pulse segmentation and single-period average waveform estimation. In Proceedings of the 1st International Conference on Biomedical Engineering and Informatics, Sanya, China, 27–30 May 2008; IEEE: Piscataway, NJ, USA, 2008; pp. 334–338. [Google Scholar]
  32. Krishnan, R.; Natarajan, B.; Warren, S. Analysis and detection of motion artifact in photoplethysmographic data using higher order statistics. In Proceedings of the 33rd IEEE International Conference on Acoustics, Speech and Signal Processing, Las Vegas, NV, USA, 30 March–4 April 2008; IEEE: Piscataway, NJ, USA, 2008; pp. 613–616. [Google Scholar]
  33. Huang, L.; Geng, X.G.; Xu, H.; Zhang, Y.T.; Li, Z.Q.; Zhang, J.; Zhang, H.Y. Interference Signal Identification of Sensor Array Based on Convolutional Neural Network and FPGA Implementation. Electronics 2021, 10, 13. [Google Scholar] [CrossRef]
  34. Hu, X.J.; Zhang, L.; Xu, J.T.; Liu, B.C.; Wang, J.Y.; Hong, Y.L.; Tu, L.P.; Cui, J. Pulse Wave Cycle Features Analysis of Different Blood Pressure Grades in the Elderly. Evid. Based Complement. Altern. Med. 2018, 2018, 1976041. [Google Scholar] [CrossRef] [PubMed]
  35. Li, G.Y.; Watanabe, K.; Anzai, H.; Song, X.R.; Qiao, A.; Ohta, M. Pulse-Wave-Pattern Classification with a Convolutional Neural Network. Sci. Rep. 2019, 9, 14930. [Google Scholar] [CrossRef] [PubMed]
  36. Chen, C.L.; Li, Z.Q.; Zhang, Y.T.; Zhang, S.L.; Hou, J.N.; Zhang, H.Y. Low-Power FPGA Implementation of Convolution Neural Network Accelerator for Pulse Waveform Classification. Algorithms 2020, 13, 213. [Google Scholar] [CrossRef]
  37. Wang, G.T.; Geng, X.G.; Huang, L.; Kang, X.X.; Zhang, J.; Zhang, Y.T.; Zhang, H.Y. Multi-Morphological Pulse Signal Feature Point Recognition Based on One-Dimensional Deep Convolutional Neural Network. Information 2023, 14, 15. [Google Scholar] [CrossRef]
  38. Kingma, D.; Ba, J. Adam: A Method for Stochastic Optimization. arXiv 2014. [Google Scholar] [CrossRef]
  39. Shannon, C.E. A mathematical theory of communication. Bell Syst. Techn. J. 1948, 27, 379–423. [Google Scholar] [CrossRef]
  40. Fawcett, T. An introduction to ROC analysis. Pattern Recognit. Lett. 2006, 27, 861–874. [Google Scholar] [CrossRef]
  41. Elgendi, M. Optimal Signal Quality Index for Photoplethysmogram Signals. Bioengineering 2016, 3, 21. [Google Scholar] [CrossRef]
  42. Sun, X.X.; Yang, P.; Zhang, Y.T. Assessment of Photoplethysmogram Signal Quality using Morphology Integrated with Temporal Information Approach. In Proceedings of the 2012 Annual International Conference of The Ieee Engineering In Medicine And Biology Society (EMBC), San Diego, CA, USA, 28 August–1 September 2012; IEEE: Piscataway, NJ, USA, 2012; pp. 3456–3459. [Google Scholar]
  43. Roy, A.; Dutta, H.; Griffith, H.; Biswas, S. An On-Device Learning System for Estimating Liquid Consumption from Consumer-Grade Water Bottles and Its Evaluation. Sensors 2022, 22, 2514. [Google Scholar] [CrossRef] [PubMed]
  44. Loukatos, D.; Lygkoura, K.A.; Maraveas, C.; Arvanitis, K.G. Enriching IoT Modules with Edge AI Functionality to Detect Water Misuse Events in a Decentralized Manner. Sensors 2022, 22, 4874. [Google Scholar] [CrossRef] [PubMed]
Figure 1. The block diagram of the proposed methodology.
Figure 1. The block diagram of the proposed methodology.
Electronics 13 00511 g001
Figure 2. Data acquisition device and raw signal: (a) Pulse bracelet; (b) Real product; (c) Raw pulse signal under the same static stress.
Figure 2. Data acquisition device and raw signal: (a) Pulse bracelet; (b) Real product; (c) Raw pulse signal under the same static stress.
Electronics 13 00511 g002
Figure 3. Adjacent channel interference mechanism and waveform phase diagram: (a) Profile of the sensor close to the wrist; (b) Profile of the wristband deformation under the vibration source; (c) The interference signal and pulse signal have the same period and opposite amplitude fluctuation; (d) The phase difference between the vibration source and the sensor’s output signal after 12th harmonic decomposition.
Figure 3. Adjacent channel interference mechanism and waveform phase diagram: (a) Profile of the sensor close to the wrist; (b) Profile of the wristband deformation under the vibration source; (c) The interference signal and pulse signal have the same period and opposite amplitude fluctuation; (d) The phase difference between the vibration source and the sensor’s output signal after 12th harmonic decomposition.
Electronics 13 00511 g003
Figure 4. Raw pulse signal preprocessing process.
Figure 4. Raw pulse signal preprocessing process.
Electronics 13 00511 g004
Figure 5. Waveform sequence segment with cycle segmentation points: (a) Pulse signal with cycle segmentation points; (b) Interference signal with cycle segmentation points; (c) Distortion with cycle segmentation points.
Figure 5. Waveform sequence segment with cycle segmentation points: (a) Pulse signal with cycle segmentation points; (b) Interference signal with cycle segmentation points; (c) Distortion with cycle segmentation points.
Electronics 13 00511 g005
Figure 6. Standardized single-cycle signal: (a) Pulse signal; (b) Interference signal; (c) Waveforms with segmentation error are classified as distortion; (df) Waveforms with severe jitter are classified as distortion.
Figure 6. Standardized single-cycle signal: (a) Pulse signal; (b) Interference signal; (c) Waveforms with segmentation error are classified as distortion; (df) Waveforms with severe jitter are classified as distortion.
Electronics 13 00511 g006
Figure 7. The 1D-CNN model structure.
Figure 7. The 1D-CNN model structure.
Electronics 13 00511 g007
Figure 8. The performance of the 1D-CNN network model design on the validation set: (a) The adjustment of learning rate; (b) The adjustment of the number of Conv layers; (c) The adjustment of input and output channels; (d) The adjustment of the data sampling lengths.
Figure 8. The performance of the 1D-CNN network model design on the validation set: (a) The adjustment of learning rate; (b) The adjustment of the number of Conv layers; (c) The adjustment of input and output channels; (d) The adjustment of the data sampling lengths.
Electronics 13 00511 g008
Figure 9. The final structure of the 1D-CNN model and trend curves of the training process: (a) The 1D-CNN model; (b) Trend curves of loss on the training set and validation set; (c) Trend curves of accuracy on the training set and validation set.
Figure 9. The final structure of the 1D-CNN model and trend curves of the training process: (a) The 1D-CNN model; (b) Trend curves of loss on the training set and validation set; (c) Trend curves of accuracy on the training set and validation set.
Electronics 13 00511 g009
Figure 10. Confusion matrixes and ROC curves of the classifier: (a) Validation set confusion matrix; (b) Testing set confusion matrix; (c) Validation set ROC curve; (d) Testing set ROC curve.
Figure 10. Confusion matrixes and ROC curves of the classifier: (a) Validation set confusion matrix; (b) Testing set confusion matrix; (c) Validation set ROC curve; (d) Testing set ROC curve.
Electronics 13 00511 g010
Table 1. Basic physiological parameters of the subjects.
Table 1. Basic physiological parameters of the subjects.
Characteristic (Unit)Number or Mean ± SD
Number (n)150
Age (year)31.6   ± 8.9
Weight (kg)66.1   ± 16.4
BMI (kg/m2)22.3   ± 4.3
BP-Systolic (mmHg)116.2   ± 15.6
BP-Diastolic (mmHg)72.8   ± 9.6
T-Body (°C)36.5   ± 0.4
T-Ambient (°C)23.5   ± 1.4
HR (times/minute)74.5   ± 13.2
Table 2. Dataset partitioning.
Table 2. Dataset partitioning.
DatasetTraining SetValidation SetTest Set
Proportion (%)100701515
Number34462412517517
Category 0803575117111
Category 115601106218236
Category 21083750172161
Length256
Table 3. Parameter settings.
Table 3. Parameter settings.
ParameterSelected ValueSearch Range
Batch size6432, 64, 128
Kernel1 × 31 × 3, 1 × 5
Pooling size1 × 21 × 2, 1 × 3
Stride21, 2, 3
Loss functionCross-entropy lossNone
OptimizerAdamNone
Activation functionReLUNone
Table 4. Different structures of classifier.
Table 4. Different structures of classifier.
No.Conv (In–Out)FC (In–Out)
L1L2L3L4L5L6L7L8
11–22–44–88–1616–3232–32(128–64)(64–3)
21–44–88–1616–3232–3232–32
31–44–1616–3232–3232–3232–32
41–44–3232–3232–3232–3232–32
51–88–1616–3232–3232–3232–32
61–88–3232–3232–3232–3232–32
71–1616–3232–3232–3232–3232–32
Table 5. Evaluation index of the model.
Table 5. Evaluation index of the model.
IndexValid DatasetTest Dataset
DistortionPulseInterferenceAverageDistortionPulseInterferenceAverage
Precision (%)95.9010097.1798.0794.8710098.1798.25
Recall (%)95.9010097.1798.0797.3799.5896.9998.26
F1-score (%)95.9010097.1798.0796.1099.7897.5798.26
Accuracy (%)98.0710098.0798.0798.2599.898.4598.26
Macro-F1 (%)98.0798.26
Macro-AUC0.990.99
Micro-AUC0.990.99
Loss1.521.89
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Chen, J.; Geng, X.; Yao, F.; Liao, X.; Zhang, Y.; Wang, Y. Single-Cycle Pulse Signal Recognition Based on One-Dimensional Deep Convolutional Neural Network. Electronics 2024, 13, 511. https://doi.org/10.3390/electronics13030511

AMA Style

Chen J, Geng X, Yao F, Liao X, Zhang Y, Wang Y. Single-Cycle Pulse Signal Recognition Based on One-Dimensional Deep Convolutional Neural Network. Electronics. 2024; 13(3):511. https://doi.org/10.3390/electronics13030511

Chicago/Turabian Style

Chen, Jingna, Xingguang Geng, Fei Yao, Xiwen Liao, Yitao Zhang, and Yunfeng Wang. 2024. "Single-Cycle Pulse Signal Recognition Based on One-Dimensional Deep Convolutional Neural Network" Electronics 13, no. 3: 511. https://doi.org/10.3390/electronics13030511

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop