How to diagnose a disease

The method filters noise and selects high-quality electrocardiogram signals to enhance disease diagnosis accuracy by using a pre-trained model, addressing the challenge of noise interference in long-term electrocardiogram measurements.

JP2025501130AActive Publication Date: 2025-01-17VUNO INC

Patent Information

Application Number
JP2024538364
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-03-03
Filing Date
2023-01-09
Publication Date
2025-01-17
Estimated Expiration
2043-01-09

AI Technical Summary

Technical Problem

Existing disease diagnosis methods using electrocardiogram data face challenges due to noise interference, especially in long-term measurements, leading to difficulties in accurately diagnosing diseases when signal quality is poor.

Method used

A method for evaluating the quality of electrocardiogram data by filtering noise, excluding low-quality signals, and using a pre-trained analysis model to diagnose diseases based on high-quality signals from multiple leads.

Benefits of technology

Stabilizes electrocardiogram signal analysis by focusing on high-quality data, improving the accuracy and reliability of disease diagnosis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025501130000001_ABST
    Figure 2025501130000001_ABST
Patent Text Reader

Abstract

In one embodiment of the present disclosure, a method for evaluating the quality of multiple electrocardiogram data and diagnosing diseases based only on good quality signals is disclosed. Specifically, according to the present disclosure, a computing device evaluates the quality of multiple electrocardiogram data obtained from multiple leads, and based on the evaluation of the quality of the multiple electrocardiogram data, excludes the electrocardiogram data obtained from at least one lead among the multiple leads, and performs electrocardiogram analysis based on the remaining multiple electrocardiogram data using a pre-trained electrocardiogram analysis model.
Need to check novelty before this filing date? Find Prior Art

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] There has been extensive research into disease diagnosis methods using biosignals with deep learning-based algorithms, but the accuracy of existing methods is often compromised by 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, when a Holter recorder, patch recorder, or patient monitoring device is used to measure an electrocardiogram, it is necessary to perform measurements over long periods of time, ranging from as short as one hour to as long as several weeks, on physically active subjects, 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 electrocardiogram diagnosis algorithms based on deep learning, a mandatory requirement for diagnosis is that electrocardiogram data having leads matching the number of learned leads is input. Therefore, if a signal of poor quality is measured in a particular lead, such as one 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 electrocardiogram-based disease diagnosis 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 a step of evaluating the quality of a plurality of electrocardiogram data obtained from a plurality of leads; a step of excluding electrocardiogram data obtained from at least one of the plurality of leads based on the operation of evaluating the quality of the plurality of electrocardiogram data; and a step of analyzing an electrocardiogram based on the remaining plurality of electrocardiogram data using a pre-trained electrocardiogram analysis model.

[0009] In an alternative embodiment, evaluating the quality of the electrocardiogram data obtained from the multiple leads may include dividing the electrocardiogram data obtained from the multiple leads into a plurality of samples having a predetermined length of time; removing noise from each of the plurality of samples; and evaluating the quality of each of the plurality of 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, the step of excluding electrocardiogram data obtained from at least one lead of the plurality of leads may include determining that a 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, with samples of the at least one lead being excluded 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, during the analysis of 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 diagnosis.

[0015] In an alternative embodiment, the encoder module is capable of extracting feature values ​​based on electrocardiogram data acquired from a portion of the leads when electrocardiogram data is acquired from a 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 determined 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 judgment module and making a diagnosis may include: inputting the integrated feature values ​​into the disease judgment module and deriving a probability value corresponding to each disease; and the disease judgment module diagnosing the presence or absence of each disease based on whether or not 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 an operation of evaluating the quality of a plurality of electrocardiogram data obtained from a plurality of leads; an operation of 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 an operation of performing an electrocardiogram analysis based on the remaining plurality of electrocardiogram data using a pre-trained electrocardiogram analysis model.

[0020] According to an embodiment of the present disclosure for achieving the above-mentioned object, a computing device for evaluating the quality of multiple electrocardiogram data and performing electrocardiogram analysis is disclosed. The computing device includes a processor including one or more cores, a network unit for receiving one or more electrocardiogram data, and a memory, and 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 operation of evaluating 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 description of the drawings]

[0022] The following drawings, which are 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 an "ordinary engineer") 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 operable to evaluate and analyze electrocardiogram data in accordance with one embodiment of the present disclosure. [Diagram 2] FIG. 2 is a schematic diagram illustrating a network function according to one embodiment of the present disclosure. [Diagram 3] FIG. 3 is a flow chart of a method for assessing electrocardiogram quality and diagnosing disease 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. [Diagram 5] FIG. 5 is a block diagram of a computing device according to one embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0023] The present disclosure aims to provide a method for reliably diagnosing diseases from ECG signals in various situations by evaluating the quality of ECG signals obtained from multiple leads, selecting only good quality data, and analyzing ECGs using a deep learning model.

[0024] Various embodiments will be described below with reference to the drawings. Various descriptions are provided herein to facilitate understanding of the present disclosure. However, it is 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 software execution. 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 be executed on various computer-readable media having various data structures stored therein. Components can communicate through local and / or remote processes, etc., using signals (e.g., data transmitted over a network such as the Internet to other systems using data and / or signals from one component interacting with other components in a local or distributed system), including, for example, one or more data packets.

[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 and unless otherwise 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 of the associated items listed.

[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, in the present specification and claims, the singular should generally be construed to mean "one or more," unless a specific number is specified or the context is clear to indicate the singular form.

[0028] Furthermore, the term "at least one of A or B" should be interpreted as meaning "a case in which only A is included," "a case in which only B is included," or "a case in which a combination of A and B is included."

[0029] Those skilled in the art should further appreciate that the various exemplary logical blocks, configurations, modules, circuits, means, logic, and algorithm steps described in accordance with the embodiments disclosed herein can be realized by electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the various exemplary components, blocks, configurations, 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 limitations of the overall system. Skilled artisans can 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 any person skilled in the art to use or practice the present disclosure. Various modifications to the embodiments will be apparent to those skilled in the art to which the present disclosure pertains. The generic principles defined herein may be applied to other embodiments without departing from the scope of the present disclosure. Thus, 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 the present disclosure means data including the results of measuring an electrocardiogram obtained from a plurality of leads each composed of a number of electrodes. A lead is a lead, and can be defined as a voltage difference between two different electrodes recorded in an electrocardiogram measuring device. For example, lead-1 records a voltage difference between an electrode on the right arm and an electrode on the left arm, and lead-2 records a voltage difference between the right arm and the right foot. Although a standard measuring device uses 10 electrodes, which can form 12 leads, the number of leads and the length of the measured electrocardiogram data can vary depending on the electrocardiogram measuring device and the measuring time.

[0033] FIG. 1 is a block diagram of a computing device operable to evaluate and analyze electrocardiogram data in accordance with one embodiment of the present disclosure.

[0034] 1 is merely a simplified example, in that the computing device (100) may include other components for implementing the computing environment of the computing device (100) in one embodiment of the present disclosure, 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 an embodiment of the present disclosure. According to an embodiment of the present disclosure, the processor (110) is capable of performing calculations for learning a neural network. The processor (110) is capable of performing calculations for learning a neural network, such as processing input data for learning in deep learning (DL), extracting feature values ​​from 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 the learning of the network function. For example, the CPU and the GPGPU can both perform learning of the network function or classification of data using the network function. In addition, in one embodiment of the present disclosure, the processors of multiple computing devices can be used together to perform learning of the network function or classification of data using the network function. In addition, the computer program executed in the computing device in one embodiment of the present disclosure can be a program executable by the CPU, the GPGPU, or the TPU.

[0038] According to one embodiment of the present disclosure, the processor 110 may obtain one or more ECG data from different types of paths, such as, for example, the processor 110 may obtain ECG data received by an ECG device, the processor 110 may obtain ECG data stored in the memory 130, or the processor 110 may obtain ECG data directly from a device such as electrodes for measuring an ECG, but the present disclosure is not limited thereto.

[0039] The processor 110 can 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 one hour or one week, it is possible to divide the data into certain time periods and analyze each of the divided electrocardiogram data. The predetermined time length can be determined regardless of the number of leads of the equipment for measuring the electrocardiogram or the length of the measurement time, and can be within a range of time length that can be input into an electrocardiogram analysis model for analyzing the electrocardiogram data.

[0040] The processor 110 can perform an operation of removing noise from the plurality of electrocardiogram data divided into a plurality of samples having the predetermined time length. For example, the method of removing noise can be performed by inputting the plurality of divided electrocardiogram data to a bandpass filter and using the output value. A bandpass filter is a signal filter that passes only information in a desired specific frequency band without attenuation and transmits information outside the specific frequency band by attenuating it. In this case, high-frequency noise and low-frequency noise from the divided electrocardiogram data can be removed by the bandpass filter that attenuates high and low frequencies. However, the present disclosure is not limited to the above-mentioned noise removal method.

[0041] The processor 110 can evaluate the quality of each of the plurality of electrocardiogram data divided into the predetermined time lengths from which noise has been removed. For example, the quality evaluation of the plurality of electrocardiogram data can be performed by classifying the quality of the electrocardiogram data into a plurality of categories using a pre-trained neural network model and assigning a score to a specific class among the classes, or by using a rule-based algorithm without using a model.

[0042] Among the conventional researches on electrocardiogram data, one of the methods showing how to assign a score to an electrocardiogram may be adopted, and at least one or more conventional methods may be used in combination, 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 FIG. 4.

[0043] The processor 110 can exclude the 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 a portion 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 equipment, the electrocardiogram data is composed of data of 12 leads having the same time length. The processor 110 can divide the electrocardiogram data into preset time intervals and exclude samples of at least one lead of low quality from the divided data. Assuming that samples of two of the 12 leads are of low quality and are excluded from the 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 only from some of the leads, the encoder module can extract feature values ​​by inferring a single-read encoder for the number of leads, or can extract feature values ​​by inferring k-read encoders once, the number of which is equal to the number of leads received. Continuing with the above example, the encoder module can be designed to include a single-read encoder, inferring the single-read encoder ten times on the electrocardiogram data of each lead to extract ten feature values, or designed to include a 10-lead encoder, extracting ten feature values ​​by 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] In addition, the present disclosure includes a plurality of single-read encoders according to the type of lead, making it possible to extract feature values ​​corresponding to various types of leads. However, the method of extracting feature values ​​of the present disclosure is not limited to the above-mentioned example. By using the above-mentioned method, the present disclosure makes it possible to stably extract feature values ​​of electrocardiogram data from electrocardiogram data from which one or more pieces of low-quality electrocardiogram data have been removed.

[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 electrocardiogram data having a long duration, the present disclosure does not restrict the learning method of the encoder module, and therefore it is possible to use a machine learning module that is already built for electrocardiogram analysis.

[0050] In one embodiment of the present disclosure, the processor 110 can integrate the feature values ​​extracted by the encoder module in one time portion to obtain one feature value. In the process of integrating the feature values, a neural network such as a fully-connected layer, a transformer, an attention layer, etc. can be used, and the average of each feature value can 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 judgment 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 likely to correspond to a disease based on the output of the disease determination model, an expert user can label the disease and generate learning 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 learning 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 among flash memory type, hard disk type, multimedia card micro type, card type memory (e.g., SD or XD memory, etc.), 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 a web storage that performs the storage function of the memory (130) over the Internet. The above description of the memory is merely exemplary, and the present disclosure is not limited thereto.

[0054] In one embodiment of the present disclosure, the network unit (150) 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 utilize any type of wired or wireless communication system.

[0057] The techniques described herein can be used in the networks mentioned above 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, generally 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 relationship of input node and output node relative to each other. The concept of input node and output node is relative, and any node that is an output node for one node can be an input node in relation to another node, and vice versa. As mentioned above, the relationship between input node and output node can be established around the link. One or more output nodes can be connected to one input node via links, and vice versa.

[0061] In the relationship between an input node and an output node connected via a link, the data of 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, when one or more input nodes are interconnected to one output node by each link, the output node can determine the value of the output node based on the value input to the input node connected to the output node and the weight set to the link corresponding to each input node.

[0062] As mentioned above, in a neural network, one or more nodes are interconnected through one or more links to form a relationship between an input node and an output node in the neural network. In a neural network, the characteristics of the neural network can be determined by the number of nodes and links, the correlation between the nodes and links, and the weight value assigned to each link. For example, if there are two neural networks that have the same number of nodes and links but different link weight values, the two neural networks can be recognized as different.

[0063] A neural network may be composed of a set of one or more nodes. A subset of the nodes in a neural network may form a layer. A portion of the nodes in a neural network may 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 may form an n-layer. The distance from the first input node may be defined based on the minimum number of links that must be traversed to reach the node from the first input node. However, this definition of a layer is given arbitrarily for the purpose of explanation, and the configuration of layers in a neural network may be defined in a manner different from that described above. For example, a layer of nodes may be defined based on their distance from a final output node.

[0064] The 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, the first input node may refer to a node that does not have other input nodes connected via a link in relation between nodes based on links in a neural network. Similarly, the final output node may refer to one or more nodes in a neural network that do not have an output node in relation to other nodes. In addition, the 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] The 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 input layer progresses to the hidden layer. The 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 smaller than the number of nodes in the output layer, and the number of nodes decreases as the input layer progresses to the hidden layer. Furthermore, the 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 input layer progresses to the hidden layer. The neural network according to another embodiment of the present disclosure may be a neural network in which the above-mentioned neural networks are combined.

[0066] Deep neural networks (DNNs) can refer to neural networks that include multiple hidden layers in addition to input and output layers. Deep neural networks can be used to understand the latent structures of data. In other words, they can understand the latent structures of photos, text, videos, audio, and music (e.g., whether an object is in the photo, what is the content and emotion of the text, what is the content and emotion of the audio, etc.). Deep neural networks can 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, generative adversarial networks (GANs), etc. 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. The autoencoder may be a type of artificial neural network for outputting output data similar to input data. The autoencoder may include at least one hidden layer, and an odd number of hidden layers may be disposed 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 (encode), and may be expanded from the bottleneck layer toward the output layer (symmetrical to the input layer) in a manner symmetrical to the reduction. The autoencoder may perform nonlinear dimensionality reduction. The number of input layers and output layers may correspond to the dimensions after preprocessing of the input data. In the autoencoder structure, the number of nodes in the hidden layer included in the encoder may decrease as it gets farther from the input data. If the number of nodes in the bottleneck layer (the layer with the fewest number of nodes located between the encoder and the decoder) is too small, there is a possibility that a sufficient amount of information may not be transmitted, so it may be maintained at a certain number or more (e.g., more than half of the input layer, etc.).

[0068] A neural network can be trained by 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 to perform a specific operation.

[0069] Neural networks can be trained in a direction that minimizes the error of the output. In training a neural network, training data is repeatedly input to the neural network, the error of the neural network output and the target regarding the training data is calculated, and the weight value of each node of the neural network is updated by backpropagating the error of the neural network from the output layer of the neural network to the input layer as a direction to reduce the error. In the case of supervised learning, training data in which the correct answer is labeled is used for each training data (i.e., labeled training data), and in the case of unsupervised learning, the correct answer may not be labeled for each training data. That is, for example, the training data in supervised learning for data classification can be data in which each training data is labeled with a category. The labeled training data is input to the neural network, and the error can be calculated by comparing the output (category) of the neural network with the label of the training data. As another example, in the case of unsupervised learning for data classification, the error can be calculated by comparing the input training data with the output of the neural network. The calculated error is backpropagated in the reverse direction (i.e., from the output layer to the input layer) in the neural network, and the connection weight value of each node in each layer of the neural network can be updated through backpropagation. The amount of change in the connection weight value of each node to be updated can be determined by a learning rate. The calculation of the neural network for the input data and the backpropagation of the error can constitute a learning cycle (epoch). The application method of the learning rate can be changed depending on the number of iterations of the neural network learning cycle. For example, in the early stage of neural network learning, the learning rate can be increased to increase efficiency by allowing the neural network to quickly achieve a certain level of performance, and in the later stage of learning, the learning rate can be decreased to increase accuracy.

[0070] In the training of a neural network, the training data may generally be a subset of the actual data (i.e., data to be processed using the trained neural network), and therefore there may be a training cycle in which the error associated with the training data decreases, but the error associated with the actual data increases. Overfitting is a phenomenon in which errors increase in the actual data due to excessive learning of the training data. For example, a neural network that has learned about cats by looking at a yellow cat may be unable to recognize that it is a cat when it sees a cat of a color other than yellow, which may be a type of overfitting. Overfitting may cause an increase in errors in machine learning algorithms. To prevent overfitting, various optimization methods may be applied. To prevent overfitting, methods such as increasing the training data, regularization, dropout, which deactivates some of the nodes of the network during the training process, and the use of a batch normalization layer may be applied.

[0071] FIG. 3 is a flow chart of a method for assessing electrocardiogram quality and diagnosing disease 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, the memory 130, or the network 150. Then, the received electrocardiogram data can be divided into a predetermined time length and noise can be removed.

[0073] In step S320, the processor 110 can evaluate the quality of the electrocardiogram data for a preset time period, for example by assigning a quality score to each sample for each lead included in the electrocardiogram data for a preset time period and classifying each sample based on a threshold value.

[0074] The threshold value in step S320 may be changed depending on the purpose. For example, the threshold value may be changed depending on the type of measuring 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 may be diseases for which an accurately measured signal is essential for diagnosis even if the amount of data is small. Therefore, the threshold value in step S320 may be changed depending on the disease to be diagnosed. However, the reasons for changing the threshold value setting in the present disclosure are not limited to the above.

[0075] In step S330, if it is determined that the quality score in step S320 for a certain sample is lower than the threshold, the sample is removed from the electrocardiogram data.

[0076] In step S340, if it is determined that the quality score in step S330 for a certain sample is equal to or greater than a 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 ​​of the remaining samples, excluding samples whose quality scores are lower than the 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 whose quality scores are equal to or higher than the threshold in a first time interval and six samples whose quality scores are equal to or higher than the threshold in a second time interval, the integrated feature value for each time interval is the same as 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 can include classification submodules corresponding to each disease, and when the 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 unique threshold value, and the threshold value 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 includes a number of samples 412 equal to the number of leads and having a predetermined time length.

[0082] The processor 110 can use an artificial neural network model or a rule-based algorithm or other means 420 to evaluate each time portion of the electrocardiogram data (not shown). The processor 110 can then filter out samples 421 from the electrocardiogram data that have a signal quality below a threshold, where the threshold can vary depending on the type of electrocardiogram measurement equipment and the disease being diagnosed.

[0083] The processor 110 can obtain electrocardiogram data 430 consisting of remaining samples 431 after excluding samples 421 whose signal quality is lower than a threshold in the above-mentioned manner, and then extract feature values ​​using an encoder module included in the electrocardiogram analysis model. In this case, 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 of a certain time portion having 12 leads, the encoder module can extract ten feature values ​​from the remaining ten samples after excluding the samples. In the extraction process, various means can be used, including the method of estimating a single-lead encoder ten times as described above and the method of estimating a 10-lead encoder once.

[0084] In this manner, the present disclosure can be used to extract feature values ​​and determine disease even when ECG data is not present in all leads by excluding low quality data from the ECG 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 of the data. 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 time). A data structure can also be defined as a physical or logical relationship between data elements designed to support a specific data processing function. A logical relationship between data elements can include a connection relationship between data elements as thought by a user. A physical relationship between data elements can include an actual relationship between data elements that is physically stored in a computer-readable storage medium (e.g., a hard disk). A data structure can specifically include a collection of data, a relationship between data, and a function or command 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, a computing device can increase the efficiency of operations, reading, inserting, deleting, comparing, exchanging, and searching through an effectively designed data structure.

