Multi-model combined blood pressure detection method and device, electronic equipment and storage medium

Through the multi-model combined blood pressure detection method, multiple blood pressure detection models are inputted using the characteristics of heart sound signals, and combined with multiple feature modules, Transformer modules and CNN modules, the problem of low blood pressure prediction accuracy in the existing technology is solved, and higher prediction accuracy and coverage are achieved.

CN119719855APending Publication Date: 2025-03-28VERISILICON MICROELECTRONICS (NANJING) CO LTD +4
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411822134.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

The prior art has the problem of low accuracy in blood pressure prediction, and the deep learning model is weak in interpretability, making it difficult to predict accurately within the blood pressure range of all populations.

Method used

The multi-model combined blood pressure detection method is used to obtain the heart sound signal to be detected, extract its target characteristics, and input these characteristics into multiple preset blood pressure detection models. Combined with multiple feature modules, Transformer modules and CNN modules, blood pressure values ​​are predicted, and finally the final blood pressure detection result is determined based on the difference in confidence priority and output results.

Benefits of technology

The accuracy of blood pressure prediction is improved, and the entire blood pressure range is covered by the combination of multiple models, which enhances the reliability of the prediction results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119719855A_ABST
    Figure CN119719855A_ABST
Patent Text Reader

Abstract

The invention provides a multi-model combined blood pressure detection method and device, electronic equipment and a storage medium, and relates to the technical field of computers. The multi-model combined blood pressure detection method comprises the following steps: acquiring a to-be-detected heart sound signal; extracting a target feature of the heart sound signal to be detected; the target features serve as input of a plurality of blood pressure detection models, and the output result of the representation blood pressure value of each blood pressure detection model is obtained; if only one output result of the blood pressure detection model falls into the blood pressure detection interval corresponding to the blood pressure detection model, the output result falling into the blood pressure detection interval serves as a final blood pressure detection result; if the output results of a plurality of blood pressure detection models fall into the corresponding blood pressure detection intervals, taking the output result corresponding to the blood pressure detection model with the highest priority as a final blood pressure detection result; if no output result of the blood pressure detection model falls into the blood pressure detection interval corresponding to the blood pressure detection model, the average value of the two output results with the minimum difference value serves as the final blood pressure detection result.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of computers, and in particular to a multi-model combined blood pressure detection method, device, electronic device and storage medium. Background Art

[0002] Accurate blood pressure estimation is a difficult regression problem. Machine learning methods rely on pre-excavating features that are very important for blood pressure, which is difficult to implement. However, due to the poor interpretability of deep learning models and the lack of theoretical basis, it is difficult to train a model with high prediction accuracy in all blood pressure ranges of the population, resulting in insufficient accuracy in blood pressure prediction. Summary of the invention

[0003] The present application provides a multi-model combined blood pressure detection method, device, electronic device and storage medium to improve the accuracy of blood pressure prediction.

[0004] In a first aspect, the present application provides a multi-model joint blood pressure detection method, comprising: obtaining a heart sound signal to be detected; extracting a target feature of the heart sound signal to be detected; using the target feature as an input of a plurality of preset blood pressure detection models to obtain an output result representing the blood pressure value of each of the blood pressure detection models; wherein each blood pressure detection model corresponds to a blood pressure detection interval with the highest confidence, and the blood pressure detection intervals corresponding to all the blood pressure detection models constitute a continuous and complete blood pressure detection interval; if only one of the output results of the blood pressure detection model falls into the blood pressure detection interval corresponding to itself, then the output result falling into the blood pressure detection interval is taken as the final blood pressure detection result; if there are multiple output results of the blood pressure detection models that fall into the blood pressure detection interval corresponding to themselves at the same time, then according to the preset blood pressure detection model confidence priority, the output result corresponding to the blood pressure detection model with the highest priority is taken as the final blood pressure detection result; if no output result of any blood pressure detection model falls into the blood pressure detection interval corresponding to itself, then the difference between every two output results of all the output results is calculated; and the average value of the two output results corresponding to the smallest difference is taken as the final blood pressure detection result.

[0005] In the embodiment of the present application, multiple blood pressure detection models are used to cooperate in blood pressure prediction. Since each blood pressure detection model corresponds to a blood pressure detection interval with the highest confidence (that is, the prediction accuracy in this blood pressure detection interval is higher), the final blood pressure detection result can be obtained based on the output results of multiple blood pressure detection models. Compared with the method of directly using a blood pressure detection model to predict all blood pressures in the entire blood pressure detection interval, this solution can obtain more accurate blood pressure detection values.

[0006] In combination with the technical solution provided in the first aspect above, in some possible implementations, the target features include: non-frequency domain features of the heart sound signal to be detected and frequency domain features of the heart sound signal to be detected; at least some of the multiple blood pressure detection models include: a multi-category feature module, a Transformer module, and a CNN module; the multi-category feature module is used to convert the non-frequency domain features in the input data into a first matrix; the Transformer module is used to convert the frequency domain features in the input data into a frequency domain vector, and perform dimensionality reduction processing on the frequency domain vector, and convert the frequency domain vector after dimensionality reduction processing into a second matrix; the CNN module is used to obtain an output result based on the first matrix and the second matrix.

[0007] In the embodiment of the present application, the non-frequency domain features and the frequency domain features are processed respectively by a multi-class feature module and a Transformer module to obtain a first matrix and a second matrix. Then, the CNN module is used to obtain the output result based on the first matrix and the second matrix. Thus, the non-frequency domain features of the heart sound signal to be detected and the frequency domain features of the heart sound signal to be detected are combined to collaboratively complete the detection of blood pressure. This method takes into account the characteristics of different dimensions of the heart sound signal to be detected more comprehensively, so the final detection result can be more accurate.

[0008] In combination with the technical solution provided in the first aspect above, in some possible implementations, the Transformer module includes a three-layer Transformer Encoder structure, an average pooling layer, and a first reshaping layer.

[0009] In combination with the technical solution provided in the first aspect above, in some possible implementations, the CNN module is specifically used to extract features from the second matrix and convert the extracted features into a third matrix; concatenate the first matrix and the third matrix to obtain a fourth matrix; and obtain an output result based on the fourth matrix.

[0010] In the embodiment of the present application, the CNN module is used to extract features from the second matrix, so that more characteristics of the heart sound signal in the frequency domain can be mined, thereby obtaining a third matrix that can better reflect the characteristics of the heart sound signal in the frequency domain. In turn, the output result obtained by using the third matrix and the first matrix is ​​more accurate.

[0011] In combination with the technical solution provided in the first aspect above, in some possible implementations, the CNN module includes: a plurality of one-dimensional convolutional layers, a second reshaping layer, and a linear fully connected layer connected in sequence, each two adjacent one-dimensional convolutional layers are connected by a batch normalization layer, and the last layer connected to the second reshaping layer is a batch normalization layer; the linear fully connected layer is also connected to the multi-class feature module, and the linear fully connected layer is used to concatenate the first matrix and the third matrix to obtain a fourth matrix; and based on the fourth matrix, an output result is obtained.

[0012] In the embodiment of the present application, feature extraction of the second matrix is ​​realized through multiple one-dimensional convolutional layers, and a batch normalization layer is used to improve the network convergence speed and reduce the gradient disappearance during training. The result output by the last batch normalization layer can be converted into a matrix form through the second reshaping layer, thereby facilitating the subsequent processing of the linear fully connected layer.

[0013] In combination with the technical solution provided in the first aspect above, in some possible implementations, the non-frequency domain features include at least one of waveform features, statistical features, and nonlinear features.

[0014] In combination with the technical solution provided in the first aspect above, in some possible implementations, the steps for extracting the frequency domain features are as follows: obtaining the positions of the first heart sound and the second heart sound in the heart sound signal to be detected; selecting a specified number of heart sound pairs from the heart sound signal to be detected, wherein each heart sound pair includes a first heart sound signal and a second heart sound signal; and obtaining the frequency domain features based on all the heart sound pairs.

[0015] In the embodiment of the present application, since the first heart sound signal and the second heart sound signal have certain relationships with the systolic pressure, diastolic pressure and mean blood pressure, the frequency domain features are obtained through the heart sound pair, so that the obtained frequency domain features can more accurately reflect the relationship with the blood pressure, thereby improving the accuracy of the blood pressure detection value obtained subsequently.

[0016] In combination with the technical solution provided in the first aspect above, in some possible implementations, obtaining the heart sound signal to be detected includes: obtaining an initial heart sound signal to be detected; removing high-frequency noise, baseline drift and other noise in the initial heart sound signal to be detected to obtain the heart sound signal to be detected.

[0017] In an embodiment of the present application, by removing high-frequency noise, baseline drift and other noise in the initial heart sound signal to be detected, the obtained heart sound signal to be detected can be made more accurate, thereby reducing the interference of noise on blood pressure detection and improving the accuracy of blood pressure detection.

[0018] In combination with the technical solution provided in the first aspect above, in some possible implementations, the confidence priority is determined by the mean absolute error of each of the blood pressure detection models, and the smaller the mean absolute error, the higher the priority.

[0019] In the embodiment of the present application, since the mean absolute error can reflect the average difference between the predicted value and the actual value of the blood pressure detection model, the smaller the mean absolute error, the higher the accuracy of the output result of the blood pressure detection model. Therefore, the mean absolute error of the blood pressure detection model is used to determine the priority of different blood pressure detection models, so that when the output results of multiple blood pressure detection models fall into the corresponding blood pressure detection interval, the output result of the blood pressure detection model with the smallest mean absolute error can be used as the final blood pressure detection result, thereby improving the accuracy of the blood pressure detection result.

[0020] In combination with the technical solution provided in the first aspect above, in some possible implementations, the multiple preset blood pressure detection models are trained in the following manner: obtaining a training data set, the training data set including multiple target features and a standard blood pressure value corresponding to each target feature; using the training data set to train N initial blood pressure detection models respectively to obtain N trained blood pressure detection models to be selected; wherein N is a positive integer greater than 2; dividing the preset complete blood pressure detection interval into M blood pressure detection intervals; wherein M is a positive integer greater than or equal to 2, and N is greater than or equal to M; using a preset verification data set to verify each of the blood pressure detection models to be selected; wherein the verification data set includes multiple target features and a standard blood pressure value corresponding to each target feature; determining the blood pressure detection model to be selected with the highest accuracy in each blood pressure detection interval as the blood pressure detection model corresponding to the blood pressure detection interval; wherein the blood pressure detection model corresponding to each blood pressure detection interval is the multiple preset blood pressure detection models.

