0% ont trouvé ce document utile (0 vote)
177 vues40 pages

Rapport PFE (Ch1 Et Ch2)

Transféré par

Omar Chamakh
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
177 vues40 pages

Rapport PFE (Ch1 Et Ch2)

Transféré par

Omar Chamakh
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Royaume du Maroc

Université Hassan 1er


Institut Supérieur des Sciences de la Santé

Mémoire de Projet de Fin d’Etudes

Présenté pour obtenir


La Licence Professionnelle en :
Technologue en Instrumentation et Maintenance Biomédicales

CardioScan : Système d’acquisition et


interprétation intelligente du signal ECG par l’IA

Réalisé par : Encadré par :

MEZAIANE MTALSI Kawtar Pr. ADDAKIRI Khaoula

ELMALYANI Khalid

Soutenu publiquement le 06/06/ 2025

Devant le jury :

Pr. XXXXXXXXXXXXX Professeur à l’ISSS Président

Pr. XXXXXXXXXXXXX Professeur à l’ISSS Examinateur

Pr. XXXXXXXXXXXXX Professeur à l’ISSS Encadrant Pédagogique

Page | 1
Page | 2
Remerciement
Nous tenons tout d'abord à remercier ALLAH le tout-puissant, de nous avoir accordé la force,
la patience et la persévérance pour mener à bien et à concrétiser ce projet.

Nous tenons également à adresser nos remerciements les plus sincères à Madame
ADDAKIRI KHAOULA, notre enseignante encadrante, pour l'honneur qu’elle m’a fait en
acceptant de superviser ce travail de fin d'études.
Tout au long de ce projet, nous avons eu la chance de bénéficier de son expertise, de ses
conseils avisés et de son regard critique, qui ont été d’une grande richesse pour la réalisation
de ce mémoire. Sa rigueur scientifique, sa pédagogie et sa disponibilité constante nous ont
permis de progresser, de mieux structurer notre réflexion, et d'approfondir nos connaissances.
Ce travail n’aurait pas pu aboutir sans son engagement, sa patience, sa capacité à guider et sa
précieuse contribution, et nous garderons de cette collaboration un souvenir enrichissant, à la
fois sur le plan académique et humain, nous lui en sommes profondément reconnaissants.

Nous saisissons également cette occasion pour exprimer notre reconnaissance envers toute
l'équipe biomédicale du centre hospitalier universitaire CHUIR de Casablanca.

Enfin, que tous ceux qui ont participé de près ou de loin à l’élaboration de ce travail, trouvent
ici le témoignage de notre profonde gratitude.

Page | 3
Dédicaces

Je dédie ce travail à la mémoire de mon cher grand-père, que son âme repose en paix ; sa
sagesse et ses valeurs ont marqué ma vie et éclairent encore aujourd’hui chacun de mes pas.

À mes chers parents, pour leur amour inconditionnel, leur soutien sans faille et leurs précieux
encouragements tout au long de mon parcours.

À ma famille, pour leur présence bienveillante et leurs mots réconfortants dans les moments
de doute.

À mes amies, qui ont été des sœurs du cœur, pour leur amitié sincère, leurs encouragements
constants et leur bonne humeur qui ont toujours su alléger les moments les plus stressants.

Merci à vous tous, de tout cœur.

Avec toute ma gratitude.

Meziane Mtalsi Kawtar

Je dédie ce travail, fruit de plusieurs mois d’efforts et d’apprentissage, à mes parents et ma


grande famille

Merci pour votre soutien indéfectible, vos encouragements constants et votre amour
inconditionnel.

Vous avez été ma force dans les moments de doute, mon repère dans les moments difficiles,
et ma motivation à persévérer.

Je souhaite que ce projet soit le reflet de votre présence silencieuse mais essentielle à chaque
étape de mon parcours.

Avec toute ma gratitude et mon affection.

Elmalyani khalid

Page | 4
Résumé

L'automatisation de l'analyse des ECG à l’aide des réseaux de neurones convolutifs (CNN) émerge
comme une solution prometteuse contre les complexités et les difficultés rencontrés lors de
l’interprétation de ces signaux, qui nécessitent une expertise médicale approfondie. Cette approche
permet non seulement de réduire les coûts liés aux soins de santé, mais aussi d’améliorer la précision et
la rapidité de détection des pathologies cardiaques, contribuant ainsi à un accès plus large à des soins de
qualité.

Dans ce contexte, notre projet de fin d’études consiste à concevoir un ECG intelligent portable de
petite taille. Ce dispositif vise à enregistrer le signal cardiaque et à détecter automatiquement les
arythmies potentiellement fatales à l’aide de l’intelligence artificielle et des algorithmes d’apprentissage
profond.

Le système repose sur des techniques de machine-learning et de deep-learning, notamment


l’utilisation du capteur AD8232 pour l’acquisition du signal ECG, ainsi qu’un modèle CNN pour l’extraction
et le traitement des caractéristiques nécessaires à la classification des signaux en différentes catégories
d’arythmies. Le tout est intégré dans une interface web développée nommée « CardioScan », qui affiche
le signal en temps réel et donne les résultats sous forme d’un rapport généré, permettant aux utilisateurs
d’interagir facilement avec le système, rendant l’analyse des ECG plus accessible et plus rapide.

Mots clés : ECG, réseaux de neurones convolutifs CNN, Acquisition, Classification, Prédiction.

Page | 5
Abstract

Automating ECG analysis using convolutional neural networks (CNNs) is emerging as a promising
solution to the complexities and challenges encountered in interpreting these signals, which require
extensive medical expertise. This approach not only reduces healthcare costs but also improves the
accuracy and speed of cardiac disease detection, thereby contributing to wider access to quality care.