[0087] Data structures can be classified into linear data structures and non-linear data structures according to the type of the data structure. A linear data structure can be a structure in which only one piece of data is linked after another. Linear data structures can include lists, stacks, queues, and deques. A list can refer to a series of data sets that are internally ordered. A list can include linked lists. A linked list can be a data structure in which data is linked in a manner in which each piece of data is linked in a row with a pointer. In a linked list, the pointer can contain information about the connection to the next or previous piece of data. A linked list can be expressed as a singly linked list, a doubly linked list, or a circularly linked list depending on the type of the data structure. A stack can be a data list structure that allows limited access to data. A stack can be a linear data structure in which data can be manipulated (e.g., inserted or deleted) only at one end of the data structure. Data stored in a stack can be a LIFO (Last in First Out) data structure in which the last in comes first. A queue is a data structure that allows limited access to data, and unlike a stack, it can be a data structure where the slowest data stored is the slowest data available (FIFO - First in First out). A deck can be a data structure where data can be processed on both ends of the data structure.

[0088] A nonlinear data structure may be a structure in which multiple pieces of data are concatenated after one piece of data. A nonlinear data structure may include a graph data structure. A graph data structure may be defined by vertices and edges, and the edges 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 one data structure. In other words, a graph data structure may be a data structure that does not form a loop.

