Method for extracting heart rate variability features
The method employs a neural network to extract heart rate variability feature values from short-term biosignal data, addressing the inconvenience and signal quality issues of long-term measurements.
Patent Information
- Application Number
- JP2023577473
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-09-24
- Filing Date
- 2022-08-10
- Publication Date
- 2025-03-21
- Estimated Expiration
- 2042-08-10
AI Technical Summary
Current methods for measuring heart rate variability (HRV) require long-term stationary measurements, which are inconvenient for users and prone to signal quality degradation due to movement.
A method using a computing device with a pre-trained neural network model to extract HRV feature values from short-term biosignal data, allowing for the estimation of feature values for a longer time period.
Enables the reliable extraction of HRV feature values even from short-term measurements, improving user convenience and maintaining signal quality.
Smart Images

Figure 0007649518000002 
Figure 0007649518000003 
Figure 0007649518000004
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a method for measuring and analyzing a cardiac biosignal, and more particularly, to a method for extracting a heart rate variability feature value using a neural network. [Background technology]
[0002] In general, biosignals can be measured in various ways to grasp a current state of a human being or to predict a future state of the human being. For example, an electrocardiogram (ECG) signal or a photoplethysmography (PPG) signal can be measured to confirm a state related to the human heart.
[0003] An electrocardiogram signal is a record of electrical changes that occur locally due to the movement of the heart, and a photoelectric blood flow measurement signal is a measurement of the heart rate using the principle that light reflectance changes due to the expansion and contraction of blood vessels when light is irradiated onto body tissue.
[0004] The analysis results of the electrocardiogram signal and the photoelectric blood flow measurement signal can be utilized for the diagnosis of various diseases. One of the pieces of information obtained from the electrocardiogram signal and the photoelectric blood flow measurement signal is heart rate variability (HRV).
[0005] Heart rate variability refers to the degree of variation in the heartbeat, and refers to the minute variation between a specific cardiac cycle and the next cardiac cycle. Heart rate variability is used to check the balance and activity of the autonomic nervous system, predict and evaluate the risk of developing stress-related diseases, evaluate resistance to diseases, check the effectiveness of treatment and follow-up tests, etc.
[0006] Most of the feature values that can be derived from heart rate variability include items for which reliable result values cannot be obtained unless measurements are performed over a long period of time (for example, 5 minutes or more, 10 minutes or more, or 24 hours or more).
[0007] In order to extract reliable heart rate variability feature values, the user needs to remain motionless during the measurement of cardiac biosignals such as an electrocardiogram, to ensure that clean signals are measured.
[0008] Thus, there are problems with long-term measurement of electrocardiogram signals or photoelectric blood flow measurement signals, in that it causes great inconvenience to the user and that the quality of the signal may be degraded due to various variables such as the user's movements.
[0009] Therefore, there is a need for research and development of methods for extracting reliable heart rate variability features even from short-term measurements.
[0010] Korean Patent Publication No. 10-2018-0032829 discloses a heart rate signal measuring device. Summary of the Invention [Problem to be solved by the invention]
[0011] The present disclosure has been devised in response to the above-mentioned background art, and aims to provide a method for extracting heart rate variability feature values using a neural network.
[0012] The technical problems in the present disclosure are not limited to the above-mentioned technical problems, and a person skilled in the art can clearly understand problems other than the above-mentioned technical problems based on the following description. [Means for solving the problem]
[0013] In several embodiments of the present disclosure for solving the above-mentioned problems, a method for extracting Heart Rate Variability (HRV) feature values executed by a computing device including one or more processors may include: acquiring first biosignal data measured during a first time period; and inputting the first biosignal data into a pre-trained neural network model and outputting one or more HRV feature values corresponding to a time period longer than the first time period.
[0014] Alternatively, the pre-trained neural network model may be trained using a data set generated based on multiple time-divided segments of second biosignal data measured during a second time period.
[0015] Alternatively, the step of outputting the one or more heart rate variability feature values may include the step of outputting the one or more heart rate variability feature values based on heart rate variability feature values corresponding to each of the plurality of segments, wherein a time period of each of the plurality of segments may be longer than the first time period.
[0016] Alternatively, the dataset may include, as input data, a plurality of sub-segments obtained by dividing a first segment among the plurality of segments by time, and may include, as ground truth data for the input data, a heart rate variability feature value corresponding to a third biosignal data extracted from the first segment.
[0017] Alternatively, a time period of each of the plurality of sub-segments may correspond to the first time period.
[0018] Alternatively, when an input is received that an arrhythmia disease is present, the first time period during which the first vital sign data is measured may be set to be longer than for a user in which the arrhythmia disease is not present, or may be set to a time period up to the point at which a signal of a predefined pattern is measured from the user.
[0019] Alternatively, the step of inputting the first biosignal data into the pre-trained neural network model and outputting the one or more heart rate variability feature values may include the step of inputting the first biosignal data into the pre-trained neural network model and outputting the one or more heart rate variability feature values by domain.
[0020] Alternatively, the domain may include at least one of a time domain, a frequency domain, or a nonlinear domain.
[0021] Alternatively, the pre-trained neural network model may include multiple sub-neural network models trained separately for each of the domains.
[0022] In other embodiments of the present disclosure for solving the above-mentioned problems, a computer program stored on a computer-readable storage medium, which, when executed on one or more processors, causes the processors to execute a method for extracting heart rate variability feature values, the method may include: acquiring first biosignal data measured for a first time period; and inputting the first biosignal data into a pre-trained neural network model and outputting one or more heart rate variability feature values corresponding to a time period longer than the first time period.
[0023] In yet other embodiments of the present disclosure for solving the above-mentioned problems, a computing device for extracting heart rate variability feature values includes: a processor including one or more cores; a memory including program code executable on the processor; and the processor is capable of acquiring first biosignal data measured during a first time period; and inputting the first biosignal data into a pre-trained neural network model to output one or more heart rate variability feature values corresponding to a time period longer than the first time period. Effect of the Invention
[0024] The present disclosure is capable of extracting heart rate variability features using neural networks.
[0025] The effects obtained from the present disclosure are not limited to the effects described above, and a person having ordinary knowledge in the technical field to which the present disclosure pertains can clearly understand effects other than those described above based on the contents of the following description. [Brief description of the drawings]
[0026] Various aspects are described with reference to the drawings. In the following description of the drawings, like drawing numbers are generally used to indicate like components. In the following examples, for purposes of explanation, numerous specific details are provided to facilitate an overall understanding of one or more aspects. However, it will be apparent that such element(s) can be practiced without such details. [Figure 1] FIG. 1 is a block diagram of a computing device for extracting heart rate variability features according to embodiments of the present disclosure. [Diagram 2] FIG. 2 is a schematic diagram illustrating a network function according to some embodiments of the present disclosure. [Diagram 3] FIG. 3 is a diagram illustrating a process of extracting a heart rate variability feature value using a neural network model according to several embodiments of the present disclosure. [Figure 4]FIG. 4 is a flow chart illustrating a method for extracting heart rate variability features according to embodiments of the present disclosure. [Diagram 5] FIG. 5 is a flow chart illustrating a method for extracting heart rate variability feature values according to other embodiments of the present disclosure. [Figure 6] FIG. 6 is a flowchart illustrating a method for extracting heart rate variability feature values according to further embodiments of the present disclosure. [Figure 7] FIG. 7 is a flowchart illustrating a process of constructing a dataset for training a neural network model in a method for extracting heart rate variability feature values according to further embodiments of the present disclosure. [Figure 8] FIG. 8 is a flow chart illustrating a method for acquiring biosignal data according to embodiments of the present disclosure. [Figure 9] FIG. 9 is a flow chart illustrating a method for acquiring biosignal data according to other embodiments of the present disclosure. [Figure 10] FIG. 10 is a simplified general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure can be implemented. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0027] Various embodiments are described below with reference to the drawings, in which like reference numerals are used to represent like components throughout the drawings. Various descriptions are provided herein to facilitate understanding of the present disclosure. However, the embodiments can undoubtedly be practiced without these specific descriptions.
[0028] 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, and a component can be localized within one computer or distributed across two or more computers. Such components can also execute from various computer-readable media having various data structures stored therein. Components can communicate, for example, through local and / or remote processing, by signals (e.g., data from one component interacting with other components in a local system, a distributed system, and / or data transmitted over a network such as the Internet to other systems) carrying one or more data packets.
[0029] The term "or" is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless otherwise specified or clear from the context, "X utilizes A or B" is intended to mean one of the natural inclusive permutations. That is, if X utilizes A; X utilizes B; or X utilizes both A and B, then "X utilizes A or B" can apply to any of these. Additionally, the term "and / or" as used herein should be understood to refer to and include all possible combinations of one or more of the associated listed items.
[0030] Additionally, the predicate "comprises" and / or the modifier "comprises" should be understood to mean that the feature and / or component is present. However, the predicate "comprises" and / or the modifier "comprises" should be understood to not 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.
[0031] 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."
[0032] 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.
[0033] The description of the embodiments set forth herein is provided to enable one of ordinary skill in the art to use or practice the present disclosure. Various modifications to these embodiments will be apparent to those of ordinary skill in the art, 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 set forth herein, but is to be accorded the broadest scope consistent with the principles and novel features disclosed herein.
[0034] In this disclosure, the terms network function, artificial neural network, and neural network may be used interchangeably.
[0035] FIG. 1 is a block diagram of a computing device for extracting Heart Rate Variability (HRV) features according to embodiments of the present disclosure.
[0036] 1 is merely a simplified example, and in one embodiment of the present disclosure, the computer device (100) may include other components for implementing the computing environment of the computer device (100), and the computer device (100) may be configured with only some of the disclosed components.
[0037] The computer device (100) may include a processor (110), a memory (130), and a network unit (150).
[0038] In an embodiment of the present disclosure, the processor (100) may be configured with one or more cores and may include a processor for data analysis and deep learning, such as a computing central processing unit (CPU), a general purpose graphics processing unit (GPGPU), and a tensor processing unit (TPU). The processor (110) may read a computer program stored in the memory (130) and execute data processing for machine learning in an embodiment of the present disclosure. According to an embodiment of the present disclosure, the processor (110) may perform calculations for learning a neural network. In deep learning (DL), the processor (110) may execute calculations for learning a neural network, such as processing input data for learning, extracting features from the input data, calculating errors, and updating weights of the neural network using backpropagation. At least one of the CPU, GPGPU, and TPU of the processor (110) may process learning of a network function. For example, a CPU and a GPGPU may both perform network function learning or data classification using the network function. In one embodiment of the present disclosure, processors of multiple computing devices may be used together to perform network function learning or data classification using the network function. In one embodiment of the present disclosure, a computer program executed in a computing device may be a program executable by a CPU, a GPGPU, or a TPU.
[0039] According to one embodiment of the present disclosure, the memory (130) can store a computer program for performing lesion reading according to one embodiment of the present disclosure and providing results of the lesion reading, and the stored computer program can be read and driven by the processor (110).
[0040] 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.
[0041] In one embodiment of the present disclosure, the network unit (150) may include any wired or wireless communication network capable of transmitting and receiving any type of data and signals, etc., as the network represented in the present disclosure.
[0042] The techniques described herein may be used in these networks as well as other networks.
[0043] The processor 110 may acquire the first biosignal data measured for a first time period to extract the heart rate variability feature value. Here, the first time period may mean a time period of a specific length, and may mean a short period (e.g., less than 2 minutes and 30 seconds) as an example. For example, the first time period may be a time required to acquire the first biosignal data including a specific signal from a user. For example, the first time period may mean a time period required for an electrocardiogram measurement. As another example, the first time period may mean a time period required for a photoelectric blood flow measurement. As another example, the first time period may mean a time period required for input data used in the inference process of a trained neural network model.
[0044] Short-term and long-term in the present disclosure are terms used to represent relatively long and relatively short time periods. As an example, a short-term can mean a time period less than 2 minutes 30 seconds, less than 1 minute, less than 30 seconds, or less than 10 seconds, and a long-term can mean a time period of 2 minutes 30 seconds or more, 5 minutes or more, 10 minutes or more, 1 hour or more, or 24 hours or more. A short-term can mean a time period that is relatively short compared to a long-term.
[0045] The biosignal data is a biological signal that can be obtained from a human body, and may refer to data in an electrical or magnetic form. The first biosignal data may refer to biosignal data related to the heart, and such biosignal data related to the heart may include, for example, electrocardiogram data or photoelectric blood flow measurement data. The electrocardiogram data may be obtained by attaching at least one lead to the skin of a user (e.g., a subject) and measuring for a certain period of time. The photoelectric blood flow measurement data may be obtained by attaching a sensor module including a light source and a photodetector to a part of the body (e.g., a finger) and measuring for a certain period of time. The electrocardiogram data and the photoelectric blood flow measurement data may each include graph information representing the strength of a heartbeat signal over time. Specifically, the graph information may include the shape of an electrocardiogram curve that amplifies the minute current flowing in the user's heart muscle, the distance between the waveforms of the electrocardiogram curve, the height of the electrocardiogram curve, the angle of the electrocardiogram curve, etc.
[0046] By analyzing such biosignal data, it is possible to obtain heart rate variability (HRV). Heart rate variability means the degree of variability of the heart rate, and means minute fluctuations between a particular cardiac cycle and the next cardiac cycle. Through the analysis of the heart rate variability, one or more heart rate variability feature values can be extracted. The heart rate variability feature value can mean a value quantified according to a preset criterion in the time domain, the frequency domain, or the nonlinear domain, etc. For example, the heart rate variability feature value can include mRR, SDRR, mHR, SDHR, RMSSD, NN50, pNN50, VLF, LF, HF, pVLF, pLF, pHF, prcVLF, prcLF, powHF, nLF, nHF, LF / HF, SD1, SD2, ApEn, SampEn, D2, Alpha1, Alpha2, Lmean, Lmax, REC, DET, and / or ShanEn, etc.
[0047] Examples of parameters representing heart rate variability feature values can be shown in Table 1 below.
[0048] [Table 1]
[0049] There are a number of methods for measuring various forms of biosignal data, but for ease of explanation, in the following, when describing a method for measuring biosignal data, an electrocardiogram measurement method is described as an example.
[0050] The processor 110 may acquire the first biosignal data measured from a separate measuring device, or may acquire the first biosignal directly from at least one lead (not shown) included in the computing device 100. As an example, the first biosignal data may be data used in the inference process of the neural network model 200.
[0051] The first biosignal data can then be input to a pre-trained neural network model (200) to output one or more heart rate variability feature values. The neural network model (200) will be described below with reference to FIGS. 2 and 3.
[0052] FIG. 2 is a schematic diagram illustrating a network function in one embodiment of the present disclosure.
[0053] Throughout this specification, the terms computation model, neural network, neural network model, sub-neural network model, network function, and neural network may be used interchangeably. A neural network may be 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 compose a neural network may be interconnected by one or more links.
[0054] 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.
[0055] 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.
[0056] 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.
[0057] 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.
[0058] 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.
[0059] 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.
[0060] 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, video, 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.
[0061] 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.).
[0062] 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.
[0063] 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.
[0064] 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.
[0065] In accordance with one embodiment of the present disclosure, a computer-readable storage medium having a data structure stored thereon is disclosed.
[0066] 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.
[0067] 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.
[0068] 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.
[0069] 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.
[0070] 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.
[0071] 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.
[0072] 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.
[0073] 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 and used. 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 items are merely examples, and the present disclosure is not limited thereto.
[0074] 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.
[0075] FIG. 3 is a diagram illustrating a process of extracting a heart rate variability feature value using a neural network model according to several embodiments of the present disclosure.
[0076] The configuration of the neural network model (200) shown in FIG. 3 is merely a simplified example. In several embodiments of the present disclosure, the neural network model (200) may include other configurations, and only a part of the disclosed configurations may constitute the neural network model (200). The heart rate variability feature value may mean a value quantified according to a predetermined criterion in each of the time domain, the frequency domain, the nonlinear domain, etc. For example, the heart rate variability feature value may include mRR, SDRR, mHR, SDHR, RMSSD, NN50, pNN50, VLF, LF, HF, pVLF, pLF, pHF, prcVLF, prcLF, powHF, nLF, nHF, LF / HF, SD1, SD2, ApEn, SampEn, D2, Alpha1, Alpha2, Lmean, Lmax, REC, DET, ShanEn, etc.
[0077] Referring to FIG. 3, the neural network model (200) may include a plurality of sub-neural network models trained separately for each domain. For example, the sub-neural network models may include a first sub-neural network model (210), a second sub-neural network model (220), and a third sub-neural network model (230). As an example, the sub-neural network models (210, 220, 230) may configure one neural network model (200). At least one of the network structure, learning method, input data format, or output data format of the sub-neural network models (210, 220, 230) may be the same. The sub-neural network models (210, 220, 230) may share at least one of the network structure, learning method, input data format, or output data format with each other. The neural network model (200) can ensemble the outputs of multiple sub-neural network models (210, 220, 230) or perform additional post-processing on these outputs to generate a final output.
[0078] As another example, the multiple sub-neural network models (210, 220, 230) may exist separately from the neural network model (200).
[0079] In one embodiment of the present disclosure, each of the multiple sub-neural network models (210, 220, 230) can be trained based on multiple heart rate variability feature values that belong to different domains among multiple heart rate variability feature values.
[0080] The first sub-neural network model (210) may be a model trained to output one or more heart rate variability feature values corresponding to a time domain. Thus, when the computing device (100) inputs the first biosignal data into the neural network model (200), the first sub-neural network model (210) may output one or more heart rate variability feature values corresponding to a time domain. For example, the one or more heart rate variability feature values corresponding to the time domain may include mRR, SDRR, mHR, SDHR, RMSSD, NN50, pNN50, etc.
[0081] The second sub-neural model (220) may be a model trained to output one or more heart rate variability feature values corresponding to a frequency domain. Thus, when the first biosignal data is input to the neural model (200) by the computing device (100), the second sub-neural model (220) may output one or more heart rate variability feature values corresponding to a frequency domain. For example, the one or more heart rate variability feature values corresponding to a frequency domain may include VLF, LF, HF, pVLF, pLF, pHF, prcVLF, prcLF, powHF, nLF, nHF, LF / HF, etc.
[0082] The third sub-neural network model (230) may be a model trained to output one or more heart rate variability feature values corresponding to a nonlinear domain. Thus, when the computing device (100) inputs the first biological signal data into the neural network model (200), the third sub-neural network model (220) may output one or more heart rate variability feature values corresponding to the nonlinear domain. For example, the one or more heart rate variability feature values corresponding to the nonlinear domain may include SD1, SD2, ApEn, SampEn, D2, Alpha1, Alpha2, Lmean, Lmax, REC, DET, ShanEn, etc.
[0083] As in the multiple embodiments detailed in the description of FIG. 3, the neural network model (200) includes multiple sub-neural network models and can output one or more heart rate variability feature values for each domain. The neural network model (200) can also output an overall heart rate variability feature value based on one or more heart rate variability feature values output for each domain. The method of outputting the overall heart rate variability feature value can include various methods, such as a method of adding up the heart rate variability feature values output for each domain, a method of adding up the heart rate variability feature values output for each domain by applying a predetermined weight to each of the heart rate variability feature values output for each domain, a method of adding up the heart rate variability feature values output for each domain by applying a predetermined algorithm to the heart rate variability feature values output for each domain, or a method of inputting the heart rate variability feature values output for each domain to an artificial intelligence model and using the output as a sum value.
[0084] Thus, the processor (110) of the computing device (100) can use the neural network model (200) to output one or more HRV feature values, either by domain or globally, depending on the user's needs.
[0085] A method for extracting HRV feature values using a neural network model (200) in the computing device (100) described above in the description of FIGS. 1 to 3 will now be described.
[0086] FIG. 4 is a flow chart illustrating a method for extracting heart rate variability features according to embodiments of the present disclosure.
[0087] Referring to FIG. 4, a processor (110) of a computing device (100) may obtain first biosignal data measured for a first time period (S100).
[0088] Here, the first time period may mean a short period (e.g., less than 30 seconds, less than 1 minute, or less than 2 minutes and 30 seconds). The examples of time periods in this specification are merely examples used for ease of explanation and understanding, and the example time periods of such time periods may be variable and may vary depending on the type of application applied and the type of parameter (e.g., heart rate variability feature value) obtained.
[0089] The first vital sign data may include electrocardiogram data or photoelectric blood flow measurement data.
[0090] In addition, the processor (110) can acquire first biosignal data measured from a separate measuring device, or can acquire the first biosignal directly from at least one lead (not shown) included in the computing device (100).
[0091] In this case, the processor (110) can perform pre-processing on the first biosignal data in order to input the data to the neural network model (200). Pre-processing means performing pre-processing on the input data in order to input the data to the neural network model (200). For example, the processor (110) can derive the maximum value of the R wave from the first biosignal data. In this case, the maximum value of the R wave can be derived using various algorithms for detecting the maximum value of the R wave, such as a wavelet transform, a Pan-Tompkins algorithm, a deep learning algorithm, etc., and the algorithm for detecting the maximum value of the R wave is not limited thereto.
[0092] As another example, the processor (110) may convert the first biosignal data from time domain data to frequency domain data or to time-frequency domain data using a Fourier transform.
[0093] Thus, the processor (110) can input the pre-processed first biosignal data into the neural network model (200).
[0094] The processor (110) of the computing device (100) may input the first biosignal data to a pre-trained neural network model (200) and output one or more heart rate variability feature values corresponding to a time period longer than the first time period (S200). For example, a neural network inference operation may be performed using the trained neural network model (200) to output a heart rate variability feature value measured over a relatively long period of time based on the biosignal data measured over a short period of time.
[0095] In this case, the neural network model (200) may include a plurality of sub-neural network models trained separately for each domain. Thus, the processor (110) of the computing device (100) may input the first biosignal data to the pre-trained neural network model (200) and output one or more heart rate variability feature values for each domain. The processor (110) of the computing device (100) may also use the neural network model (200) to integrate one or more heart rate variability feature values output for each domain into one and output an overall heart rate variability feature value.
[0096] In some embodiments of the present disclosure, the neural network model (200) may include a model trained by supervised learning using a data set including input data and correct answer data for the input data. The model trained by supervised learning may include a model trained using a neural network structure. The model trained by supervised learning may refer to a model trained by using correct answer data for the input data to reduce errors in the learning process. The model trained by supervised learning may be, for example, a model trained using a convolutional neural network or a recurrent neural network.
[0097] In addition, the neural network model (200) can include not only a convolutional neural network or a recurrent neural network, but also an attention mechanism model and / or a model configured using a transformer, either alone or in combination.
[0098] The neural network model (200) may include a model trained by unsupervised learning using only input data. The model trained by unsupervised learning may include a model trained using a neural network structure. The model trained by unsupervised learning may refer to a model trained in a manner in which an error is calculated by comparing input data with output data, the calculated error is backpropagated in the backward direction, and the weights in the connections of each node in each layer are updated. The model trained by unsupervised learning may be, for example, a model trained using an autoencoder.
[0099] As in several embodiments detailed in the description of FIG. 4, the processor (110) of the computing device (100) can input short-term measured biosignal data to the neural network model (200) and output heart rate variability feature values corresponding to long-term measured biosignal data, i.e., heart rate variability feature values with high reliability.
[0100] FIG. 5 is a flow chart illustrating a method for extracting heart rate variability feature values according to other embodiments of the present disclosure.
[0101] Referring to FIG. 5, a processor (110) of a computing device (100) may obtain first biosignal data measured for a first period of time.
[0102] The processor (110) of the computing device (100) can train (S310) the neural network model (200) using a data set generated based on multiple segments separated by time of second biosignal data measured during a second time period longer than the first time period.
[0103] In this case, the second time period may mean a long period (e.g., 5 minutes or more, 10 minutes or more, N hours or more, or 24 hours or more, etc.), where N corresponds to a natural number. The second time period may be a time required to secure data for training the neural network model (200). For example, the second time period may mean a minimum time period required for training data used to train the neural network model (200). As another example, a sub-time period constituting the second time period may mean a minimum time period required for training data used to train the neural network model (200). For example, the second time period may mean a relatively long time period compared to the first time period. As another example, the second time period may mean a measurement time period of long-term measurement data such as Holter data. As another example, the second time period may mean a time period during which a label can be extracted such that the measurement result of the biological signal has a reliability value equal to or greater than a predetermined threshold. The second time period may have a variable value that may vary depending on what heart rate variability feature value is extracted. The second time period may be variable, depending on at least one of the types of heart rate variability feature values, the manner of acquiring the biosignal, the manner of training the neural network model, or the type of application applied. The second biosignal data may be data required for training the neural network model (200).
[0104] In the present disclosure, a segment may refer to a measurement time period during which a label having a reliability equal to or greater than a predetermined threshold can be extracted. The time period corresponding to a segment, like other time periods, may be variably determined depending on the type of HRV feature value, the type of learning method, the type of application to be applied, and the like.
[0105] Also, according to some embodiments of the present disclosure, the segments may refer to time regions or units of time into which the second biosignal data is successively divided by a preset time period. For example, if the preset time period is 5 minutes, the first segment may be a region of 0 to 5 (0 or more and less than 5) minutes in the second biosignal data, and the second segment may be a region of 5 to 10 (5 or more and less than 10) minutes in the second biosignal data.
[0106] According to other embodiments of the present disclosure, the segments may refer to time regions into which the second biosignal data is divided so as to be accumulated for a pre-set time period. For example, if the pre-set time period is 10 minutes, the first segment may be a region of 0 to 10 minutes (0 to less than 10) in the second biosignal data, and the second segment may be a region of 0 to 20 minutes (0 to less than 20) in the second biosignal data.
[0107] According to other embodiments of the present disclosure, the segments may refer to time domains or units of time into which the second biosignal data is successively divided at variable time periods. For example, the first segment may be a 0-5 (0 or more and less than 5) minute domain in the second biosignal data, and the second segment may be a 5-15 (5 or more and less than 15) minute domain in the second biosignal data.
[0108] According to other embodiments of the present disclosure, the segments may refer to time regions or units of time into which the second biosignal data is discontinuously divided based on a preset time period. For example, if the preset time period is 5 minutes, the first segment may be a region of 0 to 5 (0 or more and less than 5) minutes in the second biosignal data, and the second segment may be a region of 10 to 15 (10 or more and less than 15) minutes in the second biosignal data.
[0109] Meanwhile, the processor 110 of the computing device 100 may obtain the second biosignal data determined from a separate measuring device, or may obtain the second biosignal directly from at least one lead (not shown) included in the computing device 100. The second biosignal data may be stored in advance in the computing device 100.
[0110] Therefore, the processor (110) of the computing device (100) divides the second biosignal data to construct a dataset, which makes it easier to construct a dataset even when the amount of data measured over a long period of time is insufficient, and makes it possible to train a neural network model regardless of the amount of data.
[0111] The processor (110) of the computing device (100) may output (S320) one or more HRV feature values based on the HRV feature values corresponding to each of the plurality of segments.
[0112] Specifically, the processor (110) of the computing device (100) can input the first biosignal data to the pre-trained neural network model (200) and output one or more heart rate variability feature values based on the heart rate variability feature values corresponding to each of the multiple segments.
[0113] Also, the time period of each of the plurality of segments may be a third time period longer than the first time period, which is a time required to obtain first biosignal data including a specific signal from a user in the inference process of the neural network model (200). The third time period may be a time required to secure data usable for training the neural network model (200). Specifically, the third time period may be a period between the first time period and the second time period, which is a time required to secure data for training the neural network model (200). The third time period may refer to a time period corresponding to a segment. As an example, the third time period may refer to a minimum time period required for training data used for training the neural network model (200). As another example, a sub-time period constituting the third time period may refer to a minimum time period required for training data used for training the neural network model (200).
[0114] In some embodiments of the present disclosure, the neural network model (200) may include a model trained by supervised learning using a data set including input data and correct answer data for the input data. The model trained by supervised learning may include a model trained using a neural network structure. The model trained by supervised learning may refer to a model trained by using correct answer data for the input data to reduce errors in the learning process. The model trained by supervised learning may be, for example, a model trained using a convolutional neural network or a recurrent neural network.
[0115] In addition, the neural network model (200) can include not only a convolutional neural network or a recurrent neural network, but also an attention mechanism model, a transformer, etc., either alone or in combination.
[0116] The neural network model (200) may include a model trained by unsupervised learning using only input data. The model trained by unsupervised learning may include a model trained using a neural network structure. The model trained by unsupervised learning may refer to a model trained in a manner in which an error is calculated by comparing input data with output data, the calculated error is backpropagated in the backward direction, and the weights in the connections of each node in each layer are updated. The model trained by unsupervised learning may be, for example, a model trained using an autoencoder.
[0117] As in other embodiments detailed in the description of Figure 5, the processor (110) of the computing device (100) can input the first biosignal data measured for a short period of time into the neural network model (200) and output one or more reliable HRV feature values obtained when measured for a long period of time by training the neural network model (200) using a number of segments having a longer time period than the first biosignal data. Through the learning method according to an embodiment of the present disclosure exemplarily illustrated in Figure 5, when performing inference on biosignal data measured for a short period of time, HRV feature values having reliability corresponding to a relatively long period of time can be output.
[0118] FIG. 6 is a flowchart illustrating a method for extracting heart rate variability feature values according to further embodiments of the present disclosure.
[0119] Referring to FIG. 6, a processor (110) of a computing device (100) may obtain first biosignal data measured for a first time period.
[0120] Then, the processor (110) of the computing device (100) can time-divide the second biosignal data measured during a second time period longer than the first time period to generate a plurality of segments (S410).
[0121] Here, the second time period can refer to a long period of time (e.g., 10 minutes, or N hours or more, etc.), where N refers to a natural number.
[0122] Also, according to some embodiments of the present disclosure, the segments may refer to time regions obtained by continuously or discontinuously dividing the second biosignal data during a preset time period. For example, if the preset time period is 5 minutes, the first segment may be a region of 0 to 5 (0 or more and less than 5) minutes in the second biosignal data, and the second segment may be a region of 5 to 10 (5 or more and less than 10) minutes in the second biosignal data. As another example, the segments may be divided discontinuously based on the value of the second biosignal data. In this case, in an example where the second time period is 10 minutes, for example, if it is determined that the biosignal data from 5 minutes to 5 minutes 30 seconds does not have a meaningful value due to arrhythmia or the like, the biosignal data from 0 to 5 minutes may be assigned to the first segment, and the biosignal data from 5 minutes 30 seconds to 10 minutes 30 seconds may be assigned to the second segment. In one embodiment of the present disclosure, the processor (110) may analyze the value of the biosignal data to determine in what manner to divide the acquired biosignal data.
[0123] According to other embodiments of the present disclosure, the segments may refer to time regions into which the second biosignal data is divided so as to be accumulated for a pre-set time period. For example, if the pre-set time period is 10 minutes, the first segment may be a region of 0 to 10 minutes (0 to less than 10) in the second biosignal data, and the second segment may be a region of 0 to 20 minutes (0 to less than 20) in the second biosignal data.
[0124] The processor (110) of the computing device (100) may generate, as input data (S420), a plurality of sub-segments obtained by dividing a first segment of the plurality of segments by time.
[0125] A time period of each of the plurality of sub-segments may correspond to a first time period, and thus the processor (110) of the computing device (100) may pre-train the neural network model (200) using input data having a time period corresponding to the first biosignal data to output one or more heart rate variability feature values with high accuracy.
[0126] The processor (110) of the computing device (100) may generate (S430) the third biosignal data extracted from the first segment and corresponding heart rate variability feature values as ground truth data for the input data.
[0127] Specifically, the processor (110) of the computing device (100) can extract the heart rate variability feature value using the pre-processed data of the third biosignal data extracted from the first segment, and generate the extracted heart rate variability feature value of the third biosignal data as the ground truth data of the input data.
[0128] The third biosignal data may be data measured during a sub-period that constitutes the second time period for training the neural network model (200).
[0129] The processor (110) of the computing device (100) may train (S440) the neural network model (200) using a data set that includes the input data and a ground truth for the input data.
[0130] Specifically, the processor (110) of the computing device (100) generates a plurality of sub-segments by dividing a first segment of the plurality of segments by time as input data, and the correct answer data for each of the input data may be a heart rate variability feature value extracted using data obtained by preprocessing the third biosignal data.
[0131] In some embodiments of the present disclosure, the neural network model (200) may include a model trained by supervised learning using a data set including input data and correct answer data for the input data. The model trained by supervised learning may include a model trained using a neural network structure. The model trained by supervised learning may refer to a model trained by using correct answer data for the input data to reduce errors in the learning process. The model trained by supervised learning may be, for example, a model trained using a convolutional neural network or a recurrent neural network.
[0132] Specifically, the neural network model (200) can be pre-trained by supervised learning, in which each of a plurality of subsegments is input to the neural network as input data, an error is calculated between the value output through the output layer and the heart rate variability feature value corresponding to the third biosignal data, which is the correct answer data of the input data, and the error is back-propagated from the output layer to the input layer to reduce the error, and the weights of each node of the neural network are updated.
[0133] In addition, the neural network model (200) can include not only a convolutional neural network or a recurrent neural network, but also an attention mechanism model, a transformer, etc., either alone or in combination.
[0134] For example, the neural network model 200 may be a transformer including an encoder and a decoder. Specifically, the neural network model 200 may input each of the sub-segments as input data to the encoder. In this case, each of the sub-segments may be data in the form of an image.
[0135] In the neural network model (200), the encoder can divide the input subsegments into multiple sets, divide each divided set into multiple sub-images, and process the multiple divided sub-images in parallel to generate a set of output images. The encoder can then generate a set of feature maps for each of the generated output images, integrate the generated feature maps of each set, and process the integrated feature map to output an image vector. In this case, the encoder can process the subsegments using a variety of methods, such as convolutional neural networks, scale invariant feature transform (SIFT), histogram of oriented gradient (HOG), and speeded up robust features (SURF).
[0136] In the neural network model (200), the decoder can be iteratively trained to apply the image vector output from the encoder to an attention mechanism and output a heart rate variability feature value corresponding to the target third biosignal data.
[0137] The neural network model (200) may include a model trained by unsupervised learning using only input data. The model trained by unsupervised learning may include a model trained using a neural network structure. The model trained by unsupervised learning may refer to a model trained in a manner in which an error is calculated by comparing input data with output data, the calculated error is backpropagated in the backward direction, and the weights in the connections of each node in each layer are updated. The model trained by unsupervised learning may be, for example, a model trained using an autoencoder.
[0138] Meanwhile, the processor (110) of the computing device (100) may input the first biosignal data into the pre-trained neural network model (200) and output one or more heart rate variability feature values.
[0139] As in further embodiments detailed in the description of FIG. 6, the processor (110) of the computing device (100) constructs a dataset based on multiple segments obtained by dividing the second biological signal data by time, the second biological signal data being measured during a second time period that is longer than the first time period. This makes it easier to construct a dataset even when the amount of data measured over a long period of time is insufficient, and makes it possible to train a neural network model regardless of the amount of data.
[0140] Through a learning method based on one embodiment of the present disclosure, as exemplarily illustrated in FIG. 6, when inference is performed on biosignal data measured over a short period of time, a heart rate variability feature value having a reliability corresponding to that of a relatively long period of measurement can be output.
[0141] FIG. 7 is a flowchart illustrating a process of constructing a dataset for training a neural network model in a method for extracting heart rate variability feature values according to further embodiments of the present disclosure.
[0142] 7, the processor (110) of the computing device (100) can divide the second biosignal data (10) into a plurality of segments (20). Specifically, the processor (110) of the computing device (100) can divide the second biosignal data (10) into a plurality of segments (20) based on time.
[0143] The processor (110) of the computing device (100) may then extract third biosignal data from the first segment (21) of the plurality of segments (20), and the processor (110) of the computing device (100) may extract heart rate variability feature values (30) corresponding to the extracted third biosignal data.
[0144] Then, the processor 110 of the computing device 100 may divide the first segment 21 into a plurality of sub-segments 40. Specifically, the processor 110 of the computing device 100 may divide the first segment 21 into a plurality of sub-segments 40 based on time. In this case, the plurality of sub-segments 40 may include a first sub-segment 41 and a second sub-segment 42. For example, a sub-segment may mean a sub-concept of a segment. As an example, a sub-segment may have a time period corresponding to 30 seconds, 1 minute, or 2 minutes and 30 seconds. As an example, a sub-segment may have a time period corresponding to a time period of the input data used in the inference process.
[0145] Then, the processor 110 of the computing device 100 can generate a data set 50 using the heart rate variability feature value 30 and the plurality of sub-segments 40. Specifically, the processor 110 of the computing device 100 can generate a data set 50 including the first sub-segment 41 and the second sub-segment 42 as input data, and including the extracted third biosignal data and the corresponding heart rate variability feature value 30 as ground truth data of the input data. As in other embodiments detailed in the description of FIG. 7, the processor 110 of the computing device 100 can generate a large number of data sets by forming data sets based on a plurality of segments into which the second biosignal data measured during a second time period, which is a time required to secure data for training the neural network model 200, is divided. This makes it possible to train the neural network model to have high performance even when the amount of acquired data is small. The processor (110) of the computing device (100) can extract biosignal data from not only the first segment (21) but also each of the multiple segments (20) in accordance with the process detailed with reference to Figure 7. The processor (110) of the computing device (100) can then extract multiple heart rate variability feature values corresponding to each of the multiple biosignal data. Thus, the processor (110) of the computing device (100) can configure the multiple segments (20) as a data set.
[0146] FIG. 8 is a flow chart illustrating a method for acquiring biosignal data according to embodiments of the present disclosure.
[0147] Referring to FIG. 8, the processor (110) of the computing device (100) may receive an input from a user regarding the presence or absence of an arrhythmia disease before acquiring the first biological signal data (S510).
[0148] Specifically, arrhythmia is a condition in which the pulse rhythm is irregular. Therefore, if a user has arrhythmia, a situation may occur in which meaningful biosignal data cannot be obtained if the measurement time is insufficient. Specifically, a situation may occur in which biosignal data is obtained without the user's pulse, making analysis impossible. To prevent such a situation from occurring, the processor (110) of the computing device (100) according to the present disclosure can receive an input from the user regarding the presence or absence of arrhythmia, and determine whether or not a first time period during which the first biosignal data is measured needs to be adjusted.
[0149] When the processor (110) of the computing device (100) receives an input indicating that an arrhythmia disease is present (S510, Yes), it can set the first time period (or the value of the first time period) during which the first vital sign data is measured to be longer than for a user who does not have an arrhythmia disease (S520).
[0150] As in several embodiments detailed in the description of FIG. 8, the processor (110) of the computing device (100) can adjust the first time period (or the value of the first time period) taking into account the presence or absence of an arrhythmia disease, thereby preventing the first biosignal data from being measured in the absence of a pulse.
[0151] FIG. 9 is a flow chart illustrating a method for acquiring biosignal data according to other embodiments of the present disclosure.
[0152] Referring to FIG. 9, the processor (110) of the computing device (100) may receive an input from a user regarding the presence or absence of an arrhythmia disease before acquiring the first biological signal data (S510).
[0153] Specifically, arrhythmia is a condition in which the pulse rhythm is irregular. Therefore, if a user has arrhythmia, a situation may occur in which meaningful biosignal data cannot be obtained if the measurement time is insufficient. Specifically, a situation may occur in which biosignal data is obtained without the user's pulse, making analysis impossible. To prevent such a situation from occurring, the processor (110) of the computing device (100) according to the present disclosure can receive an input from the user regarding the presence or absence of arrhythmia, and determine whether or not a first time period during which the first biosignal data is measured needs to be adjusted.
[0154] When the processor (110) of the computing device (100) receives an input indicating that an arrhythmia disease is present (S510, Yes), it can set a first time period (or a value of the first time period) during which the first vital sign data is measured to a time period until a signal of a predefined pattern is measured from the user (S530).
[0155] Specifically, the processor 110 of the computing device 100 can set a signal of a predefined pattern to a signal from which the maximum value (peak) of the R wave can be derived.
[0156] As in several embodiments detailed in the description of FIG. 9, the processor (110) of the computing device (100) can adjust the first time period (or the value of the first time period) taking into account the presence or absence of an arrhythmia disease, thereby preventing the first biosignal data from being measured in the absence of a pulse.
[0157] The steps or processes shown in Figures 4 to 9 are exemplary steps or processes, and it will be obvious to a person skilled in the art that some of the steps or processes in Figures 4 to 9 can be omitted or other steps or processes can be added without departing from the scope of the concept of the present disclosure.
[0158] As in the multiple embodiments detailed in the description of Figures 1 to 9, the processor (110) of the computing device (100) can input biosignal data measured for a short period of time into the neural network model (200) and output heart rate variability feature values corresponding to the biosignal data measured for a long period of time. That is, the processor (110) of the computing device (100) can output one or more heart rate variability feature values with high reliability obtained by long-term measurement using the biosignal data measured for a short period of time. Therefore, the processor (110) of the computing device (100) does not need to measure the biosignal for a long period of time, and therefore it becomes possible to easily measure the biosignal even in a wearable device, which can contribute to improving the convenience of the user.
[0159] Furthermore, in conventional technology, reliable results, particularly for heart rate variability feature values such as LF and HF, could not be obtained from electrocardiogram waveforms measured over a short period of time, such as less than 2 minutes 30 seconds or less than 1 minute. However, the heart rate variability feature value extraction method based on one embodiment of the present disclosure has the advantage that sufficiently reliable heart rate variability feature values can be extracted even when an electrocardiogram is measured over a relatively short period of time.
[0160] FIG. 10 is a simplified general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure can be implemented.
[0161] 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.
[0162] 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.
[0163] 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.
[0164] 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.
[0165] 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.
[0166] 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).
[0167] 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.
[0168] 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.
[0169] 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.
[0170] 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.
[0171] 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.
[0172] 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.
[0173] 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.
[0174] 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.
[0175] 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.
[0176] 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).
[0177] 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.
[0178] 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.
[0179] 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.
[0180] 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.
[0181] 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 for extracting Heart Rate Variability (HRV) feature values executed by a computing device including one or more processors, the method comprising: obtaining first biosignal data measured during a first time period; and inputting the first biosignal data into a pre-trained neural network model and outputting one or more heart rate variability feature values corresponding to a time period longer than the first time period; Including, the pre-trained neural network model is trained using a data set; The data set includes, as input data, each of a plurality of sub-segments obtained by dividing a training segment by the length of the first time period; The data set includes heart rate variability feature values corresponding to the training segments including each of the plurality of sub-segments measured at a time period longer than the first time period as ground truth data of the input data. A method for extracting heart rate variability features.
2. 10. The method of claim 1 , The training segment comprises: the second biosignal data corresponds to one of a plurality of training segments separated by a time period longer than the first time period; The second vital sign data is measured for a second time period. A method for extracting heart rate variability features.
3. 3. The method of claim 2, The step of outputting the one or more heart rate variability feature values comprises: outputting the one or more heart rate variability feature values based on the heart rate variability feature values corresponding to each of a plurality of segments; Including, a time period of each of the plurality of segments is greater than the first time period; A method for extracting heart rate variability features.
4. 10. The method of claim 1 , When an input indicating the presence of an arrhythmia disorder is received, the first time period during which the first vital sign data is measured is set to be longer than that of a user not having the arrhythmia disorder, or is set to a time period until a signal of a predefined pattern is measured from the user. A method for extracting heart rate variability features.
5. 10. The method of claim 1 , inputting the first biosignal data into the pre-trained neural network model and outputting the one or more heart rate variability feature values, inputting the first biosignal data into the pre-trained neural network model, and outputting the one or more heart rate variability feature values by domain; Including, A method for extracting heart rate variability features.
6. In the method according to claim 5, The domain is At least one of a time domain, a frequency domain, or a nonlinear domain; A method for extracting heart rate variability features.
7. The method according to claim 6, The pre-trained neural network model is A plurality of sub-neural network models each trained individually for each of the domains; A method for extracting heart rate variability features.
8. A computer program stored on a computer readable storage medium, the computer program, when executed by one or more processors, causing the processors to perform a method for extracting heart rate variability features, the method comprising: obtaining first biosignal data measured during a first time period; and inputting the first biosignal data into a pre-trained neural network model and outputting one or more heart rate variability feature values corresponding to a time period longer than the first time period; Including, the pre-trained neural network model is trained using a data set; The data set includes, as input data, each of a plurality of sub-segments obtained by dividing a training segment by the length of the first time period; The data set includes heart rate variability feature values corresponding to the training segments including each of the plurality of sub-segments measured at a time period longer than the first time period as ground truth data of the input data. A computer program stored on a computer readable storage medium.
9. 1. A computing device for extracting heart rate variability features, comprising: A processor including one or more cores; a memory containing program code executable on said processor; Including, The processor, obtaining first biosignal data measured during a first time period; and inputting the first biosignal data into a pre-trained neural network model and outputting one or more heart rate variability feature values corresponding to a time period longer than the first time period; the pre-trained neural network model is trained using a data set; The data set includes, as input data, each of a plurality of sub-segments obtained by dividing a training segment by the length of the first time period; The data set includes heart rate variability feature values corresponding to the training segments including each of the plurality of sub-segments measured at a time period longer than the first time period as ground truth data of the input data. A computing device for extracting heart rate variability features.
Citation Information
Patent Citations
Epileptic seizure predicting device, method for analyzing electrocardiographic index data, seizure predicting computer program, model constructing device, model constructing method, and model constructing computer program
WO2020066430A1
Atrial fibrillation analytical apparatus, atrial fibrillation analytical method, and program
WO2020183857A1