[0021] In a second aspect, the present application provides a multi-model joint blood pressure detection device, comprising: a first acquisition module, used to acquire a heart sound signal to be detected; a first processing module, used to extract target features of the heart sound signal to be detected; using the target features as input of a plurality of preset blood pressure detection models, to obtain an output result representing the blood pressure value of each of the blood pressure detection models; wherein each blood pressure detection model corresponds to a blood pressure detection interval with the highest confidence, and the blood pressure detection intervals corresponding to all the blood pressure detection models constitute a continuous and complete blood pressure detection interval; the first processing module is also used to process the blood pressure detection interval if only one of the output results of the blood pressure detection models falls into the blood pressure detection interval corresponding to itself. interval, the output result falling into the blood pressure detection interval is used as the final blood pressure detection result; the first processing module is also used for, if there are multiple output results of the blood pressure detection models falling into the corresponding blood pressure detection interval, then according to the preset blood pressure detection model confidence priority, taking the output result corresponding to the blood pressure detection model with the highest priority as the final blood pressure detection result; the first processing module is also used for, if the output result of no blood pressure detection model falls into the corresponding blood pressure detection interval, calculating the difference between every two output results of all the output results; and taking the average of the two output results corresponding to the smallest difference as the final blood pressure detection result.

[0022] In a third aspect, the present application provides an electronic device, comprising: a memory and a processor, the memory and the processor being connected; the memory being used to store programs; the processor being used to call the programs stored in the memory to execute the above-mentioned first aspect, and / or the method described in combination with any possible implementation of the above-mentioned first aspect; or, to execute the method described in the above-mentioned second aspect.

[0023] In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a computer, it executes the method described in the first aspect above, and / or in combination with any possible implementation method of the first aspect above; or, executes the method described in the second aspect above. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0025] Figure 1 A schematic diagram of a flow chart of a multi-model combined blood pressure detection method shown in an embodiment of the present application;

[0026] Figure 2 A schematic diagram of the structure of a blood pressure detection model shown in an embodiment of the present application;

[0027] Figure 3 A schematic diagram of a process for obtaining a final blood pressure detection result based on output results of multiple blood pressure detection models shown in an embodiment of the present application;

[0028] Figure 4 A flow chart of a blood pressure detection model training process shown in an embodiment of the present application;

[0029] Figure 5 A schematic diagram of a process of selecting a model based on posterior probability shown in an embodiment of the present application;

[0030] Figure 6 This is a structural block diagram of a multi-model combined blood pressure detection device shown in an embodiment of the present application;

[0031] Figure 7 A structural block diagram of an electronic device shown in an embodiment of the present application. DETAILED DESCRIPTION

[0032] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application.

[0033] It should be noted that similar numbers and letters represent similar items in the following drawings, so once an item is defined in one drawing, it is not necessary to further define and explain it in the subsequent drawings. At the same time, in the description of this application, relational terms such as "first", "second", etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between these entities or operations. Moreover, the term "include", "comprise" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, article or equipment including a series of elements includes not only those elements, but also includes other elements that are not clearly listed, or also includes elements inherent to such process, method, article or equipment. In the absence of more restrictions, the elements limited by the sentence "including one..." do not exclude the existence of other identical elements in the process, method, article or equipment including the elements.

[0034] The technical solution of the present application will be described in detail below with reference to the accompanying drawings.

[0035] See also Figure 1 , Figure 1 This is a flow chart of a multi-model combined blood pressure detection method shown in an embodiment of the present application. Figure 1Describe the steps it involves.

[0036] S100: Acquire a heart sound signal to be detected.

[0037] The heart sound signal to be detected may be acquired in advance and stored in a local storage medium, and can be directly called when needed, or may be acquired in real time when needed.

[0038] In one implementation, a device for collecting heart sound signals may be used to collect heart sound signals at a position close to the user's chest or other position where heart sound can be collected, to obtain a heart sound signal to be detected.

[0039] The device for collecting heart sound signals may be, for example, a heart sound sensor or the like, and its specific type is not limited here.

[0040] Optionally, in order to reduce the influence of other sounds on the heart sound signal, when collecting the heart sound signal, it is necessary to be in a quiet environment to reduce the influence of other sounds on the collected heart sound signal.

[0041] In one implementation, the method of obtaining the heart sound signal to be detected may also be: first obtain an initial heart sound signal to be detected, then remove high-frequency noise, low-frequency noise and other noise in the initial heart sound signal to be detected to obtain the heart sound signal to be detected.

[0042] The initial heart sound signal may be collected by placing a device for collecting heart sound signals close to the user's chest.

[0043] Optionally, high-frequency noise in the initial heart sound signal to be detected may be filtered out by a low-pass filter.

[0044] The cutoff frequency of the low-pass filter (signals above the cutoff frequency will be filtered out by the low-pass filter) can be set according to actual needs, for example, it can be 990Hz, 1000Hz, 1010Hz, 1020Hz, etc.

[0045] For example, the initial heart sound signal to be detected may be filtered using a Butterworth low-pass filter with a cutoff frequency of 1000 Hz to remove high-frequency noise.

[0046] Optionally, low-frequency noise in the initial heart sound signal to be detected may be filtered out by a high-pass filter.

[0047] The low-frequency noise may be noise such as baseline drift.

[0048] The cutoff frequency of the high-pass filter (signals below the cutoff frequency will be filtered out by the high-pass filter) can be set according to actual needs, for example, it can be 5 Hz, 80 Hz, 10 Hz, 12 Hz, etc.

[0049] For example, the initial heart sound signal to be detected may be filtered using a Butterworth high-pass filter with a cutoff frequency of 10 Hz to remove low-frequency noise such as baseline drift.

[0050] Optionally, other noises may be removed by wavelet transform, wherein the specific implementation and principle of wavelet transform are well known to those skilled in the art, and will not be described here for the sake of brief description.

[0051] Optionally, the specific order of removing high-frequency noise, baseline drift and other noise in the initial heart sound signal to be detected can be set according to actual needs. For example, the high-frequency noise may be filtered out first, then the baseline drift may be removed, and finally other noise may be removed. Alternatively, the baseline drift may be removed first, then the high-frequency noise may be filtered out, and finally other noise may be removed. Specific implementation methods include but are not limited to the methods exemplified herein.

[0052] S200: Extract target features of the heart sound signal to be detected.

[0053] In one implementation manner, the target feature of the heart sound signal to be detected includes at least one of a non-frequency domain feature of the heart sound signal to be detected and a frequency domain feature of the heart sound signal to be detected.

[0054] The frequency domain features of the heart sound signal to be detected may be obtained by directly performing frequency domain conversion on the heart sound signal to be detected, or may be obtained by extracting multiple heart sound pairs from the heart sound signal to be detected, and then obtaining the frequency domain features based on the multiple heart sound pairs.

[0055] In one implementation, the step of extracting frequency domain features may be: first, obtaining the positions of the first heart sound and the second heart sound in the heart sound signal to be detected. Then, selecting a specified number of heart sound pairs from the heart sound signal to be detected, wherein each heart sound pair includes a first heart sound signal and a second heart sound signal. Finally, frequency domain features are obtained based on all heart sound pairs.

[0056] The positions of the first heart sound and the second heart sound in the heart sound to be detected may be determined by any method that can determine the positions of the first heart sound and the second heart sound, and the specific method is not limited here.

[0057] Optionally, the position of the first heart sound and the second heart sound in the heart sound signal to be detected can be obtained by first normalizing the heart sound signal to be detected to the range of [-1,1] by dividing by the absolute maximum value of the heart sound signal to be detected. Then, the Shannon energy is calculated based on a preset Shannon energy calculation formula, which is: E = -x 2 log(x 2), where E is the Shannon energy and x is the normalized heart sound signal to be detected. Then, the Shannon energy is averaged using a sliding time window of a preset length, which can be specifically expressed as: Where E is the Shannon energy, E A is the Shannon average energy, and N is the length of the sliding time window. A Normalization, that is, subtracting the mean and then dividing by the standard deviation, can be expressed as: Among them, E N is the normalized mean Shannon energy, M(E A ) means E A The mean, SD(E A ) means E A Finally, two thresholds are used to identify the peak points of the first heart sound and the second heart sound, wherein the peak points of the first heart sound and the second heart sound are the positions of the first heart sound and the second heart sound.

[0058] Optionally, the higher of the two thresholds may be N The median (or average, etc.) of multiple maximum amplitudes in the image is multiplied by a preset threshold coefficient to detect high amplitude peaks and eliminate the influence of noise.

[0059] The preset threshold coefficient may take a value in the range of 0.1 to 0.5, and the number of the multiple maximum amplitudes may be 3 to 5.

[0060] Optionally, the lower of the two thresholds can be N The envelope average value is obtained.

[0061] For example, the lower threshold can be set to E N The envelope is half the average value of the heart sound, thus being slightly above the background noise, and can pick up low amplitude peaks of the first and second heart sounds that might otherwise be seen as noise.

[0062] Since the time from the first heart sound to the position of the next second heart sound is shorter than the time from the second heart sound to the position of the next first heart sound, all the extracted peaks can be classified according to this condition to determine the position of the first heart sound and the position of the second heart sound.

[0063] In some special cases, the heart sound signal may be disturbed, resulting in the inability to correctly identify the first heart sound and the second heart sound. For example, when the subject (provider of the heart sound signal to be detected) is talking or coughing, the heart sound signal collected may be affected by the sound of talking or coughing, etc. This problem can be solved by manually removing the first heart sound and the second heart sound within that period of time (the duration of talking or coughing, etc.).

[0064] Optionally, the length of the sliding time window can be set according to actual needs, for example, it can be 10ms, 20ms, 30ms, etc. The length of the sliding time window is not limited to the example given here.

[0065] After the positions of the first heart sound and the second heart sound in the heart sound signal to be detected are obtained, a specified number of heart sound pairs can be selected from the heart sound signal to be detected.

[0066] The first heart sound signal included in each heart sound pair is a signal of a specified length taken from the heart sound signal to be detected with the first heart sound position corresponding to the heart sound pair as the midpoint as the first heart sound signal of the heart sound pair. Similarly, a signal of a specified length taken with the second heart sound position corresponding to the heart sound pair as the midpoint as the second heart sound signal of the heart sound pair.

[0067] The specified length can be set according to actual needs, for example, 256 sampling points around the first heart sound position (the first heart sound position is the midpoint of the 256 points) can be taken as the first heart sound signal, and 256 sampling points around the second heart sound position (the first heart sound position is the midpoint of the 256 points) can be taken as the second heart sound signal. The actual setting method of the specified length includes but is not limited to the method exemplified here.