[0089] Throughout this specification, the terms computation model, neural network, network function, and neural network can be used interchangeably. (Hereinafter, they will be uniformly described as neural network.) The data structure may include a neural network. The data structure including a neural network may be stored in a computer-readable storage medium. The data structure including a neural network may also include data input to the neural network, weights of the neural network, hyperparameters of the neural network, 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 of the disclosed configurations. That is, the data structure including a neural network may include all or any combination of data input to the neural network, weights of the neural network, hyperparameters of the neural network, 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 configurations, 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 all forms of data used or generated in the process of computing the neural network, and is not limited to the above. The computer-readable storage medium may include a computer-readable recording medium and / or a computer-readable transmission medium. A neural network may be comprised of a collection of interconnected computing units, generally referred to as nodes. Such nodes may be referred to as neurons. A neural network is comprised 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. Thus, the data structure may include data to be pre-processed and data generated in pre-processing. The above 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, 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 a plurality of weights. The weights are variable and may be varied by a user or an algorithm to allow the neural network to perform a desired function. For example, when one or more input nodes are interconnected to an output node by respective links, the output node may determine an output node value based on values ​​input to the input nodes connected to the output node and parameters set for the links corresponding to the respective input nodes. The above data structures are merely examples, and the present disclosure is not limited thereto.