In this context, our graduation project involves designing a small, portable smart ECG. This device
aims to record cardiac signals and automatically detect potentially fatal arrhythmias using artificial
intelligence and deep learning algorithms.

The system is based on machine learning and deep learning techniques, including the use of the
AD8232 sensor for ECG signal acquisition, as well as a CNN model for extracting and processing the
features needed to classify signals into different arrhythmia categories. All of this is integrated into a
developed web interface called « CardioScan », which displays the signal in real time and provides the
results in the form of a generated report, allowing users to easily interact with the system, making ECG
analysis more accessible and faster.

Keywords : ECG, CNN convolutional neural networks, Acquisition, Classification, Prediction.

Page | 6
Liste des figures

Liste des tableaux

Liste des abréviations


ECG

CNN

CHUIR

Page | 7
Introduction générale

Les maladies cardiovasculaires sont considérées comme la première cause de décès dans le monde,
avec plus de 18,6 millions de décès par an, dont 85% sont dus à des maladies coronariennes. Au Maroc,
l’OMS estime que ces maladies représentent 38% de l’ensemble des décès, soit près de 4 décès sur 10 [1].
Leur détection précoce est essentielle pour prévenir les complications et augmenter les chances de survie.

Les troubles du rythme cardiaque sont des pathologies fréquentes. Leur nombre est en constante
augmentation du fait notamment d’un vieillissement de la population et d'une amélioration des moyens
de dépistage [2]. Ainsi, l’ECG est devenu crucial dans le diagnostic de ces anomalies entrainant des
maladies cardiovasculaires graves, voire mortelles, si elles ne sont pas détectées à temps.

L’évolution technologique des capteurs et des moyens d’acquisition et de traitement associés à


l’intelligence artificielle, ouvre des perspectives pour la conception de dispositifs intelligents dédiés à
l'acquisition, la classification et même la prédiction en temps réel des anomalies cardiaques.

Notre travail vise à développer un dispositif portable et intelligent capable de surveiller en continu
l’activité cardiaque. L'objectif est d'assurer une détection rapide et fiable des anomalies du rythme
cardiaque en combinant l’acquisition du signal via le capteur AD8232 avec des algorithmes avancés de
Machine Learning et de Deep Learning. Notre approche repose sur l’extraction automatique de
caractéristiques pertinentes à partir des signaux ECG et leur traitement via le modèle CNN.

Un tel petit dispositif, améliore non seulement la prévention des accidents cardiaques, mais rend
également les soins accessibles partout, même pour les populations éloignées, il assiste également les
professionnels de santé en automatisant certaines tâches diagnostiques. En anticipant les risques, il offre
une réponse rapide et ciblée pour sauver des vies et améliorer la qualité des soins.

Ce rapport présente, dans un premier temps, les notions théoriques relatives à l’ECG, aux arythmies
cardiaques. Il décrit ensuite l'architecture matérielle et logicielle mise en place pour l'acquisition et
l'analyse des signaux, ainsi que le modèle d’apprentissage automatique utilisé pour la classification des
anomalies cardiaques.

Page | 8
Chapitre 1 : état d’art

Chapitre 1 : État d’art

Page | 9
Introduction
Dans le cadre de ce travail, nous allons présenter brièvement tout d'abord l’organisme d’accueil, qui
est le centre hospitalier universitaire IBN ROCHD (CHUIR) et son service biomédical où nous avons
effectuées notre stage de fin d’études. Nous allons faire ainsi un rappel anatomique concis du cœur, en
insistant sur les structures responsables de l’activité électrique cardiaque. Enfin, nous évoquerons les
différentes formes d'arythmies cardiaques, anomalies du rythme du cœur, qui peuvent être identifiées à
partir de l’analyse du tracé ECG. Cette section vise à fournir le contexte scientifique et technique essentiel
à la compréhension du projet de détection des anomalies cardiaques développé durant ce stage.

1- Présentation du lieu de stage


1-1- Présentation du centre hospitalier universitaire IBN ROCHD

Acteur de référence dans l’offre de soins de la Région Casablanca-Settat, le Centre Hospitalier


Universitaire Ibn Rochd (CHUIR) dispose d’une capacité litière de 1685 lits. Il regroupe trois hôpitaux, dont
l’un représente le plus grand hôpital du Royaume, la Direction générale et un Centre Dentaire :

• La Direction Générale ;
• L’Hôpital Ibn Rochd (1020 lits), le plus grand Hôpital du Maroc ;
• L’Hôpital Mère-Enfant Abderrahim Harouchi (374 lits) ;
• L’Hôpital 20 Août 1953 (291 lits) ;
• Le Centre de Consultations et de Traitements Dentaires (106 fauteuils dentaires).

Le CHUIR est reconnu à l’échelle nationale et continentale par ses pôles d’excellence, et ses centres
de référence pour la prise en charge de certaines pathologies lourdes et complexes, telles l’hématologie
et l’oncologie, la chirurgie cardio-vasculaire, la neurochirurgie, la brûlologie et la chirurgie plastique, la
chirurgie maxillo-faciale, la chirurgie thoracique…

De même, le CHUIR assure les missions de formation, de recherche, d’expertise et d’innovation et de


concours aux objectifs de l’Etat en matière de santé publique.

Chaque année, le CHUIR accueille autour de 1 030 000 patients, et réalise 594 435 consultations, 158
394 admissions (dont 55% en ambulatoire), 11 328 admissions aux urgences, 34 170 interventions
chirurgicales, 1 937 853 tests de laboratoires, 212 129 examens de radiologie, 58 651 actes dentaires et
7000 accouchements.

Page | 10
En tant qu’établissement public de santé sous la double tutelle du Ministère de la Santé et du
Ministère de l’Economie et des Finances et de la Réforme de l’Administration, le CHUIR est doté de
l’autonomie financière. Il est géré par un Directeur, administré par un Conseil d’Administration et soumis
aux instances de contrôle de l’Etat.[3]
Voir la figure 1 ci-dessous,

