EP4680115A1 - Algorithme d'ecg et embarquabilité dans un dispositif d'analyse ecg - Google Patents
Algorithme d'ecg et embarquabilité dans un dispositif d'analyse ecgInfo
- Publication number
- EP4680115A1 EP4680115A1 EP24711552.0A EP24711552A EP4680115A1 EP 4680115 A1 EP4680115 A1 EP 4680115A1 EP 24711552 A EP24711552 A EP 24711552A EP 4680115 A1 EP4680115 A1 EP 4680115A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- ecg
- computer program
- time index
- ecg signal
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/72—Signal processing specially adapted for physiological signals or for diagnostic purposes
- A61B5/7235—Details of waveform analysis
- A61B5/7264—Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
- A61B5/318—Heart-related electrical modalities, e.g. electrocardiography [ECG]
- A61B5/346—Analysis of electrocardiograms
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
- A61B5/318—Heart-related electrical modalities, e.g. electrocardiography [ECG]
- A61B5/346—Analysis of electrocardiograms
- A61B5/349—Detecting specific parameters of the electrocardiograph cycle
- A61B5/352—Detecting R peaks, e.g. for synchronising diagnostic apparatus; Estimating R-R interval
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/24—Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
- A61B5/316—Modalities, i.e. specific diagnostic methods
- A61B5/318—Heart-related electrical modalities, e.g. electrocardiography [ECG]
- A61B5/346—Analysis of electrocardiograms
- A61B5/349—Detecting specific parameters of the electrocardiograph cycle
- A61B5/361—Detecting fibrillation
Definitions
- the present invention relates to the field of electrocardiograms (ECG or EKG) and in particular to algorithms for characterizing (classification, regression) ECG signals and relates in particular to devices (in particular portable devices) incorporating such algorithms.
- Characterization means in particular the identification of certain temporal particularities in the ECG signal.
- ECG module comprising electrodes and a processor capable of processing the ECG signal.
- Machine learning algorithms for ECG can be divided into two broad categories: non-deep learning algorithms (these are traditional algorithms, based on the extraction of spatially separable vectors, such as decision forests) and deep learning algorithms (using channels).
- non-deep learning algorithms these are traditional algorithms, based on the extraction of spatially separable vectors, such as decision forests
- deep learning algorithms using channels.
- the term “deep learning” will be used to mean “deep learning”.
- Non-deep learning algorithms require manually extracting features from the ECG signal (e.g. a scalar representing the regularity of RR intervals, the proportion of visible P waves, etc.). Obtaining a separable feature vector that contains enough information is a difficult task and the maximum performance of these algorithms is lower than the performance that can be achieved with a deep learning algorithm.
- features e.g. a scalar representing the regularity of RR intervals, the proportion of visible P waves, etc.
- Deep learning algorithms for their part, rely on labeled databases and significant computing power in order to be able to build models taking the raw signal as input.
- the present description relates to a method for analyzing an electrocardiogram, ECG, signal, as well as to a computer program implementing this method and a recording medium storing this computer program.
- the present description also relates to an electrocardiogram module, called ECG module, implementing the aforementioned method for analyzing an ECG signal as well as an electrocardiogram analysis device including the ECG module.
- the analysis method is defined as a method for analyzing an electrocardiogram, ECG, signal, the ECG signal comprising QRS complexes with a peak R, the analysis method being implemented by an ECG module, the method comprising: i. receiving a digital ECG signal, the digital ECG signal corresponding to points each defined by a time index and a voltage value T, ii. preprocessing the received digital ECG signal, the preprocessing comprising: ii.a. determining, for a plurality of QRS complexes of the digital ECG signal, the time index of the point representing the peak R, called point R, of each QRS complex, ii.b.
- the characterization comprises identifying at least one temporal feature in the ECG signal.
- the characterization notably comprises a classification or a regression.
- the classification is the assignment of a probability among a plurality of classes, the plurality of classes comprising at least two classes, for example between two and five classes.
- the classes are: “poor ECG signal quality,” “atrial fibrillation,” “sinus rhythm,” “other.”
- the regression is the assignment of a value that represents a probability of the presence of cardiac peculiarity.
- the predetermined set of time index deviations is a predetermined set of positive and negative time index deviations.
- the predetermined set of time index deviations includes a zero deviation, i.e. the series includes the voltage value of the plurality of points R.
- the time series comprises the time index differences between two successive time indices of point R (tR2-tR1, tR3-tR2, ).
- the ECG dataset is the sole input to the classifier.
- the ECG dataset is composed solely of said time series and said voltage series.
- the deep learning algorithm comprises a multi-level convolutional neural network and one level processes sets of voltage values, all of which have an identical structure, thereby enabling factorization of information.
- the output of the classifier is a probability among a plurality of classes, the plurality of classes comprising at least two classes, for example between two and five classes.
- the analysis method further comprises a visualization method comprising superimposing the QRS complexes with centering on the R point and displaying said superposition.
- the computer program is defined as a computer program comprising instructions which, when the program is executed by an ECG module, cause the ECG module to implement an analysis method as described above.
- the computer program is at most 100KB, preferably less than 60KB, more preferably less than 20KB, and even less than 10KB.
- the recording medium is defined as a computer-readable recording medium comprising a computer program as described above.
- the ECG module is defined as an ECG module comprising a processor and a memory, the ECG module being configured to implement a method as described above.
- executing the method as described above consumes less than 2 megaFlops of the processor and/or consumes volatile memory less than 20 KB, for example equal to or less than 10 KB.
- the ECG analysis device is defined as an electrocardiogram, ECG, analysis device comprising electrodes and an ECG module as described above, the ECG module receiving a digital ECG signal from an analog ECG signal obtained by the electrodes.
- the ECG analysis device includes an analog-to-digital, ADC, controller configured to convert the analog ECG signal from the electrodes (102, 104, 106) to a digital ECG signal, and the voltage value is defined as an ADC step value.
- ADC analog-to-digital
- the ECG analysis device further comprises a communication module, connected to the ECG module, and the ECG module is configured to generate instructions for sending the characterization to the communication module.
- FIG. 1 This figure shows two portable devices according to embodiments.
- FIG. 2 [40]
- Fig. 2 This figure represents a schematic view of a portable device and its connectivity environment according to one embodiment.
- FIG. 3 This figure represents a method of obtaining an ECG involving a method of analyzing the ECG signal, according to one embodiment.
- FIG. 4 This figure represents an ECG analysis method involving ECG signal preprocessing and algorithm, according to one embodiment.
- FIG. 5 This figure shows in more detail part of the preprocessing, according to one embodiment.
- FIG. 6 This figure shows in more detail part of the preprocessing, according to one embodiment.
- FIG. 7 This figure shows alternative embodiments of part of the preprocessing, with different predetermined sets of time index deviations applied around a time index.
- FIG. 8 This figure represents a visualization method.
- the description below will present the invention and the variants that can compose it.
- the invention relates in particular to a portable electrocardiogram analysis device (hereinafter ECG) comprising at least two electrodes configured to acquire an ECG electrical signal and comprising an ECG electronic module configured to analyze said ECG electrical signal.
- ECG electronic module comprises a memory and a processor.
- Figure 1 illustrates two types of portable devices 100, 100’ that can be configured to embed an ECG signal analysis method algorithm.
- the device 100 is a watch (e.g. a hybrid watch, illustrated without hands here) worn on a user's wrist.
- the device 100' is a portable electrocardiograph, in the form of a card-shaped grip, such as the KardiaMobileTM from AlivecorTM or the DuoekTM from WellueTM.
- the watch 100 comprises at least two ECG electrodes 102, 104, 106.
- a first electrode 102 is integrated into a bezel of the watch 100 and a second electrode 104 is integrated into a case back.
- a third electrode 104 may be provided, for example on the case back as well.
- the case back may comprise a metal part or a glass with a metal coating.
- the first electrode 102 may be on a crown or elsewhere.
- the card 100’ similarly comprises at least two electrodes 102’, 104’.
- a third electrode 106’ may be provided, for example on a second face of the card, opposite the first face.
- the device may have other forms (such as a scale that performs an electrocardiogram, for example).
- Figure 2 schematically illustrates the components of an electrocardiogram analysis device 200, which may for example be device 100 or 100'.
- the two ECG electrodes 102, 104 are electrically connected to a control unit 202.
- the control unit 202 comprises different modules which are involved in obtaining and analyzing the ECG signal.
- the control unit 202 thus comprises an acquisition module 204 capable of receiving the analog ECG signals from the ECG electrodes 102, 104 and of generating a digital ECG signal as an output.
- the acquisition module 204 may include filters, amplifiers and an analog-to-digital controller, ADC (for “analog to digital converter” in English) 206.
- the control unit 202 comprises in particular an ECG module 208 configured to, from a digital ECG signal generated by the acquisition module 204, implement a method for analyzing an ECG signal and, in particular, generate a characterization of the digital ECG signal.
- the ECG module 208 comprises a control circuit 210, with a processor 212 and a memory 214, 215.
- the memory in particular is broken down into a volatile memory 214, of the RAM type, and a non-volatile memory, of the flash type (or ROM or SSD).
- the control circuit 210 further comprises an interface called I/O (“In/Out” in English or “Entry/Output” in French) for communicating with the other modules or other components.
- the ECG module 208 is configured to execute an ECG computer program comprising instructions for an ECG analysis method.
- the program ECG computer is stored on non-volatile memory 215. The ECG analysis method will be described in more detail later.
- the volatile memory 214 is used for the execution of the analysis method, and the non-volatile memory 215 is used for the storage of the computer program and/or the results obtained by said computer program.
- the control circuitry 210 of the ECG module 208 can be shared with a control circuitry of the control unit 202 or other modules.
- the device 200 may also include one or more of the following sensors: accelerometer, thermometer, optical sensor, photoplethysmographic (PPG) type, etc.
- sensors accelerometer, thermometer, optical sensor, photoplethysmographic (PPG) type, etc.
- the device 200 comprises a battery 216, for example a cell or a rechargeable battery.
- the battery 216 is configured to supply in particular the control unit 202 and in particular the ECG module 208.
- each ECG processing by the processing unit 202 and each ECG analysis by the module 208 consumes an amount of energy provided by the battery 216.
- the device 200 is connected to the mains.
- the control unit 202 comprises a communication interface 218 for communicating with different components of the device 200.
- the device 200 comprises a communication module 220 (for example a BluetoothTM, Bluetooth Low Energy BLETM, WiFiTM, cellular module, etc.), connected to the communication interface 218 and which allows it to communicate bidirectionally with at least one external terminal 222, such as a mobile telephone.
- a communication module 220 for example a BluetoothTM, Bluetooth Low Energy BLETM, WiFiTM, cellular module, etc.
- the external terminal 222 can then communicate (bi-directionally) with a remote server 224 for data storage and processing.
- the wireless communication module 220 can communicate directly with the remote server 224, for example via the cellular network or via a Wi-Fi network.
- the data produced by the device 200 such as an ECG signal or information relating to this ECG signal, are transmitted to the external terminal 222 via the wireless communication module 220.
- ECG signal is an electrical signal generated by the nervous activity of the user's heart, which is transmitted to the ECG electrodes when the user touches them simultaneously (illustrated in diagram (i) of Figure 3 by the user's gesture with the index finger on the electrode 102 of the watch 100).
- the ECG signal illustrated in diagram (ii) of Figure 3 in the form of a filtered ECG signal, with seconds on the abscissa and a voltage in mV on the ordinate
- peaks including in particular the PQRST peaks, and more particularly the QRS complex.
- the interval between two R peaks is called the R-R interval.
- the ECG analysis method may be part of a method for obtaining ECG 300 illustrated in diagram (iii) of FIG. 3.
- the method for obtaining ECG 300 notably comprises the acquisition 302 by the acquisition module 204 and the electrodes 102, 104 of an analog ECG signal to convert it into a digital ECG signal, and the analysis 304 by the ECG module 208 of the digital ECG signal to automatically extract information therefrom.
- the method for obtaining ECG 300 may comprise the sending 306 of a notification on the device 200 and/or the sending of the result of the analysis 304 and/or of the ECG signal to the mobile terminal 222.
- the acquisition 302 and the sending 306 may be carried out by known techniques already implemented on current devices. Acquisition 302 may involve a single-lead ECG signal or a multi-lead ECG signal.
- Analysis 304 also called an ECG analysis method, will now be described in more detail.
- FIG. 4 illustrates an ECG analysis method 400 according to one embodiment.
- the ECG analysis method 400 is implemented by the ECG module 208 whose processor 212 executes a computer program (called ECG computer program) corresponding to said ECG analysis method, stored in the memory 214.
- the ECG analysis method 400 applies to one channel of the ECG signal.
- the ECG analysis method 400 can be applied to each channel successively or in parallel.
- the ECG analysis method 400 comprises the reception 402 of a digital ECG signal, a resampling 404 (optional) of the digital ECG signal, a preprocessing 406 (“preprocessing” in English) of the received ECG signal (or where appropriate resampled) for the generation of an input data set (hereinafter called “DS data set”) and the characterization 408 of said DS data set using a deep learning algorithm, for example of the classifier type, implemented by the ECG module 208.
- DS data set an input data set
- the deep learning algorithm will be described in more detail below.
- Preprocessing 406 and characterization 408 are each designed in relation to the other to generate processing synergy: in particular preprocessing 406 does not use machine learning but, for example, is a characterization algorithm signal processing algorithm.
- This signal processing algorithm is inexpensive in terms of computing power for the processor 212 of the ECG module 208 and is small in size and consumes little RAM, which makes it possible to generate a reduced input data set for the deep learning algorithm.
- the deep learning algorithm receives as input a smaller amount of data compared to the total size of the ECG signal, which requires less computing power and simplifies the training of the deep learning algorithm.
- the resampling 404 consists of resampling the digitized ECG signal received at the reception 402 to put it at the desired frequency.
- the resampling depends in particular on the frequency values that the preprocessing 406 can manage.
- the acquisition module 204 can generate a signal at a higher frequency (for example 500 Hz) than the operating frequency of the ECG module 208 (for example 300 Hz).
- the resampling 404 thus makes it possible to transform a digital ECG signal from a first frequency to a second frequency.
- the preprocessing 406 is applied to a digital ECG signal sampled at a given frequency (e.g. 300 Hz).
- a digital ECG signal corresponds to a series of points each defined by a time index t and a voltage value T.
- the time index t is generally a time, expressed for example in seconds; the voltage value T can be in ADC steps, which is directly representative of the voltage value.
- the digitized ECG signal is therefore a voluminous signal in terms of data: for example, a 30-second digital ECG signal (which is a standard duration for acquiring an ECG) at 300 Hz comprises 30s x 300 points per second, or 9000 points, or typically 18 KB.
- Preprocessing 406 aims to extract from this digital ECG signal information of a significantly reduced size compared to the size of the digital ECG signal, which directly impacts the design and operation of characterization 408.
- Preprocessing 406 may include cleaning 500 of the digital ECG signal.
- Cleaning 500 may include applying one or more filters to remove the signal baseline and electromagnetic noise. For example, a high-pass filter and a low-pass filter may be used.
- the preprocessing 406 notably comprises the determination 502 of points R of the QRS complexes.
- the ECG signal generally comprises a plurality of QRS complexes.
- the ECG module 208 identifies the peak R (called R point) and extracts the time index tR of the R point.
- the voltage values TR of the R points can also be extracted.
- Determination 502 thus generates a series of data relating to points R1, ..., RN.
- an extraction 504 of a plurality of voltage values is performed by the ECG module 208 around each point R.
- the extraction uses a predetermined set EA of time index deviations, stored in the memory 214. From an input time index, said predetermined set EA generates a set EtA of time indices which are respectively, with respect to the input time index, to the deviations of the predetermined set EA of deviations.
- the predetermined set EA may comprise ⁇ -AL(i); - AL(i-1) AL(1); 0; + AR(1); ...; + ARQ-1); + ARQ) ⁇ , with i and j positive natural integers, with AL(k), AR(k) (for k ranging from 1 to i and j respectively) representing deviations along the time index (typically in seconds), with AL(i) > AL(i-1) > ... > AL(1) > 0 and 0 ⁇ AR(1) ⁇ ... ⁇ AR(j-1) ⁇ AR(j).
- EtA ⁇ t(i); t(i-1); ...; t(1); tR; t’(1); ...; t’(j-1); t’(j) ⁇ the time indices obtained from the time index tR of a peak R.
- the data pair (tR; EA) is used to generate EtA.
- EtA therefore includes i+1+j time indices.
- the predetermined set EA then comprises ⁇ -AR(j); - AR(j-1); ...; - AR(1); 0; + AR(1); ...; + AR 0-1); + ARQ) ⁇ .
- the deviations of the predetermined set EA are regular, of value A, so that the predetermined set EA can be written: ⁇ -A.i; - A. (i-1); ...; - A.1; 0; + A.1; ...; + A.Q-1); + A.j ⁇ , where the points signify a multiplication.
- EtA1, EtA2, EtA3 a set EtA of temporal indices is generated (EtA1, EtA2, EtA3).
- this predetermined set EA is applied to each time index tR 1 , ... , tRN to generate a set of time indices EtA1 ,
- EtAN around each point R. Therefore, for each point R, there are i time indices to the left (thus before temporally) of the time index tR of point R and j time indices to the right (thus after temporally) of the time index tR of point R.
- the ECG module 208 then extracts the voltage values corresponding to each of the indices of the set EtA.
- the ECG module 208 extracts a voltage value, thus generating for each set EtA1, ..., EtAN a set of voltage values JV (JV1, ...., JVN).
- Figure 6 illustrates the three sets of voltage values JV1, JV2, JV3 extracted for the sets EtA1, EtA2, EtA3.
- N sets of voltage values JV1, ... , JVN are obtained. All the sets of voltage values J are obtained using the same technique, with the same time index deviations from the time index tR of the point R.
- JVN is similar: in each set of voltage values JV the first voltage value corresponds to the deviation -A(i) from the peak R, and then in succession, then the i+1 voltage value corresponds to the peak R and then the jth voltage value corresponds to the deviation A'(j) from the peak R.
- the time information of each voltage value is converted into a position in the set of voltage values JV.
- the structural identity between the sets of JV voltage values allows to generate simplified data for the deep learning algorithm.
- the distances between two consecutive AL(k) gaps and/or between two consecutive AR(k) gaps are regular. This means that the ECG module 208 extracts voltage values from the ECG signal in a regular manner around the point R.
- the predetermined set EA can be chosen to generate more time indices in these areas than in the others.
- EA [-0.30s; -0.25s; -0.20s; -0.18s; -0.16s; -0.14s; -0.12s; -0.10s; -0.5s; 0s; +0.05s;
- the preprocessing 406 then includes, by the ECG module 208, a generation 506 of ECG data sets (called DS data sets) which serves as input for the deep learning algorithm of the characterization 408.
- DS data sets ECG data sets
- This input may be supplemented with other data, but, more specifically in one embodiment, the DS dataset serves as the sole input to the deep learning algorithm.
- the DS data set comprises in particular two series: a time series using the time indices of the plurality of points R, i.e. the time indices tR1, ..., tRN and a voltage series using the sets of voltage values JV1, ..., JVN of the N QRS complexes identified in the ECG signal.
- the time series is used to inform the deep learning algorithm of the position of the R peaks relative to each other.
- the time series comprises the R-R intervals of the QRS complexes, i.e. ⁇ tR2-tR1, tR3- tR2, ... , ⁇ . This information makes it possible in particular to calculate the heart rate and its variations.
- the voltage series is used to inform the deep learning algorithm about the shape of the ECG signal and in particular the shape of each PQRST complex.
- the DS data set does not include any other temporal indexes than those of the R peaks: the position of the voltage values in the value sets provides sufficient information to the classifier.
- the deep learning algorithm is a classifier. It is then trained to classify the input according to a plurality of classes.
- classes may be available: “poor ECG signal quality”, “atrial fibrillation”, “sinus rhythm”, “other” (default class).
- the number of classes depends on the type of classification desired and, in fact, on the identification of the particularity of the ECG signal that one wishes to identify.
- the deep learning algorithm is a regressor. It is then trained to assign a value to the input.
- a value In the case of an ECG classification algorithm, one may have a value that represents a probability of the presence of a cardiac feature.
- Preprocessing 406 is specifically developed to reduce the computational load related to inference by the deep learning algorithm.
- preprocessing 406 generates a DS dataset of reduced size, with an identical structure for each QRS complex: the dimension of the input is thus extremely reduced.
- the constant positioning of point R in the dataset greatly reduces the complexity of the deep learning algorithm.
- the structure of the DS dataset makes it possible to factorize the complexity of the deep learning algorithm, which executes a low-complexity operation N times (N being the number of QRS complexes included in the input dataset) instead of executing a very complex operation once.
- the input to the deep learning algorithm is of size 61xN; but with the above factorization, the input data of the deep learning algorithm is in fact reduced to size 61.
- the ECG 400 analysis method can be applied to any channel of an ECG, for example a multi-channel ECG (in particular according to the IEC 60601-2-47 standard).
- the deep learning algorithm can operate continuously, on sliding windows (e.g. 30s), with a granularity of the order of a second. This means that the deep learning algorithm can generate characterizations of ECG signals in real time (e.g. every second). It is thus possible to apply the ECG 400 analysis method to a chest heart rate monitor continuously. If a cardiac event occurs, the user can thus be informed almost in real time (with a delay of the duration of the acquisition window, which is generally 30s).
- the deep learning algorithm may comprise a two-level neural network, each level containing for example a set of convolutional or dense layers.
- the first level may process the voltage series of the DS dataset and the second level may process the time series of the DS dataset.
- the number of trainable parameters of the deep learning algorithm is less than 5000.
- the deep learning algorithm can be a classifier or a regressor.
- the deep learning algorithm is pre-trained.
- the pre-processing 406 applies identically to a deep learning algorithm training method. Therefore, the ECG analysis method 400 also functions as a training method.
- the deep learning algorithm can have a small size.
- the computer program whose instructions make it possible to implement the ECG analysis method 400 (which therefore includes the preprocessing 406 and the characterization 408) can weigh less than 100 KB, or even less than 60 KB, or even less than 20 KB, or even less than 10kB.
- the computer program is typically a binary in a low-level language (e.g. C), to simplify integration into any suitable device.
- the deep learning algorithm may require low flash memory.
- the use of flash memory by the ECG 400 analysis method uses less than 100kB, preferably less than 50 KB, preferably less than 10 KB, or even less than 5 KB.
- the deep learning algorithm may require low RAM.
- the RAM usage of the ECG 400 analysis method is less than 20 KB or even 10 KB.
- the deep learning algorithm consumes less than 2 megaFlops of the processor.
- the computer program incorporating the ECG 400 analysis method can be easily embedded on a plurality of devices: watch, chest patch, scale, card, etc.
- the ECG module 208 can also generate ECG signal traces directly usable by a physician, via a visualization method 800, illustrated in FIG. 8.
- the ECG module 208 uses the resampled signal after the resampling 404.
- the visualization method 800 therefore comprises, downstream of the resampling 404, a filtering 802 of the ECG signal, a detection 804 of the R peaks (similarly to the detection 502), a superposition 806 of each of the QRS complexes of the ECG signal superimposed and centered on the R peaks and finally a display 808 of said superposition.
- Figure 8 illustrates in graph (i) the raw ECG signal 810 (noisy), before filtering 802, the filtered ECG signal 812 (non-noisy) after filtering 802 and in graph (ii) the result 814 of the display 808.
- a superposition 816 of the unfiltered QRS complexes has been shown for comparison.
- the 800 visualization method thus helps the doctor interpret the ECG signal: the position of the P, Q, R, S, or T peaks is more accessible.
- the visualization method 800 may be independent of the analysis method 400 or incorporated therein.
Landscapes
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Cardiology (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Public Health (AREA)
- Pathology (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Surgery (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Veterinary Medicine (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physiology (AREA)
- Psychiatry (AREA)
- Signal Processing (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
- Stored Programmes (AREA)
- Analysing Materials By The Use Of Radiation (AREA)
- Investigating, Analyzing Materials By Fluorescence Or Luminescence (AREA)
Abstract
Il est proposé une méthode, un programme d'ordinateur et un dispositif pour analyser un signal ECG, en combinant une étape de prétraitement et algorithme de deep learning.
Description
Description
ALGORITHME D'ECG ET EMBARQUABILITÉ DANS UN DISPOSITIF D'ANALYSE ECG
[1] La présente invention se rapporte au domaine des électrocardiogrammes (ECG ou EKG) et en particulier des algorithmes de caractérisation (classification, régression) de signaux ECG et se rapporte en particulier aux dispositifs (notamment portables) embarquant des tels algorithmes.
[2] Par caractérisation, on entend notamment l’identification de certaines particularités temporelles dans le signal ECG.
Technique antérieure
[3] De plus en plus de dispositifs portables intègrent aujourd’hui un module ECG comprenant des électrodes pour et un processeur apte à traiter le signal ECG.
[4] A cet égard, on peut citer les documents WO2015/021391 (Apple™), WG2021/020706 (Samsung™), WG2021/204809 (Withings™), WO2015/035251 (AliveCor™).
[5] Les algorithmes d’apprentissage automatique (« machine learning ») pour ECG peuvent se diviser en deux grandes catégories : d’une part les algorithmes non deep learning (ce sont les algorithmes traditionnels, fondés sur de l’extraction de vecteur séparable dans l’espace, comme par exemple les forêts de décision) et d’autre part les algorithmes deep learning (utilisant des canaux, « channels » en anglais). On utilisera le terme de « deep learning » pour signifier « apprentissage profond ».
[6] Les algorithmes non deep learning nécessitent d’extraire manuellement des caractéristiques du signal ECG (par exemple un scalaire représentant la régularité des intervalles RR, la proportion d’onde P visible, etc.). Obtenir un vecteur de caractéristiques séparables qui contient suffisamment d’information est une tâche difficile et les performances maximales de ces algorithmes sont plus basses que les performances pouvant être atteintes avec un algorithme de deep learning.
[7] Les algorithmes deep learning, quant à eux, reposent sur des bases de données labellisées et une puissance de calcul importante afin de pouvoir construire des modèles prenant le signal brut en entrée.
[8] Le document « ECG arrhytmia classification using a 2-D convolutional neural network » de Jun et al. utilise un réseau de neurone bidimensionnel qui nécessite de convertir le signal ECG en une image ECG avec gradient de gris.
[9] Le document « Classification of ECG Arrhytmia using Recurrent Neural Networks » de Singh et al. utilise un réseau de neurone récursif.
[10] Le document « Robust ECG Signal Classification for Detection of Atrial Fibrillation using a Novel Neural Network" de Xiong et al. utilise un réseau de neurones sur le signal ECG.
[11] Le document “Articial intelligence and deep neural networks can identify patients with electrocardiographically concealed long QT syndrome from the surface 12-lead electrocardiogram" de Bos et al. (AliveCor™) utilise un réseau de neurones profond.
[12] Tous ces algorithmes sont coûteux à entraîner et inférer.
[13] En outre, il existe un besoin d’implémenter des algorithmes ECG sur des dispositifs légers dont la capacité de calcul est faible et qui doivent garder une autonomie en batterie importante. A cet égard, les montres connectées ou hybride (Apple Watch™, Samsung Galaxy Watch™), les ceintures cardiofréquencemètres (Polar™), les balances (Withings BodyScan™) et autres (Alivecord™ Kardiamobile™ par exemple) peuvent imposer des contraintes si fortes que la plupart des algorithmes de deep learning existants ne sont pas embarquables de façon satisfaisante sur ces dispositifs légers.
Résumé
[14] La présente description se rapporte à une méthode d’analyse d’un signal électrocardiogramme, ECG, ainsi qu’à un programme d’ordinateur mettant en œuvre cette méthode et un support d’enregistrement stockant ce programme d’ordinateur. La présente description se rapporte aussi à un module d’électrocardiogramme, dit module ECG, mettant en œuvre la méthode d’analyse d’un signal ECG précité ainsi qu’un dispositif d’analyse d’électrocardiogramme incluant le module ECG.
[15] Selon un aspect, la méthode d’analyse se définit comme une méthode d’analyse d’un signal d’électrocardiogramme, ECG, le signal d’ECG comprenant des complexes QRS avec un pic R, la méthode d’analyse étant mise en œuvre par un module ECG, la méthode comprenant : i. réception un signal d’ECG numérique, le signal ECG numérique correspondant à des points définis chacun par un index temporel et une valeur de tension T, ii. prétraitement du signal d’ECG numérique reçu, le prétraitement comprenant : ii.a. détermination, pour une pluralité de complexes QRS du signal ECG numérique, de l’index temporel du point représentant le pic R, dit point R, de chaque complexe QRS, ii.b. extraction, autour de chaque point R, d’un jeu de valeurs de tension, le jeu de valeurs de tension comprenant les valeurs de tension T d’un ensemble de points du signal d’ECG, l’ensemble de points étant déterminé par un ensemble prédéterminé d’écarts d’index temporel à partir de l’index temporel du point R, ii.c. génération d’un jeu de données ECG comprenant : ii.c.1. une série temporelle utilisant les index temporels de la pluralité de points, ii .c.2. une série de tensions utilisant les jeux de valeurs de tension, au sein de laquelle les
valeurs de tension T des points R sont régulièrement disposées, iii. caractérisation du signal ECG en utilisant le jeu de données ECG comme entrée d’un algorithme d’apprentissage profond.
[16] Dans un mode de réalisation, la caractérisation comprend l’identification d'au moins une particularité temporelle dans le signal ECG.
[17] Dans un mode de réalisation, la caractérisation comprend notamment une classification ou une régression.
[18] Dans un mode de réalisation, la classification est l'attribution d'une probabilité parmi une pluralité de classes, la pluralité de classes comprenant au moins deux classes, par exemple entre deux et cinq classes.
[19] Dans un mode de réalisation, les classes sont les suivantes : « mauvaise qualité de signal ECG », « fibrillation atriale », « rythme sinusale », « autre ».
[20] Dans un mode de réalisation, la régression est l'attribution d'une valeur qui représente une probabilité de présence de particularité cardiaque.
[21] Dans un mode de réalisation, l’ensemble prédéterminé d’écarts d’index temporel est un ensemble prédéterminé d’écarts positifs et négatifs d’index temporel.
[22] Dans un mode de réalisation, l’ensemble prédéterminé d’écarts d’index temporel inclut un écart nul, autrement dit la série inclut la valeur de la tension de la pluralité de points R.
[23] Dans un mode de réalisation, la série temporelle comprend les écarts d’index temporel entre deux index temporels successifs de point R (tR2-tR1, tR3-tR2, ...).
[24] Dans un mode de réalisation, l’ensemble de points comprend i points avant l’index temporel du point R, le point R et j points après l’index temporel, par exemple i=j et par exemple i et j sont compris entre 20 et 40.
[25] Dans un mode de réalisation, le jeu de données ECG est l’unique entrée du classifieur.
[26] Dans un mode de réalisation, le jeu de données ECG est composé uniquement de ladite série temporelle et de ladite série de tensions.
[27] Dans un mode de réalisation, l’algorithme d’apprentissage profond comprend un réseau neuronal convolutionnel à plusieurs niveaux et un niveau traite les jeux de valeurs de tension, qui ont tous une structure identique, permettant ainsi une factorisation de l’information.
[28] Dans un mode de réalisation, la sortie du classifieur est une probabilité parmi une pluralité de classes, la pluralité de classes comprenant au moins deux classes, par exemple entre deux et cinq classes.
[29] Dans un mode de réalisation, la méthode d’analyse comprend en outre une méthode de visualisation comprenant une superposition des complexes QRS avec un centrage sur le point R et un affichage de ladite superposition.
[30] Selon un aspect, le programme d’ordinateur se définit comme un programme d’ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un module ECG, conduisent le module ECG à mettre œuvre une méthode d’analyse telle que décrite précédemment.
[31] Dans un mode de réalisation, le programme d’ordinateur pèse au plus 100Ko, préférablement moins de 60Ko, encore préférablement moins de 20Ko et encore moins de 10Ko.
[32] Selon un aspect, le support d’enregistrement se définit comme un support d’enregistrement lisible par ordinateur comprenant un programme d’ordinateur tel que décrit précédemment.
[33] Selon un aspect, le module ECG se définit comme un module ECG comprenant un processeur et une mémoire, le module ECG étant configuré pour mettre en œuvre une méthode telle que décrite précédemment.
[34] Dans un mode de réalisation, l’exécution de la méthode telle que décrite précédemment consomme moins de 2 mégaFlops du processeur et/ou consomme une mémoire volatile inférieure à 20 Ko, par exemple égal ou inférieure à 10 Ko.
[35] Selon un aspect, le dispositif d’analyse ECG se définit comme un dispositif d’analyse d’électrocardiogramme, ECG, comprenant des électrodes et un module ECG tel que décrit précédemment, le module ECG recevant un signal ECG numérique provenant d’un signal ECG analogique obtenu par les électrodes.
[36] Dans un mode de réalisation, le dispositif d’analyse ECG comprend un contrôleur analogique-vers-digital, ADC, configuré pour convertir le signal ECG analogique depuis les électrodes (102, 104, 106) et le convertir en signal ECG numérique, et la valeur de tension est définie en valeur de pas d’ADC.
[37] Dans un mode de réalisation, le dispositif d’analyse ECG comprend en outre un module de communication, connecté au module ECG, et le module ECG est configuré pour générer des instructions d’envoi de la caractérisation au module de communication.
Brève description des dessins
[38] D’autres caractéristiques, détails et avantages apparaîtront à la lecture de la description détaillée ci-après, et à l’analyse des dessins annexés, sur lesquels :
Fig. 1.
[39] [Fig. 1] Cette figure représente deux dispositifs portatifs selon des modes de réalisation.
Fig. 2
[40] [Fig. 2] Cette figure représente une vue schématique d’un dispositif portatif et de son environnement de connectivité selon un mode de réalisation.
Fig. 3
[41] [Fig. 3] Cette figure représente une méthode d’obtention d’ECG impliquant une méthode d’analyse du signal ECG, selon un mode de réalisation.
Fig. 4
[42] [Fig. 4] Cette figure représente une méthode d’analyse d’ECG impliquant un prétraitement du signal ECG et algorithme, selon un mode de réalisation.
[43]
Fig. 5
[44] [Fig. 5] Cette figure représente plus en détail une partie du prétraitement, selon un mode de réalisation.
Fig. 6
[45] [Fig. 6] Cette figure représente plus en détail une partie du prétraitement, selon un mode de réalisation.
Fig. 7
[46] [Fig. 7] Cette figure représente des variantes de réalisation d’une partie du prétraitement, avec différents ensembles prédéterminés d’écart d’index temporel, appliqués autour d’un index temporel.
Fig. 8
[47] [Fig. 8] Cette figure représente une méthode de visualisation.
Description des modes de réalisation
[48] La description ci-dessous va présenter l’invention et les variantes qui peuvent la composer. L’invention concerne en particulier un dispositif portatif d’analyse d’électrocardiogramme (ci-après ECG) comportant au moins deux électrodes configurées pour acquérir un signal électrique ECG et comportant un module électronique ECG configurés pour analyser ledit signal électrique ECG. Le module électronique ECG comprend une mémoire et un processeur. En particulier,
[49] La figure 1 illustre deux types de dispositifs portatifs 100, 100’ pouvant être configurés pour embarquer un algorithme de méthode d’analyse de signaux ECG.
[50] Le dispositif 100 est une montre (par exemple une montre hybride, illustrée sans aiguilles ici) portée au poignet d’un utilisateur. Le dispositif 100’ est électrocardiographe portatif, sous forme d’une pièce préhensible en forme de carte, comme le KardiaMobile™ de Alivecor™ ou le Duoek™ de Wellue™.
[51] La montre 100 comprend au moins deux électrodes ECG 102, 104, 106. Par exemple, une première électrode 102 est intégré à une lunette (« bezel » en anglais) de la montre 100 et une deuxième électrode 104 est intégrée à un fond de carrure (« case
back » en anglais). Une troisième électrode 104 peut être prévue, par exemple sur le fond de carrure aussi. Selon deux exemples, le fond de carrure peut comprendre une pièce métallique ou bien un verre avec un revêtement métallique. Alternativement, la première électrode 102 peut être sur une couronne (« crown » en anglais) ou ailleurs.
[52] La carte 100’ comprend de la même façon au moins deux électrodes 102’, 104’. Par exemple, une première électrode 102’ sur une première face de la carte 100’ et une deuxième électrode 104’ sur la première face de la cartel 00’. Une troisième électrode 106’ peut être prévue, par exemple sur une deuxième face de la carte, opposée à la première face.
[53] Le dispositif peut avoir d’autres formes (comme une balance faisant électrocardiogramme par exemple).
[54] Pour la suite de la description, il sera fait référence aux deux électrodes ECG 102, 104 pour obtenir un signal électrique ECG. Toutefois, cette description s’applique de manière similaire aux différents modes de réalisations décrits ci-dessus, notamment ceux à trois ou plus électrodes.
[55] Présentation du dispositif d’analyse ECG
[56] La figure 2 illustre schématiquement les composants d’un dispositif d’analyse d’électrocardiogramme 200, pouvant par exemple être le dispositif 100 ou 100’.
[57] Les deux électrodes ECG 102, 104 sont électriquement connectées à une unité de contrôle 202. L’unité de contrôle 202 comporte différents modules qui interviennent dans l’obtention et l’analyse du signal ECG.
[58] L’ unité de contrôle 202 comprend ainsi un module d’acquisition 204 apte à recevoir les signaux ECG analogiques des électrodes ECG 102, 104 et à générer en sortie un signal ECG numérique. Le module d’acquisition 204 peut inclure des filtres, des amplificateurs et un contrôleur analogique-vers-digital, ADC (pour « analog to digital converter » en anglais) 206.
[59] L’ unité de contrôle 202 comprend notamment un module ECG 208 configuré pour, à partir d’un signal ECG numérique généré par le module d’acquisition 204, mettre en œuvre une méthode d’analyse d’un signal ECG et, en particulier, générer une caractérisation du signal ECG numérique. A cet égard, le module ECG 208 comprend une circuiterie de contrôle 210, avec un processeur 212 et une mémoire 214, 215. La mémoire en particulier se décompose en une mémoire volatile 214, de type RAM, et une mémoire non-volatile, de type flash (ou ROM ou SSD). La circuiterie de contrôle 210 comprend en outre une interface dite I/O (« In/Out » en anglais ou « Entrée/Sortie » en français) pour communiquer avec les autres modules ou autres composants.
[60] Le module ECG 208 est configuré pour exécuter un programme d’ordinateur ECG comprenant des instructions pour une méthode d’analyse ECG. Le programme
d’ordinateur ECG est stocké sur la mémoire non-volatile 215. La méthode d’analyse ECG sera décrite plus en détail par la suite.
[61] La mémoire volatile 214 est sollicitée pour l’exécution de la méthode d’analyse, et la mémoire non-volatile 215 est sollicitée pour le stockage du programme d’ordinateur et/ou des résultats obtenus par ledit programme d’ordinateur.
[62] La circuiterie de contrôle 210 du module ECG 208 peut être mutualisée avec une circuiterie de contrôle de l’unité de contrôle 202 ou d’autres modules.
[63] Le dispositif 200 peut également comprendre un ou plusieurs capteurs suivants : accéléromètre, thermomètre, capteur optique, de type photopléthysmographique (PPG), etc.
[64] Pour alimenter les différents composants en énergie électrique, le dispositif 200 comprend une batterie 216, par exemple une pile ou une batterie rechargeable. La batterie 216 est configurée pour alimenter notamment l’unité de contrôle 202 et en particulier le module ECG 208. En particulier, chaque traitement d’ECG par l’unité de traitement 202 et chaque analyse d’ECG par le module 208 consomme une quantité d’énergie fournie par la batterie 216. Alternativement, le dispositif 200 est branché sur le secteur.
[65] L’ unité de contrôle 202 comprend une interface de communication 218 pour communiquer avec différents composants du dispositif 200. En particulier, le dispositif 200 comprend un module de communication 220 (par exemple un module Bluetooth™, Bluetooth Low Energy BLE™, WiFi™, cellulaire, etc.), connectée à l’interface de communication 218 et qui lui permet de communiquer de façon bidirectionnelle avec au moins un terminal externe 222, tel qu’un téléphone portable.
[66] Le terminal externe 222 peut ensuite communiquer (bi-directionnellement) avec un serveur distant 224 pour le stockage et le traitement de données. Alternativement ou complémentairement, le module de communication sans fil 220 peut communiquer directement avec le serveur distant 224, par exemple via le réseau cellulaire ou via un réseau Wi-Fi. Les données produites par le dispositif 200, comme un signal ECG ou des informations relatives à ce signal ECG, sont transmises au terminal externe 222 via le module de communication sans fil 220.
[67] Méthodes
[68] Le programme d’ordinateur ECG et la méthode d’analyse ECG associée vont à présent être décrits en relation avec les figures 3 à 8. Un signal ECG (analogique) est un signal électrique généré par l’activité nerveuse du cœur de l’utilisateur, qui est transmis aux électrodes ECG lorsque l’utilisateur les touchent simultanément (illustré sur le schéma (i) de la figure 3 par le geste de l’utilisateur avec l’index sur l’électrode 102 de la montre 100). D’une façon connue, le signal ECG (illustré en schéma (ii) de la figure 3
sous la forme d’un signal ECG filtré, avec les secondes en abscisse et une tension en mV en ordonnée) comprend des pics, dont notamment les pics PQRST, et plus particulièrement le complexe QRS. L’intervalle entre deux pics R est appelé intervalle R- R. La description et la connaissance des signaux ECG sont largement établies et ne seront pas décrites plus en détail ici.
[69] Méthode d’obtention d’ECG
[70] La méthode d’analyse ECG peut faire partie d’une méthode d’obtention d’ECG 300 illustrée en schéma (iii) de la figure 3. La méthode d’obtention d’ECG 300 comprend notamment l’acquisition 302 par le module d’acquisition 204 et les électrodes 102, 104 d’un signal ECG analogique pour le convertir en signal ECG numérique, et l’analyse 304 par le module ECG 208 du signal ECG numérique pour en extraire des informations automatiquement. Enfin, la méthode d’obtention d’ECG 300 peut comprendre l’envoi 306 d’une notification sur le dispositif 200 et/ou l’envoi du résultat de l’analyse 304 et/ou du signal ECG vers le terminal mobile 222. L’acquisition 302 et l’envoi 306 peuvent être effectués par des techniques connues et déjà implémentées sur les dispositifs actuels. L’acquisition 302 peut impliquer un signal ECG une voie (« ECG 1 lead » en anglais) ou un signal ECG multivoies. L’analyse 304, aussi appelée méthode d’analyse ECG, va à présent être décrite plus en détail.
[71] Méthode d’analyse d’ECG
[72] La figure 4 illustre une méthode d’analyse d’ECG 400 selon un mode de réalisation. Comme indiqué auparavant, la méthode d’analyse d’ECG 400 est mise en œuvre par le module ECG 208 dont le processeur 212 exécute un programme d’ordinateur (dit programme d’ordinateur ECG) correspondant à ladite méthode d’analyse d’ECG, stocké dans la mémoire 214. Dans un mode de réalisation, la méthode d’analyse d’ECG 400 s’applique à une voie du signal d’ECG. Dans le cadre d’un signal d’ECG multivoies, la méthode d’analyse ECG 400 peut être appliquée à chaque voie de manière successive ou en parallèle.
[73] La méthode d’analyse ECG 400 comprend la réception 402 d’un signal d’ECG numérique, un rééchantillonnage 404 (facultatif) du signal ECG numérique, un prétraitement 406 (« preprocessing » en anglais) du signal ECG reçu (ou le cas échéant rééchantillonné) pour la génération d’un jeu de données d’entrée (appelé par la suite « jeu de données DS ») et la caractérisation 408 dudit jeu de données DS à l’aide d’un algorithme de deep learning, par exemple de type classifieur, mise en œuvre par le module ECG 208. L’algorithme de deep learning sera décrit plus en détail par la suite.
[74] Le prétraitement 406 et la caractérisation 408 sont chacun conçus en fonction de l’autre pour générer une synergie de traitement : en particulier le prétraitement 406 ne fait pas appel à de l’apprentissage automatique mais, par exemple, est un algorithme de
traitement de signal (« signal processing algorithm » en anglais). Cet algorithme de traitement de signal est peu coûteux en puissance de calcul pour le processeur 212 du module ECG 208 et est de faible taille et peu consommateur en mémoire vive, qui permet de générer un jeu de données d’entrée de taille réduite pour l’algorithme de deep learning. Symétriquement, l’algorithme de deep learning reçoit en entrée une quantité moindre de donnée par rapport à la taille totale du signal d’ECG, ce qui nécessite moins de puissance de calcul et simplifie l’entraînement de l’algorithme de deep learning.
[75] Le rééchantillonnage 404 consiste à rééchantillonner le signal ECG numérisé reçu à la réception 402 pour le mettre à la fréquence souhaitée. Le rééchantillonnage dépend notamment des valeurs de fréquences que le prétraitement 406 peut gérer. Typiquement, le module d’acquisition 204 peut générer un signal à une fréquence plus importante (par exemple 500 Hz) que la fréquence de fonctionnement du module ECG 208 (par exemple 300 Hz). Le rééchantillonnage 404 permet ainsi de transformer un signal ECG numérique d’une première fréquence à une deuxième fréquence.
[76] En référence aux figures 5, 6, 7, le prétraitement 406 va être décrit plus en détail.
[77] Le prétraitement 406 est appliqué à un signal d’ECG numérique échantillonné à une fréquence donnée (par exemple 300 Hz). Cela signifie que le signal d’ECG numérique correspond à une série de points définis chacun par un index temporel t et une valeur de tension T. L’index temporel t est généralement un temps, exprimé par exemple en seconde ; la valeur de tension T peut être en pas d’ADC, qui est directement représentatif de la valeur de la tension. Le signal d’ECG numérisé est donc un signal volumineux en matière de données : par exemple, un signal ECG numérique de 30 secondes (qui est une durée standard pour l’acquisition d’un ECG) à 300 Hz comprend 30s x 300 points par seconde, soit 9000 points, soit typiquement 18 Ko.
[78] Le prétraitement 406 vise à extraire de ce signal d’ECG numérique une information de taille significativement réduite par rapport à la taille du signal d’ECG numérique, ce qui impacte directement la conception et le fonctionnement de la caractérisation 408.
[79] Le prétraitement 406 peut comprendre un nettoyage 500 du signal d’ECG numérique. Le nettoyage 500 peut comprendre l’application d’un ou plusieurs filtres pour supprimer la ligne de base (« baseline » en anglais) du signal et le bruit électromagnétique. Par exemple, un filtre passe-haut et un filtre passe-bas peuvent être utilisés.
[80] Le prétraitement 406 comporte notamment la détermination 502 de points R des complexes QRS. Le signal d’ECG comporte généralement une pluralité de complexes QRS. On appelle N le nombre de complexes ECG contenu dans un signal d’ECG reçu à la réception 402 (N=2 sur la figure 5, à des fins purement illustratives, dans la mesure où
N est généralement aux alentours de 30). Pour chacun de ces complexes ECG, le module d’ECG 208 identifie le pic R (appelé point R) et extrait l’index temporel tR du point R. Les valeurs de tension TR des points R peuvent aussi être extraites.
[81] On appelle tR1, tR2, tR3, ... , tRN les index temporels des points R successifs du signal ECG. On appelle R1 , R2, ... , RN les N points R. On appelle TR1, TR2, TR3, ... , TRN les N valeurs de tension des points R.
[82] La détermination 502 génère ainsi une série de données relative aux points R1 , ... , RN.
[83] Par la suite, une extraction 504 d’une pluralité de valeurs de tension est effectuée par le module ECG 208 autour de chaque point R. Dans un mode de réalisation, l’extraction utilise un ensemble prédéterminé EA d’écarts d’index temporel, stocké dans la mémoire 214. A partir d’un index temporel d’entrée, ledit ensemble prédéterminé EA génère un ensemble EtA d’index temporels qui sont respectivement, par rapport à l’index temporel d’entrée, aux écarts de l’ensemble prédéterminé EA d’écarts. Par exemple, (pour un index temporel en seconde), l’ensemble prédéterminé d’écarts d’index temporel peut comprendre : EA = {-0,30s ; -0,29s ; -0,28s ; .... ; - 0,01s ; 0s ; + 0,01s ; .... ; + 0,28s ; +0,29s ; +0,30s}. Appliqué à un index temporel t, l’ensemble prédéterminé EA génère un ensemble EtA d’index temporels comme suit : EtA = {t-0,30s ; t-0,29s ; t- 0,28s ; .... ; t-0,01s ; t ; t+0,01s ; .... ; t+0,28s ; t+0,29s ; t+0,30s}.
[84] Plus génériquement, dans un mode de réalisation, l’ensemble prédéterminé EA peut comprendre {-AL(i) ; - AL(i-1) AL(1) ; 0 ; + AR(1) ; ... ; + ARQ-1) ; + ARQ)}, avec i et j des entiers naturels positifs, avec AL(k), AR (k) (pour k allant de 1 à i et j respectivement) qui représentent des écarts le long de l’index temporel (typiquement en secondes), avec AL(i) > AL (i-1) > ... > AL (1) > 0 et 0 < AR(1) < ...< AR(j-1) < AR(j). On note EtA = {t(i) ; t(i-1) ; ... ; t(1) ; tR ; t’(1) ; ... ; t’(j-1) ; t’(j)} les index temporels obtenus à partir de l’index temporel tR d’un pic R. En écriture pseudo-mathématique, le couple de données (tR ; EA) permet de générer EtA. Chaque ensemble EtA comprend donc i+1+j index temporels.
[85] Dans un mode de réalisation simplifiée, on a i=j et AL(k) = AR (k) pour k allant de 1 à i ou j. Ainsi, l’ensemble prédéterminé EA comprend alors {-AR(j) ; - AR(j-1) ; ... ; - AR(1) ; 0 ; + AR(1) ; ... ; + AR 0-1) ; + ARQ)}.
[86] Dans un mode de réalisation encore plus simplifiée, les écarts de l’ensemble prédéterminé EA sont régulier, de valeur A, de sorte que l’ensemble prédéterminé EA peut s’écrire : {-A.i ; - A. (i-1) ; ... ; - A.1 ; 0 ; + A.1 ; ... ; + A.Q-1) ; + A.j}, où les points signifient une multiplication.
[87] La figure 6 illustre un exemple avec N = 3 (trois complexes QRS), avec i=j=2 et pour lesquelles les distances entre deux écarts d’index temporel successifs de l’ensemble
prédéterminé EA sont tous réguliers : AL(2)-AL(1) = AL(1) = AR(2)-AR(1) = AR(1). Pour chacun des trois complexes QRS, un ensemble EtA d’index temporels est généré (EtA1 , EtA2, EtA3).
[88] Comme indiqué précédemment, cet ensemble prédéterminé EA est appliqué à chaque index temporel tR 1 , ... , tRN pour générer un ensemble d’index temporels EtA1 ,
EtAN autour de chaque point R. Par conséquent, pour chaque point R, il y a i index temporels à gauche (donc avant temporellement) de l’index temporel tR du point R et j index temporels à droite (donc après temporellement) de l’index temporel tR de point R.
[89] Le module ECG 208 extrait ensuite les valeurs de tension correspondant à chacun des index de l’ensemble EtA. Ainsi, pour chaque index de chaque ensemble EtA1 , ... , EtAN, le module ECG 208 extrait une valeur de tension, générant ainsi pour chaque ensemble EtA1, ... , EtAN un jeu de valeur de tension JV (JV1 , ...., JVN). La figure 6 illustre les trois jeux de valeurs de tension JV1, JV2, JV3 extraits pour les ensembles EtA1, EtA2, EtA3.
[90] A l’issue de l’extraction 504, N jeux de valeurs de tension JV1, ... , JVN sont obtenus. Tous les jeux de valeurs de tension J sont obtenus selon la même technique, avec les mêmes écarts d’index temporel par rapport à l’index temporel tR du point R. En appliquant ainsi le même ensemble prédéterminé EA à chacun des index temporels tR1, ... , tRN des points R1, ... , RN, la structure de tous les jeux de valeurs de tension JV1, ... , JVN est similaire : dans chaque jeu de valeur de tension JV la première valeur de tension correspond à l’écart -A(i) par rapport au pic R, et ensuite de suite, puis la i+1 valeur de tension correspond au pic R puis la jème valeur de tension correspond à l’écart A’(j) par rapport au pic R. Ainsi, l’information temporelle de chaque valeur de tension est convertie en une position dans le jeu de valeurs de tension JV. En particulier, l’identité de structure entre les jeux de valeurs de tension JV permet de générer des données simplifiées pour l’algorithme de deep learning.
[91] Dans un mode de réalisation illustré en schéma (i) de la figure 7, les distances entre deux écarts AL(k) consécutifs et/ou entre deux écarts AR(k) consécutifs sont régulières. Cela signifie que le module ECG 208 extrait du signal ECG des valeurs tensions de façon régulière autour du point R.
[92] Le choix de valeurs de i et j et des valeurs prédéterminées AL(k), AR(k) dépend des informations du signal ECG qui permettent au module ECG 208 de classifier le signal. Par conséquent, ce choix dépend aussi de ce que l’algorithme de deep learning doit traiter. Dans un mode de réalisation illustré en schéma (ii) de la figure 7, on a i qui est différent de j. Dans un mode de réalisation, i et j sont compris pour s’assurer que le prétraitement permet de récupérer des informations pertinentes dans le signal ECG. Les nombres i et j peuvent donc dépendre des distances entre écarts successifs et de la
valeur du rééchantillonnage 404. La détermination de i et j se fait donc au cas par cas. Toutefois, comme ordre de grandeur, on peut obtenir une méthode d’analyse 400 fonctionnelle avec i et j inférieur à 100, voire inférieur à 40, par exemple compris entre 25 et 35.
[93] Dans un mode de réalisation illustré en schéma (iii) de la figure 7, les distances entre deux écarts AL(k) consécutifs et/ou entre deux écarts AR(k) consécutifs ne sont pas régulières.
[94] Dans un exemple fictif (vertu illustrative uniquement), si le signal ECG comprend des informations pertinentes entre 0,2s et 0,1s avant le pic R et entre 0,2s et 0,3s après le pic R, l’ensemble prédéterminé EA peut être choisi pour générer plus d’index temporels dans ces zones que dans les autres. Ainsi, dans l’exemple fictif, on peut avoir EA = [- 0,30s ; -0,25s ; -0,20s ; -0,18s ; -0,16s ; -0,14s ; -0,12s ; -0,10s ; -0,5s ; 0s ; +0,05s ;
+0,10s ; +0,15s ; +0,20s ; + 0,22s ; +0,24s ; + 0,26s ; + 0,28s ; +0,30s ; +0,35s; +0,40s],
[95] Le prétraitement 406 comprend ensuite, par le module ECG 208, une génération 506 de jeu de données d’ECG (appelés jeu de données DS) qui sert d’entrée pour l’algorithme de deep learning de la caractérisation 408.
[96] Cette entrée peut être complétée avec d’autres données, mais, plus spécifiquement dans un mode de réalisation, le jeu de données DS sert d’entrée unique à l’algorithme de deep learning.
[97] Le jeu de données DS comprend en particulier deux séries : une série temporelle utilisant les index temporels de la pluralité de points R, c’est-à-dire les index temporels tR1, ... , tRN et une série de tensions utilisant les jeux de valeurs de tension JV1, ... , JVN des N complexes QRS identifiés dans le signal d’ECG.
[98] La série temporelle sert à informer l’algorithme de deep learning de la position des pics R les uns par rapport aux autres. En particulier, dans un mode de réalisation, la série temporelle comprend les intervalles R-R des complexes QRS, c’est-à-dire {tR2-tR1, tR3- tR2, ... ,}. Cette information permet notamment de calculer le rythme cardiaque et ses variations.
[99] La série de tension sert à informer l’algorithme de deep learning sur la forme du signal d’ECG et en particulier de la forme de chaque complexe PQRST.
[100] Dans un mode de réalisation, le jeu de données DS ne comprend pas d’autres index temporels que ceux des pics R : la position des valeurs de tension dans les jeux de valeurs fournit une information suffisante au classifieur.
[101] Dans un mode de réalisation, l’algorithme de deep learning est un classifieur. Il est alors entrainé pour classer l’entrée selon une pluralité de classes. Dans le cas d’un algorithme de classement d’ECG, on peut avoir les classes suivantes : « mauvaise qualité de signal ECG », « fibrillation atriale », « rythme sinusale », « autre » (classe par défaut).
Le nombre de classes dépend du type de classification que l’on souhaite et, de fait, de l’identification de particularité du signal ECG que l’on souhaite identifier.
[102] Dans un mode de réalisation, l’algorithme de deep learning est un régresseur. Il est alors entrainé pour attribuer une valeur à l’entrée. Dans le cas d’un algorithme de classement d’ECG, on peut avoir une valeur qui représente une probabilité de présence de particularité cardiaque.
[103] Le prétraitement 406 est spécifiquement développé pour diminuer la charge de calcul liée à l’inférence par l’algorithme de deep learning. En d’autres termes, pour décharger l’algorithme de deep learning, le prétraitement 406 génère un jeu de données DS de taille réduite, avec une structure identique pour chaque complexe QRS : la dimension de l’entrée est ainsi extrêmement diminuée. Plus spécifiquement, le positionnement constant du point R dans le jeu de données allège fortement la complexité de l’algorithme de deep learning. Ainsi, la structure du jeu de données DS permet de factoriser la complexité de l’algorithme de deep learning, qui exécute N fois une opération peu complexe (N étant le nombre de complexe QRS compris dans le jeu de données d’entrée) au lieu d’exécuter une fois une opération très complexe. Or, l’exécution de multiples opérations peu complexe par rapport à l’exécution d’une opération complexe a des conséquences techniques fortes notamment sur l’utilisation de la mémoire vive et sur l’entrainement de l’algorithme qui devient alors une tâche simple. Ces considérations sont critiques en matière d’embarquabilité dans un dispositif portable.
[104] Par exemple, quand le signal ECG comprend N complexes QRS et quand chaque jeu de valeurs de tension comprend 61 valeurs de tension (i=j=30, plus la valeur de tension du point R), l’entrée de l’algorithme de deep learning est de taille 61xN ; mais avec la factorisation précitée, la donnée d’entrée (ou « input » en anglais) de l’algorithme de deep learning est de fait réduite à une taille 61.
[105] Inversement, dans les algorithmes d’apprentissage automatique où l’intégralité du signal d’ECG numérique est utilisée comme entrée, la taille de l’entrée est significativement plus importante : pour un signal ECG de 30s à une fréquence de 300Hz, la taille est de 30x300=30000 points. En outre, l’algorithme d’apprentissage automatique n’a aucune information sur le signal d’ECG en entrée et doit en extraire lui-même les caractéristiques d’intérêt lors de l’inférence.
[106] Dans le cadre de la présente description, pour un signal ECG de 30 secondes avec 30 complexes QRS, la même inférence est appliquée 30 fois sur des fenêtres de tailles 61.
[107] La méthode d’analyse ECG 400 peut être appliquée à toute voie d’un ECG, par exemple d’un ECG multivoies (selon notamment la norme IEC 60601-2-47).
[108] L’algorithme de deep learning peut fonctionner en continu, sur des fenêtres glissantes (par exemple de 30s), avec une granularité de l’ordre de la seconde. Cela signifie que l’algorithme de deep learning peut générer en temps réel (par exemple toutes les secondes) des caractérisations des signaux d’ECG. Il est ainsi possible d’appliquer la méthode d’analyse ECG 400 sur un cardiofréquencemètre de poitrine en continu. Si un évènement cardiaque se produit, l’utilisateur peut ainsi être informé quasiment en temps réel (avec un retard de la durée de la fenêtre d’acquisition, qui est généralement de 30s).
[109] Ce fonctionnement en continu est possible sur un dispositif de faible puissance grâce à la synergie permise entre le prétraitement 406 et la caractérisation 408.
[110] Description d’un mode de réalisation de l’algorithme de deep learning
[111] L’algorithme de deep learning peut comprendre un réseau de neurones à deux niveaux, chaque niveau contenant par exemple un ensemble de couches convolutionnelles ou denses. Le premier niveau peut traiter la série de tension du jeu de données DS et le deuxième niveau peut traiter la série temporelle du jeu de données DS.
[112] Dans un mode de réalisation, le nombre de paramètres entrainables de l’algorithme de deep learning est inférieur à 5000.
[113] Comme indiqué précédemment, l’algorithme de deep learning peut être un classifieur ou un régresseur.
[114] Entraînement
[115] L’algorithme de deep learning est préalablement entrainé. En particulier, le prétraitement 406 s’applique de façon identique à une méthode d’entrainement d’algorithme de deep learning. Par conséquent, la méthode d’analyse d’ECG 400 fonctionne aussi comme méthode d’entrainement.
[116] Comme indiqué précédemment, la faible taille du jeu de données DS pour l’algorithme de deep learning a deux implications : l’inférence est économe en ressource et l’entraînement est économe en quantité de données d’entraînement.
[117] On rappelle qu’un set de données d’entrainement de grande taille coûte cher (en ressources humaines et financières), notamment parce que la labellisation des données d’entraînement est un processus fastidieux et coûteux.
[118] Des performances acceptables ont été observées à partir d’environ 500 signaux ECG d’entraînement. Sans réduction de la dimensionalité de l’entrée comme présentement décrite, de telles performances ne sont pas atteintes avec 500 signaux ECG d’entrainement.
[119] Consommation et puissance de calcul
[120] Grâce au prétraitement, l’algorithme de deep learning peut avoir une taille faible. Par exemple, le programme d’ordinateur dont les instructions permettent de mettre en œuvre la méthode d’analyse d’ECG 400 (qui inclut donc le prétraitement 406 et la
caractérisation 408) peut peser moins de 100 Ko, voire moins de 60 Ko, voire moins de 20 Ko, voire encore moins de 10kB.
[121] Le programme d’ordinateur est typiquement un binaire dans un langage bas niveau (par exemple C), pour simplifier l’intégration dans tout dispositif approprié.
[122] De la même façon, grâce au prétraitement, l’algorithme de deep learning peut nécessiter une faible mémoire flash. Par exemple, l’utilisation de la mémoire flash par la méthode d’analyse ECG 400 utilise moins de 100kB, préférablement moins de 50 Ko, préférablement moins de 10 Ko, voire encore moins de 5 Ko.
[123] De la même façon, grâce au prétraitement, l’algorithme de deep learning peut nécessiter une faible mémoire vive. Par exemple, l’utilisation de la mémoire vive par la méthode d’analyse ECG 400 est inférieure à 20 Ko, voire à 10 Ko.
[124] De la même façon, grâce au prétraitement, l’algorithme peut consommer très peu d’énergie.
[125] De la même façon, grâce au prétraitement, l’algorithme de deep learning consomme moins de 2 mégaFlops du processeur.
[126] Par ces spécifications, le programme d’ordinateur incorporant la méthode d’analyse ECG 400 est aisément embarquable sur une pluralité de dispositifs : montre, patch de torse, balance, carte, etc.
[127] Description du module de traçage
[128] Selon un autre aspect, le module ECG 208 peut aussi générer des tracés de signaux ECG directement exploitables par un médecin, via une méthode de visualisation 800, illustrée en figure 8.
[129] Le module ECG 208 utilise le signal rééchantillonné après le rééchantillonnage 404.
[130] La méthode de visualisation 800 comprend donc, en aval du rééchantillonnage 404, un filtrage 802 du signal ECG, une détection 804 des pics R (similairement à la détection 502), une superposition 806 de chacun des complexes QRS du signal ECG superposés et centrés sur les pics R et enfin un affichage 808 de ladite superposition.
[131] La figure 8 illustre en graphe (i) le signal ECG brut 810 (bruité), avant le filtrage 802, le signal ECG filtré 812 (non bruité) après le filtrage 802 et en graphe (ii) le résultat 814 de l’affichage 808. Sur la figure 8, une superposition 816 des complexe QRS non filtrés a été représentée pour comparaison.
[132] La méthode de visualisation 800 permet ainsi d’assister le médecin dans l’interprétation du signal ECG : la position des pics P, Q, R, S, ou T est plus accessible.
[133] L’ exécution de la méthode de visualisation par le module ECG 208 qui met aussi en œuvre la méthode de mesure 400 sur les mêmes signaux ECG permet une approche
holistique de l’ECG, avec un suivi continu par un algorithme et un suivi ponctuel par un médecin.
[134] La méthode de visualisation 800 peut être indépendante de la méthode d’analyse 400 ou être incorporée à celle-ci.
Claims
1. Programme d’ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un module ECG, conduisent le module ECG à mettre œuvre une méthode d’analyse (400) d’un signal d’électrocardiogramme, ECG, le signal d’ECG comprenant des complexes QRS avec un pic R, la méthode comprenant : réception (402) un signal d’ECG numérique, le signal ECG numérique correspondant à des points définis chacun par un index temporel et une valeur de tension, prétraitement (404) du signal d’ECG numérique reçu, le prétraitement comprenant : o détermination (502), pour une pluralité (N) de complexes QRS du signal ECG numérique, de l’index temporel du point représentant le pic R, dit point R, de chaque complexe QRS, o extraction (504), autour de chaque point R, d’un jeu de valeurs de tension (JV), le jeu de valeurs de tension comprenant les valeurs de tension d’un ensemble (E) de points du signal d’ECG, l’ensemble de point étant déterminé par un ensemble prédéterminé (EA) d’écarts d’index temporel à partir de l’index temporel du point R, o génération (506) d’un jeu de données ECG (DS) comprenant :
■ une série temporelle utilisant les index temporels (t1 , .... , tn) de la pluralité de points R (R1,... Rn),
■ une série de tensions utilisant les jeux de valeurs de tension, au sein de laquelle les valeurs de tension des points R sont régulièrement disposées, caractérisation (408) du signal ECG en utilisant le jeu de données ECG comme entrée d’un algorithme d’apprentissage profond.
2. Programme d’ordinateur selon la revendication 1, dans lequel l’ensemble prédéterminé (EA) d’écarts d’index temporel est un ensemble prédéterminé d’écarts positifs et négatifs d’index temporel.
3. Programme d’ordinateur selon l’une quelconque des revendications 1 à 2, dans lequel l’ensemble prédéterminé d’écarts d’index temporel inclut un écart nul, autrement dit la série inclut la valeur de la tension de la pluralité de points R.
4. Programme d’ordinateur selon l’une quelconque des revendications 1 à 3, dans lequel la série temporelle comprend les écarts d’index temporel entre deux index temporels successifs de point R (tR2-tR1, tR3-tR2, ...).
5. Programme d’ordinateur selon l’une quelconque des revendications 1 à 4, dans lequel l’ensemble de points comprend i points avant l’index temporel du point R, le point R et j points après l’index temporel, par exemple i=j et par exemple i et j sont compris entre 20 et 40.
6. Programme d’ordinateur selon l’une quelconque des revendications 1 à 5, dans lequel le jeu de données ECG (DS) est l’unique entrée de l’algorithme d’apprentissage profond.
7. Programme d’ordinateur selon l’une quelconque des revendications 1 à 6, dans lequel le jeu de données ECG (DS) est composé uniquement de ladite série temporelle et de ladite série de tensions.
8. Programme d’ordinateur selon l’une quelconque des revendications 1 à 7, dans lequel l’algorithme d'apprentissage profond comprend un réseau neuronal convolutionnel à plusieurs niveaux et un niveau traite les jeux de valeurs de tension, qui ont tous une structure identique, permettant ainsi une factorisation de l’information.
9. Programme d’ordinateur selon l’une quelconque des revendications 1 à 8, dans lequel l’algorithme d’apprentissage profond est un classifieur et la sortie du classifieur est une probabilité parmi une pluralité de classes, la pluralité de classes comprenant au moins deux classes, par exemple entre deux et cinq classes.
10. Programme d’ordinateur selon l’une quelconque des revendications 1 à 9, dans lequel le prétraitement (406) ne fait pas appel à de l’apprentissage automatique mais, par exemple, est un algorithme de traitement de signal.
11. Programme d’ordinateur selon l’une quelconque des revendications 1 à 10, dans lequel les distances entre deux écarts d’index temporel consécutifs de l’ensemble prédéterminé (EA) ne sont pas régulières.
12. Programme d’ordinateur selon l’une quelconque des revendications 1 à 11 , dans lequel le programme d’ordinateur pèse au plus 100Ko, préférablement moins de 60Ko, encore préférablement moins de 20Ko et encore préférablement moins de 10Ko.
13. Module d’électrocardiogramme (208), dit module ECG, comprenant un processeur (212) et une mémoire (214), le module ECG (208) étant configuré pour mettre en œuvre une méthode décrite dans l’une quelconque des revendications 1 à 12.
14. Module ECG (208) selon la revendication 13, dans lequel l’exécution de la méthode décrite dans l’une quelconque des revendications 1 à 12 consomme moins de 2 mégaFlops du processeur et/ou consomme une mémoire volatile inférieure à 20 Ko, par exemple égal ou inférieure à 10 Ko.
15. Dispositif d’analyse d’électrocardiogramme (200), ECG, comprenant des électrodes (102, 104, 106) et un module ECG (208) selon l’une quelconque des revendications 13 à 14, le module ECG (208) recevant un signal ECG numérique provenant d’un signal ECG analogique obtenu par les électrodes (102, 104, 106).
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2302476A FR3146588A1 (fr) | 2023-03-17 | 2023-03-17 | Algorithme d’ECG et embarquabilité dans un dispositif d’analyse ECG |
| PCT/EP2024/057032 WO2024194199A1 (fr) | 2023-03-17 | 2024-03-15 | Algorithme d'ecg et embarquabilité dans un dispositif d'analyse ecg |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4680115A1 true EP4680115A1 (fr) | 2026-01-21 |
Family
ID=86604127
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP24711552.0A Pending EP4680115A1 (fr) | 2023-03-17 | 2024-03-15 | Algorithme d'ecg et embarquabilité dans un dispositif d'analyse ecg |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4680115A1 (fr) |
| FR (1) | FR3146588A1 (fr) |
| WO (1) | WO2024194199A1 (fr) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6345782B2 (ja) | 2013-08-09 | 2018-06-20 | アップル インコーポレイテッド | 電子デバイス用のタクタイルスイッチ |
| WO2015035251A1 (fr) | 2013-09-06 | 2015-03-12 | Alivecor, Inc. | Module d'électrode d'ecg universel pour téléphone intelligent |
| KR102171236B1 (ko) * | 2019-03-14 | 2020-10-28 | 서울시립대학교 산학협력단 | 심장 박동의 타입을 분류하는 방법 및 이를 이용한 장치 |
| KR102848437B1 (ko) | 2019-07-31 | 2025-08-21 | 삼성전자주식회사 | 생체 신호를 측정하는 전극을 갖는 전자 장치 |
| EP3892189B1 (fr) | 2020-04-06 | 2023-06-07 | Withings | Montre pour mesurer le spo2 |
-
2023
- 2023-03-17 FR FR2302476A patent/FR3146588A1/fr active Pending
-
2024
- 2024-03-15 EP EP24711552.0A patent/EP4680115A1/fr active Pending
- 2024-03-15 WO PCT/EP2024/057032 patent/WO2024194199A1/fr not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024194199A1 (fr) | 2024-09-26 |
| FR3146588A1 (fr) | 2024-09-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7553549B2 (ja) | 発作予測および検出のためのシステムおよび方法 | |
| CN112244873B (zh) | 一种基于混合神经网络的脑电时空特征学习与情感分类方法 | |
| EP2407912B1 (fr) | Procédé et système de classification de signaux neuronaux, et procédé de sélection d'électrodes pour commande neuronale directe | |
| Elgendi et al. | Efficient ECG compression and QRS detection for e-health applications | |
| EP2321769B1 (fr) | Procédé de reconnaissance de formes et système mettant en oeuvre le procédé | |
| US20230315203A1 (en) | Brain-Computer Interface Decoding Method and Apparatus Based on Point-Position Equivalent Augmentation | |
| EP3331436A1 (fr) | Procédés et systèmes de stimulation acoustique des ondes cérébrales | |
| Cai et al. | MAE-EEG-Transformer: A transformer-based approach combining masked autoencoder and cross-individual data augmentation pre-training for EEG classification | |
| WO2019100417A1 (fr) | Dispositif d'analyse parallèle de signaux ecg, et procédé et terminal mobile | |
| Prasad et al. | A robust deep learning model to predict epileptic seizures based on electroencephalographic (eeg) signals | |
| Ali et al. | Driver Fatigue Detection using CWT-Extracted Features and a Deep Learning Approach (CNNLSTM) | |
| EP2638492B1 (fr) | Dispositif de détection à capteur, procédé de détection et programme d'ordinateur correspondants | |
| WO2024194199A1 (fr) | Algorithme d'ecg et embarquabilité dans un dispositif d'analyse ecg | |
| CN112686158A (zh) | 一种基于脑电信号的情绪识别系统、方法及存储介质 | |
| CN116531001A (zh) | 一种多听者脑电信号生成及跨听者情感识别的方法及设备 | |
| CN115345996A (zh) | 重建模型训练方法、重建方法、装置、计算机设备及介质 | |
| Kanoga et al. | Deep generative replay-based class-incremental continual learning in sEMG-based pattern recognition | |
| CN114400066A (zh) | 运动想象设备操控方法、装置及系统 | |
| Reaj et al. | Emotion recognition using EEG-based brain computer interface | |
| EP4646147A1 (fr) | Procédé pour déterminer un état émotionnel d'un sujet et dispositif associé | |
| CN118924252A (zh) | 一种癫痫检测方法、装置、设备及介质 | |
| CN115251939A (zh) | 微觉醒检测方法、装置、设备及可读存储介质 | |
| Lotey et al. | Native Arabic EEG-based Silent Speech Decoding Using Deep Learning Techniques | |
| Vasei et al. | An Efficient RTL Design for a Wearable Brain–Computer Interface | |
| FR2964849A1 (fr) | Procede de prediction d'un risque cardiaque et/ou de recidive en fonction d'au moins une valeur d'un parametre extrapolable d'une onde d'un electrocardiogramme. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20250812 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |