A method for identifying interference waves of ECG signals on wearable devices

By using a four-stage hierarchical method and neural network model on wearable devices, the problem that the existing technology is difficult to adapt to dry electrode acquisition scenarios is solved, and analysis efficiency and accuracy are improved.

CN113907762BActive Publication Date: 2024-12-17ZHEJIANG HELOWIN MEDICAL TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202111207541.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-18
Publication Date
2024-12-17
Estimated Expiration
2041-10-18

AI Technical Summary

Technical Problem

The existing electrocardiogram noise pollution analysis methods are difficult to adapt to dry electrode acquisition scenarios on wearable devices, resulting in low data analysis efficiency and poor accuracy.

Method used

Using a four-stage hierarchical method, through data acquisition, preprocessing and neural network model training, including Fourier transform, convolutional neural network and full connection layer, a method that can quickly identify interference waves is designed, suitable for wearables. ECG signal on the device.

Benefits of technology

The detailed distinction between interference waves is achieved, the analysis speed and accuracy is improved, the trouble of subsequent analysis is reduced, and the analysis efficiency of ECG doctors is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113907762B_ABST
    Figure CN113907762B_ABST
Patent Text Reader

Abstract

A method for identifying interference waves of ECG signals on a wearable device, the method comprising the following steps: 1. Collecting data and preprocessing: 2. Training a neural network model: 3. Importing a neural network model: 4. Importing data and identifying: 5. Classifying according to the identification result: (1) Comparing the four probabilities Xp outputted in the end, taking the highest one; (2) Comparing the highest value with a threshold value set in advance, if the threshold value is not exceeded; 6. Calculating the interference score: (1) Setting the score matrix Grade; (2) Multiplying the probabilities of the four classes outputted in the end with the score matrix to obtain the final score F. The present invention can quickly and accurately automatically identify interference waves caused by external factors in the process of collecting ECG, which helps to reduce the trouble of subsequent analysis, improve the analysis speed and accuracy of subsequent programs, and improve the analysis efficiency of ECG doctors. The present invention has the advantages of being able to distinguish interference waves in detail, and having a fast and accurate overall analysis speed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to an interference wave recognition method of an ECG signal on a wearable device, and belongs to the technical field of medical detection. Background Art

[0002] In the process of collecting ECG with a single lead, it is inevitable that it will be affected by many external factors, such as muscle movement, electromagnetic wave interference, etc., which will make the data impossible to analyze. For wearable devices, since dry electrodes are used to collect data, there will also be problems such as humidity changes and poor electrode contact. It is necessary to screen these poorly collected data in a targeted manner. Quickly and accurately identifying these interference waves automatically helps reduce the trouble of subsequent analysis, improve the analysis speed and accuracy of subsequent procedures, and is also an effective way to improve the analysis efficiency of ECG doctors.

[0003] The current analysis methods for the noise pollution degree of ECG signals are mainly applicable to ECG signals collected under wet electrodes, and cannot be well adapted to the application scenarios of dry electrodes. This patent adopts a four-stage classification, which can make a more detailed distinction between interference waves and increase the effective ECG wave data to meet more needs. Summary of the invention

[0004] The purpose of the present invention is to overcome the above-mentioned shortcomings and provide a method for identifying interference waves of ECG signals on a wearable device, which can distinguish interference waves in detail and perform overall analysis quickly and accurately.

[0005] The object of the present invention is to achieve the following technical solution: a method for identifying interference waves of ECG signals on a wearable device, the method comprising the following steps:

[0006] 1) Data collection and preprocessing:

[0007] (1) Collect ECG data of different interference levels. The data should cover different genders, ages, occupations and other groups as much as possible to ensure data diversity. At the same time, the absolute value of the voltage should be limited to a certain range to prevent the impact of individual large values ​​from being too large.

[0008] (2) Slice the ECG data into 3-second slices, each slice is a one-dimensional vector of length L1, and label it to get y;

[0009] (3) The sliced ​​3-second ECG data is downsampled at an interval of 2, and the data length is L2. Experiments show that downsampling can reduce the input length without losing waveform features, and increase the receptive field of the model features. That is, the waveform length corresponding to the features output by the intermediate layer of the model is longer.

