Keywords

1 Introduction

Pulse diagnosis is an important part of Traditional Chinese medicine(TCM) method and has a history of thousands of years [1,2,3]. TCM doctors take the patient’s wrist with their index finger, middle finger and ring finger. Based on the touch of fingertips, doctors can judge the patient’s physiological condition [4]. As one of the four diagnostic methods in TCM, pulse diagnosis, does take on special significance, which reflect the functional and physiological activities of the visceral and cardiovascular, including relationships among organ groupings [5, 6].

TCM has used pulse feeling to diagnose pregnancy for thousands of years and accumulated rich clinical experience [7, 8]. Pregnancy is usually divided into three stages, namely early stage(E), middle stage(M) and late stage(L) three stages according to gestational age (9–14 weeks; 20–28 weeks; 32–37 weeks). Usually, pregnant women have profound physiological changes in the cardiovascular system during pregnancy. It starts in E stage of pregnancy, reaches its peak in the M stage of pregnancy, and peaking again around full term [9,10,11]. In particular, these changes will affect different organs of pregnant women, including cardiovascular, blood, metabolism, kidney and respiratory system, and have different effects on pregnancy pulse with different gestational periods.

From the perspective of TCM, the pulse shape during pregnancy, including rhythm, wave amplitude and arterial pulse speed etc., which can be used to reflect the physiological and pathological changes of pregnant women [12, 13]. In the three stages of pregnancy, there will be obvious differences in the wrist pulse of pregnant women due to the changes of organ system. Therefore, the pulse of study in each pregnancy period will help us to identify abnormal pregnancy changes. Experienced and famous traditional Chinese medicine can even determine the sex, development and health status of the fetus through the pregnancy pulse, and give rational treatment [14, 15]. However, it takes a long time to master pulse diagnosis and is considered to be a problem of subjective experience by western medicine. Thus, how to recognize and judge different pregnancy pulse with a more objective and accurate method has been a long time challenge.

With the rapid development of artificial intelligence (AI), the combination of TCM and AI to realize intelligent diagnosis of TCM has become a hot spot in the reform of TCM. Especially combined with AI technology, such as deep learning [16], decision tree [17] and convolutional neural network [18], etc., it has become a new diagnostic method of TCM. Fortunately, the method of intelligent diagnosis of TCM has been widely used, and many useful achievements have been made during this period. Chen et al. extracted the time-domain and energy characteristics of pulse wave by using time-frequency analysis method, and constructed BP neural network to distinguish different pulse conditions, and achieved good results [19]. Huang et al. explored the correlation between PPW and pregnancy through deep learning technology, and the calculation method showed that the accuracy of PPW in detecting pregnancy was 84%, and the area under the curve (AUC) was 91% [20]. Mao proposed a one-dimensional convolutional neural network (1D CNN) model with transmission block. The network structure can be used to distinguish pregnant pulse from normal pulse, and the classification accuracy is 97% [21]. Zhang et al. studied the changes of radial artery pulse and photoelectric volume pulse (PPG) pulse waveform with gestational age in normal pregnant women. They measured pulse waveforms in each trimester of pregnancy and extracted and calculated three pulse features [22]. Li studied the correlation and difference of pulse acquisition location and found that the difference of the three parts is mainly reflected in the time-frequency domain and power spectrum [23]. Liu et al. proposed a new and effective classification method of wrist pulse blood flow signals, which combined multiple features with multi-core learning (MKL) algorithm for classification [24]. Lu et al. used four algorithms of machine learning to analyze digital pulse wave form signal for recognition of pregnancy [25]. Shi et al. systematically reviewed the development of TCM intelligence, summarized the bottlenecks and shortcomings of TCM development, and put forward the future development direction [26]. Due to the rapid development of computer technology and deep learning, the reform of TCM has been accelerated, which contribute to the inheritance and development of TCM [27, 28].

However, most studies focused on the characteristics and morphology of pulse in the past, few works have focused on the analysis of pulse distinguish in different stages of pregnancy. As a matter of fact, there is a strong relationship and difference among the three trimesters. To identify the three trimesters of pregnancy pulse effectively can help us better understand the working state and external connection of pregnancy. To the best of our knowledge, the research on pulse of pregnancy identification problem is still open and remains challenging.