[0092] By way of example and not limitation, the weights may include weights that are variable during the neural network training process and / or weights at which neural network training has been completed. The weights that are variable during the neural network training process may include weights at the start of a learning cycle and / or weights that are variable during a learning cycle. The weights at which neural network training has been completed may include weights at which a learning cycle has been completed. Thus, a data structure including weights of a neural network may include a data structure including weights that are variable during the neural network training process and / or weights at which neural network training has been completed. Thus, the above-mentioned weights and / or combinations of each weight are included in a data structure including weights of a neural network. The above-mentioned data structures are merely exemplary 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 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. The computing device may serialize the data structure and transmit and 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 for increasing the efficiency of calculations while minimizing the use of computing device resources (e.g., nonlinear data structures such as B-Tree, Trie, m-way search tree, AVLtree, Red-Black Tree). The above is merely an example, and the present disclosure is not limited thereto.

[0094] The data structure may include hyper-parameters of the neural network. The data structure including the hyper-parameters of the neural network may be stored in a computer-readable storage medium. The hyper-parameters may be variables that are changed by a user. The hyper-parameters may include, for example, a learning rate, a cost function, a 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 data structures are merely examples, 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] Although 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 capable of being 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. Additionally, those skilled in the art will 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 a computer-readable medium, including volatile and non-volatile media, transitory and non-transitory media, mobile and non-mobile 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, mobile and non-mobile 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, DVD (digital video disk) or other optical disk storage devices, magnetic cassettes, magnetic tapes, 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 above 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, and contains the basic routines that support the exchange of information between the various components of the computer (1102), such as during start-up. 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) - although 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 CD-ROM disks 1122 and 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 the Universal Serial Bus (USB) 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, and the like. In the case of computer 1102, the drives and media accommodate the storage of any data in a suitable digital format. While the above description of computer-readable storage media refers to HDDs, 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, and the like, can also be used in the exemplary operating environment, and further that any such media can contain computer-executable instructions for performing the methods of the present disclosure.