[0010] 2) Training the neural network model:

[0011] (1) Perform Fourier transform F on the input ECG wave X, normalize its real part Norm and add it to X to get the output XF:

[0012] X F =X+Norm(real(F(X)))

[0013]

[0014] Norm(x)=(x min ) / (x max -x min )

[0015] The analysis of the frequency domain of the Fourier transform results can better distinguish the large drift interference in the low-frequency area and the burr interference in the high-frequency area. These two types of interference are more common on wearable devices, which enables the neural network to screen the interference waves more specifically.

[0016] (2) Design a four-layer one-dimensional convolutional neural network to extract features, and specify the appropriate number of channels C, convolution kernel length K and convolution step length strides for each layer. The strides value can reduce the data length more quickly and speed up the model operation efficiency. The appropriate values ​​of K and C can ensure that the output features can sufficiently represent the waveform data while not excessively diluting the weight of each feature in the process of transmitting information. At the same time, add a Maxpooling layer after the second convolutional layer to filter features. This layer also has K and strides that need to be set. Finally, the feature Xconv output by the fourth convolutional layer is obtained;

[0017] (3) Then an Averagepool layer and two fully connected layers are used to decode the extracted features. The number of channels of the fully connected layers is C and 4 respectively. The output of the second fully connected layer is Xfc. Xfc passes through the softmax layer to obtain a one-dimensional vector Xout of the probability of the four categories:

[0018]

[0019] (4) Set the learning rate Lr and loss function Loss:

[0020]

[0021] (5) Import the collected data and train it using the Adam optimizer until the model converges;

[0022] (6) Save the model in pb format;

[0023] 3) Import the neural network model:

[0024] (1) Create a new TensorFlow flowchart;

[0025] (2) Load the trained pb file;

[0026] (3) Initialize all model nodes;

[0027] 4) Import data and identify it:

[0028] (1) Convert the data arrangement format to NHC;

[0029] (2) Load the model for derivation and prediction;

[0030] 5) Classification based on recognition results:

[0031] (1) Compare the four probabilities Xp outputted in the end and take the highest one;

[0032] (2) Compare the highest value with the pre-set threshold, if it does not exceed the threshold;

[0033] 6) Calculate the interference score:

[0034] (1) Set the score matrix Grade;

[0035] (2) The final output probabilities of the four classes are multiplied by the score matrix to obtain the final score F:

[0036] F=X p *Grade.

[0037] The present invention can quickly and accurately automatically identify interference waves caused by external factors during the ECG collection process, which helps to reduce the trouble of subsequent analysis, improve the analysis speed and accuracy of subsequent procedures, and improve the analysis efficiency of ECG doctors. The present invention has the advantages of being able to make detailed distinctions between interference waves and having fast and accurate overall analysis speed. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] Figure 1 It is the algorithm flow chart of the present invention.

[0039] Figure 2 It is a network model structure diagram of the present invention. DETAILED DESCRIPTION

[0040] The present invention will be described in detail below with reference to the accompanying drawings: Figure 1-2 As shown, a method for identifying interference waves of ECG signals on a wearable device comprises the following steps:

[0041] 1) Data collection and preprocessing:

[0042] (1) Collect ECG data of different interference levels. The data should cover different genders, ages, occupations and other groups as much as possible to ensure data diversity. At the same time, the absolute value of the voltage should be limited to a certain range to prevent the impact of individual large values ​​from being too large.

[0043] (2) Slice the ECG data into 3-second slices, each slice is a one-dimensional vector of length L1, and label it to get y;

[0044] (3) The sliced ​​3-second ECG data is downsampled at an interval of 2, and the data length is L2. Experiments show that downsampling can reduce the input length without losing waveform features, and increase the receptive field of the model features. That is, the waveform length corresponding to the features output by the intermediate layer of the model is longer.

[0045] 2) Training the neural network model:

[0046] (1) Perform Fourier transform F on the input ECG wave X, normalize its real part Norm and add it to X to get the output XF:

[0047] X F =X+Norm(real(F(X)))

[0048]