[0068] Optionally, based on all heart sound pairs, the specific method of obtaining the frequency domain features may be: for each heart sound pair, Fourier transform the first heart sound signal in the heart sound pair to obtain first frequency domain information. Fourier transform the second heart sound signal in the heart sound pair to obtain second frequency domain information. Splice the first frequency domain information and the second frequency domain information in the same pair of heart sound pairs to obtain first spliced ​​frequency domain information. The frequency domain features include the first spliced ​​frequency domain information corresponding to all heart sound pairs.

[0069] Alternatively, based on all heart sound pairs, the specific method of obtaining the frequency domain features may also be: for each heart sound pair, the first heart sound signal and the second heart sound signal of the heart sound pair are spliced ​​to obtain a spliced ​​heart sound signal. Then, the spliced ​​heart sound signal is Fourier transformed to obtain the second spliced ​​frequency domain information. The frequency domain features include the second spliced ​​frequency domain information corresponding to all heart sound pairs.

[0070] Alternatively, based on all heart sound pairs, the specific method of obtaining frequency domain features may also be: for each heart sound pair, Fourier transform the first heart sound signal in the heart sound pair to obtain first frequency domain information. Fourier transform the second heart sound signal in the heart sound pair to obtain second frequency domain information. All first frequency domain information is spliced ​​to obtain third spliced ​​information; all second frequency domain information is spliced ​​to obtain fourth spliced ​​information. Finally, the third spliced ​​information and the fourth spliced ​​information are spliced ​​to obtain frequency domain features.

[0071] In one implementation, the non-frequency domain feature includes at least one of a waveform feature, a statistical feature, and a nonlinear feature.

[0072] Optionally, the waveform characteristics may include the amplitude of the first heart sound signal, the amplitude of the second heart sound signal, the amplitude ratio of the second heart sound signal to the first heart sound signal, the time interval between the first heart sound signal and the second heart sound signal, and the time interval between the second heart sound signal and the next first heart sound signal.

[0073] To extract the waveform features of the heart sound signal to be detected, it is necessary to first determine the positions of the first heart sound and the second heart sound in the heart sound signal to be detected. The method of determining the positions of the first heart sound and the second heart sound has been clearly described in the previous text, and will not be repeated here for the sake of simplicity.

[0074] For ease of understanding, S1 represents the first heart sound, S2 represents the second heart sound, S1_amp represents the amplitude of the first heart sound, S2_amp represents the amplitude of the second heart sound, Median() represents the median operation, and SD represents the standard deviation.

[0075] The amplitude of the first heart sound signal is obtained by: after obtaining the positions of the first heart sound and the second heart sound, taking the median (or average) of the peak values ​​of all the first heart sound signals as the amplitude of the first heart sound signal of the heart sound signal to be detected. The amplitude of the first heart sound signal can be expressed as: Feature1 = Median (S1_amp1, S1_amp2, ..., S1_amp n ). Among them, S1_amp n represents the amplitude of the nth first heart sound signal, where n is the number of first heart sound signals extracted.

[0076] The amplitude of the second heart sound signal is obtained by: after obtaining the positions of the first heart sound and the second heart sound, taking the median (or average) of the peak values ​​of all the second heart sound signals as the amplitude of the second heart sound signal of the heart sound signal to be detected. The amplitude of the second heart sound signal can be expressed as: Feature2 = Median (S2_amp1, S2_amp2, ..., S2_amp m ,). Among them, S2_amp m represents the amplitude of the mth second heart sound signal, and m is the number of extracted second heart sound signals.

[0077] The amplitude ratio of the second heart sound signal to the first heart sound signal can be obtained by: after determining the positions of the first heart sound and the second heart sound in the heart sound signal, obtaining the amplitude values ​​corresponding to the n first heart sounds and the n second heart sounds according to the heart sound signal. Then, for each cardiac cycle, calculate the amplitude ratio of the second heart sound to the first heart sound in the cardiac cycle. Then, the median of the calculated n amplitude ratios is used as the amplitude ratio between the second heart sound and the first heart sound. That is, Feature2 = Median(S2_amp1 / S1_amp1, S2_amp2 / S1_amp2, ..., S2_amp n / S1_amp n ), wherein Feature2 represents the amplitude ratio between the second heart sound and the first heart sound.

[0078] Alternatively, the average value of the calculated n amplitude ratios may be used as the amplitude ratio between the second heart sound and the first heart sound.

[0079] Optionally, after obtaining the amplitude values ​​corresponding to the n first heart sounds and the n second heart sounds, the average of the amplitude values ​​of the n first heart sounds and the average of the amplitude values ​​of the n second signals can be calculated. Then, the ratio of the average of the amplitude values ​​of the n second signals to the average of the amplitude values ​​of the n first heart sounds is used as the amplitude ratio between the second heart sound and the first heart sound. That is, Feature2 = Mean(S2_amp) / Mean(S1_amp). Among them, Mean(S2_amp) represents the average of the amplitude values ​​of the n second signals, and Mean(S1_amp) represents the average of the amplitude values ​​of the n first heart sounds.

[0080] Optionally, after obtaining the amplitude values ​​corresponding to the n first heart sounds and the n second heart sounds, the median of the amplitude values ​​of the n first heart sounds and the median of the amplitude values ​​of the n second signals are calculated. Then, the ratio of the median of the amplitude values ​​of the n second signals to the median of the amplitude values ​​of the n first heart sounds is used as the amplitude ratio between the second heart sound and the first heart sound. That is, Feature2 = Median(S2_amp1, S2_amp2, ..., S2_amp n ) / Median(S1_amp1, S1_amp2,…, S1_amp n ). Among them, Median(S2_amp1, S2_amp2, ..., S2_amp n ) represents the median of the amplitude values ​​of the n second signals, Median(S1_amp1, S1_amp2, ..., S1_amp n ) represents the median of the amplitude values ​​of n first heart sounds.

[0081] The time interval between the first heart sound signal and the second heart sound signal can be obtained by: after determining the positions of the first heart sound and the second heart sound in the heart sound signal, determining the time interval between the peak points of the first heart sound and the second heart sound in each cardiac cycle according to the heart sound signal, and taking the median of n time intervals as the time interval between the first heart sound and the second heart sound. That is, Feature3 = Median (S21-S11, S22-S12, ..., S2 n -S1 n ,), where S2 i Indicates the position of the peak point of the i-th second heart sound, S1 i It represents the position of the peak point of the i-th first heart sound, and Feature3 represents the time interval between the first heart sound and the second heart sound.

[0082] Optionally, after determining the time interval between the peak points of the first heart sound and the second heart sound in each cardiac cycle, the average value of n time intervals may be used as the time interval between the first heart sound and the second heart sound.

[0083] The time interval between the second heart sound signal and the next first heart sound signal can be obtained by taking the median of the time interval between each second heart sound peak point and the first first heart sound peak point after the second heart sound as the time interval between the second heart sound and the next first heart sound. That is, Feature4 = Median (S12-S21, S13-S22, ..., S1 n -S2 n-1 ), where Feature4 represents the time interval between the second heart sound and the next first heart sound, S1 i+1 Indicates the peak position of the first heart sound of the i+1th heart, S2 i Characterizes the position of the peak point of the i-th second heart sound.

[0084] Optionally, the average value of the time intervals between each second heart sound peak point in the heart sound signal and the peak point of the first first heart sound after the second heart sound may be used as the time interval between the second heart sound and the next first heart sound.

[0085] Optionally, the statistical features may include the kurtosis of the first heart sound signal, the skewness of the first heart sound signal, the kurtosis of the second heart sound signal, and the skewness of the second heart sound signal.

[0086] To extract the statistical features of the heart sound signal to be detected, it is necessary to first determine the positions of the first heart sound and the second heart sound in the heart sound signal to be detected. The method of determining the positions of the first heart sound and the second heart sound has been clearly described in the previous text, and will not be repeated here for the sake of simplicity.

[0087] For ease of understanding, S1 represents the first heart sound, S2 represents the second heart sound, and SD represents the standard deviation.

[0088] The kurtosis of the first heart sound signal may be obtained by: after determining the positions of the first heart sound and the second heart sound in the heart sound signal to be detected, taking Y / 2 points before and after each first heart sound, x k represents the kth time domain data among the Y points intercepted, represents the mean of all x. Then the kurtosis of the first heart sound signal is Wherein, Y is an even number.

[0089] The skewness of the first heart sound signal can be obtained by: after determining the positions of the first heart sound and the second heart sound in the heart sound signal to be detected, Y / 2 points are taken before and after each first heart sound, x k represents the kth time domain data among the Y points intercepted, represents the mean of all x. Then the skewness of the first heart sound signal is

[0090] The kurtosis of the second heart sound signal can be obtained by: after determining the positions of the first heart sound and the second heart sound in the heart sound signal to be detected, Y / 2 points are taken before and after each second heart sound, y k represents the kth time domain data among the Y points intercepted, represents the mean of all y. Then the kurtosis of the second heart sound signal is

[0091] The skewness of the second heart sound signal can be obtained by: after determining the positions of the first heart sound and the second heart sound in the heart sound signal to be detected, Y / 2 points are taken before and after each second heart sound, y k represents the kth time domain data among the Y points intercepted, represents the mean of all y. Then the skewness of the second heart sound signal is

[0092] Optionally, the non-linear feature may include Shannon entropy.

[0093] Shannon entropy (SE) is used to evaluate the amount of information in the heart sound signal to be detected. Where R is the number of data intervals divided according to the data distribution. For a heart sound signal, pcg_j is the data distributed in the jth interval, and P(·) is the probability symbol. Then

[0094] S300: Using the target feature as an input of a plurality of preset blood pressure detection models to obtain an output result representing the blood pressure value of each blood pressure detection model.

[0095] Among them, each blood pressure detection model corresponds to one or more blood pressure detection intervals with the highest confidence, and the blood pressure detection intervals corresponding to all blood pressure detection models constitute a continuous and complete blood pressure detection interval.

[0096] The complete blood pressure detection range can be set according to actual needs.

[0097] Optionally, in order to ensure that blood pressure can be tested for each person, the maximum value of the blood pressure detection interval is greater than or equal to the maximum blood pressure value of humans, and the minimum value of the blood pressure detection interval is less than or equal to the minimum blood pressure value of humans.

[0098] The blood pressure value can be either diastolic pressure or systolic pressure.

[0099] The number of preset blood pressure detection models can be set according to actual needs, for example, it can be 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, etc. The implementation method of the number of blood pressure detection models includes but is not limited to the method exemplified here.

[0100] In order to facilitate understanding of the relationship between the above-mentioned multiple blood pressure detection models, blood pressure detection intervals, and complete blood pressure detection intervals, the following is an example in which the number of blood pressure detection models includes 3.