Figure 1 : Entrée du CHUIR-Casablanca

1-2- Présentation du service biomédical


Le service biomédical de l’hôpital Ibn Rochd de Casablanca est placée sous la direction de service de
patrimoine et de la maintenance. Cette cellule a des relations fonctionnelles avec tous les services de
l’établissement hospitalier et avec des sociétés privées spécialisées dans la fourniture et le maintien de la
disponibilité des équipements pour les services cliniques et médico-technique. Pour mener à bien sa
mission, le service biomédical est composé d’un ingénieur et d’un nombre suffisant des techniciens qui
développent plusieurs activités tels que :

o L’achat.
o La réception des équipements.
o La mise en service.
o L’élaboration des contrats de maintenance des équipements biomédicaux.
o La gestion des bons de commande et de l'inventaire.

Voir figure 2 ci-dessous,

Page | 11
Figure 2 : Atelier biomédical du CHUIR-Casablanca

2- Anatomie du cœur et son enregistrement


2-1- Rappel anatomique
Le cœur est un ensemble de quatre cavités (deux oreillettes et deux ventricules) entourées d’une
paroi musculaire parcourue de terminaisons nerveuses. Les parois des ventricules sont plus épaisses que
celles des oreillettes et, de ce fait, capables de propulser le sang avec plus de force.
Le cœur agit comme une pompe. Le sang qui vient des muscles et des autres organes (sang veineux) arrive
dans l’oreillette droite qui, en se contractant, le pousse dans le ventricule droit. Celui-ci se contracte à son
tour pour envoyer le sang veineux vers les poumons. Le sang oxygéné revient dans l’oreillette gauche qui
le propulse dans le ventricule gauche. En se contractant fortement, celui-ci envoie ce sang oxygéné dans
les organes par le biais d’une grosse artère, l’aorte. Les contractions des deux oreillettes, comme celles
des deux ventricules, ont tendance à se produire en même temps.[4]
La figure ci-dessous illustre le cœur et ses cavités ;

Page | 12
Figure 3 : Cœur et ses cavités

2-2- Electrocardiogramme

a/ Enregistrement du signal ECG


Un électrocardiogramme est une représentation graphique de l’activation électrique du cœur à
l’aide d’un électrocardiographe. Cette activité est recueillie sur un patient allongé, au repos, par
des électrodes posées à la surface de la peau. [5]

b/ ondes de l’ECG
Les principales ondes sont l’onde P, le complexe QRS et l’onde T.
L’onde P correspond à la contraction des oreillettes, le complexe QRS à la contraction des ventricules, et
l’onde T à la relaxation des ventricules.
En examinant ces ondes, les médecins peuvent déterminer si le cœur fonctionne normalement, ou
s’il y a des anomalies.
Par exemple, une onde P anormale peut indiquer un problème avec les oreillettes, tandis qu’un complexe
QRS anormal peut indiquer un problème avec les ventricules.
La figure ci-dessous illustre les ondes, les segments et les intervalles de l’ECG ;

Page | 13
Figure 4 : Ondes d'électrocardiographie (ECG)

c/ Intervalles et segments
Les intervalles comprennent l’intervalle PR, qui mesure le temps entre le début de l’onde P et le
début du complexe QRS, et l’intervalle QT, qui mesure le temps entre le début du complexe QRS et la fin
de l’onde T.
Les segments, quant à eux, comprennent le segment ST, qui mesure le temps entre la fin du
complexe QRS et le début de l’onde T.
L’interprétation de ces intervalles et segments est essentielle pour diagnostiquer certaines
conditions, comme l’infarctus du myocarde ou certaines formes d’arythmie cardiaque.

d/ Les arythmies
Les arythmies cardiaques peuvent être classées de diverses manières. Selon leur lieu d’origine, elles
sont divisées en supraventriculaires (dont celles du nœud sinusal, des oreillettes proprement dites et de
la jonction AV) et ventriculaires. [6]
Cette base contient 17 classes de signaux ECG codifiées comme suite :

Page | 14
Code Terme en anglais Traduction en français

N Normal beat Battement normal

L Left bundle branch block beat Bloc de branche gauche

R Right bundle branch block beat Bloc de branche droit

A Atrial premature beat Battement atrial prématuré

a Aberrated atrial premature beat Battement atrial prématuré aberrant

V Ventricular premature beat Extrasystole ventriculaire

F Fusion of ventricular and normal beat Fusion d’un battement ventriculaire et d’un
battement normal

f Fusion of paced and normal beat Fusion d’un battement stimulé et d’un
battement normal

J Nodal (junctional) premature beat Battement jonctionnel prématuré

E Ventricular escape beat Battement d’échappement ventriculaire

j Nodal (junctional) escape beat Battement d’échappement jonctionnel

S Supraventricular premature beat Battement supraventriculaire prématuré

e Atrial escape beat Battement d’échappement atrial

P Paced beat Battement stimulé (par pacemaker)

Q Unclassifiable beat Battement non classifiable

*/ * Changement du rythme / bruit /artifact

U Unknown beat Battement inconnu (bruité ou segment


anormal)

Tableau 1 : Classification des arythmies selon leur présentation ECG.

Page | 15
Selon l’AAMI(Association for the Advancement of Medical Instrumentation), les 17 classes déjà
citées peuvent etre regroupées en 5 grandes catégories :

Types de battements inclus


Code Nom de la classe (FR)
(codes MIT-BIH)

N Battements normaux N, L, R, e, j

S Battements supraventriculaires A, a, J, S

V Battements ventriculaires V

F Battements de fusion F

Q Battements non classifiables E, P, f, Q, U, */

Tableau 2: Les arythmies regroupées selon l’AAMI

N – Normal (et battements similaires) :

Le rythme est régulier, morphologie normale ou très proche ou le signal part du nœud sinusal, qui
est le pacemaker naturel du cœur situé dans l’oreillette droite, passe par les oreillettes, nœud auriculo-
ventriculaire (AV) , faisceau de His , branches droite/gauche et fibres de Purkinje en maintenant une
contraction normale des ventricules.

Ce type de battement Inclut :

• Battement normal (N)


• Bloc de branche gauche/droite (L, R) : conduction ralentie dans l’une des branches
• Battements stimulés par pacemaker (/)
• Battements de fusion (f), mais toujours proches du rythme normal Battement d’échappement
jonctionnel (j) : provient du nœud AV quand le nœud sinusal échoue, avec onde P absente ou
inversée.
• Battement d’échappement atrial (e) : vient des oreillettes hors nœud sinusal, avec onde P présente
mais anormale.

S- supraventriculaire(et battement similaires) :

Le battement supraventriculaire provient des structures situées au-dessus des ventricules, comme les
oreillettes ou le nœud auriculo-ventriculaire (AV), il inclut :

Page | 16
• A : battement atrial prématuré – un battement précoce qui vient des oreillettes.
• a : battement atrial prématuré avec une origine similaire, mais une forme légèrement différente.
• J : battement jonctionnel prématuré – provient du nœud AV, souvent sans onde P visible.
• S : battement supraventriculaire non spécifié – lorsque l'origine précise du battement est
incertaine.

V - Battement ventriculaire prématuré :

Le battement ventriculaire prématuré provient des ventricules, c'est-à-dire des chambres inférieures
du cœur. Ce type de battement survient lorsque le signal électrique est généré directement dans les
ventricules, en dehors du système de conduction normal, ce qui provoque une contraction prématurée
du ventricule. Il inclut :

• V : battement ventriculaire prématuré – un battement précoce qui prend naissance dans les
ventricules, généralement avec une onde QRS large et déformée.

F - Battement de fusion :

Le battement de fusion résulte de la combinaison de deux impulsions électriques, l’une venant du


système de conduction normal (généralement le nœud sinusal ou le nœud AV) et l’autre venant d’un site
ectopique (par exemple, un battement ventriculaire prématuré). Ce phénomène crée un battement
hybride, où l'impulsion ventriculaire prématurée fusionne avec un battement normal, ce qui entraîne une
onde QRS partiellement normale et un complexe plus large qu’un battement normal. Le battement de
fusion est souvent un signe de compensation pour maintenir le rythme cardiaque dans une situation de
perturbation. Il inclut :

F : battement de fusion – fusion d’un battement normal et d’un battement prématuré provenant d’un site
ectopique.

Q - Battement non classifiable :

Le battement non classifiable se produit lorsqu’il est difficile de déterminer l’origine du battement à
partir des enregistrements ECG, souvent en raison d'artefacts, de bruit, de perturbations du signal ou de
caractéristiques atypiques du battement. Ces battements peuvent ne pas correspondre à des catégories
classiques, comme les battements normaux ou les battements prématurés. Il peut aussi s'agir de
segments où le signal est mal interprété à cause de l’environnement ou du matériel. Il inclut plusieurs
types spécifiques :

Page | 17
• Q : battement non classifiable – lorsque l'origine du battement reste incertaine en raison de sa
nature atypique ou d'une mauvaise qualité du signal ECG.
• E : Battement d’échappement ventriculaire – ce type de battement peut être parfois difficile à
identifier précisément en raison d'un enregistrement de mauvaise qualité ou d'un artefact.
• P : Battement stimulé (pacemaker) – parfois difficile à différencier d'un battement prématuré, en
particulier en cas de bruits ou de perturbations du signal.
• f : Fusion de battements (fusion paced) – fusion entre un battement stimulé par pacemaker et un
battement normal, ce qui peut entraîner une difficulté dans l'identification de l'origine exacte du
battement.
• U : Battement inconnu – signal bruyant ou segment très perturbé, ce qui rend l’identification
impossible.

*/ : Indique un changement de rythme ou un artéfact dans l'ECG, ce qui ne correspond à aucun battement
cardiaque normal ou prématuré. C’est un marqueur utilisé pour signaler des perturbations dans les
données.[7]

Conclusion
Dans ce chapitre, nous avons présenté l’organisme d’accueil durant notre période de stage, où nous
avons assisté aux maintenance préventive et corrective et à la réception de certains nouveaux dispositifs.
Ainsi, nous avons introduit la problématique, l’anatomie du cœur et le signal qu’on peut avoir à travers
l’électrocardiogramme.

Page | 18
Chapitre 2 : Conception et réalisation du Système

Chapitre 2 : Conception et réalisation du Système

Page | 19
Introduction
Ce chapitre présente de manière détaillée le système que nous avons développé, en abordant les
aspects matériels, logiciels et fonctionnels adaptés aux exigences du projet. Il commence par la
description du système d’acquisition, comprenant les composants matériels tels que les capteurs ECG et
le microcontrôleur, ainsi que le schéma de branchement et le protocole de transmission des données.
Cette configuration permet une collecte précise des signaux physiologiques en temps réel. La deuxième
partie traite du système de classification basé sur l’intelligence artificielle. Elle met en avant l’utilisation
de réseaux de neurones convolutifs (CNN), entraînés pour détecter et classer automatiquement les
anomalies cardiaques à partir des signaux ECG. Enfin, la conception de l’interface web est expliquée. Elle
permet une visualisation claire du signal, le contrôle de l’acquisition, et l'affichage des résultats de la
classification. Son développement repose sur des technologies modernes garantissant accessibilité et
interactivité pour l’utilisateur final.