Motivated by the previous works, the discrimination of pulse at each stage of pregnancy was studied by the combination of CNN and gated recurrent unit(GRU) classifier. Firstly, the pulse signals of Chi position were collected from 160 healthy pregnancy women, which the number of women in the three stages are 50, 60, 50, respectively. Secondly, a new deep learning classifier by combining the technical advantages of GRU and CNN for pulse classification that learns the representation directly from the wave signal. Finally, the proposed classifier is used to classify the pulse in three stages of pregnancy.

The remainder of the paper is organized as follows. In Sect. 2, some introductions about pulse data collection and processing work are given. In Sect. 3, the methods designed and the network model are described in detail. In Sect. 4, the obtained results and analysis are given. Finally, we briefly outline the conclusions drawn from this study, which in turn serve as the basis for future work in Sect. 5.

2 Subjects and Methods

2.1 Volunteer Recruitment and Data Acquisition

For this study, pulse waveform recordings were available from 160 volunteers at the Affiliated Obstetrics and Gynecology Hospital of Fudan University, who were divided into three trimesters of pregnancy. The demographics of the group are provided in Table 1. During the examination, the volunteers were instructed to follow the standard. The research received the ethics approval from the Affiliated Obstetrics and Gynecology Hospital of Fudan University.

Table 1. Subjects index
Fig. 1.
figure 1

The pulse acquisition.

The wrist pulse measurements were performed in a quiet clinical measurement room at the Affiliated Obstetrics and Gynecology Hospital of Fudan University, Shanghai, China. In order to ensure the data quality, all pregnant women were required to rest quietly for 5 min and collect pulse after reaching a stable heart rate. The pressure sensor of TZ-2 data acquisition instrument was fixed to Chi position of the left wrist, and the radial pulse was recorded for 3 min by applying continuous pressure. The waveform acquisition is shown in Fig. 1.

2.2 Pulse Data Pre-processing

In order to optimize the performance of the proposed model, it is necessary to preprocess the original data. Data pre-processing mainly includes the following two aspects.

(a) Wavelet denoise and Baseline removed

The pulse signal will inevitably be polluted by the subjects’ breathing, artifact movement and other factors in the process of pulse acquisition. Therefore, preprocessing is the key to reduce noise and eliminate baseline drift of pulse waveform before further analysis. In this paper, a robust signal preprocessing framework and a cascade adaptive filter based on wavelet were used to denoise and remove baseline drift, respectively. The original pulse wave and pulse wave preprocessed are shown in Fig. 2.

Fig. 2.
figure 2

Pulse wave preprocessed.

(b) Normalization

Data normalization processing is a basic work of data mining. After the original data is normalization, all indicators are in the same order of magnitude, which is suitable for comprehensive comparison and evaluation.

2.3 Data Augmentation

Data amplification is the process of not actually adding to the original data, but simply making changes to the original data to create more data. The purpose of data amplification is to increase the amount of data, enrich the diversity of data and improve the generalization ability of the model. By augmenting the original data, 7650 pregnancy pulse data were included in the early, middle and late stages, respectively. These original pulse waves are used as analysis sequences for pulse analysis.

3 The Architecture of Proposed Model

This section describes the methods and the techniques used in the present work in detail. Because the pulse signal is a one-dimensional time series, the proposed network model needs to be suitable for processing one-dimensional data. The model should not only have good feature extraction ability, but also reconstruct the pulse waveform, so as to analyze the pulse data as accurately as possible. Generally speaking, CNN can automatically extract features and process high-dimensional data, while GRU can effectively analyze time series data. The network structures of the proposed model are shown in Table 2. CNN(ith/jth) represent the ith/jth CNN network, respectively. Among these eight convolutional structures, the number of convolutional kernels at 8 layers is 32, 32, 64, 64, 128, 128, 256 and 256, respectively.

Table 2. The structure of the proposed network.

3.1 Description of the CNN Module

Considering that pulse signals are all time series, the 1D CNN structure can effectively extract the features of the original pulse signals. Therefore, the 1D CNN model is used to carry out convolution layer and filter layer functions, features extraction, as is shown in Fig. 3.

Fig. 3.
figure 3

The architecture of proposed model.

The forward extraction model, which consists of convolution layer, normalization (BN) operation layer, a rectified linear unit (ReLU) and pooling layer, are used for feature extraction of pulse data. By trying different number of feature extraction blocks, it is found that too many or too few feature modules will lead to feature redundancy or lack of feature, which directly affects the classification effect. In order to improve the classification accuracy, six feature extraction modules were superimposed to form the backbone of the model, and the extracted features were further processed to achieve the best classification effect. Furthermore, each block was mixed ReLU and BN in the operation process. The pulse characteristics of the backbone module are sent to the GRU module for processing, and finally classified by Dense and Softmax layer. The 1D CNN layer can be described by the following equation,