[0101] The blood pressure detection model may include a first blood pressure detection model, a second blood pressure detection model and a third blood pressure detection model, and the complete blood pressure detection interval is 50-200. The blood pressure detection interval with the highest confidence corresponding to the first blood pressure detection model is 50-100, the blood pressure detection interval with the highest confidence corresponding to the second blood pressure detection model is 100-140, and the blood pressure detection interval with the highest confidence corresponding to the third blood pressure detection model is 140-200. The blood pressure detection intervals with the highest confidence corresponding to the three blood pressure detection models just constitute the continuous complete blood pressure detection interval of 50-200. The examples here are only for ease of understanding and should not be used as limitations on this application.

[0102] In one implementation, the multiple preset blood pressure detection models may be models with the same structure, or, at least some of the multiple preset blood pressure detection models may be different in structure.

[0103] Alternatively, the structure of each blood pressure detection model may be different from that of other blood pressure detection models.

[0104] The specific type of the blood pressure detection model can be set according to actual needs, and can be any type of neural network model, etc., and its specific type is not limited here.

[0105] In one implementation, if the target features include: non-frequency domain features of the heart sound signal to be detected and frequency domain features of the heart sound signal to be detected, then the structure of at least some of the blood pressure detection models in the multiple blood pressure detection models may include: multi-class feature modules, Transformer modules, and CNN modules.

[0106] The multi-class feature module is used to transform the non-frequency domain features into a first matrix.

[0107] Optionally, the multi-class feature module may include a third reshaping layer (reshape layer). The specific structure of the reshape layer is well known to those skilled in the art and will not be repeated here for the sake of brief description.

[0108] The Transformer module is used to convert the frequency domain features into frequency domain vectors, perform dimensionality reduction processing on the frequency domain vectors, and convert the frequency domain vectors after dimensionality reduction processing into a second matrix.

[0109] Optionally, the Transformer module includes a multi-layer Transformer Encoder structure, an average pooling layer, and a first reshaping layer (reshape layer) connected in sequence.

[0110] The specific number of Transformer Encoder structures can be set according to actual needs. For example, the Transformer module includes three layers of Transformer Encoder structures, an average pooling layer, and a first reshaping layer connected in sequence.

[0111] The specific structures of the Transformer Encoder structure, the average pooling layer, and the reshaping layer are well known to those skilled in the art and will not be described in detail here for the sake of brevity.

[0112] The CNN module is used to obtain an output result based on the first matrix and the second matrix.

[0113] In one implementation, the CNN module is specifically used to extract features from the second matrix and convert the extracted features into a third matrix; concatenate the first matrix and the third matrix to obtain a fourth matrix; and obtain an output result based on the fourth matrix.

[0114] Optionally, the CNN module may include: a plurality of one-dimensional convolutional layers, a second reshaping layer, and a linear fully connected layer connected in sequence, where every two adjacent one-dimensional convolutional layers are connected via a batch normalization layer, and the last layer connected to the second reshaping layer is a batch normalization layer.

[0115] Among them, the linear fully connected layer is also connected to the multi-class feature module. The linear fully connected layer is used to concatenate the first matrix and the third matrix to obtain the fourth matrix; and based on the fourth matrix, an output result is obtained.

[0116] The number of one-dimensional convolutional layers can be set according to actual needs. For example, the one-dimensional convolutional layer may include 2 layers, and correspondingly, the number of batch normalization layers is also 2 layers.

[0117] The specific structures of the one-dimensional convolution layer, the second reshaping layer, the linear fully connected layer, and the batch normalization layer are well known to those skilled in the art and will not be described in detail here for the sake of brief description.

[0118] The above-mentioned blood pressure detection model adopts a network structure that combines CNN modules and Transformer modules, which can improve the generalization of the model. The attention mechanism in CNN and Transformer can both play a role in extracting features. The difference between the two is that CNN is actually equivalent to a simplified version of the self-attention mechanism, which only considers the information of the local receptive field (ReceptiveField); while the self-attention mechanism (that is, Transformer) is more like a complex version of CNN, which can automatically learn which vectors are related to the current vector and can consider global information. When there is less training data, the self-attention mechanism is prone to overfitting, while CNN is better; when there is more training data, the self-attention mechanism can use more information, while CNN is relatively worse. Therefore, this solution effectively combines CNN and Transformer together to achieve the effect that the model can achieve good performance when the amount of training data is uncertain. Among them, the multi-head attention mechanism in the Transformer Encoder can capture very rich feature information, and the feedforward neural network can map the results of the attention mechanism at each position to a feature space of a larger dimension, and then use the ReLu activation function to introduce nonlinearity for screening, and finally restore it to the original dimension.

[0119] To understand the specific structure of the above blood pressure detection model, please refer to Figure 2 , below Figure 2 Take the structure as an example to illustrate it.

[0120] like Figure 2 As shown, the multi-class feature module includes the third reshape layer (reshape layer), the Transformer module includes a three-layer Transformer Encoder structure, an average pooling layer (Mean_pool), and a first reshape layer (reshape layer) connected in sequence. The CNN layer includes multiple one-dimensional convolutional layers (conv layers), a second reshape layer (reshape layer), and a linear fully connected layer (Linear layer) connected in sequence. Every two adjacent one-dimensional convolutional layers are connected by a batch normalization layer (BN layer), and the last layer connected to the second reshape layer is a batch normalization layer; the linear fully connected layer is also connected to the multi-class feature module.

[0121] Among them, the "1×3,n32s1" corresponding to the one-dimensional convolutional layer (conv layer) refers to a convolutional layer with 32 strides of 1 and a convolution kernel size of 1×3, and all convolutions are zero-padded. The batch normalization layer (BN layer) is used to improve the network convergence speed and reduce the gradient disappearance during training.

[0122] Figure 2 The specific functions and implementation methods of each component of the blood pressure detection model shown have been clearly described in the previous text. For the sake of brief description, they will not be repeated here.

[0123] For ease of understanding Figure 2 The working principle of the blood pressure detection model shown is explained by taking the non-frequency domain features including the aforementioned 10 features such as waveform features, statistical features, and nonlinear features, and the frequency domain features including the first frequency domain information of the dimension (10, 128) of 10 first heart sound signals corresponding to 10 pairs of heart sound pairs, and the second frequency domain information of the dimension (10, 128) of 10 second heart sound signals, and splicing the first frequency domain information of the dimension (10, 128) and the second frequency domain information of the dimension (10, 128) into a feature vector (i.e., frequency domain features) of (20, 128) as an example.

[0124] The multi-class feature module converts the non-frequency domain features into a (1,10) matrix.

[0125] The three-layer Transformer Encoder layer in the Transformer module processes the feature vector of (20,128) to obtain the first intermediate vector of dimension (20,128). Then the average pooling layer is used to reduce the data dimension and retain the feature information, and output the second intermediate vector of dimension (1,128). Then, based on the first reshaping layer, the second intermediate vector is reshaped into a second matrix of dimension (1,128).

[0126] The second matrix is ​​processed by the one-dimensional convolution layer, batch normalization layer, and second reshaping layer in the CNN module to obtain a third matrix with a dimension of (1, 1984). Then the linear fully connected layer in the CNN module concatenates the first matrix and the third matrix to obtain a fourth matrix with a dimension of (1, 1994), and the final output result is obtained based on the fourth matrix.

[0127] The examples given here are only for ease of understanding and should not be construed as limiting the present application.

[0128] The reason why this solution uses multiple blood pressure detection models is that for a difficult regression problem such as blood pressure, the trained single model may only have high accuracy in a local range. For example, a trained model only has a prediction accuracy that meets the AAMI (American Association for Medical Instrumentation) standard in the systolic blood pressure range of 110-130, but the accuracy does not meet the standard in the systolic blood pressure range of <110 and >130. This model with good local performance cannot achieve high indicators in the prediction of the entire blood pressure range. However, it is extremely difficult to train a model that has a standard prediction accuracy in the entire blood pressure range. Therefore, if you have multiple local high-index models at the same time, and the intervals of these models are superimposed to cover the entire blood pressure range, you can combine these models to predict blood pressure in the entire range.

[0129] S400: If only one output result of the blood pressure detection model falls within its corresponding blood pressure detection interval, the output result falling within the blood pressure detection interval is used as the final blood pressure detection result.

[0130] For ease of understanding, it is taken as an example that the blood pressure detection model may include a first blood pressure detection model, a second blood pressure detection model and a third blood pressure detection model, and the blood pressure detection interval with the highest confidence corresponding to the first blood pressure detection model is 50-100, the blood pressure detection interval with the highest confidence corresponding to the second blood pressure detection model is 100-140, and the blood pressure detection interval with the highest confidence corresponding to the third blood pressure detection model is 140-200.

[0131] If for the same heart sound signal to be detected, the output result of the first blood pressure detection model is 66, the output result of the second blood pressure detection model is 67, and the output result of the third blood pressure detection model is 71. Since only the output result of the first blood pressure detection model falls into the corresponding blood pressure detection interval with the highest confidence, the final blood pressure detection result is determined to be 66. The examples here are only for ease of understanding and should not be used as a limitation to the present application.

[0132] S500: If the output results of multiple blood pressure detection models fall into their corresponding blood pressure detection intervals, then according to the preset blood pressure detection model confidence priority, the output result corresponding to the blood pressure detection model with the highest priority is taken as the final blood pressure detection result.

[0133] The confidence priority of the blood pressure detection model may be obtained from a third party, or the confidence priority of the blood pressure detection model may be determined by the mean absolute error of each blood pressure detection model, wherein the smaller the mean absolute error, the higher the priority.

[0134] The mean absolute error of the blood pressure detection model can be obtained by testing the multiple blood pressure detection models using the test data set. The specific method of determining the mean absolute error is well known to those skilled in the art and will not be described here for the sake of simplicity.

[0135] Since the mean absolute error can reflect the average difference between the predicted value and the actual value of the blood pressure detection model, the smaller the mean absolute error, the higher the accuracy of the output result of the blood pressure detection model. Therefore, the mean absolute error of the blood pressure detection model is used to determine the priority of different blood pressure detection models, so that when the output results of multiple blood pressure detection models fall into the corresponding blood pressure detection interval, the output result of the blood pressure detection model with the smallest mean absolute error can be used as the final blood pressure detection result, thereby improving the accuracy of the blood pressure detection result.

[0136] For ease of understanding, the blood pressure detection model may include a first blood pressure detection model, a second blood pressure detection model and a third blood pressure detection model, and the blood pressure detection interval with the highest confidence corresponding to the first blood pressure detection model is 50-100, the blood pressure detection interval with the highest confidence corresponding to the second blood pressure detection model is 100-140, and the blood pressure detection interval with the highest confidence corresponding to the third blood pressure detection model is 140-200. The confidence priorities of the blood pressure detection models are, from high to low, the second blood pressure detection model, the first blood pressure detection model, and the third blood pressure detection model.