1- Planification du projet
Nous avons réalisé un plan de travail représenté sous la forme d’un diagramme de GANTT,
afin de garantir une progression, avancement précoce et atteindre les objectifs fixés dans les
délais programmés.

Le tableau ci-dessous montre les taches planifiées chacune sa date ;

Date du durée
La tâche Description de la tâche Date de fin
début (jours)
A Visite des services et analyse des besoins 02/04/25 05/04/25 3jrs
Choix du sujet de projet de recherche et sa
B 07/04/25 10/04/25 3jrs
problématique
Recherche et collecte des données sur le
C matériel et les logiciels nécessaires pour la 11/04/25 16/04/25 5jrs
conception du projet
Maitrise des principes de base de l'intelligence
artificielle (aprentissage automatique / CNN)
Achat et assmblage des composants
D 17/04/25 12/05/25 25jrs
électroniques
Réalisation du projet (systéme d'acquisition et
de classification)
Développement d'une interface web liant les
F 13/05/25 17/05/25 4jrs
deux systèmes réalisés
G Test et validation du système complet 20/05/25 28/05/25 8jrs

Tableau 3 : Les tâches planifiées

Page | 20
Diagramme de GANTT
2/4 9/4 16/4 23/4 30/4 7/5 14/5 21/5 28/5

A
Tâches planifiées

B
C
D
F
G

Date du début durée (jours) Date de fin

Figure 5 : Diagramme de GANTT.

2- Organigramme du projet
La figure ci-dessous illustre la chaîne globale de notre système CardioScan ; depuis la
connexion à l’interface jusqu’à la génération d’un rapport médical, avec la possibilité
d’analyser les enregistrements qu’ils soient en temps réel ou existants.

Figure 1: Organigramme du système CardioScan

Page | 21
3- Système d’acquisition
2-1/Matériel utilisé
• AD8232

Le module ECG AD8232 est une carte économique permettant de mesurer l'activité électrique du
cœur. Cette activité peut être enregistrée sous forme d'ECG ou d'électrocardiogramme et transmise sous
forme de mesure analogique.
Il intègre des broches pour le bras droit (RA), le bras gauche (LA) et la jambe droite (RL) permettant
de connecter des capteurs personnalisés.
Il se connecte facilement à n'importe quel microcontrôleur. Il nécessite une broche analogique pour
la sortie du capteur et trois broches numériques pour les opérations de contrôle.

Figure 6 : Le module AD8232

• ESP 32

L'ESP32-WROOM-32 est un puissant module microcontrôleur générique Wi-Fi+BT+BLE, conçu pour


une grande variété d'applications.
Au cœur de ce module se trouve la puce ESP32-D0WDQ6*. Cette puce est conçue pour être
évolutive et adaptative.
Deux cœurs de processeur sont contrôlables individuellement, et la fréquence d'horloge du
processeur est réglable de 80 MHz à 240 MHz.

Page | 22
Figure 7 : L'ESP32-WROOM-32

• TP 4056

Ce module est conçu pour charger les batteries au lithium rechargeables selon la méthode de charge
à courant constant/tension constante (CC/CV). Il offre également la protection nécessaire aux batteries
au lithium. Il est compatible avec les adaptateurs USB et secteur.

Figure 8 : Le module de charge TP 4056

• Batterie Lithium

Cette batterie lithium offre une tension nominale de 3,3 volts, idéale pour alimenter des circuits
électroniques basse consommation tels que des microcontrôleurs, des capteurs ou des modules sans fil.

Page | 23
Compacte, légère et rechargeable, ce qui la rend adaptée à notre projet. Grâce à sa tension stable et à
son faible taux d'autodécharge, elle garantit une alimentation fiable sur une longue durée.

• Mini interrupteur

Il s'agit d'un mini interrupteur à bascule marche-arrêt SPST à 2 broches de base avec des courants
nominaux de 2 A 250 V CA. Cet interrupteur à bascule a des marquages de 0 et 1 pour identifier la
configuration marche-arrêt et est idéal pour contrôler l'alimentation des circuits électroniques, des cartes,
etc.

Figure 9 : Mini interrupteur

• Plaque d’essai/Breadboard

Une plaque d'essai est constituée d'un bloc en plastique supportant une matrice de supports
électriques de taille adaptée à la connexion de fils de connexion fins, de fils de composants ou de broches
de transistors et de circuits intégrés (CI). Les supports sont connectés à l'intérieur de la carte,
généralement par rangées de cinq. Une rangée de cinq supports connectés est représentée en haut à
droite de la figure. Les rangées sont espacées de 2,54 mm, ce qui correspond à l'espacement correct des
broches des CI et de nombreux autres composants.

Page | 24
Figure 10 : Plaque d’essai

• Câbles de liaison mâle-mâle

Ces câbles sont utilisés pour interconnecter les composants d'une maquette ou d'un autre
prototype ou circuit de test en interne ou avec d'autres équipements ou composants sans soudure.

Figure 11 : Câbles de liaison (mâle-maâle)

Page | 25
2-2/Logiciels utilisés
Logiciel de programmation Arduino IDE

L'environnement de développement et de programmation Arduino IDE : est logiciel de


développement intégré basé sur le langage de programmation C/C++, conçu pour faciliter la
programmation des microcontrôleurs, caractérisé par son interface utilisateur intuitive et conviviale, il
comprend un éditeur de code, un compilateur et un chargeur qui permet de télécharger le code sur la
carte d’acquisition, l’environnement présente un ensemble de bibliothèques de fonctions
préprogrammées offrant un large spectre de possibilités pour divers capteurs, actionneurs et autres
périphériques électroniques simplifiant ainsi le développement rapide, de surcroît l’Arduino IDE bénéfice
d’un réseaux considérable de support incluant forums, tutoriels, et une documentation exhaustive
facilitant le partage de connaissance et l’entraide entre utilisateurs.[..]

