Method Article

Modèle de transformateur de réseau neuronal convolutif pour prédire et classifier l’arythmie précoce à l’aide d’un signal d’électrocardiogramme

DOI:

10.3791/68227

July 3rd, 2025

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Le modèle développé vise à classer les arythmies précoces en classes N, L, R, V et A. Ici, tous les ensembles de données sont combinés pour créer un ensemble de données principal, que le modèle utilise en entrée pour produire différentes classes d’arythmie en sortie.

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

En tant que cause majeure de décès dans le monde, les maladies cardiovasculaires, en particulier les arythmies, nécessitent la création de technologies précises et automatisées pour le diagnostic et la détection précoces. Pour identifier les arythmies à partir des signaux de l’électrocardiogramme (ECG), cet article présente un modèle de classification basé sur l’apprentissage profond qui se concentre sur cinq principaux types de battements cardiaques : normal (N), bloc de branche gauche (L), bloc de branche droit (R), battement prématuré auriculaire (A) et contraction ventriculaire prématurée (V). Nous exploitons les signaux Lead I provenant de plusieurs sources, telles que les bases de données INCART 12-lead, Sudden Cardiac Death Holter, Supraventriculaire et MIT-BIH Arrhythmia, ce qui a permis de réaliser plus de 3,9 millions de formations et 112 575 segments de test.

Parmi les exemples de préparation de données, citons l’échantillonnage 180, la segmentation à fenêtre fixe, la normalisation Min-Max et l’équilibrage de classe avec la technique de suréchantillonnage minoritaire synthétique (SMOTE). L’architecture hybride utilise des couches Transformer pour modéliser les dépendances temporelles et des réseaux neuronaux convolutifs (CNN) 1D pour extraire des caractéristiques spatiales. L’optimiseur Adam avec suppression et normalisation par lots pour la régularisation entraîne le modèle.

Le système proposé surpasse le modèle TN4 et d’autres benchmarks de pointe, atteignant une précision, une précision et un score F1 de 99,99 % dans toutes les classes. La robustesse des fonctionnalités est encore améliorée par l’application d’architectures hybrides profondes et de réseaux neuronaux convolutifs, qui ont été motivés par des études antérieures. Le paradigme suggéré fait progresser les soins de santé numériques individualisés et basés sur l’intelligence artificielle et est très prometteur pour l’identification évolutive et en temps réel de l’arythmie.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Les maladies cardiovasculaires (MCV) restent l’un des principaux problèmes de santé dans le monde, responsables de près de 31 % des décès dans le monde chaque année, selon l’Organisation mondiale de la santé (OMS)1. Un sous-ensemble important de ces cas implique des arythmies, c’est-à-dire des irrégularités du rythme cardiaque qui peuvent aller de bénignes à potentiellement mortelles. Les arythmies sont souvent marquées par des temps irréguliers. Ces perturbations contribuent de manière substantielle à la morbidité et à la mortalité des patients, augmentant le risque de problèmes de santé graves tels que les accidents vasculaires cérébraux, l’insuffisance cardiaque et les arrêts cardiaques soudains. L’identification précoce et la classification précise des arythmies sont donc cruciales pour améliorer les résultats des patients, gérer les coûts des soins de santé et faire progresser la qualité des soins cardiaques2.

L’électrocardiographie (ECG) reste un outil de diagnostic non invasif clé pour détecter les arythmies. En capturant l’activité électrique du cœur sous forme d’ondes visuelles, l’ECG permet aux cliniciens d’identifier des variations subtiles qui peuvent indiquer des motifs arythmiques spécifiques3. Cependant, l’interprétation manuelle des signaux ECG prend du temps et est sujette à la variabilité en raison des différences individuelles entre les praticiens, ce qui introduit une marge d’erreur humaine. Ces défis sont amplifiés lorsqu’il s’agit de traiter de vastes ensembles de données ou de reconnaître des arythmies nuancées. Avec l’évolution mondiale vers les soins de santé numériques, le besoin de systèmes de diagnostic fiables et automatisés capables de fournir une analyse ECG cohérente et en temps réelest de plus en plus évident4.

