Method, device and equipment for determining blood pressure based on PPG signal and storage medium
By training a neural network model to process the distorted sequence in the PPG signal and referencing the blood pressure value at the previous moment, the problem of inaccurate blood pressure prediction caused by the instability of the PPG signal is solved, ensuring the accuracy of continuous blood pressure prediction.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HONG KONG CENT FOR CEREBRO CARDIOVASCULAR HEALTH ENG LTD
- Filing Date
- 2023-10-11
- Publication Date
- 2026-05-29
AI Technical Summary
The instability and distortion of PPG signals weaken the effectiveness of traditional deep neural network models in long-term continuous blood pressure prediction, and redundant information affects prediction accuracy.
By training a neural network model and using training samples containing distorted sequences in the sample signal sequence, the model parameters are adjusted to reference the blood pressure value of the previous moment when processing distorted sequences, avoiding redundant information transmission and ensuring the accuracy of continuous blood pressure prediction.
It achieves accurate prediction of blood pressure values at each moment even when there are distorted sequences in the PPG signal, maintaining a good effect of long-term continuous blood pressure prediction.
Smart Images

Figure CN117257256B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of medical technology, and more specifically, to a method, apparatus, device, and storage medium for determining blood pressure based on PPG signals. Background Technology
[0002] Currently, photoplethysmography (PPG) signals are widely used for cuffless blood pressure prediction.
[0003] On the one hand, PPG signals are not stable, and their shape can be distorted by a variety of factors, such as noise, light intensity, and sensor contact pressure.
[0004] On the other hand, traditional deep neural network models predict blood pressure based on the characteristics of continuous PPG signals. Specifically, when predicting blood pressure at the current moment based on a segment of PPG signal corresponding to the current moment, it is necessary to refer to the processing results of multiple previous PPG signals. However, if there is a distorted PPG signal among these multiple PPG signals, referring to its processing result will weaken the blood pressure prediction effect. For the current moment, the processing result of the distorted PPG signal is redundant information.
[0005] This shows that the redundant information caused by distorted PPG signals is deeply transmitted to the neural network model, thereby weakening the effect of long-term continuous blood pressure prediction. Summary of the Invention
[0006] The purpose of this application is to solve the problems shown in the background art.
[0007] On one hand, embodiments of this application provide a method for determining blood pressure, the method comprising:
[0008] A target signal sequence is obtained, comprising multiple first PPG signal sequences at various time points. Each first PPG signal sequence consists of multiple PPG signals acquired at a corresponding end time. The target signal sequence is input into a pre-trained neural network model to obtain the blood pressure value sequence corresponding to the target signal sequence output by the neural network model. The neural network model is trained using sample signal sequences as training samples and the corresponding sample blood pressure value sequences as training labels. At least one sample PPG signal sequence in the sample signal sequence is a distorted sequence that meets the distortion criteria, and the sample blood pressure value corresponding to each distorted sequence is related to the sample blood pressure value corresponding to the sample PPG signal sequence at the previous time point of the distorted sequence.
[0009] Optionally, the target signal sequence is obtained, including:
[0010] PPG signals are acquired at multiple acquisition times to obtain the original PPG signal sequence. A signal window of a first preset duration is created, where the duration of the original PPG signal sequence is greater than the first preset duration. Starting from the first PPG signal in the original PPG signal sequence, the signal window is slid multiple times in units of the first preset duration. For each subsequent slide, the acquisition time corresponding to the last PPG signal in the signal window is taken as the target time. Starting from the first PPG signal, the sequence of the first preset number of PPG signals in the signal window is taken as the first PPG signal sequence for the target time. The corresponding first PPG signal sequences are arranged according to the time sequence of each target time to obtain the target signal sequence.
[0011] Optionally, the target signal sequence includes a second preset number of first PPG signal sequences.
[0012] The neural network model includes an array of neurons, which in turn includes a second preset number of neuron columns.
[0013] The process involves inputting the target signal sequence into a pre-trained neural network model to obtain a blood pressure value sequence corresponding to the target signal sequence output by the neural network model, including:
[0014] The neuron column for processing each first PPG signal sequence is determined from the neuron array according to the time sequence at the corresponding time points. For each first PPG signal sequence, if the corresponding neuron column is the first neuron column, the corresponding neuron column is activated to process the first PPG signal sequence and obtain the blood pressure value corresponding to the first PPG signal sequence. If the corresponding neuron column is not the first neuron column, after obtaining the blood pressure value corresponding to the first PPG signal sequence at the previous time point, the corresponding neuron column is used as the target neuron column, and the target neuron column is activated to process the first PPG signal sequence and obtain the blood pressure value corresponding to the first PPG signal sequence.
[0015] Optionally, for each neuron in the neuron array, the neuron's output is connected to a hopping module, which is used to receive the initial unit state and initial hidden state of the corresponding neuron.
[0016] Specifically, the process involves activating the target neuron column to process non-first PPG signal sequences to obtain blood pressure values corresponding to non-first PPG signal sequences, including:
[0017] For each neuron in the target neuron column, the final unit state and final hidden state of the neurons in the same row of the preceding neuron column, as well as the neuron's input state, are obtained. Based on the obtained final unit state and final hidden state, the neuron's input state is processed to obtain the neuron's initial hidden state and initial unit state. A skip module connected to the neuron's output processes the neuron's initial hidden state and initial unit state based on whether the first PPG signal sequence is a distorted sequence, obtaining the neuron's final unit state and final hidden state. The input states and final hidden states of the terminal neurons in the target neuron column are merged to obtain a merged value, which is used as the blood pressure value corresponding to the first PPG signal sequence.
[0018] Optionally, each neuron is followed by a residual connection module, which is used to receive the input state and the final hidden state of the corresponding neuron. The residual connection module is connected to the next neuron in the same column.
[0019] Obtain the input state of the neuron, including:
[0020] If the neuron is the first neuron in the target neuron sequence, the first PPG signal sequence is used as the neuron's input state. If the neuron is not the first neuron in the target neuron sequence, it receives the output of the residual connection module connected to the neuron and uses the received output as the neuron's input state.
[0021] Optionally, each skip module in the neural network model shares a weighting coefficient.
[0022] The skipping module connected to the neuron's output processes the neuron's initial hidden state and initial unit state based on whether the first PPG signal sequence is a distorted sequence, obtaining the neuron's final unit state and final hidden state, including:
[0023] If the first PPG signal sequence is determined to be a non-distorted sequence, the initial hidden state and initial unit state of the neuron are determined as the final unit state and final hidden state of the neuron.
[0024] If the first PPG signal sequence is determined to be a distorted sequence, the final hidden state and final unit state of the neurons in the previous neuron column of the target neuron column in the same row are obtained. According to the weighting coefficient, the initial unit state of the neuron and the obtained final unit state are weighted to obtain the final unit state of the neuron. The initial hidden state of the neuron and the obtained final hidden state are also weighted to obtain the final hidden state of the neuron.
[0025] Optionally, determining whether the first PPG signal sequence is a distorted sequence includes:
[0026] A second PPG signal sequence corresponding to the first PPG signal sequence is determined, wherein at least one PPG signal in the second PPG signal sequence is a PPG signal in the first PPG signal sequence, and the total number of PPG signals in the second PPG signal sequence is the same as the total number of PPG signals in the first PPG signal sequence. PPG signals of the same order in the first and second PPG signal sequences are combined to obtain at least one signal pair. Each signal pair is used as a coordinate, and the coordinates are connected according to their corresponding time sequences to obtain a phase space feature map corresponding to the first PPG signal sequence. The phase space feature map is divided into a third preset number of image blocks, and the number of image blocks with connecting trajectories within the third preset number of image blocks is obtained. Whether the first PPG signal sequence is a non-distorted sequence is determined based on whether the number is not greater than a preset threshold; if the number is not greater than the preset threshold, it is a non-distorted sequence; if the number is greater than the preset threshold, it is a distorted sequence.
[0027] Optionally, determining a second PPG signal sequence corresponding to the first PPG signal sequence includes:
[0028] Determine the signal window containing the first PPG signal sequence. Starting from a non-first PPG signal, take the sequence of the first preset number of PPG signals that follow in the signal window as the second PPG signal sequence.
[0029] Optionally, each blood pressure value sequence includes at least one blood pressure value, and each blood pressure value includes one systolic blood pressure value and one diastolic blood pressure value.
[0030] The weighting factors include a first weighting factor for determining the systolic blood pressure value and a second weighting factor for determining the diastolic blood pressure value.
[0031] The training process of a neural network model includes:
[0032] Obtain at least one sample signal sequence and the corresponding systolic and diastolic blood pressure sequences for each sample signal sequence. Determine the first and second weighting coefficients in each skip model as initial values.
[0033] For each sample signal sequence, perform the following operation until either the first weighting coefficient or the second weighting coefficient converges:
[0034] The sample signal sequence is input into a neural network model configured with the first weighting coefficient to obtain the actual systolic blood pressure value sequence. A first loss is determined relative to the sample systolic blood pressure value sequence corresponding to the actual systolic blood pressure value sequence, and the first weighting coefficient is adjusted based on this first loss.
[0035] or,
[0036] The sample signal sequence is input into a neural network model configured with a second weighting coefficient to obtain the actual diastolic blood pressure value sequence. A second loss is determined relative to the sample diastolic blood pressure value sequence corresponding to the sample signal sequence, and the second weighting coefficient is adjusted based on the second loss.
[0037] According to another aspect of the embodiments of this application, a device for determining blood pressure based on PPG signals is provided, the device comprising:
[0038] The acquisition module is used to acquire the target signal sequence, which includes multiple first PPG signal sequences at various times. Each first PPG signal sequence consists of multiple PPG signals acquired at a corresponding end time.
[0039] The processing module is used to input the target signal sequence into a pre-trained neural network model to obtain the blood pressure value sequence corresponding to the target signal sequence output by the neural network model.
[0040] The neural network model is trained using sample signal sequences as training samples and sample blood pressure value sequences corresponding to the sample signal sequences as training labels. At least one time step in the sample signal sequence is a distorted sequence that meets the distortion criteria, and the blood pressure value corresponding to each distorted sequence is related to the blood pressure value corresponding to the first PPG signal sequence at the previous time step of the distorted sequence.
[0041] According to another aspect of the present application, an electronic device is provided, comprising: a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of a method for determining blood pressure based on PPG signals.
[0042] According to another aspect of the embodiments of this application, a computer-readable storage medium is provided that stores a computer program thereon, wherein the computer program, when executed by a processor, comprises steps of a method for determining blood pressure based on a PPG signal.
[0043] The beneficial effects of the technical solutions provided in this application are:
[0044] In the model training phase of this application, sample signal sequences are used as training samples. The sample signal sequences contain at least one PPG signal sequence that meets the distortion criteria, and the corresponding blood pressure value sequences are used as training labels to train the neural network model. When processing sample PPG signal sequences after the distortion sequence, the neural network model relies on the blood pressure value corresponding to the distortion sequence. The neural network model determines the blood pressure value corresponding to the distortion sequence by referring to the blood pressure value corresponding to the sample PPG signal sequence at the previous time step. This method avoids adverse effects on the processing of subsequent sample PPG signal sequences. Since the blood pressure values obtained from processing the distortion sequence are redundant information, this operation can also be understood as preventing redundant information from being deeply propagated into the neural network model. Therefore, the neural network model is trained using sample signal sequences with distortion sequences, and the training loss is obtained based on the training labels. The parameters in the neural network model are adjusted based on the training loss until the parameters in the neural network model converge, thereby obtaining a pre-trained neural network model.
[0045] This application provides a method for determining blood pressure based on PPG signals. It processes continuous PPG signals acquired over a long period into multiple time-series PPG signal sequences, i.e., target signal sequences, to obtain a target signal sequence composed of first PPG signal sequences from multiple time points. This target signal sequence is then input into a pre-trained neural network model to obtain a blood pressure value sequence corresponding to the target signal sequence output by the neural network model. When at least one time point in the multiple time-series PPG signal sequences is a distorted sequence, the pre-trained neural network model can output the blood pressure value corresponding to the distorted sequence while ensuring that the processing of other first PPG signal sequences after the distorted sequence is not affected by the distorted sequence. This achieves accurate prediction of the blood pressure value corresponding to the first PPG signal sequence at each time point in the target signal sequence, thus ensuring good prediction performance for long-term continuous blood pressure prediction. Attached Figure Description
[0046] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments of this application will be briefly introduced below.
[0047] Figure 1 A flowchart illustrating a method for determining blood pressure based on PPG signals, provided as an embodiment of this application;
[0048] Figure 2 This is a schematic diagram of the structure of a neural network model provided in an embodiment of this application;
[0049] Figure 3 This application provides a schematic diagram of the connection between neurons in an embodiment.
[0050] Figure 4 A schematic diagram illustrating an implementation process based on a neural network model, provided for an embodiment of this application;
[0051] Figures 5a-5b Two PPG signal sequences are provided in the embodiments of this application;
[0052] Figures 5c-5d Two phase space feature maps provided in the embodiments of this application;
[0053] Figure 6 A schematic diagram of a device for determining blood pressure based on PPG signals, provided for an embodiment of this application;
[0054] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0055] The embodiments of this application are described below with reference to the accompanying drawings. It should be understood that the embodiments described below with reference to the accompanying drawings are exemplary descriptions for explaining the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions of the embodiments of this application.
[0056] Those skilled in the art will understand that, unless otherwise stated, the singular forms “a,” “an,” “the,” and “the” used herein may also include the plural forms. It should be further understood that the terms “comprising” and “including” as used in embodiments of this application mean that the corresponding feature can be implemented as the presented feature, information, data, step, operation, element, and / or component, but do not exclude implementation as other features, information, data, step, operation, element, component, and / or combinations thereof supported by the art. It should be understood that when we say that an element is “connected” or “coupled” to another element, the one element can be directly connected or coupled to the other element, or it can mean that the one element and the other element establish a connection relationship through an intermediate element. Furthermore, “connected” or “coupled” as used herein can include wireless connection or wireless coupling. The term “and / or” as used herein indicates at least one of the items defined by the term; for example, “A and / or B” indicates implementation as “A,” or implementation as “A,” or implementation as “A and B.”
[0057] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0058] First, let's introduce and explain several terms used in this application:
[0059] LSTM: Long Short-Term Memory, is a special type of RNN (Recurrent Neural Network). Compared with traditional RNNs, LSTM is more suitable for processing and predicting important events with long intervals in time series.
[0060] The LSTM structure consists of four parts: memory cell, input gate, output gate, and forget gate.
[0061] in:
[0062] Memory cell: This is the core of the LSTM, responsible for storing important information and passing it to subsequent network layers. The role of the memory cell is to maintain a persistent state, continuously updated with each input. Its characteristic is the ability to store historical information and apply it to the current prediction. The memory cell can be viewed as a simple number, updated at each time step, with the input gate, forget gate, and output gate controlling how this value is updated and output at each time step.
[0063] Input gate: determines whether the current input information is written to the memory cell; in other words, it can control the effect of the input information on the memory cell.
[0064] Forget gate: determines whether information in memory cells is forgotten; in other words, it controls whether the information stored in memory cells will disappear.
[0065] Output gate: determines whether information in the memory cell is output, that is, it can control whether the information stored in the memory cell will affect the subsequent network layers.
[0066] These four parts are calculated by multiplying the weight matrix by the dot product of the input signal, calculating the output value of each gate using an activation function (usually the sigmoid function), and then multiplying it by the value of the memory cell to perform the final calculation.
[0067] In this way, the input gate determines how much information to write to the memory cell by multiplying its output value by the current input signal; the forget gate determines how much information to erase by multiplying its output value by the current memory cell value; and the output gate determines how much information to output to the subsequent network layers by multiplying its output value by the current memory cell value. Through this structural design, LSTM can retain important information while forgetting irrelevant information, better handling the problem of long-term dependencies.
[0068] The technical solutions of this application and their effects are described below through several exemplary embodiments. It should be noted that the following embodiments can be referenced, borrowed from, or combined with each other. Identical terms, similar features, and similar implementation steps in different embodiments will not be repeated.
[0069] Figure 1 A flowchart illustrating a method for determining blood pressure based on PPG signals is shown. This method includes steps S110 to S120.
[0070] S110, Obtain the target signal sequence, which includes multiple first PPG signal sequences at various times. Each first PPG signal sequence consists of multiple PPG signals acquired at the corresponding end time.
[0071] Among them, multiple moments are consecutive, and each adjacent moment is separated by the same duration.
[0072] In one example, the target signal sequence consists of a first PPG signal sequence at 8 time points, with a 2-second interval between any two adjacent time points.
[0073] In one possible implementation of this embodiment, obtaining the target signal sequence includes the following steps Sa1 to Sa4.
[0074] Sa1 acquires PPG signals at multiple acquisition times to obtain the original PPG signal sequence and creates a signal window of a first preset duration, where the duration of the original PPG signal sequence is greater than the first preset duration.
[0075] Specifically, by setting a preset frequency, multiple acquisition times can be obtained. By acquiring PPG signals at multiple acquisition times, the original PPG signal sequence can be obtained.
[0076] Sa2 starts from the first PPG signal in the original PPG signal sequence and slides the signal window multiple times in units of a first preset duration.
[0077] Sa3, for each sliding signal window, takes the acquisition time of the last PPG signal in the signal window as the target time, and starts from the first PPG signal, takes the sequence of the first preset number of PPG signals in the signal window as the first PPG signal sequence of the target time.
[0078] Sa4, according to the timing of each target time, arranges the corresponding first PPG signal sequence to obtain the target signal sequence.
[0079] Specifically, the timing sequence is a time order from front to back, arranging each first PPG signal sequence according to its respective target time to obtain the target signal sequence.
[0080] S120: Input the target signal sequence into a pre-trained neural network model to obtain the blood pressure value sequence corresponding to the target signal sequence output by the neural network model.
[0081] In one example, the neural network model could be a Long Short-Term Memory (LSTM) network.
[0082] The neural network model is trained using sample signal sequences as training samples and corresponding sample blood pressure value sequences as training labels. At least one time step in the sample signal sequence is considered a distorted sequence that meets the distortion criteria, and the blood pressure value corresponding to each distorted sequence is related to the blood pressure value corresponding to the sample PPG signal sequence at the previous time step.
[0083] In related technologies, there are various ways to process PPG signals and obtain blood pressure values through neural network models. The embodiments of this application provide a possible implementation method based on neural network models, specifically obtaining blood pressure value sequences through target signal sequences.
[0084] The target signal sequence includes a second preset number of first PPG signal sequences, and the neural network model includes a neuron array, which includes a second preset number of neuron columns.
[0085] The sample signal sequence also includes a second preset number of sample PPG signal sequences.
[0086] Specifically, step S120 also includes Sb1 to Sb3.
[0087] Sb1 determines the neuron column from the neuron array that processes each first PPG signal sequence according to the temporal order of the corresponding time.
[0088] In one example, the second preset quantity is 8, then the neuron array includes 8 neuron columns and the target signal sequence includes 8 first PPG signal sequences.
[0089] Sb2, for each first PPG signal sequence, if the corresponding neuron column is the first neuron column, the corresponding neuron column is activated to process the first PPG signal sequence and obtain the blood pressure value corresponding to the first PPG signal sequence.
[0090] Sb3, if the corresponding neuron column is not the first neuron column, after obtaining the blood pressure value corresponding to the first PPG signal sequence at the previous time, the corresponding neuron column is used as the target neuron column, and the target neuron column is started to process the first PPG signal sequence to obtain the blood pressure value corresponding to the first PPG signal sequence.
[0091] This application also provides an implementation method in which, for each neuron in the neuron array, the output of the neuron is connected to a hopping module, which is used to receive the initial unit state and the initial hidden state of the corresponding neuron.
[0092] In step Sb3, the target neuron column is activated to process non-first PPG signal sequences to obtain the blood pressure value corresponding to non-first PPG signal sequences, including the following steps Sc1 to Sc3.
[0093] Sc1: For each neuron in the target neuron column, obtain the final unit state and final hidden state of the neuron in the same row of the previous neuron column, as well as the input state of the neuron. Based on the obtained final unit state and final hidden state, process the input state of the neuron to obtain the initial hidden state and initial unit state of the neuron.
[0094] Each neuron is followed by a residual connection module, which receives the input state and the final hidden state of the corresponding neuron. The residual connection module is connected to the next neuron in the same column.
[0095] Since there are no residual connection modules preceding the first neuron, the input state of the neuron can also be obtained based on whether the neuron is the first neuron in the target neuron column.
[0096] Specifically, if the neuron is the first neuron in the target neuron column, the first PPG signal sequence is used as the neuron's input state. If the neuron is not the first neuron in the target neuron column, it receives the output of the residual connection module connected to the neuron and uses the received output as the neuron's input state.
[0097] Sc2, a skipping module connected to the neuron's output, processes the neuron's initial hidden state and initial unit state based on whether the first PPG signal sequence is a distorted sequence, and obtains the neuron's final unit state and final hidden state.
[0098] In the neural network model, each skip module shares a weighting coefficient.
[0099] Specifically, if the first PPG signal sequence is determined to be a non-distorted sequence, the initial hidden state and initial unit state of the neuron are determined as the final unit state and final hidden state of the neuron.
[0100] Specifically, if the first PPG signal sequence is determined to be a distorted sequence, the final hidden state and final unit state of the neurons in the previous neuron column of the target neuron column in the same row are obtained. Based on the weighting coefficient, the initial unit state of the neuron and the obtained final unit state are weighted to obtain the final unit state of the neuron; and the initial hidden state of the neuron and the obtained final hidden state are weighted to obtain the final hidden state of the neuron.
[0101] Specifically, each blood pressure value sequence includes at least one blood pressure value, and each blood pressure value includes one systolic blood pressure value and one diastolic blood pressure value. The weighting coefficients include a first weighting coefficient for determining the systolic blood pressure value and a second weighting coefficient for determining the diastolic blood pressure value.
[0102] Generally speaking, both the first and second weighting coefficients are infinitely close to 1. In this way, when determining the final hidden state of a neuron, the initial hidden state and the initial unit state of the neuron can be filtered out. The neurons in the target neuron column pass on the final hidden state and the final unit state of the neurons in the previous neuron column to the subsequent neurons, which means that redundant information is avoided from being deeply transmitted to the neural network model.
[0103] Sc3 merges the input state and the final hidden state of the terminal neurons in the target neuron column to obtain a merged value, which is used as the blood pressure value corresponding to the first PPG signal sequence.
[0104] When the weighting factor is the first weighting factor, the combined value obtained is the systolic blood pressure value. When the weighting factor is the second weighting factor, the combined value obtained is the diastolic blood pressure value.
[0105] This application also provides an implementation method to determine whether the first PPG signal sequence is a distorted sequence in the following way, which includes the following steps Sd1 to Sd5.
[0106] Sd1, determine a second PPG signal sequence corresponding to the first PPG signal sequence, wherein at least one PPG signal in the second PPG signal sequence is a PPG signal in the first PPG signal sequence, and the total number of PPG signals in the second PPG signal sequence is the same as the total number of PPG signals in the first PPG signal sequence.
[0107] In one possible implementation, Sd1 includes the following steps Se1 to Se2.
[0108] Se1 determines the signal window in which the first PPG signal sequence is located.
[0109] Se2, starting from a non-first PPG signal, takes the sequence of the first preset number of PPG signals in the signal window as the second PPG signal sequence.
[0110] Sd2 combines PPG signals of the same order in the first PPG signal sequence and the second PPG signal sequence to obtain at least one signal pair.
[0111] Sd3 uses each signal pair as a coordinate and connects the coordinates according to the time sequence of the corresponding time to obtain the phase space feature map corresponding to the first PPG signal sequence.
[0112] Sd4 divides the phase space feature map into a third preset number of image blocks and obtains the number of image blocks with connecting trajectories in the third preset number of image blocks.
[0113] Sd5 determines whether the first PPG signal sequence is a distortion-free sequence based on whether the quantity is not greater than a preset quantity threshold.
[0114] If the number is not greater than a preset threshold, it is a non-distorted sequence; if the number is greater than the preset threshold, it is a distorted sequence.
[0115] This application also provides an implementation method, which describes the training process of the neural network model through the following steps Sg1 to Sg3.
[0116] Sg1, obtain at least one sample signal sequence and the corresponding systolic blood pressure value sequence and diastolic blood pressure value sequence for each sample signal sequence.
[0117] Sg2 determines the first and second weighting coefficients in each jump model as initial values.
[0118] Sg3 performs the following operation for each sample signal sequence until either the first weighting coefficient or the second weighting coefficient converges:
[0119] The sample signal sequence is input into a neural network model configured with the first weighting coefficient to obtain the actual systolic blood pressure value sequence. A first loss is determined relative to the sample systolic blood pressure value sequence corresponding to the actual systolic blood pressure value sequence, and the first weighting coefficient is adjusted based on this first loss.
[0120] or,
[0121] The sample signal sequence is input into a neural network model configured with a second weighting coefficient to obtain the actual diastolic blood pressure value sequence. A second loss is determined relative to the sample diastolic blood pressure value sequence corresponding to the sample signal sequence, and the second weighting coefficient is adjusted based on the second loss.
[0122] To better understand the implementation effect of a method for determining blood pressure based on PPG signals, this application also provides an example.
[0123] This example provides a schematic diagram of the structure of a neural network model, such as... Figure 2 As shown, the hidden layer of the neural network model consists of an array of neurons, which comprises p rows * n columns of neurons (e.g., ...). Figure 2 In the 210), each neuron can be identified as (i∈[1,p], j∈[1,n]). Each neuron in a column processes a signal sequence corresponding to a given time step (e.g., X(t-1), X(t)…X(t+n)) and outputs the blood pressure at that time step (e.g., Y(t-1), Y(t)…Y(t+n)). The output of each neuron is connected to a skip module (e.g., ...). Figure 2 The input of neuron 230 is used as the input, and the output of the skip module is connected to the input of the next neuron in the same row. Adjacent neurons in the same column are connected by a residual connection module (such as...). Figure 2 (220 in the middle).
[0124] This example also provides a connection structure diagram between two neurons in the same row of a neural network model, such as... Figure 3 As shown. Figure 3 In this diagram, 300 represents a neuron, 310 represents a skipping module, and 320 represents a residual connection module. The neurons include activation functions: the sigmoid function and the tanh function.
[0125] For ease of description, m t The corresponding first PPG signal sequence is identified as x t , will m t+1 The corresponding first PPG signal sequence is identified as x t+1 , will x t and x t+1 Input the data sequentially into the neural network model to obtain m. t m t+1 The blood pressure. Where f, O, i, and C represent the forget gate, input gate, output gate, and cell state under the input signal, respectively, and h is the hidden state.
[0126] This example also provides a basis Figure 2 The diagram illustrates the implementation process of the neural network model. Figure 4As shown, the process includes steps S1 to S4.
[0127] S1, at acquisition time m i (i∈[1,Z]) Acquire a PPG signal to obtain PPG i (i∈[1,Z]).
[0128] For example, if PPG signals are acquired at a frequency of 250 times / s, and the acquisition time is 16 seconds, m will be obtained. i (i∈[1,250*16]), and PPG i (i∈[1,250*16]).
[0129] S2, from m i Determine k first moments m from (i∈[1,Z]) t , obtain m t (t∈[1,k]), determine m t The corresponding first PPG signal sequence and second PPG signal sequence.
[0130] Where, m t and m t+1 There are (z1-1) data collection times in between.
[0131] For example, determine an m every 2 seconds. t Then we get 8 m t That is, m1, m2, m3, m4, m5, m6, m7 and m8.
[0132] m t The PPG signal acquired (t∈[1,k]) is used as the last PPG signal, from which the PPG signal is obtained. i In (i∈[1,Z]), z1 PPG signals are sequentially extracted to obtain m. t The corresponding first PPG signal sequence PPG 1i (i∈[1,z1]).
[0133] For example, the first PPG signal sequence corresponding to m1 includes 500 PPG signals.
[0134] From m t and m t+1 The second time m is determined from the (z1-1) acquisition times between them. at , will m at The acquired PPG signal is used as the last PPG signal, from PPG i z1 PPG signals are sequentially extracted from (i∈[1,Z]) to obtain m t The corresponding second PPG signal sequence PPG 2i (i∈[1,z1]).
[0135] S3, m t (t∈[1,k]) corresponding PPG 1i (i∈[1,z1]) and PPG 2i (i∈[1,z1]) are combined in order to obtain coordinates (PPG) 1i PPG 2i (i∈[1,z1]), concatenating the z1 coordinates in sequence yields m. t The corresponding phase space feature map.
[0136] m t The corresponding phase space feature map is segmented into z2 image blocks, and the number z3 of image blocks with connected lines is calculated. If z3 is greater than the threshold z4, then m is determined. t The corresponding PPG 1i (i∈[1,z1]) distortion; if the quantity is not greater than z4, then determine m. t The corresponding PPG 1i (i∈[1,z1]) is not distorted.
[0137] This example also demonstrates two PPG signal sequences and two phase space feature maps, such as Figures 5a-5d As shown. Specifically, Figures 5a-5d The example window shown displays, in sequence: the undistorted first PPG signal sequence, the distorted first PPG signal sequence, the phase space feature map of the undistorted first PPG signal sequence, and the phase space feature map of the distorted first PPG signal sequence.
[0138] S4, m t (t∈[1,k]) corresponding PPG 1i (i∈[1,z1]) and the distortion result are input into the neural network model to obtain m. t The corresponding blood pressure. Next, the interaction process of the first PPG signal sequence at two adjacent time points will be explained through the following 6 steps.
[0139] The first step is to input m into the neural network model. t X of time t And assign a row of neurons B j (j∈[1,n]) for m t X of time t Processing is required. Among them, X... t Including x t and x t The result is distorted.
[0140] The second step is for B. j medium neurons (i∈[1,p]), obtain The input signal (when i = 1, the input signal includes x) t , The final h t-1 and C t-1 ), Process the input signal to obtain initial h t and C t .
[0141] The third step, for (i∈[1,p], x) t Distorted results initial h t and C t Output to The connected jump module, the jump module according to x t Determine whether the distorted results need optimization. initial h t and C t If x t If the distortion result is distortion, then for initial h t and C t Optimize to obtain The final h t and C t If there is no distortion, then... initial h t and C t As The final h t and C t .
[0142] Jump module determined The final h t Next, it is necessary to Input and The final h t As Input, Follow the steps two and three... until... Finally, according to The final h t and C t Output y t .
[0143] The fourth step is to input m into the neural network model. t+1 X of time t+1 And assign a row of neurons B j+1 (j∈[1,n]) for m t+1 X of time t+1 Process it. X t+1Including x t+1 and x t+1 The result is distorted.
[0144] Fifth step, for B j medium neurons (i∈[1, p]), obtain The input signal (when i = 1, the input signal includes x) t+1 , The final h t and C t ), Process the input signal to obtain Initial hidden state h t+1 and unit state C t+1 .in, The input signal is processed using the following six formulas.
[0145] f t+1 =σ(W f ·[h t x t+1 ]+b f (1)
[0146] i t+1 =σ(W i ·[h t x t+1 ]+b i (2)
[0147]
[0148]
[0149] O t+1 =σ(W o ·[h t x t+1 ]+b o (5)
[0150] h t+1 =O t+1 ·tanh(C t+1 (6)
[0151] Where f t+1 i t+1 O t+1 and C t+1 They represent the input signal x respectively t+1 The forget gate, input gate, output gate, and cell state are listed below.
[0152] Step 6, x t+1 Distorted results initial ht+1 and C t+1 Enter to The connected jump module, the jump module according to x t+1 Determine whether the distorted results need optimization. initial h t+1 and h t+1 If x t+1 Distortion, then... initial h t+1 and C t+1 Optimize to obtain The final h t+1 and C t+1 The skip module performs the optimization process using the following two formulas.
[0153] C t+1 =α·C t +(1-α)·C t+1 (7)
[0154] h t+1 =α·h t +(1-α)·h t+1 (8)
[0155] In other words, if m t+1 If the corresponding PPG signal sequence at time m is distorted, then at m t+1 At any given moment, each neuron The initial h output t+1 and C t+1 Optimization is needed; the optimized h t+1 and C t+1 The values of mostly come from and same row The final h t and C t , initial h t+1 and C t+1 Only a small portion remains The final h t+1 and C t+1 middle.
[0156] The following formulas (9)-(12) illustrate how a neuron column processes the first PPG signal sequence to obtain the blood pressure value.
[0157] In obtaining The final h t+1 After that, Input signal x t+1 And the final h t+1 The input is fed into the residual joiner module for addition, and the output of the residual joiner module is used as... The input signal, after The processing, to obtain The hidden state h t+1 ...until Neuron.
[0158]
[0159]
[0160]
[0161]
[0162] in, and They represent m respectively t Neuron in layer i at time i The input state and the hidden state. This represents the Long Short-Term Memory function, as shown in formulas 1 through 6. In m... t At time (i+1), the neurons in layer (i) The input is the i-th layer neuron. Input status and hidden state The sum of y t m represents the output of the neural network model t Blood pressure at all times.
[0163] This application provides a method for determining blood pressure based on PPG signals. It uses phase space reconstruction technology to determine in advance whether the first PPG signal sequence is distorted, and performs skip processing on the distorted sequence in the neural network model according to the distortion result, so as to reduce the influence of the distorted sequence on other PPG signal sequences.
[0164] This example also provides the mean absolute error of the neural network model in this application embodiment compared with other models in processing PPG signals to obtain blood pressure values. As shown in Table 1, other network models include: LSTM, LSTM (with jump function), Bi-LSTM, Bi-LSTM (with jump function), DRNN, and the neural network model of this invention.
[0165] Table 1
[0166]
[0167] Figure 6 A device for determining blood pressure based on PPG signals is shown, the device including an acquisition module 610 and a processing module 620.
[0168] The acquisition module 610 is used to acquire a target signal sequence, which includes a first PPG signal sequence at multiple times, and each first PPG signal sequence is a plurality of PPG signals acquired with the corresponding time as the end time.
[0169] The processing module 620 is used to input the target signal sequence into a pre-trained neural network model to obtain the blood pressure value sequence corresponding to the target signal sequence output by the neural network model.
[0170] The neural network model is trained using sample signal sequences as training samples and corresponding sample blood pressure value sequences as training labels. At least one time step in the sample signal sequence is considered a distorted sequence that meets the distortion criteria, and the blood pressure value corresponding to each distorted sequence is related to the blood pressure value corresponding to the sample PPG signal sequence at the previous time step.
[0171] The apparatus in this application embodiment can execute the method provided in this application embodiment, and the implementation principle is similar. The actions performed by each module in the apparatus of each embodiment of this application correspond to the steps in the method of each embodiment of this application. For detailed functional descriptions of each module of the apparatus, please refer to the descriptions in the corresponding methods shown above, which will not be repeated here.
[0172] This application provides an electronic device, including a memory, a processor, and a computer program stored in the memory. The processor executes the computer program to implement the steps of a method for determining blood pressure based on PPG signals. Compared with the prior art, this method can ensure that the prediction effect of long-term continuous blood pressure prediction is in a good state.
[0173] See Figure 7 This application also provides a specific example of an electronic device. Figure 7 The illustrated electronic device 7000 includes a processor 7001 and a memory 7003. The processor 7001 and the memory 7003 are connected, for example, via a bus 7002. Optionally, the electronic device 7000 may further include a transceiver 7004, which can be used for data interaction between the electronic device and other electronic devices, such as sending and / or receiving data. It should be noted that in practical applications, the transceiver 7004 is not limited to one type, and the structure of the electronic device 7000 does not constitute a limitation on the embodiments of this application.
[0174] Processor 7001 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. Processor 7001 may also be a combination that implements computing functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.
[0175] Bus 7002 may include a pathway for transmitting information between the aforementioned components. Bus 7002 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. Bus 7002 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 7 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0176] The memory 7003 may be ROM (Read Only Memory) or other types of static storage devices capable of storing static information and instructions, RAM (Random Access Memory) or other types of dynamic storage devices capable of storing information and instructions, or EEPROM (Electrically Erasable Programmable Read Only Memory), CD-ROM (Compact Disc Read Only Memory) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media, other magnetic storage devices, or any other medium capable of carrying or storing computer programs and capable of being read by a computer, without limitation herein.
[0177] The memory 7003 is used to store computer programs that execute the embodiments of this application, and the execution is controlled by the processor 7001. The processor 7001 is used to execute the computer programs stored in the memory 7003 to implement the steps shown in the foregoing method embodiments.
[0178] Electronic devices include, but are not limited to, computers.
[0179] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it can implement the steps and corresponding content of the aforementioned method embodiments.
[0180] This application also provides a computer program product, including a computer program that, when executed by a processor, can implement the steps and corresponding content of the aforementioned method embodiments.
[0181] It should be understood that although arrows indicate various operation steps in the flowcharts of this application's embodiments, the order in which these steps are implemented is not limited to the order indicated by the arrows. Unless explicitly stated herein, in some implementation scenarios of this application's embodiments, the implementation steps in each flowchart can be executed in other orders as required. Furthermore, some or all steps in each flowchart may include multiple sub-steps or multiple stages based on the actual implementation scenario. Some or all of these sub-steps or stages can be executed at the same time, and each sub-step or stage can also be executed at different times. In scenarios where execution times differ, the execution order of these sub-steps or stages can be flexibly configured according to requirements, and this application's embodiments do not limit this.
[0182] The above description is only an optional implementation method for some implementation scenarios of this application. It should be noted that for those skilled in the art, other similar implementation methods based on the technical concept of this application without departing from the technical concept of this application also fall within the protection scope of the embodiments of this application.
Claims
1. A method for determining blood pressure based on PPG signals, characterized in that, include: Obtain a target signal sequence, which includes multiple first PPG signal sequences at various times, each first PPG signal sequence being multiple PPG signals acquired with the corresponding time as the end time; The target signal sequence is input into a pre-trained neural network model to obtain a blood pressure value sequence corresponding to the target signal sequence output by the neural network model. The neural network model is trained using sample signal sequences as training samples and sample blood pressure value sequences corresponding to the sample signal sequences as training labels. The sample signal sequence contains at least one sample PPG signal sequence that meets the distortion condition, and the sample blood pressure value corresponding to each distorted sequence is related to the sample blood pressure value corresponding to the sample PPG signal sequence of the previous time step of the corresponding distorted sequence.
2. The method according to claim 1, characterized in that, The process of obtaining the target signal sequence includes: PPG signals are acquired at multiple acquisition times to obtain the original PPG signal sequence, and a signal window of a first preset duration is created, wherein the duration of the original PPG signal sequence is greater than the preset duration. Starting from the first PPG signal in the original PPG signal sequence, the signal window is slid multiple times in units of a first preset duration. For each sliding signal window, the acquisition time of the last PPG signal in the signal window is taken as the target time, and starting from the first PPG signal, the sequence of the first preset number of PPG signals in the signal window is taken as the first PPG signal sequence of the target time. The target signal sequence is obtained by arranging the corresponding first PPG signal sequence according to the time sequence of each target time.
3. The method according to claim 2, characterized in that, The target signal sequence includes a second preset number of first PPG signal sequences; The neural network model includes a neuron array, which includes the second preset number of neuron columns; The step of inputting the target signal sequence into a pre-trained neural network model to obtain a blood pressure value sequence corresponding to the target signal sequence output by the neural network model includes: The neuron column for processing each first PPG signal sequence is determined from the neuron array according to the temporal order of the corresponding time. For each first PPG signal sequence, if the corresponding neuron column is the first neuron column, the corresponding neuron column is activated to process the first PPG signal sequence and obtain the blood pressure value corresponding to the first PPG signal sequence. If the corresponding neuron column is not the first neuron column, after obtaining the blood pressure value corresponding to the first PPG signal sequence at the previous time, the corresponding neuron column is used as the target neuron column, and the target neuron column is started to process the first PPG signal sequence to obtain the blood pressure value corresponding to the first PPG signal sequence.
4. The method according to claim 3, characterized in that, For each neuron in the neuron array, the output of the neuron is connected to a skip module, which is used to receive the initial unit state and the initial hidden state of the corresponding neuron. The step of activating the target neuron column to process non-first PPG signal sequences and obtaining blood pressure values corresponding to non-first PPG signal sequences includes: For each neuron in the target neuron column, obtain the final unit state and final hidden state of the neurons in the same row of the previous neuron column, as well as the input state of the neuron. Based on the obtained final unit state and final hidden state, process the input state of the neuron to obtain the initial hidden state and initial unit state of the neuron. The skipping module connected to the output of the neuron processes the initial hidden state and initial unit state of the neuron based on whether the first PPG signal sequence is a distorted sequence, and obtains the final unit state and final hidden state of the neuron. The input states and final hidden states of the terminal neurons in the target neuron column are merged to obtain a merged value, which is then used as the blood pressure value corresponding to the first PPG signal sequence.
5. The method according to claim 4, characterized in that, Each neuron is followed by a residual connection module, which receives the input state and the final hidden state of the corresponding neuron. The residual connection module is connected to the next neuron in the same column. The step of obtaining the input state of the neuron includes: If the neuron is the first neuron in the target neuron column, the first PPG signal sequence is used as the input state of the neuron; If the neuron is not the first neuron in the target neuron column, the output of the residual connection module connected to the neuron is received, and the received output is used as the input state of the neuron.
6. The method according to claim 4, characterized in that, In the neural network model, each skip module shares a weighting coefficient; The skipping module connected to the output of the neuron processes the initial hidden state and initial unit state of the neuron based on whether the first PPG signal sequence is a distorted sequence, and obtains the final unit state and final hidden state of the neuron, including: If the first PPG signal sequence is determined to be a non-distorted sequence, the initial hidden state and initial unit state of the neuron are determined as the final unit state and final hidden state of the neuron. If the first PPG signal sequence is determined to be a distorted sequence, the final hidden state and final unit state of the neurons in the previous neuron column of the target neuron column in the same row are obtained. According to the weighting coefficient, the initial unit state and the obtained final unit state of the neuron are weighted to obtain the final unit state of the neuron. The initial hidden state and the obtained final hidden state of the neuron are also weighted to obtain the final hidden state of the neuron.
7. The method according to claim 6, characterized in that, Determining whether the first PPG signal sequence is a distorted sequence includes: A second PPG signal sequence corresponding to the first PPG signal sequence is determined, wherein at least one PPG signal in the second PPG signal sequence is a PPG signal in the first PPG signal sequence, and the total number of PPG signals in the second PPG signal sequence is the same as the total number of PPG signals in the first PPG signal sequence. Combine the PPG signals of the same order in the first PPG signal sequence and the second PPG signal sequence to obtain at least one signal pair; Each signal pair is used as a coordinate, and the coordinates are connected according to the time sequence of the corresponding time to obtain the phase space feature map corresponding to the first PPG signal sequence. The phase space feature map is divided into a third preset number of image blocks, and the number of image blocks containing line trajectories in the third preset number of image blocks is obtained; Whether the first PPG signal sequence is a non-distorted sequence is determined based on whether the number is not greater than a preset number threshold; if the number is not greater than the preset number threshold, it is a non-distorted sequence; if the number is greater than the preset number threshold, it is a distorted sequence.
8. The method according to claim 7, characterized in that, Determining the second PPG signal sequence corresponding to the first PPG signal sequence includes: Determine the signal window in which the first PPG signal sequence is located; Starting with a non-first PPG signal, the sequence of the first preset number of PPG signals that follow in the signal window is taken as the second PPG signal sequence.
9. The method according to claim 6, characterized in that, Each blood pressure value sequence includes at least one blood pressure value, and each blood pressure value includes one systolic blood pressure value and one diastolic blood pressure value; The weighting coefficients include a first weighting coefficient for determining the systolic blood pressure value and a second weighting coefficient for determining the diastolic blood pressure value; The training process of the neural network model includes: Obtain at least one sample signal sequence and the corresponding systolic blood pressure value sequence and diastolic blood pressure value sequence for each sample signal sequence; Determine the first and second weighting coefficients in each jump model as initial values; For each sample signal sequence, perform the following operation until either the first weighting coefficient or the second weighting coefficient converges: The sample signal sequence is input into a neural network model configured with the first weighting coefficient to obtain the actual systolic blood pressure value sequence; Determine the first loss of the actual systolic blood pressure value sequence relative to the sample systolic blood pressure value sequence corresponding to the sample signal sequence, and adjust the first weighting coefficient according to the first loss; or, The sample signal sequence is input into a neural network model configured with the second weighting coefficients to obtain the actual diastolic blood pressure value sequence; Determine a second loss of the actual diastolic blood pressure value sequence relative to the sample diastolic blood pressure value sequence corresponding to the sample signal sequence, and adjust the second weighting coefficient according to the second loss.
10. A device for determining blood pressure based on PPG signals, characterized in that, include: The acquisition module is used to acquire a target signal sequence, which includes a first PPG signal sequence at multiple times, and each first PPG signal sequence is a plurality of PPG signals acquired with the corresponding time as the end time; The processing module is used to input the target signal sequence into a pre-trained neural network model to obtain a blood pressure value sequence corresponding to the target signal sequence output by the neural network model; The neural network model is trained using sample signal sequences as training samples and sample blood pressure value sequences corresponding to the sample signal sequences as training labels. The sample signal sequence contains at least one sample PPG signal sequence that meets the distortion condition, and the sample blood pressure value corresponding to each distorted sequence is related to the sample blood pressure value corresponding to the sample PPG signal sequence of the previous time step of the corresponding distorted sequence.
11. An electronic device comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the steps of the method for determining blood pressure based on PPG signals as described in any one of claims 1-9.
12. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the method for determining blood pressure based on PPG signals as described in any one of claims 1-9.