[0137] If for the same heart sound signal to be detected, the output result of the first blood pressure detection model is 99, the output result of the second blood pressure detection model is 101, and the output result of the third blood pressure detection model is 105. Since the output result of the first blood pressure detection model falls into its own corresponding blood pressure detection interval with the highest confidence, and the output result of the second blood pressure detection model also falls into its own corresponding blood pressure detection interval with the highest confidence. Since the priority of the second blood pressure detection model is higher than that of the first blood pressure detection model, the final blood pressure detection result is determined to be 101. The examples here are only for ease of understanding and should not be used as limitations on this application.

[0138] S600: If the output result of any blood pressure detection model does not fall into the corresponding blood pressure detection interval, the difference between every two output results of all the output results is calculated; the average value of the two output results corresponding to the smallest difference is taken as the final blood pressure detection result.

[0139] For ease of understanding, it is taken as an example that the blood pressure detection model may include a first blood pressure detection model, a second blood pressure detection model and a third blood pressure detection model, and the blood pressure detection interval with the highest confidence corresponding to the first blood pressure detection model is 50-100, the blood pressure detection interval with the highest confidence corresponding to the second blood pressure detection model is 100-140, and the blood pressure detection interval with the highest confidence corresponding to the third blood pressure detection model is 140-200.

[0140] If for the same heart sound signal to be detected, the output result of the first blood pressure detection model is 101, the output result of the second blood pressure detection model is 94, and the output result of the third blood pressure detection model is 95. Since the output result of no blood pressure detection model falls into its own corresponding blood pressure detection interval with the highest confidence. Therefore, the difference between each two output results is calculated to be 6 (that is, 101-95), 7 (that is, 101-94), and 1 (that is, 95-94). Since the minimum difference is 1, the average value of 95 and 94, 94.5, is calculated as the final blood pressure detection result. The examples here are only for ease of understanding and should not be regarded as limitations on this application.

[0141] If there are multiple minimum differences, the average value of the two output results corresponding to each minimum difference is first calculated, and then the average value of all the average values ​​is calculated as the final blood pressure detection result.

[0142] For example, if for the same heart sound signal to be detected, the output result of the first blood pressure detection model is 101, the output result of the second blood pressure detection model is 99, and the result output by the third blood pressure detection model is 97. Since there is no output result of the blood pressure detection model that falls into its own corresponding blood pressure detection interval with the highest confidence. Therefore, the difference between each two output results is calculated to be 2 (that is, 101-99), 4 (that is, 101-97), and 2 (that is, 99-97), respectively. Since the minimum difference is 2, and there are two differences equal to 2. Therefore, the average of 101 and 99 is first calculated to be 100; and the average of 99 and 97 is calculated to be 98. Then the average of 100 and 98 is calculated to be 99, and 99 is determined to be the final blood pressure detection result. The examples here are only for ease of understanding and should not be used as limitations on this application.

[0143] For easier understanding of the above S400-S600, please refer to Figure 3 . Figure 3 The present invention is a flowchart for obtaining the final blood pressure detection result based on the output results of multiple blood pressure detection models.

[0144] like Figure 3As shown, first determine whether there is an output result of the blood pressure detection model that falls into the corresponding blood pressure detection interval. If so, further determine whether the number of output results that fall into the corresponding blood pressure detection interval is 1. If the number is 1, the output result that falls into the corresponding blood pressure detection interval is used as the final blood pressure detection result.

[0145] If the output result falling into the corresponding blood pressure detection interval is greater than 1, then according to the preset blood pressure detection model confidence priority, the output result corresponding to the blood pressure detection model with the highest priority is taken as the final blood pressure detection result.

[0146] If there is no output result of the blood pressure detection model that falls within the corresponding blood pressure detection interval, the difference between every two output results is calculated, and the average value of the two output results corresponding to the smallest difference is taken as the final blood pressure detection result.

[0147] In order to facilitate understanding of the above-mentioned multi-model combined blood pressure detection method, the specific implementation method thereof will be described below with examples.

[0148] First, in a quiet environment, obtain the initial heart sound signal to be detected by placing the heart sound sensor close to the chest of the user who needs to test blood pressure. Then filter the initial heart sound signal to be detected using a Butterworth low-pass filter with a cutoff frequency of 1000Hz to remove high-frequency noise; filter the initial heart sound signal to be detected using a Butterworth high-pass filter with a cutoff frequency of 10Hz to remove baseline drift; remove other noises through wavelet transform to obtain the heart sound signal to be detected.

[0149] Then, the heart sound signal to be detected is normalized to the range of [-1,1] by dividing it by the absolute maximum value of the heart sound signal to be detected. Then, the Shannon energy is calculated based on the preset Shannon energy calculation formula, which is: E = -x 2 log(x 2 ), where E is the Shannon energy and x is the normalized heart sound signal to be detected. Then, the Shannon energy is averaged using a sliding time window of a preset length, which can be specifically expressed as: Where E is the Shannon energy, E A is the Shannon average energy, and N is the length of the sliding time window. A Normalization, that is, subtracting the mean and then dividing by the standard deviation, can be expressed as: Among them, E N is the normalized mean Shannon energy, M(E A ) means E A The mean, SD(E A ) means E AFinally, two thresholds are used to identify the peak points of the first heart sound and the second heart sound, wherein the peak points of the first heart sound and the second heart sound are the positions of the first heart sound and the second heart sound.

[0150] After obtaining the positions of the first heart sound and the second heart sound, non-frequency domain features are extracted from the heart sound signal to be detected. Specifically, waveform features including the amplitude of the first heart sound signal, the amplitude of the second heart sound signal, the amplitude ratio of the second heart sound signal to the first heart sound signal, the time interval between the first heart sound signal and the second heart sound signal, and the time interval between the second heart sound signal and the next first heart sound signal are extracted, as well as statistical features including the kurtosis of the first heart sound signal, the skewness of the first heart sound signal, the kurtosis of the second heart sound signal, and the skewness of the second heart sound signal, and nonlinear features including Shannon entropy are extracted. Among them, the specific method of extracting non-frequency domain features has been clearly described in the previous text, and for the sake of brief description, it will not be repeated here.

[0151] After obtaining the positions of the first heart sound and the second heart sound, extract frequency domain features from the heart sound signal to be detected. Specifically, after obtaining the positions of the first heart sound and the second heart sound in the heart sound signal to be detected, 10 heart sound pairs can be selected from the heart sound signal to be detected. Among them, each first heart sound is 256 points around the peak value of the first heart sound (128 points on the left and 128 points on the right), and each second heart sound is 256 points around the peak value of the second heart sound (128 points on the left and 128 points on the right). For each heart sound pair, the first heart sound signal in the heart sound pair is Fourier transformed to obtain the first frequency domain information with a dimension of (1,128). The second heart sound signal in the heart sound pair is Fourier transformed respectively to obtain the second frequency domain information with a dimension of (1,128). All the first frequency domain information is spliced ​​to obtain the third spliced ​​information with a dimension of (10,128); all the second frequency domain information is spliced ​​to obtain the fourth spliced ​​information with a dimension of (10,128). Finally, the third splicing information and the fourth splicing information are spliced ​​to obtain a frequency domain feature with a dimension of (20, 128).

[0152] After obtaining the non-frequency domain features and frequency domain features, the structure is Figure 2 The three blood pressure monitoring models shown are used for blood pressure detection. The blood pressure detection interval with the highest confidence level corresponding to the first blood pressure detection model is 50-100, the blood pressure detection interval with the highest confidence level corresponding to the second blood pressure detection model is 100-140, and the blood pressure detection interval with the highest confidence level corresponding to the third blood pressure detection model is 140-200.

[0153] Specifically, for each blood pressure detection model, the multi-class feature module in the blood pressure detection model converts the non-frequency domain features into a (1,10) matrix. The three-layer Transformer Encoder layer in the Transformer module processes the feature vector of (20,128) to obtain a first intermediate vector of dimension (20,128). Then the average pooling layer is used to reduce the data dimension and retain the feature information, and outputs a second intermediate vector of dimension (1,128). Based on the first reshaping layer, the second intermediate vector is reshaped into a second matrix of dimension (1,128). The second matrix is ​​processed by the one-dimensional convolution layer, batch normalization layer, and second reshaping layer in the CNN module to obtain a third matrix of dimension (1,1984). Then the linear fully connected layer in the CNN module concatenates the first matrix and the third matrix to obtain a fourth matrix of dimension (1,1994), and obtains the final output result based on the fourth matrix.

[0154] After obtaining the output results of each blood pressure detection model, if only the output result of the first blood pressure detection model falls within its blood pressure detection interval, that is, the output result of the first blood pressure detection model is ≤100, the output result of the second blood pressure detection model is ≤100 or >140, and the output result of the third blood pressure detection model is ≤140, then the output result of the first blood pressure detection model is taken as the final blood pressure detection result.

[0155] If only the output result of the second blood pressure detection model falls within its blood pressure detection interval, that is, the output result of the first blood pressure detection model is greater than 100, the output result of the second blood pressure detection model is greater than 100 and less than or equal to 140, and the output result of the third blood pressure detection model is less than or equal to 140, then the output result of the second blood pressure detection model is taken as the final blood pressure detection result.

[0156] If only the output result of the third blood pressure detection model falls within its blood pressure detection interval, that is, the output result of the first blood pressure detection model is ≥100, the output result of the second blood pressure detection model is ≤100 or >140, and the output result of the third blood pressure detection model is >140, then the output result of the third blood pressure detection model is taken as the final blood pressure detection result.

[0157] If the output results of two or more of the three blood pressure detection models fall into their corresponding blood pressure detection intervals. That is, the output result of the first blood pressure detection model is ≤100; the output result of the second blood pressure detection model is >100 and ≤140; the output result of the third blood pressure detection model is >140, and at least two of them are satisfied. Then the output result of which model to select is determined based on the MAE (Mean Absolute Error) of the three blood pressure detection models. That is, the output result of the blood pressure detection model with the smallest MAE is selected as the final blood pressure detection result.

[0158] If none of the output results of the three blood pressure detection models falls within the corresponding blood pressure detection interval, the pairwise differences between the three output results are calculated, and the average of the two output results corresponding to the smallest difference is selected as the final blood pressure detection result. If there are multiple smallest differences, the average of the two output results corresponding to each smallest difference is calculated first, and then the average of all averages is calculated as the final blood pressure detection result.