Les modèles traditionnels d’apprentissage automatique ont été appliqués à l’analyse ECG avec un succès modéré ; Cependant, leur dépendance à l’égard de fonctionnalités artisanales et d’une expertise spécifique au domaine pose des limites notables. Pour remédier à cette limitation, le modèle utilise la technique de suréchantillonnage des minorités synthétiques (SMOTE), qui génère des points de données synthétiques pour les classes sous-représentées, équilibrant ainsi l’ensemble de données et améliorant la capacité du modèle à généraliser sur tous les types de pulsations. L’intégration de SMOTE à notre modèle d’apprentissage profond améliore les performances de classification, en particulier pour les arythmies rares, et soutient un outil de diagnostic plus équitable5. Les objectifs principaux de cette recherche sont triples. Tout d’abord, l’objectif est de développer un modèle précis et évolutif capable de détecter l’arythmie en temps réel, contribuant ainsi à la transition mondiale vers des soins de santé numériques et personnalisés. Deuxièmement, démontrer l’efficacité d’une architecture hybride CNN-Transformer dans l’analyse ECG, en soulignant son potentiel à surpasser les méthodes traditionnelles en termes de précision et de robustesse6.

Enfin, l’objectif est de développer un modèle ayant des applications significatives dans le diagnostic clinique, améliorant la détection précoce des anomalies cardiaques. Cette étude vise à combler le fossé entre les progrès de l’apprentissage profond et les applications médicales pratiques, en positionnant notre approche comme un outil précieux dans la poursuite de l’amélioration des soins cardiaques et des résultats pour les patients6.

Access restricted. Please log in or start a trial to view this content.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

1. Acquisition de jeux de données

  1. Acquérir des ensembles de données d’électrocardiogramme (ECG) accessibles au public pour développer et valider le modèle d’apprentissage profond pour la classification de l’arythmie7.
  2. Combinez les ensembles de données Lead-I de la base de données sur l’arythmie du MIT-BIH, de la base de données sur l’arythmie supraventriculaire du MIT-BIH, de la base de données INCART 12-lead de Saint-Pétersbourg et de la base de données Holter sur la mort cardiaque subite.
    REMARQUE : Les ensembles de données sont choisis en fonction de leur diversité en termes de données démographiques sur les patients et de types d’arythmie, ce qui permet au modèle de généraliser divers cas. Chaque ensemble de données fournit des enregistrements ECG annotés de haute qualité, couvrant une gamme de classes de battements cardiaques. Seules les données Lead I ont été extraites et utilisées dans tous les ensembles de données pour normaliser les entrées, maintenir la cohérence et se concentrer sur le signal le plus pertinent sur le plan diagnostique. Comme le montre la figure 1, le plomb I mesure la différence de potentiel entre le bras droit (électrode négative) et le bras gauche (électrode positive), et le plomb II mesure la différence de potentiel entre le bras droit (électrode négative) et la jambe gauche (électrode positive). Le tableau 1 montre que le jeu de données principal est créé en combinant quatre jeux de données et en éliminant les valeurs nulles, et que le fichier est nommé Alldata.CSV.

2. Prétraitement des données

  1. Divisez les données de Alldata.CSV en deux parties : former et tester. Lors du prétraitement 2, filtrez les classes N, L, R, A et V de Alldata.CSV, puis divisez-les en deux parties : Entraîner et tester les pièces (Figure 2).
  2. Divisez le signal ECG de chaque patient en fenêtres fixes de 180 ms, chacune annotée selon les classes d’arythmie correspondantes telles que les classes N, L, R, A et V (Figure 3).
    REMARQUE : Cette segmentation a permis d’obtenir une longueur d’entrée cohérente entre les échantillons et a capturé les caractéristiques temporelles de chaque segment de pulsation.
  3. Lisez des fichiers ECG bruts au format (.dat, .hea et .atr) à l’aide de la bibliothèque Python.

3. Normalisation

  1. Pour assurer l’uniformité de l’amplitude du signal, normalisez toutes les données ECG segmentées à l’aide de la mise à l’échelle Min-Max, en transformant chaque échantillon en une plage comprise entre 0 et 1.
    REMARQUE : La technique de normalisation utilisée ici est MinmaxScaler8.

4. Équilibrage des classes avec SMOTE

REMARQUE : Un défi courant dans la classification de l’arythmie est le déséquilibre de classe significatif, où les battements cardiaques normaux sont largement plus nombreux que les anormaux.

  1. Pour relever le défi ci-dessus, appliquez la technique de suréchantillonnage des minorités synthétiques (SMOTE) à l’ensemble d’apprentissage, qui génère des échantillons synthétiques pour les classes minoritaires en interpolant entre les instances existantes9.
    REMARQUE : La capacité du modèle à généraliser à tous les types d’arythmie est renforcée par de nouveaux échantillons synthétiques, qui garantissent une représentation équitable de chaque classe.

5. Répartition train-test

  1. Après le prétraitement, divisez les données en ensembles d’entraînement et de test à l’aide d’une répartition 70-30, avec stratification pour maintenir la distribution des classes entre les ensembles.
    REMARQUE : Cette répartition a permis de s’assurer que chaque classe d’arythmie est représentée de manière adéquate dans les phases d’entraînement et de test, ce qui permet une évaluation fiable des performances du modèle.

6. Fractionnement des ensembles de données et distribution des classes

  1. Divisez le jeu de données final en ensembles d’entraînement et de test, avec 70 % des données utilisées pour l’entraînement et 30 % pour les tests.
  2. Appliquez SMOTE pour équilibrer la distribution de la classe, en veillant à ce que chaque type d’arythmie soit correctement représenté dans les ensembles d’entraînement et de test, comme le montre le tableau 2.
    REMARQUE : Au total, 3 966 620 segments ECG sont utilisés pour l’entraînement et 112 575 segments ECG sont utilisés pour tester le modèle. Ce grand volume de données, ainsi que la diversité des types d’arythmie, ont contribué à la robustesse du modèle dans la détection de différents types d’arythmies dans les signaux ECG du monde réel.

7. Méthodologie

  1. Architecture du modèle
    1. Pour obtenir une classification précise de l’arythmie, implémentez un modèle hybride d’apprentissage profond comprenant des réseaux neuronaux convolutifs (CNN) 1D et des couches Transformer.
      REMARQUE : L’architecture du modèle hybride est spécialement conçue pour tirer parti des forces des caractéristiques spatiales et temporelles des signaux ECG. Il combine des capacités d’extraction de caractéristiques et de modélisation de séquences.
  2. Blocs de réseau neuronal convolutif 1D (CNN)
    1. Configurez le bloc CNN pour qu’il soit constitué de deux couches convolutives 1D, chacune suivie d’une fonction d’activation ReLU et d’une couche de regroupement maximal. Ces couches extraient les dépendances spatiales du signal ECG d’entrée. Pour améliorer l’extraction des caractéristiques, ajoutez d’autres fonctions d’activation ReLU après chaque étape de transformation dans les couches10 de CNN.
      REMARQUE : Cette configuration permet au modèle d’apprendre efficacement les dépendances spatiales au sein de chaque segment.
    2. Première couche convolutive : Utilisez cette couche pour appliquer 32 filtres de taille 3 au signal d’entrée. L’opération s’exprime comme suit :
      figure-protocol-1(1)
      yi représente la sortie, wj sont les poids, x(i+j) est le segment ECG d’entrée, b est le terme de biais et σ est la fonction d’activation (ReLU, dans ce cas)11.
    3. Couche de regroupement : après chaque convolution, configurez une opération de regroupement maximal pour réduire la dimension spatiale d’un facteur 2, définie comme suit :
      figure-protocol-2(2)
      REMARQUE : Cette opération conserve les caractéristiques les plus importantes tout en réduisant la complexité du calcul.
    4. Deuxième couche convolutive : utilisez cette couche pour appliquer 64 filtres de taille 3 aux cartes de caractéristiques de la couche précédente, en extrayant les entités de niveau supérieur12. Appliquez une fonction d’activation ReLU après la convolution pour introduire la non-linéarité :
      figure-protocol-3(3)
      1. Couches d’activation supplémentaires : appliquez l’activation ReLU à chaque étape intermédiaire après la convolution pour améliorer la puissance expressive du réseau, en veillant à ce que le modèle se concentre sur les activations positives13.
    5. Dropout : spécifiez un taux de décrochage de 0,5 dans la section14 de la couche entièrement connectée.
  3. Bloc transformateur :
    1. Pour suivre ce protocole, configurez le bloc Transformer pour qu’il inclue deux couches d’auto-attention multi-têtes, ce qui permet au modèle de capturer les dépendances temporelles entre différentes parties du signal ECG15.
    2. Auto-attention multi-têtes : Ce mécanisme calcule les relations entre chaque paire d’éléments de séquence. Pour une séquence avec la requête Q, la clé K et la valeur V, calculez l’attention comme suit :
      figure-protocol-4 (4)
      Où Q, K et V sont respectivement les matrices de requête, de clé et de valeur, et dk représente la dimensionnalité des vecteurs clés.
      REMARQUE : En permettant au modèle de peser différents segments en fonction de leur pertinence, ce mécanisme améliore la capacité du modèle à distinguer les arythmies aux caractéristiques temporelles subtiles.
    3. Fonctions d’activation : utilisez ReLU explicitement sur toutes les couches.
  4. Transformée en ondelettes continues (CWT) :
    1. Avant d’introduire les données dans les couches CNN, appliquez des transformées en ondelettes continues pour convertir les signaux ECG en représentations temps-fréquence16.
      REMARQUE : Cette transformation fournit un ensemble de fonctionnalités plus complet en capturant les variations de fréquence au fil du temps, qui sont cruciales pour distinguer les différents types d’arythmie.
  5. Processus de formation :
    1. Pour entraîner le modèle, utilisez l’optimiseur Adam, qui ajuste dynamiquement le taux d’apprentissage en fonction du premier et du deuxième moment du gradient. Définissez la règle de mise à jour pour Adam comme suit :
      figure-protocol-5 (5)
      mt et vt sont les estimations du premier et du deuxième moment, α est le taux d’apprentissage, et ε est une petite constante pour empêcher la division par zéro17.
    2. Effectuez la formation sur 100 époques, avec une taille de lot de 64, en utilisant l’arrêt précoce pour atténuer le surapprentissage.
      REMARQUE : Les données d’entraînement ont été introduites dans le modèle via l’utilitaire PyTorch DataLoader, et la normalisation des abandons et des lots a été appliquée pour régulariser le réseau et améliorer la convergence.
  6. Réglage des hyperparamètres
    1. Effectuez un réglage manuel à l’aide de l’arrêt anticipé, de l’optimiseur Adam, de l’abandon, de la normalisation des lots et d’une taille de lot de 1024.
      REMARQUE : Bien que la recherche en grille ou bayésienne ne soit pas explicitement mentionnée dans cet article, ces choix reflètent des stratégies d’ajustement pratiques.
  7. Techniques de validation
    1. Utilisez une répartition d’entraînement stratifiée 70-30 après avoir appliqué SMOTE18.
      REMARQUE : Bien que le pliage k ne soit pas utilisé, la stratification préserve la distribution des classes, ce qui est souvent suffisant avec de grands ensembles de données.

Access restricted. Please log in or start a trial to view this content.

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Indicateurs de performance du modèle proposé
L’exactitude, la sensibilité, la spécificité et le score F1 du modèle proposé sont calculés pour chaque classe d’arythmie. Les performances du modèle sont évaluées sur le MIT-BIH et d’autres bases de données ECG pertinentes. Les principaux résultats sont résumés ci-dessous :

Précision : Le modèle hybride CNN-Transformer a atteint une précision de 99,32 % sur l’ensemble de données MITDB et de 97,15 % sur les bases de données combi...

Access restricted. Please log in or start a trial to view this content.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Les résultats de cette étude indiquent que le modèle hybride CNN-Transformer classe efficacement les arythmies ECG avec une précision, une sensibilité, une spécificité et un score F1 élevés, surpassant nettement les modèles conventionnels CNN uniquement et CNN-LSTM. L’incorporation de couches Transformer a amélioré la capacité du modèle à capturer les dépendances temporelles, un élément crucial de l’analyse ECG. De plus, les transformations en ondelettes continues (CWT) fournissent des c...

Access restricted. Please log in or start a trial to view this content.

Disclosures

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Les auteurs n’ont aucun conflit d’intérêts à déclarer.

Acknowledgements

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Je tiens à remercier le Dr Azadeh Amoozegar, maître de conférences, INTI International University, pour avoir fourni des ressources en ligne pour se former sur les ensembles de données.

Access restricted. Please log in or start a trial to view this content.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Système(Pour l’entraînement) Processeur : AMD Ryzen 7 7840HS, CPU RAM : 16 GO, GPU RAM : 6GBNVIDIA GeForce RTX 3050
package python déséquilibré
pytorchPyTorch est un package Python qui offre deux fonctionnalités de haut niveau :
- Calcul tensoriel (comme NumPy) avec forte accélération GPU
- Réseaux neuronaux profonds construits sur un seaborn
Seabornest une bibliothèque de visualisation Python basée sur matplotlib.  ;
WFDButilisé pour la lecture, l’écriture, le traitement et le traçage de signaux physiologiques et de données d’annotation
informatique utilisé pour le rééchantillonnage

