FR 3146588 A1 20240920 FR 2302476 A 20230317 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 . Figure de l’abrégé : Figure 5 Algorithme d’ECG et embarquabilité dans un dispositif d’analyse ECG 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. Par caractérisation, on entend notamment l’identification de certaines particularités temporelles dans le signal ECG. 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. A cet égard, on peut citer les documents WO2015/021391 (Apple™), WO2021/020706 (Samsung™), WO2021/204809 (Withings™), WO2015/035251 (AliveCor™). 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 ». 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 . 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. 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. Le document « Classification of ECG Arrhytmia using Recurrent Neural Networks » de Singh et al. utilise un réseau de neurone récursif. 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. 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. Tous ces algorithmes sont coûteux à entraîner et inférer. 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é 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. 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 (404) 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. 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. 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. 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, …). 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. Dans un mode de réalisation, le jeu de données ECG est l’unique entrée du classifieur. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Cette figure représente deux dispositifs portatifs selon des modes de réalisation. 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 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 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. Fig. 5 Cette figure représente plus en détail une partie du prétraitement, selon un mode de réalisation. Fig. 6 Cette figure représente plus en détail une partie du prétraitement, selon un mode de réalisation. 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 Cette figure représente une méthode de visualisation. 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, La illustre deux types de dispositifs portatifs 100, 100’ pouvant être configurés pour embarquer un algorithme de méthode d’analyse de signaux ECG. 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™. 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. 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 carte100’. 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. Le dispositif peut avoir d’autres formes (comme une balance faisant électrocardiogramme par exemple). 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. Présentation du dispositif d’analyse ECG La illustre schématiquement les composants d’un dispositif d’analyse d’électrocardiogramme 200, pouvant par exemple être le dispositif 100 ou 100’. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Méthodes 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 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 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. Méthode d’obtention d’ECG 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 . 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. Méthode d’analyse d’ECG La 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. 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. 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 . 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. En référence aux figures 5, 6, 7, le prétraitement 406 va être décrit plus en détail. 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. 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. 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. 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 , à 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. 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. La détermination 502 génère ainsi une série de données relative aux points R1, …, RN. 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é EΔ 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é EΔ génère un ensemble EtΔ d’index temporels qui sont respectivement, par rapport à l’index temporel d’entrée, aux écarts de l’ensemble prédéterminé EΔ d’écarts. Par exemple, (pour un index temporel en seconde), l’ensemble prédéterminé d’écarts d’index temporel peut comprendre : EΔ = {-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é EΔ génère un ensemble EtΔ d’index temporels comme suit : EtΔ = {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}. Plus génériquement, dans un mode de réalisation, l’ensemble prédéterminé EΔ peut comprendre {-ΔL(i) ; - ΔL(i-1) ; … ; - ΔL(1) ; 0 ; + ΔR(1) ; … ; + ΔR(j-1) ; + ΔR(j)}, avec i et j des entiers naturels positifs, avec ΔL(k), ΔR (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 ΔL(i) > ΔL (i-1) > … > ΔL (1) > 0 et 0 Dans un mode de réalisation simplifiée, on a i=j et ΔL(k) = ΔR (k) pour k allant de 1 à i ou j. Ainsi, l’ensemble prédéterminé EΔ comprend alors {-ΔR(j) ; - ΔR(j-1) ; … ; - ΔR(1) ; 0 ; + ΔR(1) ; … ; + ΔR (j-1) ; + ΔR(j)}. Dans un mode de réalisation encore plus simplifiée, les écarts de l’ensemble prédéterminé EΔ sont régulier, de valeur Δ, de sorte que l’ensemble prédéterminé EΔ peut s’écrire : {-Δ.i ; - Δ.(i-1) ; … ; - Δ.1 ; 0 ; + Δ.1 ; … ; + Δ.(j-1) ; + Δ.j}, où les points signifient une multiplication. La 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é EΔ sont tous réguliers : ΔL(2)-ΔL(1) = ΔL(1) = ΔR(2)-ΔR(1) = ΔR(1). Pour chacun des trois complexes QRS, un ensemble EtΔ d’index temporels est généré (EtΔ1, EtΔ2, EtΔ3). Comme indiqué précédemment, cet ensemble prédéterminé EΔ est appliqué à chaque index temporel tR1, …, tRN pour générer un ensemble d’index temporels EtΔ1, …., EtΔN 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. Le module ECG 208 extrait ensuite les valeurs de tension correspondant à chacun des index de l’ensemble EtΔ. Ainsi, pour chaque index de chaque ensemble EtΔ1, …, EtΔN, le module ECG 208 extrait une valeur de tension, générant ainsi pour chaque ensemble EtΔ1, …, EtΔN un jeu de valeur de tension JV (JV1, …., JVN). La illustre les trois jeux de valeurs de tension JV1, JV2, JV3 extraits pour les ensembles EtΔ1, EtΔ2, EtΔ3. A l’issue de l’extraction 504, N jeux de valeurs de tension JV1, …, JVN sont obtenus. Tous les jeux de valeurs de tension JV 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é EΔ à 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 -Δ(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 Δ’(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 . Dans un mode de réalisation illustré en schéma (i) de la , les distances entre deux écarts ΔL(k) consécutifs et/ou entre deux écarts ΔR(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. Le choix de valeurs de i et j et des valeurs prédéterminées ΔL(k), ΔR(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 , 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. Dans un mode de réalisation illustré en schéma (iii) de la , les distances entre deux écarts ΔL(k) consécutifs et/ou entre deux écarts ΔR(k) consécutifs ne sont pas régulières. 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é EΔ 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 EΔ = [-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]. 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. 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 . 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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). 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). 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. Description d’un mode de réalisation de l’algorithme de deep learning 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. Dans un mode de réalisation, le nombre de paramètres entrainables de l’algorithme de deep learning est inférieur à 5000. Comme indiqué précédemment, l’algorithme de deep learning peut être un classifieur ou un régresseur. Entraînement 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. 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. 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. 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. Consommation et puissance de calcul 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. 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é. 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. 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. De la même façon, grâce au prétraitement, l’algorithme peut consommer très peu d’énergie. De la même façon, grâce au prétraitement, l’algorithme de deep learning consomme moins de 2 mégaFlops du processeur. 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. Description du module de traçage 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 . Le module ECG 208 utilise le signal rééchantillonné après le rééchantillonnage 404. 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. La 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 , une superposition 816 des complexe QRS non filtrés a été représentée pour comparaison. 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. 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. La méthode de visualisation 800 peut être indépendante de la méthode d’analyse 400 ou être incorporée à celle-ci. 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 d’analyse (400) étant mise en œuvre par un module ECG, 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 : 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, 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é (EΔ) d’écarts d’index temporel à partir de l’index temporel du point R, 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. Méthode d’analyse (400) selon la revendication 1, dans lequel l’ensemble prédéterminé (EΔ) d’écarts d’index temporel est un ensemble prédéterminé d’écarts positifs et négatifs d’index temporel. Méthode d’analyse (400) 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. Méthode d’analyse (400) 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, …). Méthode d’analyse (400) 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. Méthode d’analyse (400) 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. Méthode d’analyse (400) 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. Méthode d’analyse (400) 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. Méthode d’analyse (400) 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. 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 selon l’une quelconque des revendications 1 à 9. Programme d’ordinateur selon la revendication 10, 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. Support d’enregistrement lisible par ordinateur comprenant un programme d’ordinateur selon la revendication 10 ou 11. 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 selon l’une quelconque des revendications 1 à 9. Module ECG (208) selon la revendication 13, dans lequel l’exécution de la méthode selon l’une quelconque des revendications 1 à 9 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. 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).