[0049] Norm(x)=(x min ) / (x max -x min )

[0050] The analysis of the frequency domain of the Fourier transform results can better distinguish the large drift interference in the low-frequency area and the burr interference in the high-frequency area. These two types of interference are more common on wearable devices, which enables the neural network to screen the interference waves more specifically.

[0051] (2) Design a four-layer one-dimensional convolutional neural network to extract features, and specify the appropriate number of channels C, convolution kernel length K and convolution step length strides for each layer. The strides value can reduce the data length more quickly and speed up the model operation efficiency. The appropriate values ​​of K and C can ensure that the output features can sufficiently represent the waveform data while not excessively diluting the weight of each feature in the process of transmitting information. At the same time, add a Maxpooling layer after the second convolutional layer to filter features. This layer also has K and strides that need to be set. Finally, the feature Xconv output by the fourth convolutional layer is obtained;

[0052] (3) Then an Averagepool layer and two fully connected layers are used to decode the extracted features. The number of channels of the fully connected layers is C and 4 respectively. The output of the second fully connected layer is Xfc. Xfc passes through the softmax layer to obtain a one-dimensional vector Xout of the probability of the four categories:

[0053]

[0054] (4) Set the learning rate Lr and loss function Loss:

[0055]

[0056] (5) Import the collected data and train it using the Adam optimizer until the model converges;

[0057] (6) Save the model in pb format;

[0058] 3) Import the neural network model:

[0059] (1) Create a new TensorFlow flowchart;

[0060] (2) Load the trained pb file;

[0061] (3) Initialize all model nodes;

[0062] 4) Import data and identify it:

[0063] (1) Convert the data arrangement format to NHC;

[0064] (2) Load the model for derivation and prediction;

[0065] 5) Classification based on recognition results:

[0066] (1) Compare the four probabilities Xp outputted in the end and take the highest one;

[0067] (2) Compare the highest value with the pre-set threshold, if it does not exceed the threshold;

[0068] 6) Calculate the interference score:

[0069] (1) Set the score matrix Grade;

[0070] (2) The final output probabilities of the four classes are multiplied by the score matrix to obtain the final score F:

[0071] F=X p *Grade. Specific embodiments

[0073] The following is a detailed and specific introduction to each step:

[0074] 1. Data collection and preprocessing:

[0075] (1) Collect ECG data with different interference levels. The data comes from a variety of different groups of people, including different genders, ages, and occupations, about 20,000 pieces, ensuring the diversity of the data. At the same time, the voltage values ​​with absolute values ​​greater than 1000 are limited to 1000, thereby preventing the impact of individual large values ​​from being too large.

[0076] (2) Slice the ECG data into 3-second slices. The minimum scale is 4 ms, that is, one slice of data is a one-dimensional vector with a length of L1 of 750, and it is labeled y.

[0077] (3) The sliced ​​3-second ECG data is downsampled at an interval of 2, and the data length L2 is 250. Experiments show that downsampling can reduce the input length without losing waveform features, and increase the receptive field of the model features. That is, the waveform length corresponding to the features output by the intermediate layer of the model is longer.

[0078] 2. Training the neural network model:

[0079] (1) Perform Fourier transform F on the input ECG wave X, normalize its real part Norm and add it to X to get the output X F :

[0080] X F =X+Norm(real(F(X)))

[0081]

[0082] Norm(x)=(x min ) / (x max -x min )

[0083] (2) Design a four-layer one-dimensional convolutional neural network to extract features, where the convolution kernel length K is 5. The strides of the first two convolutions are 2, and the strides of the last two are 1. The number of channels C of the first three convolutions is 64, and the last one is 128. The high strides values ​​of the first two layers can reduce the data length more quickly and speed up the model operation efficiency. The appropriate values ​​of K and C can ensure that the output features are sufficient to represent the waveform data while not overly diluting the weight of each feature in the process of transmitting information. At the same time, a Maxpooling layer is added after the second convolution layer to filter features. This layer also has K and strides that need to be set. Finally, the feature X output by the fourth convolution layer is obtained. conv ;