Ainsi, la programmation de notre ESP 32 est réalisée par ce logiciel dédié aux microcontrôleurs. Et
c’est grâce à cette compatibilité qu’on a pu lire les signaux transmis via WIFI.

Figure 12 : Arduino IDE

La plateforme Visual Studio Code

L’environnement de développement Visual Studio Code (VS Code) VS Code nous a permis grâce à
ses extensions dédiées à Python et à l'intégration facile de bibliothèques scientifiques comme Matplotlib,
NumPy ou wfdb, d’exécuter un script pour la visualisation, le traitement et l’affichage du signal ECG en
temps réel pour assurer un suivi visuel clair des signaux captés depuis l’ESP32, facilitant ainsi l’analyse et
la validation des données.

Page | 26
Figure 13 : Visual Studio Code

2-3/Réalisation du système
a- Branchement du système
La figure ci-dessous illustre le schéma de branchement du système d’acquisition du signal ECG à
l’aide d’un module ESP32, d’un capteur ECG AD8232, d’un module de charge TP4056, d’une batterie
lithium-ion, d’un interrupteur, et d’une LED témoin.

Figure 14 : Schéma du branchement des composants du système d’acquisition

Page | 27
Ce tableau résume les liaisons pour la connexion entre l’ESP32 et l’AD8232 :

ESP 32 AD 8232
3V3 3,3V
GND GND
OUTPUT SVP
L0- RXD
L0+ TXD
Tableau 4 : Les liaisons entre ESP32 et AD8232

b- Emplacement des électrodes


Emplacement des électrodes + acquisition des signaux :

La figure ci-dessous montre l’emplacement des électrodes du capteur AD8232, selon les couleurs
(Rouge, Vert et Jaune).

Plus les électrodes sont proches du cœur, plus le signal est meilleur.

Figure 15 : Emplacement des électrodes du capteur AD8232

Rouge : RA (bras droit)

Jaune : LA (bras gauche)

Vert : RL (jambe droite)

Page | 28
4- Système de classification
3-1/L’intelligence artificielle
a- Définition
L’intelligence artificielle (IA) est une branche de l’informatique qui s’intéresse à la création des
machines capables de penser et de prendre des décisions de manière autonome. L’objectif de l’IA est de
créer des systèmes informatiques qui peuvent réaliser des tâches qui, autrement nécessiteraient
l’intelligence humaine pour être accomplies.

Figure 16 : L’intelligence artificielle

b- Les applications de l’IA


Sont nombreuses et variées, allant des assistants vocaux aux voitures autonomes, détection de
fraudes dans les transactions financières passant par le traitement du langage naturel et la vision par
ordinateur.

3-2/ Apprentissage automatique

a- Définition
L’apprentissage automatique, une application de l’intelligence artificielle (IA), permet aux systèmes
de s’améliorer automatiquement à partir de l’expérience sans être explicitement programmés. Il se
concentre sur le développement de programmes informatiques capables d’accéder aux données et de les
utiliser pour en tirer des informations pertinentes. Plutôt que d’être programmé avec des instructions
spécifiques, l’apprentissage automatique utilise des algorithmes pour apprendre de manière itérative à
partir des données.

Page | 29
Selon SAS, un éditeur de logiciels d’analyse de données, ”l’apprentissage automatique est une méthode
d’analyse de données qui automatise la création de modèles analytiques”. Le processus d’apprentissage
commence par l’observation de données, comme des exemples, des expériences directes ou des
instructions, afin de rechercher des modèles dans les données et de prendre des décisions éclairées à l’
avenir.

b- Différence entre le deep-learning et le machine-learning :


Il est important de comprendre les distinctions entre le machine-learning et le deep-learning, qui
est un sous-domaine du premier. Le machine learning est une technologie qui utilise des données
organisées et des rétroactions humaines pour améliorer un système, tandis que le deep learning est une
section du machine learning qui peut traiter des données non structurées. Le deep learning utilise un
réseau neuronal avec plusieurs couches pour permettre au système d’apprendre de manière autonome,
contrairement au machine learning qui nécessite une intervention humaine.

Figure 17 : Différence entre intelligence artificielle, machine-Learning, et deep-Learning

3-3/Partie classification

a- Description du modèle CNN


Le CNN est fondamentalement un algorithme de reconnaissance qui permet aux machines de se
former suffisamment pour traiter, classer ou identifier une multitude de paramètres à partir de données
visuelles à travers des couches. Cela favorise l'identification avancée des objets et la classification des
images et signaux en permettant aux machines ou aux logiciels d'identifier avec précision les objets requis
à partir des données d'entrée.

Page | 30
Les couches sont fondamentalement de multiples nœuds ou blocs qui sont empilés ensemble en
tant qu'unités de calcul. Ces couches imitent efficacement les neurones humains et fonctionnent de la
même manière que le cerveau humain. En construisant progressivement des couches, un modèle peut
devenir beaucoup plus avancé que la couche d'entrée initiale qui ne contenait que des données
prétraitées

Les CNN désignent une sous-catégorie de réseaux de neurones et sont à ce jour un des modèles de
classification réputés être les plus performants.

Figure 18 : Schéma de la structure interne d’un modèle CNN

b- Structure interne pour classification des signaux :


Traditionnellement, les CNN sont populaires pour l’analyse d’images, mais ils sont également très
puissants pour les signaux 1D (comme les ECG, EEG, audio, etc.).

Ces signaux sont structurés dans le temps : ils possèdent des motifs locaux (comme les ondes P-
QRS-T dans un ECG) qu’un CNN peut très bien capter.

Le rôle principal d’un CNN est d’extraire automatiquement les caractéristiques pertinentes du
signal, sans avoir besoin d’une extraction manuelle.