[0159] This solution is a non-calibration blood pressure prediction solution. It does not require the construction of a blood pressure model library in advance, nor does it require the input of user personal information when collecting heart sound signals, and does not infringe on privacy.

[0160] This solution also integrates multi-class features and multi-scale frequency domain information. Extracting multi-class important features based on heart sound signals can reduce the dependence on sample size; mining multi-scale frequency domain information can increase the completeness of features; integrating multi-class features and multi-scale frequency domain information can improve algorithm performance.

[0161] The target features extracted by this scheme not only fully extract the important features of heart sounds under human cognitive experience, but also extract implicit features that are not observable or easy to think of by humans through the nonlinear mapping ability of neural networks. The combination of CNN module and Transformer module can take into account both global and local features, ensuring the comprehensiveness of the features.

[0162] Moreover, this solution adopts a multi-model approach, and different blood pressure detection models use different training parameters and network parameters, which reduces the randomness caused by hyperparameters and training process, and ensures that enough models with excellent performance within the blood pressure detection range can be obtained.

[0163] Based on the same technical concept, this application also provides a blood pressure detection model training process, such as Figure 4 As shown, the following will be combined Figure 4 Describe the steps it involves.

[0164] S710: Obtain a training data set.

[0165] The training data set includes multiple target features and a standard blood pressure value corresponding to each target feature.

[0166] The standard blood pressure values ​​in the same training data set are all systolic pressure or all diastolic pressure. If the standard blood pressure value in the training data set is systolic pressure, the prediction result output by the blood pressure detection model trained with the training data set is systolic pressure. If the standard blood pressure value in the training data set is diastolic pressure, the prediction result output by the blood pressure detection model trained with the training data set is diastolic pressure.

[0167] The specific implementation method of the target feature has been clearly described in the previous article. For the sake of brevity, it will not be repeated here.

[0168] The training data set may be pre-acquired and stored in a local storage medium, and can be directly called when needed, or may be acquired in real time when needed.

[0169] In one implementation, a specific method of obtaining a training data set may be: using a device for collecting heart sound signals, collect heart sound signals close to the user's chest or other position where heart sound can be collected, obtain training heart sound signals, and measure the user's blood pressure value. Then, extract a target feature of the training heart sound signal, and obtain a piece of training data based on the target feature and the blood pressure value.

[0170] Optionally, after collecting the heart sound signal by using a device for collecting heart sound signals at a position close to the user's chest or other location where heart sound can be collected, high-frequency noise, baseline drift and other noise in the collected heart sound signal can be removed to obtain a training heart sound signal.

[0171] The specific method of removing high-frequency noise, baseline drift and other noise from the collected heart sound signal has been clearly described in the previous text, and will not be repeated here for the sake of brief description.

[0172] Optionally, in order to reduce the influence of other sounds on the heart sound signal, when collecting the training heart sound signal, it is necessary to be in a quiet environment to reduce the influence of other sounds on the collected training heart sound signal.

[0173] S720: Using the training data set to train N initial blood pressure detection models respectively, to obtain N trained blood pressure detection models to be selected.

[0174] Wherein, N is a positive integer greater than 2.

[0175] The method and principle for training each initial blood pressure detection model are the same as the training method and principle of the existing neural network model, and will not be repeated here for the sake of brief description.

[0176] In one implementation, the N initial blood pressure detection models may be models of the same structure, for example, they may all be convolutional neural network models, recurrent neural network models, etc.

[0177] Optionally, the N initial blood pressure detection models may all be the aforementioned blood pressure detection models including a multi-class feature module, a Transformer module, and a CNN module.

[0178] In yet another implementation, the structure of each of the N initial blood pressure detection models is different from that of other initial blood pressure detection models.

[0179] Optionally, the N initial blood pressure value detection models may include a aforementioned blood pressure detection model including a multi-class feature module, a Transformer module, and a CNN module.

[0180] For example, if N=3, the three initial blood pressure detection models can be a convolutional neural network model, a recurrent neural network model, and the aforementioned blood pressure detection model including a multi-class feature module, a Transformer module, and a CNN module. The examples here are only for ease of understanding and should not be used as a limitation to this application.

[0181] Alternatively, the N initial blood pressure detection models are all the aforementioned blood pressure detection models including the multi-class feature module, the Transformer module, and the CNN module. However, each initial blood pressure detection model includes a different number of Transformer Encoder structures or a different number of one-dimensional convolutional layers, so that the structure of each of the N initial blood pressure detection models is different from that of other initial blood pressure detection models.

[0182] In another implementation, among the N initial blood pressure detection models, at least some of the models may have different structures. That is, there may be two or more initial blood pressure detection models with the same structure.

[0183] In one implementation, during the training of N initial blood pressure detection models, different initial blood pressure detection models select training data from the training data set in different orders.

[0184] For example, if N=3, the first initial blood pressure detection model can be trained by obtaining data from the training data set sequentially. The second initial blood pressure detection model can be trained by obtaining data from the training data set in reverse order. The third initial blood pressure detection model can be trained by obtaining data randomly from the training data set. The examples here are only for ease of understanding and should not be used as limitations on this application.

[0185] In one implementation, different initial blood pressure detection models use different numbers of training data sets. For an initial blood pressure detection model, after the initial blood pressure detection model is trained once using each piece of data in the training data set, it is considered that the initial blood pressure detection model has used the training data set once.

[0186] For example, if N=3, the number of times the training data set is used in the first initial blood pressure detection model training process may be 30 times, the number of times the training data set is used in the second initial blood pressure detection model training process may be 50 times, and the number of times the training data set is used in the third initial blood pressure detection model training process may be 20 times. The examples here are only for ease of understanding and should not be used as limitations on this application.

[0187] In one implementation, different initial blood pressure detection models may use different loss functions during training.

[0188] For example, if N=3, the loss function used in the first initial blood pressure detection model training process may be a mean square error loss function, the loss function used in the second initial blood pressure detection model training process may be a cross entropy loss function, and the loss function used in the third initial blood pressure detection model training process may be an absolute value loss function. The examples here are only for ease of understanding and should not be used as a limitation to this application.

[0189] S730: Divide the preset complete blood pressure detection interval into M blood pressure detection intervals.

[0190] Wherein, M is a positive integer greater than or equal to 2, and N is greater than or equal to M.

[0191] The specific definition and implementation of the complete blood pressure detection range have been clearly described in the previous article. For the sake of brief description, they will not be repeated here.

[0192] The specific division method of dividing the preset complete blood pressure detection interval into M blood pressure detection intervals and the value of M can be set according to actual needs, and the specific implementation method is not limited here.

[0193] The complete blood pressure detection interval may be evenly divided into M blood pressure detection intervals, or the division may not be evenly divided.

[0194] For example, if the complete blood pressure detection interval is 50-200, and M=3, the ranges of the three blood pressure detection intervals may be 50-100, 100-140, and 140-200, respectively. The examples here are only for ease of understanding and should not be used as limitations on the present application.

[0195] S740: Utilize a preset verification data set to verify each of the blood pressure detection models to be selected.

[0196] The verification data set includes multiple target features and a standard blood pressure value corresponding to each target feature.

[0197] Each of the blood pressure detection models to be selected is verified using a preset verification data set, that is, the blood pressure value of each verification data in the verification data set is predicted using the blood pressure detection model to be selected. Then, for each blood pressure detection interval, the accuracy of each blood pressure detection model in the blood pressure detection interval is determined.

[0198] The accuracy of the model may be the probability that the error between the output result of the blood pressure detection model to be selected and the standard blood pressure value corresponding to the output result is less than a preset error threshold. The preset error threshold may be set according to actual needs, for example, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, etc., and its specific value is not limited here.

[0199] S750: Determine the blood pressure detection model to be selected with the highest accuracy in each blood pressure detection interval as the blood pressure detection model corresponding to the blood pressure detection interval.

[0200] After obtaining the accuracy of each blood pressure detection model to be selected in each blood pressure detection interval, for each blood pressure detection interval, the blood pressure detection model to be selected with the highest accuracy in the interval is determined as the blood pressure detection model corresponding to the blood pressure detection interval.

[0201] Since the same blood pressure detection model to be selected may have the highest accuracy in multiple blood pressure detection intervals, in this case, the blood pressure detection model to be selected is used as the blood pressure detection model corresponding to these multiple blood pressure detection intervals.

[0202] For example, if M=4, that is, there are a first blood pressure detection interval, a second blood pressure detection interval, a third blood pressure detection interval, and a fourth blood pressure detection interval. If the target blood pressure detection model to be selected has the highest accuracy in the first blood pressure detection interval among the N blood pressure detection models to be selected, and has the highest accuracy in the third blood pressure detection interval among the N blood pressure detection models to be selected. Then the blood pressure detection models corresponding to the first blood pressure detection interval and the third blood pressure detection interval are both the target blood pressure detection models. The examples here are only for ease of understanding and should not be used as limitations on this application.

[0203] In order to facilitate understanding of the above-mentioned blood pressure detection model training method, an example will be given below to illustrate.

[0204] First, the initial training heart sound signal is obtained by using a heart sound sensor close to the user's chest in a quiet environment. At the same time, the standard blood pressure value measured by a medical sphygmomanometer is used as a comparison standard. While collecting the training heart sound signal, the tester's blood pressure is measured using a medical sphygmomanometer as a label for the training heart sound signal data. The blood pressure value is diastolic pressure or systolic pressure.

[0205] Then, the initial training heart sound signal is filtered using a Butterworth low-pass filter with a cutoff frequency of 1000 Hz to remove high-frequency noise; the initial training heart sound signal is filtered using a Butterworth high-pass filter with a cutoff frequency of 10 Hz to remove baseline drift; other noises are removed by wavelet transform to obtain a training heart sound signal. Among them, the training heart sound signal of a predetermined length can be collected at different time periods for people of different age groups and different blood pressure ranges.

[0206] Afterwards, for each training heart sound signal: normalize the training heart sound signal to the range of [-1,1] by dividing it by the absolute maximum value of the training heart sound signal. Then calculate the Shannon energy based on the preset Shannon energy calculation formula, which is: E = -x 2 log(x 2 ), where E is the Shannon energy and x is the normalized training heart sound signal. Then the Shannon energy is averaged using a sliding time window of a preset length, which can be specifically expressed as: Where E is the Shannon energy, E A is the Shannon average energy, N is the length of the sliding time window, where N is 20ms, and the corresponding overlap is 10ms (the overlap is a parameter of the sliding window, which plays a role in smoothing the waveform). A Normalization, that is, subtracting the mean and then dividing by the standard deviation, can be expressed as: Among them, E N is the normalized mean Shannon energy, M(E A ) means E A The mean, SD(E A ) means E A Finally, two thresholds are used to identify the peak points of the first heart sound and the second heart sound, where the peak points of the first heart sound and the second heart sound are the positions of the first heart sound and the second heart sound. The higher threshold of the two thresholds can be N The median (or average value, etc.) of the multiple maximum amplitudes in the multiplied by the preset threshold coefficient. The preset threshold coefficient can be a value in the range of 0.1 to 0.5, and the number of the multiple maximum amplitudes can be 3 to 5. The lower threshold of the two thresholds can be E N half of the envelope average value.