[0084] (3) Then an Averagepool layer and two fully connected layers are used to decode the extracted features. The number of channels of the fully connected layers is 64 and 4 respectively. The output of the second fully connected layer is X fc .X fc Through the softmax layer, we get the one-dimensional vector X of the probability of the four categories out :

[0085]

[0086] (4) Set the learning rate L r is 0.0001, loss function Loss:

[0087]

[0088] (5) Import the collected data and train it using the Adam optimizer until the model converges and the final loss is around 0.8.

[0089] (6) Save the model in pb format.

[0090] 3. Import the neural network model:

[0091] (1) Create a new TensorFlow flowchart;

[0092] (2) Load the trained pb file;

[0093] (3) Initialize all model nodes.

[0094] 4. Import data and identify it:

[0095] (1) Convert the data arrangement format to NHC;

[0096] (2) Load the model for deduction and prediction.

[0097] 5. Classify according to the recognition results:

[0098] (1) Compare the four probabilities X outputted in the end p , take the highest one;

[0099] (2) Compare the highest value with the pre-set threshold, if it does not exceed the threshold.

[0100] 6. Calculate the interference score:

[0101] (1) Set the score matrix Grade = [0, 50, 80, 100]

[0102] (2) The final output probability of the four classes is multiplied by the score matrix to obtain the final score F: F = X p *Grade.

Claims

1. A method for identifying interference waves of ECG signals on a wearable device, characterized in that: The method comprises the following steps: 1) Data collection and preprocessing: (1) Collect ECG data with different interference levels. The data needs to cover people of different genders, ages, and occupations to ensure data diversity. At the same time, the absolute value of the voltage value is limited to a certain range to prevent the impact of individual large values ​​from being too large. (2) Slice the ECG data into 3-second slices, each slice is a one-dimensional vector of length L1, and label them to obtain y; (3) The sliced ​​3-second ECG data is downsampled at an interval of 2. After sampling, the data length is L2. Experiments show that downsampling can reduce the input length without losing waveform features, thereby increasing the receptive field of the model features. That is, the waveform length corresponding to the features output by the intermediate layer of the model is longer. 2) Training the neural network model: (1) Perform Fourier transform F on the input ECG wave X, normalize its real part Norm and add it to X to get the output X F : X F =X+Norm(real(F(X))) Norm(x)=(x-x min ) / (x max -x min ) The analysis of the frequency domain of the Fourier transform results can better distinguish the large drift interference in the low-frequency area and the burr interference in the high-frequency area. These two types of interference are more common on wearable devices, which enables the neural network to screen the interference waves more specifically. (2) Design a four-layer one-dimensional convolutional neural network to extract features, and specify the appropriate number of channels C, convolution kernel length K and convolution step length strides for each layer. The strides value can reduce the data length more quickly and speed up the model operation efficiency. The appropriate values ​​of K and C can ensure that the output features can sufficiently represent the waveform data while not excessively diluting the weight of each feature in the process of transmitting information. At the same time, add a Maxpooling layer after the second convolutional layer to filter features. This layer also has K and strides that need to be set. Finally, the feature X output by the fourth convolutional layer is obtained. conv ; (3) Then an Averagepool layer and two fully connected layers are connected to decode the extracted features. The number of channels of the fully connected layers is C and 4 respectively. The output of the second fully connected layer is X fc , X fc Through the softmax layer, we get the one-dimensional vector X of the probability of the four categories out : (4) Set the learning rate Lr and loss function Loss: (5) Import the collected data and train it using the Adam optimizer until the model converges; (6) Save the model in pb format; 3) Import the neural network model: (1) Create a new TensorFlow flowchart; (2) Load the trained pb file; (3) Initialize all model nodes; 4) Import data and identify it: (1) Convert the data arrangement format to NHC; (2) Load the model for derivation and prediction; 5) Classification based on recognition results: (1) Compare the four probabilities X outputted in the end out , take the highest one; (2) Compare the highest value with the threshold set in advance. If it does not exceed the threshold, execute step 6); 6) Calculate the interference score: (1) Set the score matrix Grade; (2) The final output probabilities of the four classes are multiplied by the score matrix to obtain the final score F: F=X out *Grade。