Page | 31
Un modèle CNN est initialement constitué de :

❖ Une couche d’entrée :

C’est un signal brut sous forme d’un vecteur contenant le nombre de pics du signal préalablement
classés et enregistrés dans une base de données classifiée.

❖ Couches convolutionnelles (Convolution Layers) :

Elle extrait des motifs locaux (formes d’onde, pics, variations).Chaque couche applique un filtre (ou
noyau Kernel ) qui balaye le signal, comme une loupe qui cherche des motifs. Pour un signal 1D, les filtres
sont des vecteurs 1D (ex. : taille 3 , 5 ou 7), qui glissent le long du signal.

Ces couches génèrent des cartes de caractéristiques (feature maps), qui montrent où les motifs sont
présents.

Figure 19 : Glissement du filtre Kernel le long du signal

❖ Couche de maxpooling :

A pour objectif de diminuer la taille de l’image d’origine en effectuant un sous échantillonnage, ce


qui permettra de réduire la charge de traitement, d’alléger l’utilisation de la mémoire ainsi que le nombre
de paramètres. Ce genre de couche est souvent situe entre deux couches de convolution : elle reçoit en
entrée plusieurs cartes de caractéristiques, et applique à chacune d’entre elles l’opération de pooling.
Une couche de pooling, agit comme une couche de réduction. Elle divise le signal en blocs et ne conserve
que le maximum de chaque bloc. Cela permet de diminuer la dimension de l’image tout en préservant les
caractéristiques les plus essentielles. On obtient en sortie le même nombre de cartes de caractéristiques
qu’en entrée, mais celles-ci sont beaucoup plus petites.

Page | 32
Figure 20 : Extraction des motifs importants par la technique de Maxpooling

❖ Fonction d’activation :

Ajoutée après chaque convolution pour garder les valeurs positives et ignore les négatives du signal
filtré pour se concentrer sur les pics les plus marqués : elle rend le modèle non-linéaire et plus puissant.

Figure 21 : La forme de la fonction Relu

❖ Couche entièrement connectée (fully-connected) :


Les CNN sont formés de plusieurs couches de convolution et pooling, suivies d’une couche
entièrement connectée qui combine les caractéristiques des couches précédentes pour classer l’image et
renvoie un vecteur de taille N, ou N est le nombre de classes dans notre problème de classification
d’images. L’image d’entrée devant appartenir à une classe est indiquée par chaque élément du vecteur.
Les couches entièrement connectées ne sont pas une caractéristique des CNN car elles représentent
toujours la dernière couche d’un réseau de neurones. Ce type de couche prend un vecteur en entrée et

Page | 33
crée un nouveau vecteur en sortie. Pour ce faire, il applique une combinaison linéaire et éventuellement
une fonction d’activation aux valeurs reçues en entrées.

Figure 22 : Architecture d’un CNN de l’entrée à la sortie

Figure 23 : Schéma des étapes de passage du signal ECG de l’entrée vers la sortie

c- Comparaison avec d’autres modèles de classification


Un CNN permet de capter efficacement les motifs locaux du signal ECG (ondes P, QRS, T) sans
nécessiter d’extraction manuelle de caractéristiques. Il est plus rapide à entraîner que les LSTM ou
Transformers, tout en obtenant d’excellentes performances sur les jeux de données ECG comme MIT-BIH.
De nombreuses études (Raza et al. (2023) ont mis au point un CNN à 9 couches pour détecter les
arythmies sur MIT-BIH, atteignant 99,68 % de précision, tandis que Hu (2023) a utilisé un 1D-CNN

Page | 34
à 10 couches obtenant 99,43 % de précision sur le même jeu de données) montrent que les CNN
surpassent les modèles classiques et récurrents dans ce contexte.

Les autres méthodes


• Modèles classiques (SVM, KNN, Random Forest) : Ces méthodes nécessitent des étapes de
prétraitement et d'extraction de caractéristiques complexes. Elles sont moins robustes aux variations
inter-patients et moins efficaces sur les grands jeux de données bruts.[xx]
• Réseaux Récurrents (LSTM/GRU) : Les LSTM et GRU sont adaptés aux séquences temporelles mais
souffrent d’une complexité d'entraînement élevée, d’un risque de surapprentissage, et d’une moins
bonne capacité de parallélisation par rapport aux CNN.[xxx]
• Transformers : Les Transformers commencent à être appliqués aux signaux ECG, mais ils nécessitent
de vastes jeux de données, ont une complexité computationnelle importante, et manquent encore
de stabilité dans les applications médicales à petite échelle.[xxxx]
Ci-dessous un tableau résumant cette comparaison ;

Étude Type de modèle Points forts / limites Précision

• Capture automatique des motifs locaux


Raza et al., 2023 CNN à 9 couches (P, QRS, T) 99,68 %
• Entraînement rapide
Hu, 2023 1D-CNN • Excellente robustesse sur MIT-BIH 99,43 %
Modèles • Extraction de caractéristiques manuelle
Zhang et al., 2023 classiques(SVM, KNN, • Sensibles aux variations inter-patients 93,5 %
Random Forest) • Moins efficaces sur gros jeux bruts
• Bonne modélisation temporelle
Réseaux
• Complexité d’entraînement élevée
Lee et al., 2023 Récurrents(LSTM, 98,2 %
• Risque de surapprentissage
GRU)
• Faible parallélisation
• Apprentissage global des séquences
• Nécessite beaucoup de données
Patel et al., 2024 Transformers 97,8 %
• Forte complexité computationnelle
• Stabilité encore à valider en clinique

Tableau 5: Comparaison avec les autres modèles de classification

Page | 35
3-4/Outils du développement du système de classification
Langages de programmation
Le tableau ci-dessous présente les principaux langages, bibliothèques et environnements utilisés
dans le projet, ainsi que leur rôle dans chaque étape du workflow.
Langages