$$\begin{aligned} x^{l}_{k}=f(\sum \limits _{i\in M_{k}}x^{l-1}_{i}\omega _{ik}+b_{k}) \end{aligned}$$
(1)

where \(M_{k}\) is defined as the effective range of the convolution kernel, \(x^{l}_{k}\) and \(b_{k}\) represent input and bias of the kth neuron at layer l, respectively. \(\omega _{ik}\) is the kernel from the ith neurons at layer l to the kth neurons at layer \(l-1\), \(f(^*)\) is the ReLU activation function. The structure of the proposed CNN module is shown in Table 2.

3.2 Description of the GRU Module

GRU is a variant of LSTM, which is a model that maintains the LSTM effect, has simpler structure, fewer parameters and better convergence. Compared with LSTM, GRU has only two gates: update gate(\(z_{t}\)) and reset gate(\(r_{t}\)). GRU can save a lot of time in the case of large training data, and avoids the disappearance of the gradient. Figure 4 and Fig. 5 are GRU network model and unit, respectively.

Fig. 4.
figure 4

GRU network model.

Fig. 5.
figure 5

GRU unit.

$$\begin{aligned} r_{t}=\delta (W^{T}_{xr}x_{t}+W^{T}_{or}o_{t-1}+b_{r}) \end{aligned}$$
(2)
$$\begin{aligned} z_{t}=\delta (W^{T}_{xz}x_{t}+W^{T}_{oz}o_{t-1}+b_{z}) \end{aligned}$$
(3)
$$\begin{aligned} \widetilde{o}_{t}=tanh(W^{T}_{x}x_{\widetilde{o}}+W^{T}_{o\widetilde{o}}(r_{t}\otimes o_{t-1})+b_{\widetilde{o}}) \end{aligned}$$
(4)
$$\begin{aligned} o_{t}=z_{t}\otimes {o}_{t-1}+(1-z_{t})\otimes \widetilde{o}_{t} \end{aligned}$$
(5)

where \(W_{xr}, W_{xz}, W_{x\widetilde{o}}\) are the weight matrix of the corresponding vector, \(W_{or}, W_{oz}, W_{o\widetilde{o}}\) are the weight matrix of the \(t-1\) moment, and \(b_{r}, b_{r}, b_{\widetilde{o}}\) represent the deviation, respectively. GRU network are connected behind the Block unit composed of CNN network, which realize the characteristic processing of the output data of Block unit, as show in Fig. 3.

3.3 Loss Function

The loss function a function that maps the value of a random event or its related random variables to a non negative real number to represent the risk or loss of the random event. In application, the loss function is usually associated with the optimization problem as a learning criterion, that is, the model is solved and evaluated by minimizing the loss function. The cross entropy loss function is a smooth function. Its essence is the application of cross entropy in information theory in classification problems. In this work, the cross-entropy function is selected as the cost function. The formula is as follows,

$$\begin{aligned} L=-\frac{1}{N}[y_{n}log(\hat{y})+(1-y)log(1-\hat{y})] \end{aligned}$$
(6)

where L represents the total cost, N is the number of training data, \(y_{n}\) is the expected output and \(\hat{y}\) is the actual output generated by the network.

4 Results

In our experiment, we adopt CNN and GRU to classify the three stages of pregnancy pulse.

4.1 Set Up

The data set was randomly split into a ratio of 8:2, i i.e., 80% for training, and 20% for testing. This experimental scheme is implemented through Python coding, and the framework used is Keras framework. The experiment environment was set up on an Intel i9-10900 3.10 GHz CPU, the GPU was NVIDIA GeForce GTX1050 and 32G.

4.2 Evaluation

In this paper, pulse data were used for both training and performance evaluation. The four commonly used performance indicators: F1 score, accuracy, precision and recall, which are adopted to evaluate the diagnostic performance by 4-fold cross validation. The four indicators are defined as Eqs.

$$\begin{aligned} Accuracy, ACC =\frac{TP+TN}{(TP+TN)+(FP+FN)}\times 100\% \end{aligned}$$
(7)
$$\begin{aligned} Recall~or~Sensitivity, SEN =\frac{TP}{TP+FN}\times 100\% \end{aligned}$$
(8)
$$\begin{aligned} Precision, PRE=\frac{TP}{TP+FP}\times 100\% \end{aligned}$$
(9)
$$\begin{aligned} F1-score = \frac{2Precision\cdot Recall}{Precision+Recall} \end{aligned}$$
(10)