[0207] After obtaining the positions of the first heart sound and the second heart sound, for each training heart sound signal, extract non-frequency domain features from the training heart sound signal. Specifically, extract waveform features including the amplitude of the first heart sound signal, the amplitude of the second heart sound signal, the amplitude ratio of the second heart sound signal to the first heart sound signal, the time interval between the first heart sound signal and the second heart sound signal, and the time interval between the second heart sound signal and the next first heart sound signal, as well as extract statistical features including the kurtosis of the first heart sound signal, the skewness of the first heart sound signal, the kurtosis of the second heart sound signal, and the skewness of the second heart sound signal, and nonlinear features including Shannon entropy. Among them, the specific method of extracting non-frequency domain features has been clearly described in the previous text, and for the sake of brief description, it will not be repeated here.

[0208] And after obtaining the positions of the first heart sound and the second heart sound, for each training heart sound signal, extract frequency domain features from the training heart sound signal. Specifically, after obtaining the positions of the first heart sound and the second heart sound in the training heart sound signal, 10 heart sound pairs can be selected from the training heart sound signal. Among them, each first heart sound is 256 points around the peak of the first heart sound (128 points on the left and 128 points on the right), and each second heart sound is 256 points around the peak of the second heart sound (128 points on the left and 128 points on the right). For each heart sound pair, perform Fourier transform on the first heart sound signal in the heart sound pair to obtain first frequency domain information with a dimension of (1,128). Perform Fourier transform on the second heart sound signal in the heart sound pair to obtain second frequency domain information with a dimension of (1,128). All the first frequency domain information is concatenated to obtain the third concatenated information with a dimension of (10, 128); all the second frequency domain information is concatenated to obtain the fourth concatenated information with a dimension of (10, 128). Finally, the third concatenated information and the fourth concatenated information are concatenated to obtain the frequency domain features with a dimension of (20, 128).

[0209] After obtaining the non-frequency domain features and frequency domain features of each training heart sound signal, a training data set can be obtained. Each training data in the training data set includes a non-frequency domain feature, a frequency domain feature and a marked standard blood pressure value corresponding to a training heart sound, that is, a target feature and a standard blood pressure value corresponding to the target feature. The standard blood pressure values ​​in the same training data set are all systolic pressure or all diastolic pressure.

[0210] After obtaining the training data set, the N initial blood pressure detection models are trained using the training data set to obtain N trained blood pressure detection models to be selected. Each initial blood pressure detection model is the aforementioned model including a multi-class feature module, a Transformer module, and a CNN module.

[0211] Specifically, for each piece of training data, the target feature in the training data is used as the input data of each initial blood pressure detection model. The multi-class feature module in each initial blood pressure detection model converts the non-frequency domain features into a (1,10) matrix. The three-layer Transformer Encoder layer in the Transformer module processes the feature vector of (20,128) to obtain a first intermediate vector of dimension (20,128). Then the average pooling layer is used to reduce the data dimension and retain the feature information, and outputs a second intermediate vector of dimension (1,128). Then the second intermediate vector is reshaped into a second matrix of dimension (1,128) based on the first reshaping layer. The second matrix is ​​processed by the one-dimensional convolution layer, batch normalization layer, and second reshaping layer in the CNN module to obtain a third matrix of dimension (1,1984). Then the linear fully connected layer in the CNN module concatenates the first matrix and the third matrix to obtain a fourth matrix of dimension (1,1994), and regresses based on the fourth matrix to obtain the final output result. Then the initial blood pressure detection model is back-propagated and trained using the loss function. After the training is completed, the trained blood pressure detection model to be selected is obtained. Then the hyperparameters of the constructed blood pressure detection model to be selected are adjusted according to the training experience, and the hyperparameters are finally determined according to the performance of the preset validation set to achieve the optimal effect of the blood pressure detection model to be selected. Among them, the method of obtaining the validation set is the same as the aforementioned training data set, and it will not be repeated here for the sake of brief description.

[0212] The loss function used in the training process is the root mean square error (MSE). The Adam optimizer with an initial learning rate of 0.001 is used to train the model. Each initial blood pressure detection model is trained for 300 epochs with a batch size of 32. The model with the best performance on the validation set is saved as the final model. The model performance evaluation indicator selection includes but is not limited to the mean absolute error (MAE). The model performance evaluation indicators and the AAMI certification standards are used to determine whether the results are satisfactory.

[0213] Finally, the blood pressure detection model with the highest confidence level corresponding to each detection interval is selected according to the posterior probability.

[0214] Take systolic blood pressure as an example (the same applies to diastolic blood pressure), assuming that systolic blood pressure is divided into three intervals in advance (it can also be any number of intervals, but it must be ensured that all intervals can cover all low blood pressure, normal blood pressure and high blood pressure populations), which are less than or equal to 100, 100-140, and greater than 140. Then three models need to be selected from the N trained models, and the three models can achieve the best performance in the above three blood pressure intervals. The evaluation standard is the prediction confidence (that is, accuracy) of the model in a certain blood pressure interval. The prediction confidence is expressed by the formula:

[0215]

[0216] The prediction confidence represents the probability that the error between the predicted value and the label value is less than 10 under the condition that the model prediction value is within a certain range. Among them, pre represents the output result of the model, label represents the standard blood pressure value, range start Represents the starting point of the interval, range end Represents the end point of the interval. For example, It indicates the probability that the error between the output result and the standard blood pressure value is less than 10 when the output result of the blood pressure detection model is in the range of 100-140, that is, the prediction confidence of the model in the blood pressure range of 100-140.

[0217] The process of selecting a model based on posterior probability is as follows Figure 5 As shown. Wherein, N represents the number of trained blood pressure detection models to be selected, M represents the number of divided blood pressure detection intervals, and N must be greater than or equal to M. Wherein, blood pressure detection model 1 to blood pressure detection model N to be selected are N blood pressure detection models to be selected, blood pressure detection interval 1 to blood pressure detection interval M are M blood pressure detection intervals, and blood pressure detection value 1 to blood pressure detection value M are the blood pressure detection values ​​corresponding to each of the M blood pressure detection intervals.

[0218] Assume that a total of 100 models are trained, that is, N = 100, and the complete blood pressure detection interval is divided into 3 intervals, that is, M = 3, and the three intervals are 50-100, 100-140, and 140-200. Then you need to calculate the 100 models separately. (confidence of prediction within the blood pressure detection interval of 50-100) and (confidence of prediction within the blood pressure range of 100-140) and (Prediction confidence within the blood pressure detection range of 140-200). Then The highest blood pressure detection model to be selected is used as the blood pressure detection model corresponding to the blood pressure detection interval of 50-100. The highest blood pressure detection model to be selected is used as the blood pressure detection model corresponding to the blood pressure detection interval of 100-140. The highest selected blood pressure detection model is used as the blood pressure detection model corresponding to the blood pressure detection range of 140-200. The three ranges are used as the confidence intervals of the three blood pressure detection models, which can be expressed as Ci_1, Ci_2 and Ci_3 respectively. After selecting the blood pressure detection model, the MAE of the three blood pressure detection models needs to be calculated as the subsequent priority judgment standard.

[0219] Based on the same technical concept, the present application also provides a blood pressure detection model, which includes multiple feature modules, a Transformer module, and a CNN module.

[0220] The multi-class feature module is used to convert the non-frequency domain features corresponding to the training heart sound signal into a first matrix.

[0221] The Transformer module is used to convert the frequency domain features corresponding to the training heart sound signal into a frequency domain vector, perform dimensionality reduction processing on the frequency domain vector, and convert the frequency domain vector after dimensionality reduction processing into a second matrix.

[0222] The CNN module is used to obtain an output result based on the first matrix and the second matrix.

[0223] Among them, the specific functions and implementation methods of the multi-class feature module, Transformer module, and CNN module have been clearly described in the previous article. For the sake of brief description, they will not be repeated here.

[0224] Based on the same technical concept, the present application also provides a multi-model combined blood pressure detection device, such as Figure 6 As shown, the multi-model combined blood pressure detection device 100 includes a first acquisition module 110 and a first processing module 120 .

[0225] The first acquisition module 110 is used to acquire the heart sound signal to be detected.

[0226] The first processing module 120 is used to extract the target features of the heart sound signal to be detected; use the target features as the input of multiple preset blood pressure detection models to obtain the output results representing the blood pressure values ​​of each of the blood pressure detection models; wherein each blood pressure detection model corresponds to a blood pressure detection interval with the highest confidence, and the blood pressure detection intervals corresponding to all the blood pressure detection models constitute a continuous and complete blood pressure detection interval.

[0227] The first processing module 120 is further configured to use the output result falling within the blood pressure detection interval as the final blood pressure detection result if only one output result of the blood pressure detection model falls within the corresponding blood pressure detection interval.

[0228] The first processing module 120 is also used to take the output result corresponding to the blood pressure detection model with the highest priority as the final blood pressure detection result according to the preset blood pressure detection model confidence priority if the output results of multiple blood pressure detection models fall into the corresponding blood pressure detection interval.

[0229] The first processing module 120 is also used to calculate the difference between every two output results of all the output results if no output result of any blood pressure detection model falls into its corresponding blood pressure detection interval; and take the average value of the two output results corresponding to the smallest difference as the final blood pressure detection result.

[0230] In one implementation manner, the non-frequency domain features of the heart sound signal to be detected and the frequency domain features of the heart sound signal to be detected; at least some of the multiple blood pressure detection models include: a multi-category feature module, a Transformer module, and a CNN module; the multi-category feature module is used to convert the non-frequency domain features into a first matrix; the Transformer module is used to convert the frequency domain features into a frequency domain vector, and perform dimensionality reduction processing on the frequency domain vector, and convert the frequency domain vector after dimensionality reduction processing into a second matrix; the CNN module is used to obtain an output result based on the first matrix and the second matrix.

[0231] In one implementation, the Transformer module includes a three-layer TransformerEncoder structure, an average pooling layer, and a first reshaping layer connected in sequence.

[0232] In one implementation, the CNN module is specifically used to extract features from the second matrix and convert the extracted features into a third matrix; concatenate the first matrix and the third matrix to obtain a fourth matrix; and obtain an output result based on the fourth matrix.