le langage privilégié en intelligence artificielle pour sa simplicité et


Python ses bibliothèques puissantes facilitant le développement et le
traitement de données.

Éditeur de code gratuit, léger et multiplateforme


environnements

de Microsoft, avec auto-complétion et débogage


Visual Studio Code
intégrés, populaire pour sa simplicité et sa
flexibilité.
environnement de développement intégré (IDE)
spécialement conçu pour la data science. Il se
Spyder distingue par ses outils dédiés à l’analyse de
données et à la visualisation, avec une interface
conviviale et une organisation intuitive des

Bibliothèque facilitant la création et le test de


Keras réseaux de neurones, reposant sur des
frameworks comme TensorFlow ou Theano.

Bibliothèque Python pour l’apprentissage


Scikit-learn statistique (machine learning), utile pour les
tâches de prédiction.

Utilisée pour les calculs mathématiques et


scientifiques, très utile dans les projets de Data
Numpy
Science.
Logiciels

Fournit des fonctions pour interagir avec le


Os système d’exploitation : gestion de fichiers,
processus, variables d’environnement, etc.
Bibliothèques

Package Python pour lire, écrire et traiter des


Wafe forme data base (WFDB) signaux ECG et annotations au format WFDB,
similaire à la version MATLAB.

Bibliothèque Python pour créer des


Matplotlib visualisations de données (graphiques,
histogrammes, etc.), très complète et détaillée.

Fournit des types de données spécialisés comme


Collection Counter, OrderedDict, defaultdict, utiles pour
diverses opérations.

Bibliothèque de visualisation basée sur


Seaborn Matplotlib, intégrée à Pandas, plus simple à
utiliser et adaptée à l’analyse statistique rapide.

Plateforme open-source complète pour créer


TensorFlow des applications d’apprentissage automatique,
avec de nombreux outils et ressources.

Tableau 6 : Outils du développement du système de classification

Page | 36
5- Interface Web
5-1- Outils de création de l’interface
Grâce à la bibliothèque Streamlit, nous avons pu développer une interface web sous Visual Studio Code
adapté aux besoins de notre projet. La communication WIFI avec l’ESP32 s’effectue à l’aide du module
standard Socket, executé dans un fichier séparé pour ne pas bloqquer l’interface. La visualisation en temps
réel du signal ECG est gérée par Matplotlib, tandis que le traitement numérique utilise à la fois la fonction
find_peaks de la bibliothèque Scipy pour la détection des pics R instantannée et Numpy pour faciliter
toutes les opérations mathématiques sur les données et assurer un bon prétraitement. Le modèle de
classification CNN est chargé via TensorFlowKeras afin d’analyser instantanément les données
tamponnées avec collection.deque. Les fichiers MIT-BIH sont gérés avec WFDS, et FPDF génère un rapport
à la fin de chaque analyse comportant les données du patient et les résultats de l’interprétation. Les
modules standards os, tempfile et glob pilotent le système de fichiers et les répertoires temporaires ; time
et datetime assurent le chronométrage; enfin, base64 permet d’encoder rapports et images pour
l’affichage ou le téléchargement dans Streamlit.

Ci-dessous un tableau contenant toutes ces bibliothèques et modules mentionnés dans ce paragraphe ;

Page | 37
Catégorie Bibliothèque / Module Logo Rôle dans l’interface
Environnement de développement
Éditeur / IDE Visual Studio Code principal pour coder et déboguer
l’application.

Framework web pour la construction


UI / Web streamlit
rapide d’une interface interactive.

Traçage du signal ECG et affichage de


Visualisation matplotlib
graphiques.

Manipulation efficace de matrices et


Traitement numérique numpy
vecteurs (pré‑traitement des signaux).

Traitement numérique
scipy.signal (find_peaks) Détection des pics R dans le signal ECG.
/ Analyse de signal

Chargement et exécution de modèles


IA / Deep Learning tensorflow.keras
CNN/LSTM pour la classification.
Communication réseau avec l’ESP32
Acquisition temps réel socket (module standard)
pour recevoir les données ECG.
Lecture/écriture des enregistrements
Fichiers médicaux wfdb
MIT‑BIH (.dat, .atr, etc.).
Création de rapports PDF (titre
Génération de rapports fpdf CardioScan , infos patient, graphiques,
résultats).
Opérations sur le système de fichiers,
Gestion système os, tempfile, glob(modules standards) création de fichiers temporaires,
recherche de fichiers.
Encodage de fichiers (PDF, images) pour
Encodage / Décodage base64(module standard) l’affichage ou le téléchargement
Streamlit.
Exécution parallèle (acquisition + UI) et
Concurrence threading, collections.deque(modules standards) tampon circulaire pour le flux temps
réel.
Horodatage des acquisitions et
Date/Heure datetime, time(modules standards)
synchronisation du traitement.

Tableau 7 : Outils de création de l’interface

Page | 38
5-2- Création de l’interface

création du dossier contenant les


fichiers .py

Lancement de l’interface web: Le


terminal affiche deux URL locales
(localhost et réseau).

http://localhost:8501

Exemple d'un rapport géneré à la


fin d'une interpretation

Tableau 8 : Ouverture de l’interface Web

Page | 39
Conclusion
Ce chapitre vise à fournir une vue d’ensemble claire et structurée du système global, en détaillant
successivement le processus d’acquisition des données, les méthodes de classification basées sur
l’intelligence artificielle, et la conception de l’interface web. L’objectif est de démontrer la cohérence
entre les choix technologiques effectués et les besoins fonctionnels du projet, tout en mettant en
évidence l’intégration entre les différentes composantes matérielles et logicielles du dispositif.

Page | 40

Vous aimerez peut-être aussi