where, TP is the number of positive training data are evaluated as positive, TN is the number of activities correctly predicted to be negative, FP is the classification result where negative training data are evaluated as positive, and FN Is the classification result that evaluates positive training data as negative. F1-score is the harmonic mean of accuracy and recall, with a maximum of 1 and a minimum of 0. Obviously, the higher the recall and precision results, the greater the F1 score.

4.3 Experiment

In this section, the 1D CNN and GRU structure proposed will be comprehensively evaluated efficiency and performance when performing pregnancy pulse classification tasks, using a balanced data set containing data amplification strategies. In order to find the most suitable classification model, 5 kinds of 1D CNN structures were used for evaluation. The 5 kinds of 1D CNN layer are 4, 5, 6, 7, and 8 respectively. The Table 3 shows the classification accuracy of each structure. As can be seen from Table 3, when the number of 1D CNN layers increases, the accuracy of classification also increases. When the number of 1D CNN layers is 6, the classification accuracy is maximum. After that, with the increase of the number of 1D CNN layers, the accuracy of classification decreased. This phenomenon indicated that the classification results will be affected by the number of 1D CNN layer. Actually, when the 1D CNN layer deepens to a certain threshold, the performance of classifier is no longer strong and the training time will become longer. Therefore, six CNN layers were selected as the main structure of this experiment for pulse classification and discrimination.

Based on the results of the experiment, we found that the capability of the entire network model was significantly improved to recognize pregnancy pulse signals by applying the combined model of CNN and GRU. The confusion matrices and evaluation metrics for pulse discrimination with training and test data are presented in Fig. 6, Fig. 7 and Fig. 8, respectively. The confusion matrices mainly used to compare the classification results with the actual measured values, and the accuracy of the classification results can be displayed in a confusion matrix. It can be observed from Fig. 6 that, for the test data, the 1D CNN model can achieve 85% for E stage, 88% for M stage and 86% for L stage.

Table 3. Basic physiological data of the participants

For pregnancy pulse, we can observe the stable accuracy and loss values after 1500 iterations in Fig. 7 and Fig. 8, respectively. The accuracy and loss are obtained through different iterations. With the increase of iteration times, the accuracy is improved and the loss is reduced. The accuracy increases as the number of iteration increases, and the loss decreases at the same time in a certain range. Figure 9 shows the receiver operating characteristic (ROC) curve of the model in this paper. It is a comprehensive index reflecting the continuous variables of sensitivity and specificity, and calculates a series of sensitivity and specificity. A curve was drawn with sensitivity as ordinate and specificity as abscissa. The larger the area under the curve(AUC), the higher the diagnostic accuracy. From the Fig. 9, we find that the AUC achieve 97% for E stage, 95% for M stage and 97% for L stage, respectively. In addition, F1-score was calculated and found that the pulse classification accuracy of the network structure in pulse can reach 90.61%, the average sensitivity, precision and F1-score are 88.18%, 86.25% and 87.42%, respectively.

Fig. 6.
figure 6

Confusion matrix of the proposed model.

Fig. 7.
figure 7

Training and validation accuracy curve for each training epoch.

4.4 Compared

Table 4 shows the comparison between the proposed method and the existing pulse classification methods in accuracy and ROC. Compared with the Chen et al.’s [20] and Lu et al.’s [25] proposed network whose performance are 84.7% and 83.9% in accuracy and AUC, ours model have much more in accuracy and AUC, respectively. It may be due to the preprocessing of waveform, and the combined network of 1DCNN and GRU is more conducive to the extraction of effective characteristics of waveform and analysis, thus achieving a better results.

Fig. 8.
figure 8

Training and validation loss curve for each training epoch.

Fig. 9.
figure 9

ROC curve

Table 4. Basic physiological data of the participants

5 Conclusion and Recommendations

This paper proposed a new classification method that introduces the advantage of 1D CNN and GRU into learning approach for pregnancy pulse. Conclusions are summarized as follows. Firstly, the pulse signals of Chi acquisition position were collected from healthy pregnancy. Secondly, the proposed 1D CNN model has been applied to classify the pregnancy pulse that learns the representation directly from the wave signal. Finally, the classification results show that the proposed network model has better ability of learning and feature extraction and shows significant advantages in the accuracy, the precision, and the recall etc. In the future, the improvement of the proposed model will be studied and further explore the scope of application.