[0105] A number of program modules may be stored in the drives and RAM 1112, including an operating system 1130, one or more application programs 1132, other program modules 1134, and program data 1136. 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 may 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 that is 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 depicted for the computer 1102, although for simplicity, only a memory storage device 1150 is illustrated. The logical connections depicted include wired and wireless connections in a local area network (LAN) 1152 and / or larger networks, such as a wide area 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, such as 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 installed thereon for communicating with the wireless adapter 1156. When used in a WAN networking environment, the computer 1102 can include a modem 1158 or have 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 a 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 the computers may be used.

[0110] The computer 1102 is operable to communicate with any wireless device or unit that is deployed and operates in wireless communication, such as printers, scanners, desktop and / or handheld computers, portable data assistants (PDAs), communication satellites, any equipment or location associated with a wirelessly 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 like a cell phone that allows such devices, e.g., computers, to send and receive data indoors and outdoors, anywhere within the range 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, to the Internet, and to wired networks (using IEEE 802.3 or Ethernet). Wi-Fi networks can operate in the unlicensed 2.4 and 5 GHz radio bands, e.g., at data rates of 11 Mbps (802.11a) or 54 Mbps (802.11b), or in products that include both bands (dual bands).

[0112] Those of ordinary skill 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 of ordinary skill in the art will appreciate that the various exemplary logic blocks, modules, processors, means, circuits, and algorithm steps described in the description of the embodiments disclosed herein can be implemented by 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 such interoperability of hardware and software, the various exemplary components, blocks, modules, circuits, and steps have been generally described above with a focus on their functionality. Whether such functionality is implemented in hardware or software depends on the design constraints imposed on the particular application and the overall system. Those of ordinary skill 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 departing from the scope of the present disclosure.

