Methods, devices, systems and computer-readable media for classifying atrial fibrillation (AFib)
By analyzing the RR interval characteristics in ECG data using deep neural networks, the problem of low efficiency in existing ECG analysis techniques has been solved, enabling rapid and accurate detection and classification of atrial fibrillation and other arrhythmias.
Patent Information
- Application Number
- CN202080043220.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-10-30
- Filing Date
- 2020-08-19
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2040-08-19
AI Technical Summary
Existing electrocardiogram (ECG) analysis methods require long-term collection of ECG data to detect potential cardiac conditions, and they struggle to quickly and accurately detect and classify atrial fibrillation, resulting in low data analysis efficiency.
Deep neural networks are used to analyze ECG data. By extracting the RR interval and its related features, deep learning is used to automatically identify atrial fibrillation patterns. The patterns are then classified using deep neural networks to achieve rapid diagnosis.
It improves the efficiency of ECG data analysis, enabling accurate identification of atrial fibrillation and other arrhythmias in a short time, reducing human intervention and improving the accuracy and speed of diagnosis.
Smart Images

Figure CN113966192B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims priority to U.S. Patent Application No. 16 / 668,532, filed October 30, 2019, with the United States Patent and Trademark Office, the disclosure of which is incorporated herein by reference in its entirety. Background Technology
[0003] This disclosure generally relates to the medical field, and in particular to the detection and classification of atrial fibrillation (AFib).
[0004] An electrocardiogram (ECG or EKG) is a common tool used by doctors to detect potential heart disease in patients. An ECG is a graph showing the change in voltage across the patient's chest over time, generated by the electrical activity of the heart. The graph consists of three main waveform components: the P wave, the QRS complex, and the T wave. The QRS complex consists of the Q wave, R wave, and S wave. Summary of the Invention
[0005] The embodiments relate to methods, apparatus, systems, and computer-readable media for classifying atrial fibrillation. According to one aspect, a method for classifying atrial fibrillation is provided. The method may include receiving electrocardiogram (ECG) data associated with a patient. From the received ECG data, one or more RR intervals are extracted. For each of the extracted one or more RR intervals, one or more prior RR intervals are determined, and one or more features associated with the one or more RR intervals and the one or more prior RR intervals are aggregated. One or more patterns associated with the aggregated one or more features are classified, and it is determined that a sample of the ECG data contains a pattern associated with AFib, the sample of the ECG data corresponding to one or more of the classified one or more patterns.
[0006] According to another aspect, a computer system for classifying atrial fibrillation is provided. The computer system may include one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage devices, and program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, thereby enabling the computer system to perform a method for classifying atrial fibrillation. The method may include receiving electrocardiogram (ECG) data associated with a patient. From the received ECG data, one or more RR intervals are extracted. For each of the extracted one or more RR intervals, one or more prior RR intervals are determined, and one or more features associated with the one or more RR intervals and the one or more prior RR intervals may be aggregated. One or more patterns associated with the aggregated one or more features are classified, and it is determined that a sample of the ECG data contains a pattern associated with AFib, the sample of the ECG data corresponding to one or more of the classified one or more patterns.
[0007] According to another aspect, an apparatus for classifying atrial fibrillation (AFib) is provided, comprising: a receiving module for receiving electrocardiogram (ECG) data associated with a patient; an extraction module for extracting one or more RR intervals from the received ECG data; a determination module for determining one or more prior RR intervals for each of the extracted one or more RR intervals; an aggregation module for aggregating one or more features associated with the one or more RR intervals and the one or more prior RR intervals; a classification module for classifying one or more patterns associated with the aggregated one or more features; and a pattern determination module for determining that a sample of the ECG data contains a pattern associated with AFib, wherein the sample of the ECG data corresponds to one or more of the classified one or more patterns.
[0008] According to another aspect, a computer-readable medium for classifying atrial fibrillation is provided. The computer-readable medium may include one or more computer-readable storage devices and program instructions stored on at least one of the one or more tangible storage devices, these program instructions being executable by a processor. The program instructions, executable by the processor, are used to perform a method that may accordingly include receiving electrocardiogram (ECG) data associated with a patient. From the received ECG data, one or more RR intervals are extracted. For each of the extracted one or more RR intervals, one or more prior RR intervals are determined, and one or more features associated with the one or more RR intervals and the one or more prior RR intervals may be aggregated. One or more patterns associated with the aggregated one or more features are classified, and it is determined that a sample of the ECG data contains a pattern associated with AFib, the sample of the ECG data corresponding to one or more of the classified one or more patterns.
[0009] Brief description of the attached figures
[0010] The above and other objects, features, and advantages of this application will become apparent from the following detailed description of exemplary embodiments in conjunction with the accompanying drawings. Various features in the drawings are not drawn to scale because the illustrations are for clarity, to facilitate understanding of the technical solutions of this application by those skilled in the art in conjunction with the detailed description. In the drawings:
[0011] Figure 1 A networked computer environment according to at least one embodiment is shown;
[0012] Figure 2 It is a block diagram of a procedure for detecting and classifying atrial fibrillation according to at least one embodiment;
[0013] Figure 3 According to at least one embodiment, such as Figure 2 The functional block diagram of the feature transform filter is shown below;
[0014] Figure 4 This is an operation flowchart illustrating the steps performed by a procedure for detecting and classifying atrial fibrillation according to at least one embodiment;
[0015] Figure 5 According to at least one embodiment Figure 1 A block diagram showing the internal and external components of the computer and server;
[0016] Figure 6 It includes, according to at least one embodiment Figure 1 A block diagram of an exemplary cloud computing environment for the computer system shown; and
[0017] Figure 7According to at least one embodiment Figure 6 The diagram shows a block diagram of the functional layers of an exemplary cloud computing environment. Detailed Implementation
[0018] This application discloses specific embodiments of the claimed structures and methods. However, it should be understood that the disclosed embodiments are merely examples of the claimed structures and methods that can be embodied in various forms. The invention can be embodied in many different forms and should not be construed as limited to the exemplary embodiments described herein. Rather, these exemplary embodiments are provided to make the application more comprehensive and complete, and to fully convey the scope of the invention to those skilled in the art. Details of well-known features and techniques may be omitted in the specification to avoid unnecessarily obscuring the presented embodiments.
[0019] The embodiments generally relate to the medical field, and more specifically to the detection and classification of atrial fibrillation. The exemplary embodiments described below provide a system, method, and program product, particularly for predicting whether ECG data collected over a period of time contains patterns associated with atrial fibrillation. Thus, some embodiments have the ability to improve the medical field by allowing the use of deep neural networks to augment conventional medical clinical data. Consequently, the computer-executed methods, computer systems, and computer-readable media disclosed herein can be used, in particular, to predict cardiac conditions such as atrial fibrillation and assist physicians in diagnosis to allow for optimal and rapid treatment. Furthermore, while the methods, systems, and computer-readable media disclosed herein are described in relation to atrial fibrillation, the described embodiments can also be configured for the detection and classification of other arrhythmias, such as bradycardia, atrial tachycardia, supraventricular tachycardia, atrial flutter, ventricular tachycardia, and cardiac conduction block.
[0020] As mentioned earlier, an electrocardiogram (ECG or EKG) is a common tool used by doctors to detect potential heart disease in patients. An ECG is a graph showing the change in voltage over time within the patient's chest. This voltage change over time is generated as a result of the heart's electrical activity. The graph consists of waveforms with three main components: the P wave, the QRS complex, and the T wave. The QRS complex consists of the Q wave, R wave, and S wave. In an ECG, the interval between two consecutive R waves, or the RR interval, can be used to measure the patient's heart rate. Reading and analyzing ECGs can be a necessary step in diagnosing a patient. However, the occurrence of cardiac risk patterns that can be detected by ECG can be highly unpredictable and sometimes rare, even in cases of serious heart disease. Long-term ECG collection cycles of 24–48 hours may be required to detect potential cardiac conditions, but such collections can generate data from hundreds of thousands of heartbeats. This data cannot be analyzed quickly and individually. Furthermore, current methods may discard a large amount of raw ECG data.
[0021] Therefore, applying data analysis and statistical methods to highlight individual heartbeat patterns of interest from hundreds of thousands of heartbeats can be advantageous. Furthermore, the invention disclosed herein can improve the field of computing by providing a system, method, and program product that enables computers to classify atrial fibrillation or other potential cardiac conditions from hundreds of thousands of heartbeats, helping physicians quickly interpret ECG data for diagnosis. This classification can be performed automatically by leveraging large datasets to learn any hidden correlations in the ECG data. By applying deep neural network methods, without human bias in the model design and while allowing the preservation of as much raw ECG data as possible, these patterns can be discovered from the entire dataset itself. By acquiring all raw ECG data and using deep neural networks to transform the continuous ECG data into a high-dimensional space, non-intuitive features can be analyzed from the ECG data. Additionally, using a large dataset containing all features in the deep neural network provides the network with opportunities for automatic learning and improvement in classification.
[0022] Various aspects of the methods, apparatus (systems), and computer-readable storage media of embodiments of the present invention are described with reference to flowchart illustrations and / or block diagrams. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0023] The exemplary embodiments described below provide systems, methods, and procedures for detecting and classifying atrial fibrillation in patients. According to this embodiment, the detection and classification can be provided by analyzing raw ECG data using deep learning to detect heartbeat patterns associated with atrial fibrillation. Based on the detection of these patterns, atrial fibrillation can be diagnosed and treated.
[0024] Now for reference Figure 1 , Figure 1 This is a functional block diagram of a networked computer environment, illustrating an atrial fibrillation classification system 100 (hereinafter referred to as the "System") for improving atrial fibrillation detection and classification. It should be understood that... Figure 1 The illustrations provided are merely for illustrative purposes and do not imply any limitation on the environments in which different embodiments may be implemented. Various modifications may be made to the described environment based on design and implementation requirements.
[0025] System 100 may include computer 102 and server computer 114. Computer 102 may communicate with server computer 114 via communication network 110 (hereinafter referred to as "network"). Computer 102 may include processor 104 and software program 108, which is stored in data storage device 106 and is capable of interfacing with a user and communicating with server computer 114. Reference will be made below. Figure 5 The computer 102 discussed may include internal component 800A and external component 900A, and the server computer 114 may include internal component 800B and external component 900B. The computer 102 may be, for example, a mobile device, telephone, personal digital assistant, netbook, laptop computer, tablet computer, desktop computer, or any type of computing device capable of running programs, accessing networks, and accessing databases.
[0026] Server computer 114 can also run in cloud computing service models, such as Software as a Service (SaaS), Platform as a Service (PaaS), or Infrastructure as a Service (IaaS), as described below. Figure 6 and Figure 7 The server computer 114, as discussed, can also be located in a cloud computing deployment model, such as a private cloud, community cloud, public cloud, or hybrid cloud.
[0027] Server computer 114 is used to detect, classify, and notify users of atrial fibrillation. Server computer 114 is capable of running an atrial fibrillation classification program 116 (hereinafter referred to as the "program"), which can interact with database 112. See below for further details. Figure 4 The atrial fibrillation classification procedure method will be explained in more detail below. In one embodiment, computer 102 may operate as an input device including a user interface, while program 116 may run primarily on server computer 114. In an alternative embodiment, program 116 may run primarily on one or more computers 102, while server computer 114 may be used to process and store the data used by program 116. It should be noted that program 116 may be a standalone program or may be integrated into a larger atrial fibrillation classification procedure.
[0028] However, it should be noted that in some cases, the processing of program 116 can be shared between computer 102 and server computer 114 at any ratio. In another embodiment, program 116 can run on more than one computer, server computer, or some combination of computers and server computers, for example, multiple computers 102 communicating with a single server computer 114 via network 110. In another embodiment, for example, program 116 can run on multiple server computers 114 communicating with multiple client computers via network 110. Alternatively, the program can run on a network server communicating with a server and multiple client computers via a network.
[0029] Network 110 may include wired connections, wireless connections, fiber optic connections, or some combination thereof. Typically, network 110 can be any combination of connections and protocols supporting communication between computer 102 and server computer 114. Network 110 may include various types of networks, such as local area networks (LANs), wide area networks (WANs) such as the Internet, telecommunications networks such as the Public Switched Telephone Network (PSTN), wireless networks, public switched networks, satellite networks, cellular networks (e.g., fifth-generation (5G), Long Term Evolution (LTE), third-generation (3G), Code Division Multiple Access (CDMA), etc.), public land mobile networks (PLMNs), metropolitan area networks (MANs), private networks, ad hoc networks, intranets, fiber optic-based networks, etc., and / or combinations of these or other types of networks.
[0030] Figure 1 The number and arrangement of devices and networks shown are provided as examples. In reality, with... Figure 1 Compared to the devices and networks shown, there can be more devices and / or networks, fewer devices and / or networks, different devices and / or networks, or different arrangements of devices and / or networks. Furthermore, Figure 1 The two or more devices shown can be implemented in a single device, or Figure 1 The single device shown can be implemented as multiple distributed devices. Alternatively or additionally, a group of devices in system 100 (e.g., one or more devices) can perform one or more functions described as being performed by another group of devices in system 100.
[0031] refer to Figure 2 A flowchart of the atrial fibrillation classification procedure 116 is depicted. This can be achieved using... Figure 1 Described in the exemplary embodiments Figure 2 According to one or more embodiments, the atrial fibrillation classification program 116 may be located in computer 102 ( Figure 1 ) or server computer 114 ( Figure 1 The atrial fibrillation classification program 116 may accordingly include, in particular, a preprocessing module 202 and a deep neural network 204. The preprocessing module 202 may include a digital signal processing (DSP) module 208 and may be configured to retrieve data 206. According to one embodiment, the data can be retrieved from the data storage device 106 on the computer 102. Figure 1 Data 206 can be retrieved from database 112 on server computer 114. In an alternative embodiment, data can be retrieved from database 112 on server computer 114. Figure 1Data 206 is retrieved. Data 206 may, in particular, include raw ECG data collected from the patient. According to one embodiment, data 206 may be a complete long-term collection period of 24-48 hours. According to an alternative embodiment, data 206 may be a random sample of the collection period. According to another alternative embodiment, data 206 may be a sample of the collection period with the highest variance. DSP module 208 can extract one or more RR intervals from data 206 by segmenting the data for each individual heartbeat. The RR interval represents the time interval between two R waves. This can be achieved, for example, by calculating the time interval between the peaks of consecutive R waves. Thus, DSP module 208 can particularly assist in converting the one-dimensional time signal corresponding to the ECG data into a multi-dimensional array for processing by deep neural network 204. DSP module 208 can also apply data cleaning and filtering to data 206 for better processing by deep neural network 204.
[0032] The deep neural network 204 may specifically include an input matrix 210; one or more hidden layers 212, 214, and 218; a feature transformation layer 216; a pooling layer 220; and one or more connection layers 222 and 224. It is understood that... Figure 2 Only one implementation of the deep neural network 204 is depicted, and the deep neural network 204 is not limited to these exact layers and their order. The deep neural network 204 can contain any number of layers in any order, including adding or omitting any of the layers depicted.
[0033] The input matrix 210 can be, for example, a two-dimensional matrix of dimension n×k, where n can be the number of RR intervals selected for analysis (i.e., the number of heartbeats), and k-1 can be the number of preceding RR intervals for each of the RR intervals. For example, if analyzing 128 RR intervals, and for each of those 128 RR intervals, using a review window of three preceding RR intervals to analyze that RR interval, the input matrix would have a size of 128×4. However, it is understood that n and k can be any values, which can be chosen based on available computational power, such that for larger values of k, more proximity information can be preserved for each heartbeat.
[0034] Feature transformation layer 216 can be used to extract one or more features. (Referencing...) Figure 3The feature transformation layer 216 is described in further detail. Although only one feature transformation layer 216 is depicted, it is understood that the deep neural network 204 may include additional feature transformation layers 216, which may be applied sequentially or in parallel to the data 206. One or more hidden layers 212, 214, and 218 may be used to further process the data into a form usable by the deep neural network 204. The pooling layer 220 may be used to aggregate one or more features and downsample the analyzed data to facilitate the identification of one or more features. The pooling layer 220 may apply max pooling, average pooling, or other pooling methods. The first fully connected layer 222 may be used, for example, to classify the aggregated features and compare these features with one or more patterns. Patterns can be developed through deep learning so that there is no human intervention in the creation of the patterns. The second fully connected layer 224 may be used to classify whether the data 206 contains patterns associated with atrial fibrillation by analyzing the output of the first fully connected layer 222. The second fully connected layer 224 can, for example, apply indication functionality to the data, such as outputting "1" if the data contains a pattern associated with atrial fibrillation, and outputting "0" if the data does not contain a pattern associated with atrial fibrillation. The deep neural network 204 can identify time periods corresponding to samples containing data on patterns associated with atrial fibrillation. The deep neural network 204 can send the identified time periods to the user, allowing the user to manually examine the raw ECG data associated with that time period and, if applicable, make any relevant diagnoses.
[0035] Now for reference Figure 3A functional block diagram of an exemplary feature transformation layer 216 is depicted according to one or more embodiments. Feature transformation layer 216 may include matrix 302 and convolutional filter 304. By way of example and not limitation, convolutional filter 304 is depicted as a 2×2 matrix having four elements 306A-306D. However, it is understood that convolutional filter 304 can be of any size with any number of elements. Matrix 302 may be, for example, a two-dimensional matrix with dimension n×k, where n represents the number of heartbeats used for analysis, and k-1 represents the number of “reviewed” heartbeats or the number of prior heartbeats. Thus, heartbeat data 308A, 310A, and 312A to nA can be stored in the first column of matrix 302. Additionally, prior heartbeat data 308B-k, 310B-k, 312B-k, and nB-k, respectively associated with each of heartbeat data 308A, 310A, 312A, and nA, can be stored in columns 2 to k of matrix 302. For example, in the case that heartbeat data 308A, 310A, and 312A correspond to consecutive heartbeats, it can be understood that heartbeat data 308A, 310B, and 312C can be identical, substantially identical, or similar. Convolution filter 304 can be applied to any or all of the component submatrices of matrix 302 (e.g., submatrix A containing heartbeat data 308B, 308C, 310B, and 310C). The component submatrices have the same, substantially the same, or similar dimensions as convolution filter 304. Matrix 302' can be generated as a result of calculating the scalar (i.e., dot) product of each of the component submatrices of matrix 302 with convolution filter 304. For example, 308B' can be the dot product of submatrix A and convolution filter 304.
[0036] Now for reference Figure 4 A flowchart 400 illustrates the steps of the procedure. This procedure detects and classifies atrial fibrillation. It can be used with the aid of... Figure 1 , Figure 2 and Figure 3 To describe Figure 4 As mentioned earlier, atrial fibrillation classification procedure 116 ( Figure 1 It can quickly and effectively detect atrial fibrillation.
[0037] At position 402, patient-associated electrocardiogram (ECG) data is received. The data can be from long-term ECG collections (e.g., 24–48 hour collections), random samples from long-term ECG collections, or samples from long-term ECG collections with the highest variance. During operation, atrial fibrillation classification procedure 116 ( Figure 1 It can reside in computer 102 ( Figure 1 ) or server computer 114 ( Figure 1 On. The atrial fibrillation classification procedure 116 can be transmitted via communication network 110 ( Figure 1 Received data 206 ( Figure 2 ) or can be obtained from database 112 ( Figure 1 Data 206 was retrieved.
[0038] At position 404, one or more RR intervals are extracted from the received ECG data. For example, the ECG data can be received in the form of one-dimensional time data or a two-dimensional graph of voltage versus time. Thus, extracting one or more RR intervals from the received ECG data allows for qualitative analysis of the raw ECG data by obtaining segmented data for each individual heartbeat from the ECG data. The number of n RR intervals can be stored in the columns of an n×k two-dimensional matrix. RR interval identification can be, for example, calculating the time interval between consecutive R waves and their respective local maxima. In operation, DSP module 208 ( Figure 2 ) can identify the data corresponding to 206 ( Figure 2 One or more RR intervals of one or more heartbeats in the ) . DSP module 208 can, for example, store data 206 in input matrix 210 ( Figure 2 In the first column of ).
[0039] At position 406, for each of the extracted one or more RR intervals, one or more prior RR intervals are determined. Prior RR intervals can provide historical data, particularly for each of the RR intervals to be analyzed, and can, for example, allow the detection of non-intuitive patterns to assist in the diagnosis and treatment of atrial fibrillation. Prior RR intervals can be stored in the second column and subsequent columns of a matrix. For example, for each of n RR intervals, there can be k-1 prior RR intervals, which can be stored in columns 2 to k of a two-dimensional matrix. In operation, DSP module 208 ( Figure 2 ) can identify data that exists in data 206 ( Figure 2 The DSP module 208 can store this information in the input matrix 210, which contains the number of preceding heartbeats for each heartbeat within the matrix. Figure 2 In the second and subsequent columns of ).
[0040] At position 408, one or more features associated with one or more extracted RR intervals and one or more prior RR intervals are aggregated. Because one or more convolutional filters can be applied to the data, it is advantageous, for example, to downsample the data using the aggregated features, to make data processing more manageable and to save computational resources. In operation, feature transformation layer 216 ( Figure 2 ) can convert the convolution filter 304 ( Figure 3 ) Applied to matrix 302 ( Figure 3The convolution filter 304 can be, for example, a 2×2 array, and can be applied to matrix 302 by calculating the dot product of each of the 2×2 component arrays of matrix 302. Therefore, as a result of applying the convolution filter 304 to matrix 302, a matrix 302' of size (k-1)×(n-1) can be produced. Figure 3 It can be understood that one or more convolutional filters 304 can be applied simultaneously to matrix 302 to produce one or more matrices 302'. These matrices 302' can be generated through, for example, hidden layer 218 ( Figure 2 Pooling layers 220 (...) are attached to each other to create higher-order multidimensional arrays. Figure 2 One or more pooling strategies can be applied to matrix 302', such as max pooling or average pooling. For example, pooling layer 220 can apply max pooling to matrix 302', such that the maximum value in each non-overlapping 2×2 submatrix of matrix 302' can be placed in a cell of a matrix with an approximate size of (n-1) / 2×(k-1) / 2.
[0041] At 410, one or more patterns are classified and associated with the aggregated features. After the features have been aggregated, the system can identify one or more patterns from the features. These patterns may include features associated with normal sinus rhythm, atrial fibrillation, and other arrhythmias, such as bradycardia, atrial tachycardia, supraventricular tachycardia, atrial flutter, ventricular tachycardia, and cardiac conduction block. In operation, a deep neural network 204 ( Figure 2 The first fully connected layer 222 () Figure 2 ) can be analyzed by pooling layer 220 ( Figure 2 The output downsampling matrix is used to determine the data 206 ( Figure 2 The system checks whether any patterns consistent with cardiac arrhythmias (such as atrial fibrillation) exist within the heart. If any patterns are detected, the system can classify these patterns accordingly based on their presence.
[0042] At 412, it is determined that the samples of the ECG data contain patterns associated with AFib, and the samples of the ECG data correspond to one or more of the one or more classified patterns. After determining the presence of one or more patterns in the data, the computer can specifically determine whether one or more of these patterns correspond to atrial fibrillation. Through learning, whether the data contains atrial fibrillation based on patterns in the data can be identified without human intervention and without bias during model development. In operation, a deep neural network 204 ( Figure 2 The second fully connected layer 224 () Figure 2 The filter can be applied to the first fully connected layer 222. Figure 2 The second fully connected layer 224 outputs "1" to determine whether a pattern corresponding to atrial fibrillation exists in the data 206. For example, if it is determined that an atrial fibrillation pattern may exist in the data 206, the second fully connected layer 224 may additionally output "0".
[0043] At 414, an identifier for a time period corresponding to a sample of the ECG data is transmitted to the user, the ECG data sample being identified as containing patterns associated with atrial fibrillation. By identifying the time period, the user can determine relevant diagnostic criteria, such as onset and trigger. Furthermore, by transmitting the time period to the user, the user will be able to, for example, manually check the accuracy of one or more samples of the ECG data and assist in making a correct diagnosis. In operation, server computer 114 ( Figure 1 The atrial fibrillation classification program 116 on the 110 can be accessed via a communication network 110. Figure 1 ) to computer 102 ( Figure 1 Software program 108 on ) Figure 1 Transmits identifiers for time periods containing patterns associated with atrial fibrillation.
[0044] Understandable. Figure 4 This is merely an illustration of one implementation and does not imply any limitation on how different embodiments can be implemented. Many modifications can be made to the depicted environment based on design and implementation requirements. For example, as described above, in addition to assisting in the diagnosis and treatment of atrial fibrillation, the methods, computer systems, and computer-readable media disclosed herein can be used to diagnose and treat other arrhythmias, such as bradycardia, atrial tachycardia, supraventricular tachycardia, atrial flutter, ventricular tachycardia, and cardiac conduction block.
[0045] Figure 5 This is according to an exemplary embodiment. Figure 1 The block diagram 500 depicts the internal and external components of the computer. It should be understood that... Figure 5 The illustrations provided are merely illustrative of one implementation method and do not imply any limitation on the environments in which different embodiments may be implemented. Various modifications may be made to the described environment based on design and implementation requirements.
[0046] Computer 102 ( Figure 1 ) and server computer 114 ( Figure 1 ) can include Figure 5The corresponding sets of internal components 800A, 800B and external components 900A, 900B are shown. Each set of internal components 800 includes one or more processors 820, one or more computer-readable random access memories (RAM) 822 and one or more computer-readable read-only memories (ROM) 824 connected to one or more buses 826, including one or more operating systems 828, and one or more computer-readable tangible storage devices 830.
[0047] Processor 820 is implemented in hardware, firmware, or a combination of hardware and software. Processor 820 is a central processing unit (CPU), graphics processing unit (GPU), accelerated processing unit (APU), microprocessor, microcontroller, digital signal processor (DSP), field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), or other type of processing component. In some embodiments, processor 820 includes one or more processors that can be programmed to perform functions. Bus 826 includes components that allow communication between internal components 800A and 800B.
[0048] One or more operating systems 828, and server computer 114 ( Figure 1 Software program 108 on ) Figure 1 ) and atrial fibrillation classification procedure 116 ( Figure 1 All of these are stored on one or more corresponding computer-readable tangible storage devices 830 for execution by one or more corresponding processors 820 via one or more corresponding RAMs 822 (which typically include cache memory). Figure 5 In the illustrated embodiment, each computer-readable tangible storage device 830 is a disk storage device of an internal hard disk drive. Alternatively, each computer-readable tangible storage device 830 is a semiconductor storage device, such as ROM 824, erasable programmable read-only memory (EPROM), flash memory, optical disk, magneto-optical disk, solid-state disk, optical disc (CD), digital versatile optical disc (DVD), floppy disk, cassette tape, magnetic tape, and / or other types of non-volatile computer-readable tangible storage devices capable of storing computer programs and digital information.
[0049] Each set of internal components 800A, 800B also includes a read / write (R / W) drive or interface 832 for reading from or writing to one or more portable computer-readable tangible storage devices 936 (e.g., CD-ROM, DVD, Memory Stick, magnetic tape, disk, optical disc, or semiconductor storage device). Such as software program 108 ( Figure 1 ) and atrial fibrillation classification procedure 116 ( Figure 1The software program can be stored on one or more corresponding portable computer-readable tangible storage devices 936, read and loaded into the corresponding hard disk drive 830 via the corresponding R / W drive or interface 832.
[0050] Each group of internal components 800A and 800B also includes a network adapter or interface 836, such as a TCP / IP adapter card, a wireless Wi-Fi interface card, or a 3G, 4G, or 5G wireless interface card, or other wired or wireless communication links. Server computer 114 ( Figure 1 Software program 108 on ) Figure 1 ) and atrial fibrillation classification procedure 116 ( Figure 1 The data can be downloaded from an external computer to computer 102 via a network (e.g., the Internet, a local area network or other networks, a wide area network) and a corresponding network adapter or interface 836. Figure 1 The network includes a network adapter or interface 836 and a server computer 114. Software programs 108 and atrial fibrillation classification programs 116 on the server computer 114 are loaded into the corresponding hard disk drives 830. The network may include copper wire, fiber optic, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers.
[0051] Each set of external components 900A, 900B may include a computer monitor 920, a keyboard 930, and a computer mouse 934. External components 900A, 900B may also include a touchscreen, virtual keyboard, touchpad, pointing device, and other human-machine interface devices. Each set of internal components 800A, 800B also includes a device driver 840 for interfacing with the computer monitor 920, keyboard 930, and computer mouse 934. Device driver 840, R / W driver or interface 832, and network adapter or interface 836 include hardware and software (stored in storage device 830 and / or ROM 824).
[0052] It should be understood that although this application includes a detailed description of cloud computing, the embodiments described herein are not limited to cloud computing environments. Rather, some embodiments can be implemented in conjunction with any other type of computing environment now known or developed hereafter.
[0053] Cloud computing is a service delivery model that enables convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing power, memory, storage, applications, virtual machines, and services) that can be rapidly configured and deployed with minimal management effort or interaction with service providers. A cloud model can include at least five features, at least three service models, and at least four deployment models.
[0054] The characteristics are as follows:
[0055] On-demand self-service: Cloud users can automatically and unilaterally provide computing functions, such as server time and network storage, as needed, without having to interact manually with the service provider.
[0056] Broad network access: Functionality is available through the network and accessed via standard mechanisms that facilitate the use of heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and personal digital assistants).
[0057] Resource pooling: This uses a multi-tenant model to aggregate a provider's computing resources to serve multiple users, dynamically allocating and reallocating different physical and virtual resources based on demand. Location independence means that users typically have no control or knowledge of the exact location of the provided resources, but can specify the location at a higher level of abstraction (e.g., country, state, or data center).
[0058] Rapid elasticity: Features that can be configured quickly and flexibly, automatically configuring to scale out quickly in certain situations and releasing to scale in quickly in others. To the user, the available configuration options often appear unlimited, and can be purchased in any quantity at any time.
[0059] Measurable services: Cloud systems automatically control and optimize resource usage by leveraging metering at some level of abstraction appropriate to the service type (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both the service provider and the user.
[0060] The service model is as follows:
[0061] Software as a Service (SaaS): This provides users with the functionality to use applications from a provider that run on cloud infrastructure. The applications can be accessed from various client devices through thin client interfaces such as web browsers (e.g., web-based email). Users do not manage or control the underlying cloud infrastructure, including the network, servers, operating system, storage, or even individual application functionality, but may be limited by user-specific application configuration settings.
[0062] Platform as a Service (PaaS): This provides users with the ability to deploy user-created or acquired applications onto cloud infrastructure using provider-supported programming languages and tools. Users do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage; instead, they control the deployed applications and the configuration of any possible application hosting environments.
[0063] Infrastructure as a Service (IaaS): This provides users with processing, storage, networking, and other basic computing resources, enabling them to deploy and run any software, including operating systems and applications. Users do not manage or control the underlying cloud infrastructure; instead, they control the operating system, storage, deployed applications, and possibly limited control over selected network components (e.g., host firewalls).
[0064] The deployment model is as follows:
[0065] Private cloud: A cloud infrastructure that operates solely for an organization. It can be managed by the organization or a third party, and can exist internally or externally.
[0066] Community cloud: A cloud infrastructure shared by multiple organizations and supporting specific communities with shared concerns (e.g., tasks, security requirements, policies, and compliance considerations). It can be managed by an organization or a third party and can exist internally or externally.
[0067] Public cloud: Cloud infrastructure available to the general public or large industrial groups and owned by organizations that sell cloud services.
[0068] Hybrid cloud: A cloud infrastructure consists of two or more clouds (private, community, or public) that remain a single entity but are bound together by standardized or proprietary technologies to enable data and application portability (e.g., cloud bursts for load balancing between clouds).
[0069] Cloud computing environments are service-oriented, emphasizing statelessness, loose coupling, modularity, and semantic interoperability. At the heart of cloud computing is the infrastructure of a network of interconnected nodes.
[0070] Reference Figure 6The figure illustrates an exemplary cloud computing environment 600. As shown, the cloud computing environment 600 includes one or more cloud computing nodes 10, to which local computing devices used by cloud users (e.g., personal digital assistants (PDAs) or cellular phones 54A, desktop computers 54B, laptop computers 54C, and / or automotive computer systems 54N) can communicate. The cloud computing nodes 10 can communicate with each other. They can be physically or virtually grouped (not shown) in one or more networks, such as the private cloud, community cloud, public cloud, hybrid cloud, or combinations thereof described above. This allows the cloud computing environment 600 to provide infrastructure, platform, and / or software as a service without requiring cloud users to maintain resources for these services on their local computing devices. It should be understood that... Figure 6 The types of computing devices 54A-N shown are merely exemplary, and cloud computing node 10 and cloud computing environment 600 can communicate with any type of computer device via any type of network and / or network-addressable connectivity (e.g., using a web browser).
[0071] Reference Figure 7 It demonstrates the 600 (cloud computing environment) Figure 6 This provides a set of functional abstraction layers 700. It should be understood that... Figure 7 The components, layers, and functions shown are merely exemplary, and embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:
[0072] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include: a host 61, servers 62 and 63 based on a RISC (Reduced Instruction Set Computer) architecture, a blade server 64, a storage device 65, and a network and network components 66. In some embodiments, software components include network application server software 67 and database software 68.
[0073] The virtual layer 70 provides an abstraction layer from which examples of the following virtual entities can be provided: virtual server 71, virtual storage 72, virtual network including virtual private network 73, virtual application and operating system 74, and virtual client 75.
[0074] In one example, management layer 80 can provide the following functions: Resource Provisioning 81 provides dynamic procurement of computing resources and other resources used to perform tasks in the cloud computing environment. Metering and Pricing 82 provides cost tracking and billing or invoicing for the consumption of these resources when they are used in the cloud computing environment. In one example, these resources may include application software licenses. Security provides authentication for cloud users and tasks and protection for data and other resources. User Access 83 provides access to the cloud computing environment for users and system administrators. Service Level Management 84 provides allocation and management of cloud computing resources to meet the required service level. Service Level Agreement (SLA) Planning and Implementation 85 provides pre-scheduling and acquisition of cloud computing resources for future needs anticipated according to the SLA.
[0075] Workload layer 90 provides examples of functionalities that can leverage a cloud computing environment. Examples of workloads and functionalities that can be provided from this layer include: mapping and navigation 91, software development and lifecycle management 92, virtual classroom teaching implementation 93, data analysis and processing 94, transaction processing 95, and atrial fibrillation classification 96. Atrial fibrillation classification 96 can detect and classify patterns associated with a patient's atrial fibrillation.
[0076] Some embodiments may relate to systems, methods, and / or computer-readable media at any possible level of technical detail integration. A computer-readable medium may include a non-volatile computer-readable storage medium (or medium) storing computer-readable program instructions thereon that cause a processor to perform operations.
[0077] Computer-readable storage media can be tangible devices that can retain and store instructions for use by instruction execution devices. Computer-readable storage media can be, for example, but not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable optical disc read-only memory (CD-ROM), digital versatile optical disc (DVD), memory sticks, floppy disks, mechanical encoding devices (such as punch-cards or slotted structures on which instructions are recorded), and any suitable combination of the foregoing. Computer-readable storage media as used herein should not be construed as being volatile signals, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.
[0078] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or downloaded via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network) to an external computer or external storage device. The network may include copper transmission cables, optical fiber transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to a computer-readable storage medium within the corresponding computing / processing device.
[0079] Computer-readable program code / instructions used to perform operations can be assembly instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, configuration data for integrated circuits, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, and procedural programming languages (such as the "C" programming language) or similar programming languages. The computer-readable program instructions can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer via any type of network (including local area network (LAN) or wide area network (WAN)) or can be connected to an external computer (e.g., via the Internet through an Internet service provider). In some embodiments, electronic circuits, including, for example, programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), can execute computer-readable program instructions by utilizing state information of computer-readable program instructions to personalize the electronic circuits and thereby perform aspects or operations.
[0080] These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that the instructions are executed by the processor of the computer or other programmable data processing apparatus to create means for implementing the functions / actions specified in one or more boxes of a flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that can instruct a computer, programmable data processing apparatus, and / or other device to operate in a particular manner, such that the computer-readable storage medium in which the instructions are stored comprises an article of writing including instructions for implementing aspects of the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0081] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device, thereby producing a computer-implemented process, such that the instructions, which execute on the computer, other programmable apparatus or other device, perform the functions / actions specified in one or more blocks of a flowchart and / or block diagram.
[0082] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer-readable media according to various embodiments. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions, including one or more executable instructions for implementing a specified logical function. The methods, computer systems, and computer-readable media may include more blocks, fewer blocks, different blocks, or blocks arranged differently compared to those depicted in the figures. In some alternative implementations, the functions marked in the blocks may occur in a non-linear order as indicated in the figures. For example, depending on the functions involved, two consecutively shown blocks may actually be executed simultaneously or substantially simultaneously, or the blocks may sometimes be executed in reverse order. It should also be noted that each block of the block diagram and / or flowchart, and combinations of blocks of the block diagram and / or flowchart, may be implemented by a dedicated hardware-based system that performs the specified function or action, or executes a combination of dedicated hardware and computer instructions.
[0083] It is evident that the systems and / or methods described herein can be implemented in various forms of hardware, firmware, or combinations of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods is not limited to these implementations. Therefore, this document describes the operation and behavior of these systems and / or methods without reference to specific software code—it should be understood that software and hardware can be designed to implement these systems and / or methods based on the description herein.
[0084] Unless explicitly stated otherwise, no element, action, or instruction used herein shall be construed as critical or essential. Furthermore, as used herein, the articles “a” and “an” are intended to include one or more items and may be used interchangeably with “one or more.” Additionally, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, combinations of related and unrelated items, etc.) and may be used interchangeably with “one or more.” The term “one” or similar language is used where only one item is desired. Furthermore, as used herein, the terms “has,” “have,” “having,” etc., are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “at least partially based on,” unless otherwise explicitly stated.
[0085] Various aspects and embodiments have been described for illustrative purposes, but are not intended to be exhaustive or limited to the disclosed embodiments. Even though combinations of features are recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features can be combined in ways not specifically described in the claims and / or not disclosed in the specification. While each dependent claim listed below may be directly subordinated to only one claim, the disclosure of possible implementations includes combinations of each dependent claim with each other claim in the claim set. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terminology used herein has been chosen to best explain the principles of embodiments of this application, practical applications of techniques found in the market, or improvements to techniques, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A method for classifying atrial fibrillation (AFib), characterized in that, include: Receive patient-associated electrocardiogram (ECG) data; Extract one or more RR intervals from the received ECG data; For each of the extracted one or more RR intervals, determine one or more preceding RR intervals; wherein the one or more RR intervals and the one or more preceding RR intervals are represented as a two-dimensional array, the two-dimensional array including a first dimension and a second dimension, wherein the first dimension represents the number of RR intervals in the one or more RR intervals, and the second dimension represents the sum of the number of individual RR intervals in the one or more RR intervals and the corresponding number of the one or more preceding RR intervals; Aggregate one or more features associated with the one or more RR intervals and the one or more prior RR intervals; Based on a deep neural network trained from ECG training data, classify one or more patterns associated with the aggregated one or more features; and Based on the one or more patterns that have been classified, determine whether the ECG data contains a pattern associated with AFib; Based on the determination that the ECG data contains a pattern associated with AFib, corresponding indication information is output.
2. The method according to claim 1, wherein, The ECG data is stored in a two-dimensional array.
3. The method according to claim 2, wherein, The aggregation of the one or more features associated with the one or more RR intervals and the one or more prior RR intervals includes: generating a multidimensional array to aggregate the one or more features in response to applying one or more convolutional filter layers to the two-dimensional array.
4. The method according to claim 3, wherein, Determining whether the ECG data contains a pattern associated with AFib based on the one or more classified patterns includes applying a fully connected layer to the multidimensional array.
5. The method according to any one of claims 1-4, further comprising: Based on the one or more patterns that have been classified, the user is given an identifier for a time period containing the pattern associated with atrial fibrillation.
6. The method according to any one of claims 1-4, wherein, Extracting one or more RR intervals from the received ECG data includes: The received ECG data is divided into a first heartbeat and a second heartbeat; and Calculate the time interval between the first peak and the second peak, where the first peak is associated with the first R wave of the first heartbeat and the second peak is associated with the second R wave of the second heartbeat.
7. The method according to any one of claims 1-4, wherein, The aggregation includes applying a max-pooling layer to the one or more RR intervals and the one or more prior RR intervals.
8. The method according to any one of claims 1-4, wherein, The aggregation includes applying an average pooling layer to the one or more RR intervals and the one or more prior RR intervals.
9. The method according to any one of claims 1-4, wherein, The received ECG data includes random samples collected over a long period of time from ECG data.
10. The method according to any one of claims 1-4, wherein, The received ECG data includes samples from long-term ECG collections with the largest variance.
11. A computer system for classifying atrial fibrillation (AFib), characterized in that, The computer system includes: One or more computer-readable non-transitory storage media are configured to store computer program code; and One or more computer processors are configured to access the computer program code and operate in accordance with the instructions of the computer program code to perform the method as described in any one of claims 1-10.
12. A device for classifying atrial fibrillation (AFib), characterized in that, include: The receiving module receives ECG data associated with the patient; The extraction module extracts one or more RR intervals from the received ECG data; The determining module determines one or more preceding RR intervals for each of the extracted one or more RR intervals; wherein the one or more RR intervals and the one or more preceding RR intervals are represented as a two-dimensional array, the two-dimensional array including a first dimension and a second dimension, wherein the first dimension represents the number of RR intervals in the one or more RR intervals, and the second dimension represents the sum of the number of individual RR intervals in the one or more RR intervals and the corresponding number of the one or more preceding RR intervals; The aggregation module aggregates one or more features associated with the one or more RR intervals and the one or more prior RR intervals; The classification module, based on a deep neural network trained from ECG training data, classifies one or more patterns associated with the aggregated one or more features; The pattern determination module determines whether the ECG data contains a pattern associated with AFib based on the one or more classified patterns. The transmission module, based on determining that the ECG data contains a pattern associated with AFib, outputs corresponding indication information.
13. The apparatus according to claim 12, wherein, The ECG data is stored in a two-dimensional array.
14. The apparatus according to claim 13, wherein, The aggregation module, in response to applying one or more convolutional filter layers to the two-dimensional array, generates a multi-dimensional array to aggregate the one or more features.
15. The apparatus according to claim 14, wherein, The pattern determination module determines whether the ECG data contains a pattern associated with AFib based on one or more classified patterns in the following manner: applying a fully connected layer to the multidimensional array.
16. The apparatus according to any one of claims 12-15, wherein, The transmission module, based on the one or more classified patterns, transmits to the user an identifier of a time period containing patterns associated with atrial fibrillation.
17. The apparatus according to any one of claims 12-15, wherein, The device further includes: The segmentation module segments the received ECG data into a first heartbeat and a second heartbeat; The calculation module calculates the time period between the first peak and the second peak, wherein the first peak is associated with the first R wave of the first heartbeat and the second peak is associated with the second R wave of the second heartbeat.
18. The apparatus according to any one of claims 12-15, wherein, The aggregation module is used for: Apply the max pooling layer to the one or more RR intervals and the one or more prior RR intervals; or The average pooling layer is applied to the one or more RR intervals and the one or more prior RR intervals.
19. The apparatus according to any one of claims 12-15, wherein, The received ECG data includes samples from long-term ECG collections with the largest variance.
20. A non-transitory computer-readable medium, characterized in that, It stores a computer program for classifying atrial fibrillation (AFib), the computer program being configured to cause one or more computer processors to perform operations to execute the method as described in any one of claims 1-10.
Citation Information
Patent Citations
System and method for machine-learning-based atrial fibrillation detection
US20190090769A1