How to diagnose a disease
The method addresses noise-related accuracy issues in long-duration electrocardiogram diagnosis by filtering and excluding low-quality leads, ensuring accurate disease diagnosis through a pre-trained analysis model.
Patent Information
- Application Number
- JP2024538364
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-03-03
- Filing Date
- 2023-01-09
- Publication Date
- 2026-02-24
- Estimated Expiration
- 2043-01-09
AI Technical Summary
Existing deep learning-based electrocardiogram diagnosis methods face accuracy issues due to noise in long-duration measurements with multiple channels, making it difficult to diagnose diseases when poor-quality signals or leads are included.
A method for evaluating the quality of electrocardiogram signals by filtering noise, excluding low-quality leads, and analyzing the remaining data using a pre-trained electrocardiogram analysis model, including an encoder module for feature extraction and a disease determination module.
Enables reliable disease diagnosis using only high-quality electrocardiogram signals, improving accuracy by filtering noise and excluding low-quality leads, thereby enhancing the reliability of disease detection.
Smart Images

Figure 0007818786000001 
Figure 0007818786000002 
Figure 0007818786000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a method for diagnosing a disease, and more particularly to a method for evaluating the quality of multiple electrocardiogram data from multi-channel electrocardiogram measurements and diagnosing a disease based only on good quality signals. [Background technology]
[0002] Extensive research has been conducted into disease diagnosis methods using biosignals that utilize deep learning-based algorithms. However, the accuracy of existing methods often declines due to the characteristics of biosignals, namely, noise that occurs when the measurement length is long and the number of input channels is large.
[0003] In particular, when diagnosing diseases using electrocardiograms, if a Holter recorder, patch recorder, or patient monitoring device is used to measure an electrocardiogram, it is necessary to measure the subject for a long period of time, ranging from as short as one hour to as long as several weeks, and therefore there is a high possibility that the electrocardiogram data measured using this method will contain a large amount of noise.
[0004] In the case of existing deep learning-based electrocardiogram diagnosis algorithms, a prerequisite for diagnosis is that electrocardiogram data with leads matching the number of learned leads is input. Therefore, if a specific lead measures a poor-quality signal that should not be used, contains a certain amount of noise, or is not measured at all, diagnosis becomes difficult.
[0005] Therefore, there is a need in the art for a method for automatically selecting normal signals in the diagnosis of diseases using electrocardiograms and diagnosing diseases from such signals.
[0006] Korean Patent No. 10-1799194 (November 13, 2017) discloses an arrhythmia diagnosis device using electrocardiogram signals. Summary of the Invention [Problem to be solved by the invention]
[0007] The present disclosure has been devised in response to the above-mentioned background art, and aims to provide a method for evaluating the quality of electrocardiogram signals composed of multiple leads, performing electrocardiogram analysis using only good quality signals, and diagnosing diseases. [Means for solving the problem]
[0008] According to an embodiment of the present disclosure for achieving the above object, a method for evaluating the quality of a plurality of electrocardiogram data and analyzing an electrocardiogram is disclosed. The method may include the steps of: evaluating the quality of a plurality of electrocardiogram data obtained from a plurality of leads; excluding electrocardiogram data obtained from at least one lead among the plurality of leads based on the evaluation of the quality of the plurality of electrocardiogram data; and analyzing the electrocardiogram based on the remaining plurality of electrocardiogram data using a pre-trained electrocardiogram analysis model.
[0009] In an alternative embodiment, assessing the quality of the electrocardiogram data acquired from the leads may include dividing the electrocardiogram data acquired from the leads into samples having a predetermined time length; removing noise from each of the samples; and assessing the quality of each of the samples.
[0010] In an alternative embodiment, removing noise from each of the plurality of samples may include inputting each of the plurality of samples to a bandpass filter; the bandpass filter removing at least one of high frequency noise or low frequency noise.
[0011] In an alternative embodiment, excluding electrocardiogram data acquired from at least one lead of the plurality of leads may include determining that the quality of samples of the at least one lead is below a threshold, and excluding samples of the at least one lead whose quality is determined to be below the threshold upon analysis of a corresponding time segment.
[0012] In alternative embodiments, the threshold value may vary depending on at least one of the electrocardiogram measurement equipment or the intended use of the electrocardiogram data.
[0013] In an alternative embodiment, the step of analyzing the electrocardiogram based on the remaining plurality of electrocardiogram data using the pre-trained electrocardiogram analysis model may include a step of analyzing the electrocardiogram based on a plurality of samples of the remaining plurality of leads, excluding samples of the at least one lead when analyzing the corresponding time portion.
[0014] In an alternative embodiment, the step of analyzing the electrocardiogram based on the samples of the remaining leads, excluding the samples of at least one lead, when analyzing the corresponding time portion may include: extracting feature values of the samples of the remaining leads by an encoder module; integrating the feature values in units of the corresponding time portion; and inputting the integrated feature values into a disease diagnosis module for making a diagnosis.
[0015] In an alternative embodiment, when electrocardiogram data is acquired from only a portion of the plurality of leads, the encoder module is capable of extracting feature values based on the electrocardiogram data acquired from the portion of the leads.
[0016] In an alternative embodiment, the encoder module may correspond to a pre-trained module based on the steps of labeling samples that the disease judgment module has judged to have a disease; generating training data based on the labeled samples; and training the encoder module with the training data.
[0017] In an alternative embodiment, the disease determination module may include a classification sub-module corresponding to each disease.
[0018] In an alternative embodiment, the step of inputting the integrated feature values into a disease determination module and making a diagnosis may include the steps of: inputting the integrated feature values into the disease determination module and deriving a probability value corresponding to each disease; and the disease determination module diagnosing the presence or absence of each disease depending on whether the probability value exceeds a threshold value set for each disease.
[0019] According to an embodiment of the present disclosure for achieving the above object, a computer program for evaluating the quality of a plurality of electrocardiogram data and performing electrocardiogram analysis is disclosed. The program may include operations of evaluating the quality of a plurality of electrocardiogram data obtained from a plurality of leads; excluding electrocardiogram data obtained from at least one lead among the plurality of leads based on the operation of evaluating the quality of the plurality of electrocardiogram data; and analyzing an electrocardiogram based on the remaining plurality of electrocardiogram data using a pre-trained electrocardiogram analysis model.
[0020] According to one embodiment of the present disclosure, there is provided a computing device for evaluating the quality of multiple electrocardiogram data and performing electrocardiogram analysis. The computing device includes a processor including one or more cores, a network unit for receiving one or more electrocardiogram data, and a memory. The processor is capable of evaluating the quality of multiple electrocardiogram data obtained from multiple leads, excluding electrocardiogram data obtained from at least one lead among the multiple leads based on the evaluation of the quality of the multiple electrocardiogram data, and performing electrocardiogram analysis based on the remaining multiple electrocardiogram data using a pre-trained electrocardiogram analysis model.
[0021] The present disclosure is capable of evaluating the quality of electrocardiogram signals and providing disease diagnosis results using only good quality signals. [Brief explanation of the drawings]
[0022] The following drawings attached for use in explaining the embodiments of the present disclosure are merely a part of the embodiments of the present disclosure, and a person having ordinary knowledge in the technical field to which the present disclosure pertains (hereinafter referred to as "ordinary engineers") can derive other drawings based on these drawings without making any effort to come up with a new invention. [Figure 1] FIG. 1 is a block diagram of a computing device that operates to evaluate and analyze electrocardiogram data, according to one embodiment of the present disclosure. [Figure 2] FIG. 2 is a schematic diagram illustrating a network function according to one embodiment of the present disclosure. [Figure 3] FIG. 3 is a flowchart of a method for assessing electrocardiogram quality and diagnosing diseases through electrocardiogram analysis according to one embodiment of the present disclosure. [Figure 4] FIG. 4 is a conceptual diagram illustrating a method for assessing the quality of an electrocardiogram according to one embodiment of the present disclosure. [Figure 5] FIG. 5 is a block diagram of a computing device according to one embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0023] The present disclosure aims to provide a method for reliably diagnosing diseases from electrocardiogram signals in various situations by evaluating the quality of electrocardiogram signals obtained from multiple leads, selecting only high-quality data, and analyzing electrocardiograms using deep learning models.
[0024] Various embodiments are described below with reference to the drawings. Various descriptions are provided herein to facilitate understanding of the present disclosure. However, it will be apparent that such embodiments can be practiced without such specific descriptions.
[0025] As used herein, terms such as "component," "module," and "system" refer to computer-related entities, hardware, firmware, software, a combination of software and hardware, or the execution of software. For example, a component can be, but is not limited to, a procedure running on a processor, a processor, an object, a thread of execution, a program, and / or a computer. For example, both an application running on a computing device and the computing device can be a component. One or more components can reside within a processor and / or thread of execution. A component can be localized within one computer. A component can be distributed across two or more computers. Such components can also execute on various computer-readable media having various data structures stored therein. Components can communicate via local and / or remote processes, for example, using signals comprising one or more data packets (e.g., data and / or signals from one component interacting with other components in a local or distributed system, or data transmitted over a network such as the Internet with other systems).
[0026] It should be noted that the term "or" is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless otherwise specified or clear from the context, "X utilizes A or B" is intended to mean one of the natural inclusive permutations. That is, if X utilizes A; X utilizes B; or X utilizes both A and B, then "X utilizes A or B" can apply to any of these. Additionally, the term "and / or" as used herein should be understood to refer to and include all possible combinations of one or more items among a list of associated items.
[0027] Additionally, the predicate "comprises" and / or the modifier "comprises" should be understood to mean the presence of the feature and / or component in question. However, the predicate "comprises" and / or the modifier "comprises" should be understood not to exclude the presence or addition of one or more other further features, components and / or groups thereof. Additionally, unless a specific number is specified or the context is clear that a singular form is indicated, the singular form in this specification and claims should generally be construed to mean "one or more."
[0028] Furthermore, the term "at least one of A or B" should be interpreted as meaning "when only A is included," "when only B is included," or "when a combination of A and B is included."
[0029] Those skilled in the art should further recognize that the various illustrative logical blocks, components, modules, circuits, means, logic, and algorithm steps described in accordance with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the various illustrative components, blocks, components, means, logic, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the particular application and design constraints of the overall system. Skilled artisans may implement the described functionality in various ways for each particular application. However, such implementation decisions should not be interpreted as departing from the scope of the present disclosure.
[0030] The description of the embodiments set forth herein is provided to enable one of ordinary skill in the art to utilize or practice the present disclosure. Various modifications to these embodiments will be apparent to those of ordinary skill in the art. The generic principles defined herein may be applied to other embodiments without departing from the scope of the present disclosure. Therefore, the present invention is not limited to the embodiments set forth herein. The present invention is to be accorded the broadest scope consistent with the principles and novel features disclosed herein.
[0031] In this disclosure, the terms network function, artificial neural network, and neural network may be used interchangeably.
[0032] Meanwhile, the term "electrocardiogram data" used in the detailed description and claims of this disclosure refers to data including the results of measuring an electrocardiogram obtained from multiple leads consisting of multiple electrodes. A lead is a lead, and can be defined as the voltage difference between two different electrodes recorded by electrocardiogram measurement equipment. For example, lead-1 records the voltage difference between the electrode on the right arm and the electrode on the left arm, and lead-2 records the voltage difference between the electrode on the right arm and the electrode on the right foot. Standard measurement equipment uses 10 electrodes, which can form 12 leads, but the number of leads and the length of the measured electrocardiogram data can vary depending on the electrocardiogram measurement equipment and measurement time.
[0033] FIG. 1 is a block diagram of a computing device that operates to evaluate and analyze electrocardiogram data, according to one embodiment of the present disclosure.
[0034] The configuration of the computing device (100) shown in Figure 1 is merely a simplified example. In one embodiment of the present disclosure, the computing device (100) may include other components for implementing the computing environment of the computing device (100), and the computing device (100) may be configured with only some of the disclosed components.
[0035] The computing device (100) may include a processor (110), a memory (130), and a network unit (150).
[0036] The processor 110 may be configured with one or more cores and may include a processor for data analysis and deep learning, such as a central processing unit (CPU) of a computing device, a general-purpose graphics processing unit (GPGPU), or a tensor processing unit (TPU). The processor 110 is capable of reading a computer program stored in the memory 130 and performing data processing for machine learning in one embodiment of the present disclosure. According to one embodiment of the present disclosure, the processor 110 is capable of performing calculations for neural network training. The processor 110 is capable of performing calculations for neural network training, such as processing input data for training in deep learning (DL), extracting feature values from the input data, calculating errors, and updating weights in a neural network using backpropagation.
[0037] At least one of the CPU, GPGPU, and TPU of the processor 110 can process network function training. For example, the CPU and GPGPU can both train the network function or classify data using the network function. In one embodiment of the present disclosure, processors of multiple computing devices can be used together to train the network function or classify data using the network function. In one embodiment of the present disclosure, a computer program executed in a computing device can be a program executable by the CPU, GPGPU, or TPU.
[0038] According to one embodiment of the present disclosure, the processor 110 may acquire one or more electrocardiogram data from different types of channels, such as, but not limited to, the processor 110 may acquire electrocardiogram data received by an electrocardiogram device, the processor 110 may acquire electrocardiogram data stored in the memory 130, or the processor 110 may acquire electrocardiogram data directly from an electrocardiogram measurement device such as electrodes.
[0039] The processor 110 may divide the received electrocardiogram data into a plurality of samples having a predetermined time length. Since the electrocardiogram data used in the present disclosure is data measured over a long period of time, such as as short as one hour or as long as one week, it is possible to divide the data into certain time intervals and analyze each of the divided electrocardiogram data. The predetermined time length may be determined independently of the number of leads of the electrocardiogram measuring device or the length of measurement time, and may be within a range of time that can be input into an electrocardiogram analysis model for analyzing the electrocardiogram data.
[0040] The processor 110 can perform a noise removal operation on the plurality of electrocardiogram data segments divided into a plurality of samples each having a predetermined time length. For example, the noise removal method can be performed by inputting the plurality of electrocardiogram data segments into a bandpass filter and using the output value. A bandpass filter is a signal filter that passes only information within a desired specific frequency band without attenuation and attenuates information outside the specific frequency band. In this case, the bandpass filter, which attenuates high and low frequencies, can remove high-frequency and low-frequency noise from the divided electrocardiogram data. However, the present disclosure is not limited to the above-described noise removal method.
[0041] The processor 110 can evaluate the quality of each of the plurality of electrocardiogram data segments, from which noise has been removed and divided into the predetermined time lengths. For example, the quality evaluation of the plurality of electrocardiogram data segments can be performed by classifying the quality of the electrocardiogram data segments into a plurality of categories using a pre-trained neural network model and assigning a score to each specific class. Alternatively, the quality evaluation can be performed using a rule-based algorithm without using a model.
[0042] It is possible to adopt one of the multiple methods that have been proposed to assign scores to electrocardiograms in previous research on electrocardiogram data, or to use a combination of at least one or more of the previous methods, but the present disclosure is not limited thereto. The specific process of evaluating the quality of multiple electrocardiogram data will be described later with reference to Figure 4.
[0043] The processor 110 can exclude electrocardiogram data acquired from at least one lead from the electrocardiogram data acquired from the plurality of leads based on the result of evaluating the quality of the plurality of electrocardiogram data. A specific method for excluding some of the electrocardiogram data will be described later with reference to FIG. 3.
[0044] The processor (110) can perform electrocardiogram analysis using the pre-trained electrocardiogram analysis model based on the remaining electrocardiogram data after performing the above-mentioned exclusion method. The electrocardiogram analysis model can include at least one encoder module and at least one disease determination module.
[0045] The processor (110) can use an encoder module included in the electrocardiogram analysis model to extract feature values corresponding to the number of each sample from the electrocardiogram data divided by time, removing samples from low-quality leads, i.e., even if electrocardiogram data is acquired only from some leads.
[0046] For example, when electrocardiogram data is acquired using a typical 12-lead electrocardiogram measurement device, the electrocardiogram data is composed of data from 12 leads having the same time length. The processor 110 can divide the data into predetermined time intervals and exclude samples from at least one lead with low quality from the divided data. Assuming that samples from two of the 12 leads are of low quality and are excluded from analysis, the encoder module can analyze the divided electrocardiogram data composed of 10 leads and extract feature values.
[0047] In one embodiment of the present disclosure, when electrocardiogram data is acquired from only some of multiple leads, the encoder module can extract feature values by inferring a single-read encoder as many times as the number of leads, or by inferring a k-read encoder once, the same number as the number of received leads. Continuing the above example, the encoder module can be designed to include a single-read encoder, which can infer the single-read encoder 10 times on the electrocardiogram data of each lead to extract 10 feature values, or it can be designed to include a 10-lead encoder, which can extract 10 feature values with one inference. The n-lead encoder (n is any natural number) in the present disclosure can be an encoder module trained using electrocardiogram measurement data having n leads.
[0048] Furthermore, the present disclosure can extract feature values corresponding to various lead types by including multiple single-read encoders according to the lead type. However, the feature value extraction method of the present disclosure is not limited to the above example. By using the above method, the present disclosure can stably extract feature values of electrocardiogram data from electrocardiogram data after excluding one or more pieces of low-quality electrocardiogram data.
[0049] In one embodiment of the present disclosure, the single-read encoder included in the encoder module can be pre-trained. Although the present disclosure discloses a method for diagnosing diseases by targeting long-duration electrocardiogram data, the present disclosure does not impose any restrictions on the learning method of the encoder module, and therefore, it is also possible to use an existing machine learning module that has been developed for electrocardiogram analysis.
[0050] In one embodiment of the present disclosure, the processor 110 may integrate the feature values extracted by the encoder module in one time segment to obtain one feature value. In the process of integrating the feature values, a neural network such as a fully connected layer, a transformer, or an attention layer may be used, and the average of each feature value may be determined as the integrated feature value, but the present disclosure is not limited thereto.
[0051] In one embodiment of the present disclosure, a disease determination module included in the electrocardiogram analysis model can receive the integrated feature value as input and diagnose a disease. The specific process of diagnosing a disease will be described later with reference to FIG. 3.
[0052] The disease determination module can diagnose a disease and provide it to the user, and for electrocardiogram data that is highly likely to correspond to a disease based on the output of the disease determination model, an expert user can label the disease and generate training data including the labeled data. The present disclosure can improve the performance of the encoder model by further training the encoder module included in the electrocardiogram analysis model using the training data generated as described above.
[0053] In one embodiment of the present disclosure, the memory 130 may include at least one type of storage medium selected from the group consisting of flash memory, hard disk, micro multimedia card, card-type memory (e.g., SD or XD memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, and optical disk. The computing device 100 may also operate in conjunction with web storage that performs storage functions of the memory 130 over the Internet. The above descriptions of memory are merely examples, and the present disclosure is not limited thereto.
[0054] The network unit 150 in one embodiment of the present disclosure can use various wired communication systems such as a Public Switched Telephone Network (PSTN), x Digital Subscriber Line (xDSL), Rate Adaptive DSL (RADSL), Multi Rate DSL (MDSL), Very High Speed DSL (VDSL), Universal Asymmetric DSL (UADSL), High Bit Rate DSL (HDSL), and a Local Area Network (LAN).
[0055] In addition, the network unit (150) in this specification can use various wireless communication systems such as CDMA (Code Division Multi Access), TDMA (Time Division Multi Access), FDMA (Frequency Division Multi Access), OFDMA (Orthogonal Frequency Division Multi Access), SC-FDMA (Single Carrier-FDMA), and other systems.
[0056] In the present disclosure, the network unit 150 can use any type of wired or wireless communication system.
[0057] The techniques described herein can be used in the above networks as well as other networks.
[0058] FIG. 2 is a schematic diagram illustrating a network function in one embodiment of the present disclosure.
[0059] Throughout this specification, the terms computational model, neural network, network function, and neural network may be used interchangeably. A neural network is often composed of a collection of interconnected computational units, commonly called nodes. Such nodes may also be referred to as neurons. A neural network is composed of at least one or more nodes. The nodes (or neurons) that make up a neural network may be interconnected by one or more links.
[0060] In a neural network, one or more nodes connected via links can form a relative relationship between an input node and an output node. The concepts of input node and output node are relative, and any node that is an output node for one node can also be an input node for another node, and vice versa. As mentioned above, the relationship between input node and output node can be established around links. One or more output nodes can be connected to one input node via links, and vice versa.
[0061] In a relationship between an input node and an output node connected via a link, the value of the data in the output node can be determined based on the data input to the input node. Here, the node interconnecting the input node and the output node can have a weight. The weight can be variable and can be changed by a user or an algorithm so that the neural network performs a desired function. For example, if one or more input nodes are interconnected to one output node by each link, the output node can determine its value based on the value input to the input node connected to the output node and the weight set for the link corresponding to each input node.
[0062] As described above, a neural network has one or more nodes interconnected via one or more links, forming a relationship between an input node and an output node within the neural network. The characteristics of a neural network can be determined by the number of nodes and links, the correlation between the nodes and links, and the weights assigned to each link. For example, if two neural networks have the same number of nodes and links but different link weights, the two neural networks can be recognized as different.
[0063] A neural network can be composed of a set of one or more nodes. A subset of the nodes in a neural network can form a layer. Some of the nodes in a neural network can form a layer based on their distance from a first input node. For example, a set of nodes whose distance from a first input node is n can form n layers. The distance from the first input node can be defined based on the minimum number of links that must be traversed to reach that node from the first input node. However, this definition of a layer is arbitrary for the purpose of explanation, and the configuration of layers in a neural network can be defined in a manner different from the above description. For example, a layer of nodes can also be defined based on their distance from the final output node.
[0064] A first input node may refer to one or more nodes in a neural network to which data is directly input without passing through a link in relation to other nodes. Alternatively, a first input node may refer to a node in a neural network that does not have other input nodes connected via a link in relation to other nodes based on links. Similarly, a final output node may refer to one or more nodes in a neural network that do not have output nodes in relation to other nodes. Furthermore, a hidden node may refer to a node that is neither a first input node nor a final output node and that constitutes a neural network.
[0065] A neural network according to an embodiment of the present disclosure may be a neural network in which the number of nodes in the input layer is the same as the number of nodes in the output layer, and the number of nodes decreases once and then increases again as the network progresses from the input layer to the hidden layer. A neural network according to an embodiment of the present disclosure may be a neural network in which the number of nodes in the input layer is fewer than the number of nodes in the output layer, and the number of nodes decreases as the network progresses from the input layer to the hidden layer. Furthermore, a neural network according to another embodiment of the present disclosure may be a neural network in which the number of nodes in the input layer is greater than the number of nodes in the output layer, and the number of nodes increases as the network progresses from the input layer to the hidden layer. A neural network according to another embodiment of the present disclosure may be a neural network that combines the above-mentioned neural networks.
[0066] A deep neural network (DNN) can refer to a neural network that includes multiple hidden layers in addition to an input layer and an output layer. Deep neural networks can be used to understand the latent structures of data. That is, they can understand the latent structures of photos, text, video, audio, and music (e.g., whether a certain object appears in the photo, what the content and emotion of the text are, what the content and emotion of the audio are, etc.). Deep neural networks include convolutional neural networks (CNNs), recurrent neural networks (RNNs), autoencoders, generative adversarial networks (GANs), restricted Boltzmann machines (RBMs), deep belief networks (DBNs), Q-networks, U-networks, Siamese networks, and generative adversarial networks (GANs). The above-mentioned deep neural networks are merely examples and the present disclosure is not limited thereto.
[0067] In one embodiment of the present disclosure, the network function may include an autoencoder. An autoencoder may be a type of artificial neural network that outputs output data similar to input data. An autoencoder may include at least one hidden layer, and an odd number of hidden layers may be arranged between the input and output layers. The number of nodes in each layer may decrease from the number of nodes in the input layer toward an intermediate layer called a bottleneck layer (encoder), and may expand in a symmetrical manner from the bottleneck layer toward the output layer (symmetrical to the input layer). An autoencoder may perform nonlinear dimensionality reduction. The number of input and output layers may correspond to the dimensionality of the input data after preprocessing. In an autoencoder structure, the number of nodes in the hidden layer included in the encoder may decrease as the distance from the input data increases. If the number of nodes in the bottleneck layer (the layer with the fewest nodes located between the encoder and decoder) is too small, sufficient information may not be transmitted. Therefore, the number of nodes may be maintained above a certain number (e.g., more than half of the input layer).
[0068] Neural networks can be trained using at least one of supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. Training a neural network can be a process of providing the neural network with knowledge that enables it to perform a specific operation.
[0069] Neural networks can be trained to minimize output errors. Training involves repeatedly inputting training data into the neural network, calculating the error between the neural network's output and the target for the training data, and backpropagating the neural network's error from the output layer to the input layer to update the weights of each node in the neural network in a way that reduces the error. In supervised learning, training data in which the correct answer is labeled is used (i.e., labeled training data). In unsupervised learning, the correct answer may not be labeled. For example, in supervised learning for data classification, the training data may be data in which each training data is labeled with a category. Labeled training data is input into the neural network, and the error can be calculated by comparing the neural network's output (category) with the label of the training data. As another example, in unsupervised learning for data classification, the error can be calculated by comparing the input training data with the neural network's output. The calculated error is backpropagated in the reverse direction in the neural network (i.e., from the output layer to the input layer), and the connection weights of each node in each layer of the neural network can be updated through backpropagation. The amount of change in the connection weights of each node to be updated can be determined by the learning rate. The neural network calculation for input data and backpropagation of the error can constitute a learning cycle (epoch). The application method of the learning rate can change depending on the number of iterations of the neural network learning cycle. For example, in the early stages of neural network learning, the learning rate can be increased to allow the neural network to quickly achieve a certain level of performance, thereby improving efficiency, and in the later stages of learning, the learning rate can be decreased to improve accuracy.
[0070] In neural network training, the training data can generally be a subset of the actual data (i.e., the data to be processed using the trained neural network). Therefore, there can be a learning cycle in which the error associated with the training data decreases while the error associated with the actual data increases. Overfitting is a phenomenon in which the error associated with the actual data increases due to excessive learning of the training data. For example, a neural network that has learned to recognize a yellow cat may be unable to recognize a cat that is a different color from yellow. Overfitting can increase the error of machine learning algorithms. Various optimization methods can be applied to prevent overfitting. Methods that can be used include increasing the amount of training data, regularization, dropout (which deactivates some nodes in the network during the training process), and the use of batch normalization layers.
[0071] FIG. 3 is a flowchart of a method for assessing electrocardiogram quality and diagnosing diseases through electrocardiogram analysis according to one embodiment of the present disclosure.
[0072] In step S310, the processor 110 can receive electrocardiogram data from various paths, including electrocardiogram measurement equipment, memory 130, or network 150. Then, the received electrocardiogram data can be divided into predetermined time lengths and noise can be removed.
[0073] In step S320, the processor 110 can evaluate the quality of the electrocardiogram data for a predetermined length of time, for example, by assigning a quality score to each sample for each lead included in the electrocardiogram data for a predetermined length of time and classifying each sample based on a threshold value.
[0074] The threshold value in step S320 may be set differently depending on the purpose. For example, the threshold value may be set differently depending on the type of measurement equipment used to measure the electrocardiogram data. As another example, there are diseases that require a large amount of data even at the expense of signal quality, while there are diseases that require accurately measured signals even with a small amount of data, so the threshold value in step S320 may be set differently depending on the disease to be diagnosed. However, the reasons for setting the threshold value in this disclosure are not limited to those described above.
[0075] In step S330, if it is determined that the quality score of a certain sample in step S320 is lower than the threshold value, the sample is removed from the electrocardiogram data.
[0076] In step S340, if it is determined that the quality score for a certain sample in step S330 is equal to or greater than the threshold value, the sample corresponds to data that can be used to diagnose a disease, and therefore a diagnosis is made using the sample.
[0077] The processor 110 can use an encoder module included in the electrocardiogram analysis model to extract feature values from the remaining samples, excluding samples with quality scores lower than a threshold, to analyze the electrocardiogram data. After the encoder module extracts the feature values of the samples, the processor 110 can integrate the feature values of the samples into one for each time interval (i.e., each time segment having the predetermined time length). For example, if there are nine samples with quality scores equal to or greater than the threshold in a first time interval and six samples with quality scores equal to or greater than the threshold in a second time interval, the integrated feature value for each time interval will be one, regardless of the number of samples.
[0078] The processor 110 can use a disease determination module included in the electrocardiogram analysis model to determine a disease from the feature values at each time interval. For example, the disease determination module includes classification submodules corresponding to each disease, and when feature values are input, each submodule can derive a probability value corresponding to the disease. The processor 110 can then determine the presence or absence of a disease based on whether the derived probability value is equal to or greater than a threshold value set for each disease. In this case, each classification submodule has its own threshold value, which can vary depending on the disease to be diagnosed.
[0079] FIG. 4 is a conceptual diagram illustrating a method for assessing the quality of an electrocardiogram according to one embodiment of the present disclosure.
[0080] The electrocardiogram data (410) includes lead-specific electrocardiogram data (411) in the same number as the number of leads. For example, in the case of a basic 12-lead meter, the number of lead-specific electrocardiogram data (411) is 12 in total.
[0081] The processor 110 can divide the electrocardiogram data 410 into predetermined time lengths to obtain time-portions of electrocardiogram data (not shown), each of which has a predetermined time length and includes as many samples 412 as there are leads.
[0082] The processor 110 can evaluate each time segment of electrocardiogram data (not shown) using a means 420, such as an artificial neural network model or a rule-based algorithm, and can then filter out samples 421 from the electrocardiogram data whose signal quality is below a threshold, which can vary depending on the type of electrocardiogram measurement equipment and the disease being diagnosed.
[0083] The processor 110 can obtain electrocardiogram data 430, which is composed of the remaining samples 431 after excluding samples 421 whose signal quality is below a threshold, as described above, and then extract feature values using an encoder module included in the electrocardiogram analysis model. The encoder module can extract feature values using only the data after excluding the low-quality electrocardiogram data. For example, if two samples are excluded from the electrocardiogram data as a result of evaluating data for a certain time period having 12 leads, the encoder module can extract ten feature values from the remaining ten samples after excluding those samples. Various methods can be used in the extraction process, including the method of inferring a single-lead encoder ten times as described above and the method of inferring a 10-lead encoder once.
[0084] In this way, the present disclosure can be used to extract feature values and determine disease even when electrocardiogram data is not present in all leads by excluding low-quality data from the electrocardiogram data.
[0085] In accordance with one embodiment of the present disclosure, a computer-readable storage medium having a data structure stored thereon is disclosed.
[0086] A data structure can refer to the organization, management, and storage of data that allows efficient access and modification. A data structure can refer to the organization of data to solve a specific problem (e.g., data retrieval, data storage, data modification) in the shortest possible time. A data structure can also be defined as the physical or logical relationships between data elements designed to support a specific data processing function. Logical relationships between data elements can include the interconnections between data elements as perceived by a user. Physical relationships between data elements can include the actual relationships between data elements physically stored on a computer-readable storage medium (e.g., a hard disk). A data structure can specifically include a collection of data, the relationships between the data, and functions or commands that can be applied to the data. An effectively designed data structure allows a computing device to perform calculations while minimizing the use of computing device resources. Specifically, an effectively designed data structure can increase the efficiency of operations, reading, inserting, deleting, comparing, exchanging, and searching.
[0087] Data structures can be divided into linear and non-linear data structures depending on their type. A linear data structure can be a structure in which only one piece of data is linked to another. Linear data structures can include lists, stacks, queues, and deques. A list can refer to a series of data sets that have an internal order. Lists can also include linked lists. A linked list can be a data structure in which data is linked in a row with a pointer to each piece of data. In a linked list, the pointer can contain information about the connection to the next or previous piece of data. Depending on the type, linked lists can be expressed as singly linked lists, doubly linked lists, or circularly linked lists. A stack can be a data list structure that allows limited data access. A stack can be a linear data structure in which data can only be accessed (e.g., inserted or deleted) at one end of the data structure. Data stored in a stack can be a LIFO (Last in First Out) data structure. A queue is a data structure that allows limited access to data, and unlike a stack, it can be a data structure (FIFO - First in First out) where the slowest data stored is the slowest data available. A deck can be a data structure that allows data to be processed at both ends of the data structure.
[0088] A non-linear data structure may be a structure in which multiple pieces of data are concatenated after one piece of data. A non-linear data structure may include a graph data structure. A graph data structure may be defined by vertices and edges, and a backbone may include a line connecting two different vertices. A graph data structure may include a tree data structure. A tree data structure may be a data structure in which a path connecting two different vertices among multiple vertices included in a tree is a single data structure. In other words, a graph data structure may be a data structure that does not form loops.
[0089] Throughout this specification, the terms computational model, neural network, network function, and neural network are used interchangeably (hereinafter, they will be referred to as neural network). A data structure may include a neural network. The data structure including a neural network may be stored on a computer-readable storage medium. The data structure including a neural network may also include data input to the neural network, neural network weights, neural network hyperparameters, data acquired from the neural network, activation functions associated with each node or layer of the neural network, and a loss function for training the neural network. The data structure including a neural network may include any of the components disclosed above. That is, the data structure including a neural network may include all or any combination of data input to the neural network, neural network weights, neural network hyperparameters, data acquired from the neural network, activation functions associated with each node or layer of the neural network, and a loss function for training the neural network. In addition to the above-mentioned components, the data structure including a neural network may include any other information that determines the characteristics of the neural network. Furthermore, the data structure may include any form of data used or generated in the computational process of a neural network, and is not limited to the foregoing. The computer-readable storage medium may include a computer-readable recording medium and / or a computer-readable transmission medium. A neural network may be composed of a collection of interconnected computational units generally called nodes. Such nodes may be called neurons. A neural network is composed of at least one or more nodes.
[0090] The data structure may include data to be input to the neural network. The data structure including the data to be input to the neural network may be stored in a computer-readable storage medium. The data to be input to the neural network may include training data input during the training process of the neural network and / or input data to be input to the neural network after training has been completed. The data to be input to the neural network may include data that has undergone pre-processing and / or data to be pre-processed. Pre-processing may include a data processing process for inputting data to the neural network. Therefore, the data structure may include data to be pre-processed and data generated by pre-processing. The above-described data structures are merely examples, and the present disclosure is not limited thereto.
[0091] The data structure may include weights of the neural network. (In this specification, the terms "weights" and "parameters" may be used interchangeably.) The data structure including the weights of the neural network may be stored in a computer-readable storage medium. The neural network may include multiple weights. The weights are variable and can be changed by a user or an algorithm to enable the neural network to perform a desired function. For example, if one or more input nodes are interconnected to an output node by respective links, the output node may determine its output node value based on the values input to the input nodes connected to the output node and the parameters set for the links corresponding to each input node. The above data structure is merely exemplary, and the present disclosure is not limited thereto.
[0092] By way of example and not limitation, the weights may include weights that change during neural network training and / or weights at which neural network training has been completed. The weights that change during neural network training may include weights at the start of a training cycle and / or weights that change during a training cycle. The weights at which neural network training has been completed may include weights at which a training cycle has been completed. Therefore, a data structure including neural network weights may include a data structure including weights that change during neural network training and / or weights at which neural network training has been completed. Therefore, the above-mentioned weights and / or combinations of each weight are included in a data structure including neural network weights. The above-mentioned data structures are merely examples, and the present disclosure is not limited thereto.
[0093] The data structure including the neural network weights may be stored in a computer-readable storage medium (e.g., memory, hard disk) after undergoing a serialization process. Serialization may be a process of converting a data structure into a form that can be stored in the same or another computing device and later reconstructed for use. A computing device may serialize the data structure and transmit or receive the data over a network. The serialized data structure including the neural network weights may be reconstructed in the same or another computing device through deserialization. The data structure including the neural network weights is not limited to serialization. Furthermore, the data structure including the neural network weights may include a data structure (e.g., a nonlinear data structure such as a B-tree, a Trie, an m-way search tree, an AVL tree, or a Red-Black tree) that increases computational efficiency while minimizing the use of computing device resources. The foregoing is merely exemplary, and the present disclosure is not limited thereto.
[0094] The data structure may include hyperparameters of the neural network. The data structure including the hyperparameters of the neural network may be stored in a computer-readable storage medium. The hyperparameters may be variables that can be changed by a user. The hyperparameters may include, for example, a learning rate, a cost function, the number of learning cycle iterations, weight initialization (e.g., setting a range of weights to be initialized), and the number of hidden units (e.g., the number of hidden layers, the number of nodes in the hidden layers). The above-described data structure is merely exemplary, and the present disclosure is not limited thereto.
[0095] FIG. 5 is a simplified general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure can be implemented.
[0096] While the present disclosure has been described above as generally being embodied in a computing device, those skilled in the art will appreciate that the present disclosure can also be embodied in combination with computer-executable instructions and / or other program modules that can be executed on one or more computers and / or as a combination of hardware and software.
[0097] Generally, modules herein include routines, programs, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Those skilled in the art will also appreciate that the methods of the present disclosure can be practiced with other computer system configurations, including single-processor or multi-processor computer systems, minicomputers, mainframe computers, as well as personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, etc., each of which can operate in conjunction with one or more associated devices.
[0098] The embodiments described in this disclosure may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
[0099] A computer includes a variety of computer-readable media. Any medium accessible by a computer can be computer-readable, including volatile and nonvolatile media, transitory and non-transitory media, and portable and non-portable media. By way of example and not limitation, computer-readable media can include computer-readable storage media and computer-readable transmission media. Computer-readable storage media include volatile and non-volatile media, transitory and non-transitory media, portable and non-portable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer-readable storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disk (DVD) or other optical disk storage devices, magnetic cassettes, magnetic tape, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be accessed by a computer and used to store information.
[0100] Computer-readable transmission media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes all information delivery media. The term modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, computer-readable transmission media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Any combination of any of the foregoing media should also be included within the scope of computer-readable transmission media.
[0101] An exemplary environment (1100) for implementing various aspects of the present disclosure is shown, including a computer (1102) including a processing unit (1104), a system memory (1106), and a system bus (1108). The system bus (1108) couples system components, including but not limited to the system memory (1106), to the processing unit (1104). The processing unit (1104) can be any of a variety of commercially available processors. Dual processors and other multi-processor architectures can also be utilized as the processing unit (1104).
[0102] The system bus (1108) can be any of several types of bus structures that can be further interconnected to a memory bus, a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. The system memory (1106) includes read-only memory (ROM) (1110) and random access memory (RAM) (1112). The basic input / output system (BIOS) is stored in non-volatile memory (1110), such as ROM, EPROM, or EEPROM. The BIOS contains the basic routines that support the exchange of information between the various components within the computer (1102), such as during startup. The RAM (1112) can also include high-speed RAM, such as static RAM, for caching data.
[0103] The computer 1102 also includes an internal hard disk drive (HDD) 1114 (e.g., EIDE, SATA)—the internal hard disk drive 1114 can also be configured for external use in a suitable chassis (not shown)—a magnetic floppy disk drive (FDD) 1116 (e.g., for reading from and writing to a removable diskette 1118), and an optical disk drive 1120 (e.g., for reading from a CD-ROM disk 1122 or for reading from and writing to other high-capacity optical media such as DVDs). The hard disk drive 1114, magnetic disk drive 1116, and optical disk drive 1120 can be connected to the system bus 1108 by a hard disk drive interface 1124, a magnetic disk drive interface 1126, and an optical drive interface 1128, respectively. The interface (1124) for implementing an external drive includes, for example, at least one or both of USB (Universal Serial Bus) and IEEE 1394 interface technologies.
[0104] These drives and their associated computer-readable media provide non-volatile storage of data, data structures, computer-executable instructions, etc. In the case of computer 1102, the drives and media accommodate storing any data in a suitable digital format. While the foregoing description of computer-readable storage media refers to hard disk drives, removable magnetic disks, and removable optical media such as CDs or DVDs, those skilled in the art will appreciate that other types of computer-readable storage media, such as zip drives, magnetic cassettes, flash memory cards, cartridges, etc., can also be used in the exemplary operating environment, and that any such media can contain computer-executable instructions for performing the methods of the present disclosure.
[0105] A number of program modules, including an operating system 1130, one or more application programs 1132, other program modules 1134, and program data 1136, may be stored on the drives and in RAM 1112. All or portions of the operating system, applications, modules, and / or data may also be cached in RAM 1112. It will be appreciated that the present disclosure may be implemented with various commercially available operating systems or combinations of operating systems.
[0106] A user can enter commands and information into the computer 1102 through one or more wired or wireless input devices, such as a keyboard 1138 and a pointing device such as a mouse 1140. Other input devices (not shown) may include a microphone, an IR remote control, a joystick, a game pad, a stylus pen, a touch screen, and the like. These and other input devices are often connected to the processing unit 1104 through an input device interface 1142 connected to the system bus 1108, but may also be connected through other interfaces such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, and the like.
[0107] A monitor 1144 or other type of display device is also connected to the system bus 1108 through an interface, such as a video adapter 1146. In addition to the monitor 1144, computers typically include other peripheral output devices (not shown), such as speakers, printers, etc.
[0108] The computer 1102 can operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 1148, via wired and / or wireless communications. The remote computer(s) 1148 can be a workstation, a server computer, a router, a personal computer, a handheld computer, a microprocessor-based entertainment device, a peer device, or other conventional network node, and typically includes many or all of the components described for the computer 1102, although for simplicity, only a memory storage device 1150 is shown. The logical connections shown include wired and wireless connections in a local area network (LAN) 1152 and / or larger networks, e.g., a long-range network (WAN) 1154. Such LAN and WAN networking environments are commonplace in offices and companies and facilitate enterprise-wide computer networks, such as intranets, all of which may connect to a global computer network, e.g., the Internet.
[0109] When used in a LAN networking environment, the computer 1102 connects to the local network 1152 through a wired and / or wireless communication network interface or adapter 1156. The adapter 1156 can facilitate wired or wireless communication to the LAN 1152, which may also include a wireless access point attached thereto for communicating with the wireless adapter 1156. When used in a WAN networking environment, the computer 1102 can include a modem 1158 or other means for establishing communications over the WAN 1154, such as connecting to a communications server on the WAN 1154 or through the Internet. The modem 1158, which can be internal or external and can be a wired or wireless device, connects to the system bus 1108 through the serial port interface 1142. In a networked environment, program modules described for computer 1102, or portions thereof, may be stored in remote memory / storage device 1150. It will be readily appreciated that the network connections shown are exemplary and other means of establishing a communications link between two or more computers may be used.
[0110] The computer 1102 is operable to communicate with any wireless device or unit configured and operating in a wireless manner, such as printers, scanners, desktop and / or handheld computers, portable data assistants (PDAs), communications satellites, any equipment or location associated with a radio-detectable tag, and telephones. This includes at least Wi-Fi and Bluetooth® wireless technologies. Thus, communication can be in a predefined structure, such as a traditional network, or simply ad hoc communication between at least two devices.
[0111] Wi-Fi (Wireless Fidelity) allows devices to connect to the Internet without being wired. Wi-Fi is a wireless technology similar to cell phones, allowing such devices, such as computers, to send and receive data indoors and outdoors—anywhere within the coverage area of a base station. Wi-Fi networks use IEEE 802.11 (a, b, g, etc.) radio technology to provide secure, reliable, and fast wireless connections. Wi-Fi can be used to connect computers to each other, the Internet, and wired networks (using IEEE 802.3 or Ethernet). Wi-Fi networks can operate in the unlicensed 2.4 or 5 GHz radio bands, at data rates of, for example, 11 Mbps (802.11a) or 54 Mbps (802.11b), or in products that include both bands (dual bands).
[0112] Those skilled in the art will appreciate that information and signals may be represented using any of a variety of different technologies and techniques. For example, the data, instructions, commands, information, signals, bits, symbols, and chips referred to in the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields, etc. or particles, optical fields, etc. or particles, or any combination thereof.
[0113] Those skilled in the art will appreciate that the various illustrative logic blocks, modules, processors, means, circuits, and algorithm steps described in the description of the embodiments disclosed herein can be implemented with electronic hardware, various forms of program or design code (for convenience, referred to herein as "software"), or a combination of all of these. To clearly illustrate this interoperability of hardware and software, the various illustrative components, blocks, modules, circuits, and steps have been described above generally by focusing on their functionality. Whether such functionality is implemented in hardware or software depends on the particular application and design constraints imposed on the overall system. Those skilled in the art will appreciate that the described functionality can be implemented in various ways for each particular application, and such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
[0114] Various embodiments described herein may be implemented as a method, apparatus, or article of manufacture using standard programming and / or engineering techniques. The term "article of manufacture" includes any computer program, carrier, or media accessible by a computer-readable device. For example, computer-readable storage media include, but are not limited to, magnetic storage devices (e.g., hard disks, floppy disks, magnetic strips, etc.), optical disks (e.g., CDs, DVDs, etc.), smart cards, and flash memory devices (e.g., EEPROMs, cards, sticks, key drives, etc.). Additionally, various storage media described herein include one or more devices and / or other machine-readable media for storing information.
[0115] It should be understood that the specific order or hierarchy of steps in the processes depicted is an example of an exemplary approach. Based on design priorities, it should be understood that the specific order or hierarchy of steps in the processes may be rearranged within the scope of this disclosure. The accompanying method claims present elements of the various steps in a sample order, but are not meant to be limited to the specific order or hierarchy depicted.
[0116] The description of the illustrated embodiments is provided to enable any person skilled in the art to which the disclosure pertains to use or practice the present disclosure. Various modifications to these embodiments will be apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the scope of the present disclosure. Therefore, the present disclosure is not intended to be limited by the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. 1. A method executed by one or more processors of a computing device, comprising: assessing quality of a plurality of electrocardiogram data acquired from a plurality of leads for each of a plurality of samples separated based on a predetermined time length; filtering out electrocardiogram data acquired from at least one lead among the plurality of leads for each of a plurality of samples based on evaluating the quality of the plurality of electrocardiogram data; extracting feature values for each of the remaining samples using the pre-trained electrocardiogram analysis model; generating a single integrated feature value by integrating the feature values for each time interval corresponding to the length of the sample; and analyzing the electrocardiogram based on the single feature value integrated for each time interval; Including, method.
2. In claim 1, evaluating the quality of the plurality of electrocardiogram data acquired from the plurality of leads includes: denoising each of the plurality of samples; and assessing the quality of each of said plurality of samples; Including, method.
3. In claim 2, The step of denoising each of the plurality of samples comprises: inputting each of the plurality of samples to a bandpass filter; the bandpass filter removing at least one of high frequency noise or low frequency noise; Including, method.
4. In claim 2, The step of excluding electrocardiogram data acquired from at least one lead among the plurality of leads for each of a plurality of samples includes: determining that the quality of the at least one sample of reads is below a threshold; and removing said at least one sample of reads whose quality is determined to be below said threshold; Including, method.
5. In claim 4, The above threshold is Varies depending on at least one of the ECG measurement equipment or the purpose of use of the ECG data, method.
6. In claim 1, The step of extracting feature values for each of the remaining plurality of samples using the pre-trained electrocardiogram analysis model includes: extracting, by an encoder module, a plurality of feature values for a plurality of samples of the remaining plurality of reads; The step of performing electrocardiogram analysis based on the integrated feature values comprises: and inputting the integrated feature value into a disease determination module to make a diagnosis. method.
7. In claim 6, The encoder module is When electrocardiogram data is acquired from some of the leads, extracting feature values based on the electrocardiogram data acquired from the some of the leads. method.
8. In claim 6, The encoder module is A step of labeling the sample determined by the disease determination module to have a disease; generating training data based on the labeled samples; and training the encoder module with the training data; The corresponding pre-trained modules are based on method.
9. In claim 6, The disease determination module includes: Including classification sub-modules corresponding to each disease, method.
10. In claim 6, The step of inputting the integrated feature values into a disease determination module to make a diagnosis is as follows: inputting the integrated feature value into the disease determination module to derive a probability value corresponding to each disease; a step in which the disease determination module diagnoses the presence or absence of each disease depending on whether the probability value exceeds a threshold value set for each disease; Including, method.
11. A computer program stored on a computer-readable storage medium comprising instructions that cause a computing device to perform operations, the operations being: assessing the quality of the plurality of electrocardiogram data acquired from the plurality of leads for each of a plurality of samples separated based on a predetermined length of time; filtering out electrocardiogram data acquired from at least one lead among the plurality of leads for each of a plurality of samples based on evaluating the quality of the plurality of electrocardiogram data; Extracting feature values for each of the remaining samples using a pre-trained electrocardiogram analysis model; generating a single integrated feature value by integrating the feature values for each time interval corresponding to the length of the sample; and performing an analysis of the electrocardiogram based on the single feature value integrated for each time interval; Including, A computer program stored on a computer-readable storage medium.
12. 1. A computing device comprising: a processor containing one or more cores; a network portion for receiving one or more electrocardiogram data; and memory; Including, The processor: assessing the quality of the plurality of electrocardiogram data acquired from the plurality of leads for each of the plurality of samples separated based on a predetermined length of time; Based on the operation of evaluating the quality of the plurality of electrocardiogram data, excluding electrocardiogram data acquired from at least one lead among the plurality of leads for each of a plurality of samples; Using a pre-trained electrocardiogram analysis model, feature values for each of the remaining samples are extracted. generating a single integrated feature value by integrating the feature values for each time interval corresponding to the length of the sample; analyzing the electrocardiogram based on the single feature value integrated for each time interval; Computing equipment.
Citation Information
Patent Citations
A method and system for fully automated measurement of ST segment level in real-time ECG.
JP2014528342A
Method for predicting chronic disease based on ECG signal
KR102362679B1
Detecting atrial fibrillation using short single-lead ECG recordings
US20200205687A1