[0114] The various embodiments disclosed herein may be implemented by a method, apparatus, or article of manufacture using standard programming and / or engineering techniques. The term "article of manufacture" includes a computer program, carrier, or media accessible by any 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., EEPROM, cards, sticks, key drives, etc.). Additionally, the various storage media disclosed herein may include one or more devices and / or other machine-readable media for storing information.

[0115] It should be understood that the particular order or hierarchy of the stages in the processes depicted is an example of an exemplary approach. Based on design priorities, it should be understood that the particular order or hierarchy of the stages in the processes can be rearranged within the scope of the present disclosure. The accompanying method claims provide elements of the various stages in a sample order, but are not meant to be limited to the particular order or hierarchy depicted.

[0116] The description of the illustrated embodiments is provided to enable any person of ordinary skill in the art to which the disclosure pertains to the present disclosure to utilize or practice the present disclosure. Various modifications to such embodiments will be apparent to those of ordinary skill in the art to which the disclosure pertains, and the general principles defined herein may be applied to other embodiments without departing from the scope of the present disclosure. Thus, the present disclosure is not intended to be limited by the embodiments shown herein, but is to be accorded the broadest 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; filtering out electrocardiogram data obtained from at least one lead of the plurality of leads based on evaluating a quality of the plurality of electrocardiogram data; and Analyzing the electrocardiogram based on the remaining plurality of electrocardiogram data using the pre-trained electrocardiogram analysis model; Including, method.

2. In claim 1, The step of evaluating quality of the plurality of electrocardiogram data acquired from the plurality of leads comprises: dividing the electrocardiogram data acquired from the leads into a plurality of samples having a predetermined length of time; 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 into 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 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 upon analysis of the corresponding time segment; Including, method.

5. In claim 4, The above threshold value is Varies depending on at least one of the following: the electrocardiogram measuring equipment or the purpose of use of the electrocardiogram data; method.

6. In claim 1, The step of analyzing an electrocardiogram based on the remaining plurality of electrocardiogram data by using the pre-trained electrocardiogram analysis model is as follows: analyzing the electrocardiogram based on the samples of the remaining leads, excluding the samples of the at least one lead from the corresponding time portion of the analysis; Including, method.

7. In claim 6, The step of analyzing the electrocardiogram based on the samples of the remaining leads, excluding the samples of the at least one lead during the corresponding time portion, comprises: extracting, by an encoder module, a plurality of feature values ​​for a plurality of samples of the remaining plurality of reads; integrating said plurality of feature values ​​in units of said corresponding time portion; and Inputting the integrated feature value into a disease judgment module to make a diagnosis; Including, method.

8. In claim 7, The encoder module is When electrocardiogram data is acquired from a part of the leads, extracting feature values ​​based on the electrocardiogram data acquired from the part of the leads. method.

9. In claim 7, 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; Based on the pre-trained modules, method.

10. In claim 7, The disease determination module includes: Including classification sub-modules corresponding to each disease, method.

11. In claim 7, The step of inputting the integrated feature value into a disease judgment 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 of the disease determination module diagnosing the presence or absence of each disease according to whether or not the probability value exceeds a threshold value set for each disease; Including, method.

12. 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 multiple electrocardiogram data obtained from multiple leads; filtering out electrocardiogram data obtained from at least one lead among the plurality of leads based on evaluating a quality of the plurality of electrocardiogram data; and Analyzing the electrocardiogram based on the remaining plurality of electrocardiogram data using the pre-trained electrocardiogram analysis model; Including, A computer program stored on a computer readable storage medium.

13. 1. A computing device comprising: A processor including one or more cores; A network portion for receiving one or more electrocardiogram data; and memory; Including, The processor, Evaluate the quality of multiple electrocardiogram data acquired from multiple leads; filtering out electrocardiogram data obtained from at least one lead among the plurality of leads based on evaluating a quality of the plurality of electrocardiogram data; Using the pre-trained ECG analysis model, the ECG is analyzed based on the remaining ECG data. Computing device.

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

Cited By

  • Method, program and device for quantifying the quality of a biological signal

    JP2025540871A

  • Methods, programs, and apparatus for quantifying the quality of biological signals.

    JP7899476B2