References

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Jamil, S., Rahman, M. A. Novel deep-learning-based framework for the classification of cardiac arrhythmia. J Imaging. 9 (3), 70(2020).
  2. Reegu, F. A., et al. Blockchain-based framework for interoperable electronic health records for an improved healthcare system. Sustainability. 15 (8), 6337(2023).
  3. Aseeri, A. O. Uncertainty-aware deep learning-based cardiac arrhythmias classification model of electrocardiogram signals. Computers. 11 (6), 82(2021).
  4. Tesfai, H., et al. Lightweight ShuffleNet-based CNN for arrhythmia classification. IEEE Access. 12, 111842-111854 (2022).
  5. Pandey, S. K., Janghel, R. R. Automatic detection of arrhythmia from imbalanced ECG database using CNN model with SMOTE. Australas Phys Eng Sci Med. 42 (4), 1129-1139 (2019).
  6. Hu, R., Chen, J., Zhou, L. Transformer-based deep neural network for arrhythmia detection using continuous ECG signals. Comput Biol Med. 105, 325(2022).
  7. Dang, H., et al. Novel deep arrhythmia-diagnosis network for atrial fibrillation classification using electrocardiogram signals. IEEE Access. 7, 75577-75590 (2019).
  8. Li, J., Zhang, Y., Gao, L., Li, X. Arrhythmia classification using biased dropout and morphology-rhythm feature with incremental broad learning. IEEE Access. 9, 66132-66140 (2021).
  9. Joddoa, A. S. Heart disease prediction system using SMOTE-balanced dataset and decision classifier. AIP Conf. Proc. 2834, 050006(2023).
  10. Li, Y., Qian, R., Li, K. Inter-patient arrhythmia classification with improved deep residual convolutional neural network. Comput Methods Programs Biomed. 214, 106582(2022).
  11. Kiranyaz, S., Ince, T., Gabbouj, M. Real-time patient-specific ECG classification by 1-D convolutional neural networks. IEEE Trans Biomed Eng. 63 (3), 664-675 (2016).
  12. Attention is all you need. Vaswani, A., et al. Proceedings of the 31st International Conference on Neural Information Processing Systems, Long Beach, California, USA, , 6000-6010 (2017).
  13. Rajpurkar, P., et al. Cardiologist-level arrhythmia detection with convolutional neural networks. arXiv. , preprint arXiv:1707.01836 (2017).
  14. Zihlmann, M., Perekrestenko, D., Tschannen, M. Convolutional recurrent neural networks for electrocardiogram classification. arXiv. , preprint arXiv:1710.06122 (2018).
  15. Kim, D., Lee, K. Novel hybrid CNN-transformer model for arrhythmia detection without R-peak identification using Stockwell transform. Sci Rep. 15, 7817(2025).
  16. Diker, A., Aydin, K. Transformer-based attention model for arrhythmia detection using ECG signals. Biomed Signal Process Control. 68, 102679(2021).
  17. Convolutional neural network hyperparameter tuning with Adam optimizer for ECG classification. Sen, S. Y., Ozkurt, N. 2020 Innovations in Intelligent Systems and Applications Conference (ASYU), , 50717(2020).
  18. Smote, N. V. C. Synthetic minority over-sampling technique for handling class imbalance. J Artif Intell Res. 6, 321-357 (2002).
  19. Xia, Y., Wulan, N., Wang, K., Zhang, H. Detecting atrial fibrillation by deep convolutional neural networks. Comput Biol Med. 116, 103345(2020).
  20. Mohonta, S. C., Motin, M. A., Kumar, D. K. Electrocardiogram-based arrhythmia classification using wavelet transform with deep learning model. Sensing Bio-Sensing Res. 37, 100502(2022).
  21. Oh, S. L., Ng, E. Y. K., Tan, R. S., Acharya, U. R. Automated diagnosis of arrhythmia using combination of CNN and LSTM techniques with variable-length heart beats. Comput Biol Med. 102, 278-287 (2018).
  22. Izci, E., Ozdemir, M. A., Degirmenci, M., Akan, A. Cardiac arrhythmia detection from 2D ECG images by using deep learning technique. 2019 Medical Technologies Congress (TIPTEKNO). , 1-4 (2019).
  23. Zheng, Z., Chen, Z., Hu, F., Zhu, J., Tang, Q., Liang, Y. Automatic diagnosis of arrhythmias using a combination of CNN and LSTM technology. Electronics. 9 (1), 121(2020).
  24. Isin, A., Ozdalili, S. Cardiac arrhythmia detection using deep learning. Procedia Comput Sci. 120, 268-275 (2017).
  25. Huang, J., Chen, B., Yao, B., He, W. ECG arrhythmia classification using STFT-based spectrogram and convolutional neural network. IEEE Access. 7, 92871-92880 (2019).
  26. Wang, T., Lu, C., Sun, Y., Yang, M., Liu, C., Ou, C. Automatic ECG classification using continuous wavelet transform and convolutional neural network. Entropy. 23 (1), 119(2021).

Access restricted. Please log in or start a trial to view this content.

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

Arrhythmia ClassificationElectrocardiogram SignalConvolutional Neural NetworkTransformer ModelDeep Learning ModelHeartbeat ClassificationLead I ECGTemporal DependenciesClass BalancingDigital Healthcare
Video Coming Soon

Related Articles