[0233] In one implementation, the CNN module includes: a plurality of one-dimensional convolutional layers, a second reshaping layer, and a linear fully connected layer connected in sequence, each two adjacent one-dimensional convolutional layers are connected by a batch normalization layer, and the last layer connected to the second reshaping layer is a batch normalization layer; the linear fully connected layer is also connected to the multi-class feature module, and the linear fully connected layer is used to concatenate the first matrix and the third matrix to obtain a fourth matrix; and based on the fourth matrix, an output result is obtained.

[0234] In one implementation, the non-frequency domain feature includes at least one of a waveform feature, a statistical feature, and a nonlinear feature.

[0235] The first processing module 120 is specifically used to obtain the positions of the first heart sound and the second heart sound in the heart sound signal to be detected; select a specified number of heart sound pairs from the heart sound signal to be detected, wherein each heart sound pair includes a first heart sound signal and a second heart sound signal; and obtain the frequency domain features based on all the heart sound pairs.

[0236] The first acquisition module 110 is specifically used to acquire an initial heart sound signal to be detected; remove high-frequency noise, baseline drift and other noise in the initial heart sound signal to be detected, and obtain the heart sound signal to be detected.

[0237] In one implementation, the confidence priority is determined by the mean absolute error of each of the blood pressure detection models, and the smaller the mean absolute error, the higher the priority.

[0238] The multi-model combined blood pressure detection device 100 provided in the embodiment of the present application has the same implementation principle and technical effects as those of the aforementioned multi-model combined blood pressure detection method embodiment. For the sake of brief description, for matters not mentioned in the device embodiment, reference may be made to the corresponding contents in the aforementioned multi-model combined blood pressure detection method embodiment.

[0239] See also Figure 7 , which is an electronic device 300 provided in an embodiment of the present application. The electronic device 300 includes: a processor 310 and a memory 320.

[0240] The memory 320 and the processor 310 are electrically connected to each other directly or indirectly to achieve data transmission or interaction. For example, these components can be electrically connected to each other via one or more communication buses or signal lines. The memory 320 is used to store computer programs, such as Figure 6 The software function module shown in the figure is the multi-model combined blood pressure detection device 100. The multi-model combined blood pressure detection device 100 includes at least one software function module that can be stored in the memory 320 in the form of software or firmware or fixed in the operating system (OS) of the electronic device 300.

[0241] The processor 310 is used to execute executable modules stored in the memory 320, such as software function modules or computer programs included in the multi-model combined blood pressure detection device 100. At this time, the processor 310 is used to obtain the heart sound signal to be detected; extract the target features of the heart sound signal to be detected; use the target features as the input of multiple preset blood pressure detection models to obtain the output results representing the blood pressure value of each of the blood pressure detection models; wherein each blood pressure detection model corresponds to a blood pressure detection interval with the highest confidence, and the blood pressure detection intervals corresponding to all the blood pressure detection models constitute a continuous and complete blood pressure detection interval; if only one of the output results of the blood pressure detection model falls into the blood pressure detection interval corresponding to itself, then the output result falling into the blood pressure detection interval is used as the final blood pressure detection result; if there are multiple output results of the blood pressure detection models that fall into the blood pressure detection interval corresponding to themselves at the same time, then according to the preset blood pressure detection model confidence priority, the output result corresponding to the blood pressure detection model with the highest priority is taken as the final blood pressure detection result; if no output result of any blood pressure detection model falls into the blood pressure detection interval corresponding to itself, then the difference between every two output results of all the output results is calculated; and the average value of the two output results corresponding to the smallest difference is taken as the final blood pressure detection result.

[0242] Among them, the memory 320 can be, but is not limited to, RAM (Random Access Memory), ROM (Read Only Memory), PROM (Programmable Read-Only Memory), EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electric Erasable Programmable Read-Only Memory), etc.

[0243] The processor 310 may be an integrated circuit chip with signal processing capabilities. The above-mentioned processor may be a general-purpose processor, including a CPU (Central Processing Unit), an NP (Network Processor), etc.; it may also be a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The various methods, steps and logic block diagrams disclosed in the embodiments of the present application may be implemented or executed. A general-purpose processor may be a microprocessor or the processor 310 may also be any conventional processor, etc.

[0244] The electronic device 300 mentioned above includes but is not limited to a personal computer, a server, etc.

[0245] The embodiment of the present application also provides a computer-readable storage medium (hereinafter referred to as storage medium), on which a computer program is stored, and when the computer program is run by a computer such as the above-mentioned electronic device 300, the multi-model joint blood pressure detection method shown above is executed. The computer-readable storage medium includes: a U disk, a mobile hard disk, a read-only memory, a random access memory, a magnetic disk or an optical disk, and other media that can store program codes.

[0246] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A multi-model combined blood pressure detection method, characterized in that: include: Acquire a heart sound signal to be detected; Extracting target features of the heart sound signal to be detected; The target feature is used as an input of a plurality of preset blood pressure detection models to obtain an output result representing the blood pressure value of each of the blood pressure detection models; wherein each blood pressure detection model corresponds to a blood pressure detection interval with the highest confidence, and the blood pressure detection intervals corresponding to all the blood pressure detection models constitute a continuous and complete blood pressure detection interval; If only one of the output results of the blood pressure detection model falls within its corresponding blood pressure detection interval, the output result falling within the blood pressure detection interval is used as the final blood pressure detection result; If there are multiple output results of the blood pressure detection models that fall into their corresponding blood pressure detection intervals at the same time, then according to the preset confidence priority of the blood pressure detection models, the output result corresponding to the blood pressure detection model with the highest priority is taken as the final blood pressure detection result; If the output result of any blood pressure detection model does not fall into its corresponding blood pressure detection interval, the difference between every two output results of all the output results is calculated; the average value of the two output results corresponding to the smallest difference is taken as the final blood pressure detection result.

2. The method according to claim 1, characterized in that The target features include: non-frequency domain features of the heart sound signal to be detected and frequency domain features of the heart sound signal to be detected; At least some of the blood pressure detection models in the plurality of blood pressure detection models include: Multi-class feature module, Transformer module, CNN module; The multi-class feature module is used to convert the non-frequency domain features into a first matrix; The Transformer module is used to convert the frequency domain features into frequency domain vectors, perform dimensionality reduction processing on the frequency domain vectors, and convert the frequency domain vectors after dimensionality reduction processing into a second matrix; The CNN module is used to obtain an output result based on the first matrix and the second matrix.

3. The method according to claim 2, characterized in that The Transformer module includes a three-layer Transformer Encoder structure, an average pooling layer, and a first reshaping layer.

4. The method according to claim 2, characterized in that: The CNN module is specifically used to extract features from the second matrix and convert the extracted features into a third matrix; concatenate the first matrix and the third matrix to obtain a fourth matrix; and obtain an output result based on the fourth matrix.

5. The method according to claim 4, characterized in that The CNN module includes: a plurality of one-dimensional convolutional layers, a second reshaping layer, and a linear fully connected layer, each two adjacent one-dimensional convolutional layers are connected by a batch normalization layer, and the last layer connected to the second reshaping layer is a batch normalization layer; The linear fully connected layer is also connected to the multi-class feature module, and the linear fully connected layer is used to concatenate the first matrix and the third matrix to obtain a fourth matrix; and obtain an output result based on the fourth matrix.

6. The method according to claim 2, characterized in that The non-frequency domain features include at least one of waveform features, statistical features, and nonlinear features.

7. The method according to claim 2, characterized in that The steps of extracting the frequency domain features are as follows: Acquire the positions of the first heart sound and the second heart sound in the heart sound signal to be detected; Selecting a specified number of heart sound pairs from the heart sound signals to be detected, wherein each heart sound pair includes a first heart sound signal and a second heart sound signal; Based on all the heart sound pairs, the frequency domain features are obtained.

8. The method according to claim 1, characterized in that: The step of acquiring the heart sound signal to be detected comprises: Acquiring an initial heart sound signal to be detected; The high-frequency noise, baseline drift and other noise in the initial heart sound signal to be detected are removed to obtain the heart sound signal to be detected.

9. The method according to claim 1, characterized in that: The confidence priority is determined by the mean absolute error of each of the blood pressure detection models.

10. The method according to claim 1, characterized in that The multiple preset blood pressure detection models are trained in the following manner: Acquire a training data set, wherein the training data set includes a plurality of target features and a standard blood pressure value corresponding to each target feature; Using the training data set to train N initial blood pressure detection models respectively, to obtain N trained blood pressure detection models to be selected; wherein N is a positive integer greater than 2; Divide the preset complete blood pressure detection interval into M blood pressure detection intervals; wherein M is a positive integer greater than or equal to 2, and N is greater than or equal to M; Using a preset verification data set to verify each of the blood pressure detection models to be selected; wherein the verification data set includes a plurality of target features and a standard blood pressure value corresponding to each target feature; Determine the blood pressure detection model with the highest accuracy in each blood pressure detection interval as the blood pressure detection model corresponding to the blood pressure detection interval; wherein the blood pressure detection model corresponding to each blood pressure detection interval is the multiple preset blood pressure detection models.

11. A multi-model combined blood pressure detection device, characterized in that: include: A first acquisition module is used to acquire the heart sound signal to be detected; A first processing module, used for extracting target features of the heart sound signal to be detected; The target feature is used as an input of a plurality of preset blood pressure detection models to obtain an output result representing the blood pressure value of each of the blood pressure detection models; wherein each blood pressure detection model corresponds to a blood pressure detection interval with the highest confidence, and the blood pressure detection intervals corresponding to all the blood pressure detection models constitute a continuous and complete blood pressure detection interval; The first processing module is further configured to use the output result falling within the blood pressure detection interval as the final blood pressure detection result if only one output result of the blood pressure detection model falls within the corresponding blood pressure detection interval; The first processing module is further configured to, if there are output results of multiple blood pressure detection models that fall into the corresponding blood pressure detection interval, take the output result corresponding to the blood pressure detection model with the highest priority as the final blood pressure detection result according to the preset confidence priority of the blood pressure detection model; The first processing module is also used to calculate the difference between every two output results of all the output results if the output result of any blood pressure detection model falls into the corresponding blood pressure detection interval; and take the average value of the two output results corresponding to the smallest difference as the final blood pressure detection result.

12. An electronic device, characterized in that: include: A memory and a processor, wherein the memory and the processor are connected; The memory is used to store programs; The processor is used to call the program stored in the memory to execute the method according to any one of claims 1-10.

13. A computer-readable storage medium, characterized in that: A computer program is stored thereon, and when the computer program is executed by a computer, the method according to any one of claims 1 to 10 is executed.