RAPPORT DE STAGE:

Transcription

RAPPORT DE STAGE:
Ecole Nationale Supérieure de Télécommunications
de Bretagne
Département Signaux et Communications
RAPPORT DE STAGE:
TRAITEMENT AUTOMATIQUE DES SIGNAUX ECG
Auteur :
Encadrant :
Marius Oltean,
M. Jean-Marc Boucher,
L'Université Polytechnique
Professeur à l’ENST de Bretagne
de Timisoara
1
Remerciements
Mes remerciements vont en premier lieu vers mon encadrant,
monsieur le professeur Jean-Marc Boucher, qui m'a soigneusement guidé
pendant tout mon travail.
Je voudrais aussi remercier à mon directeur de thèse en Roumanie,
madame le professeur Miranda Naforniţă pour son soutien moral sur la
durée de ces mois.
J'exprime également mes remerciements vers monsieur le professeur
Alexandru Isar et vers monsieur Salim Graja, dont les conseils m'ont
plusieurs fois aidé à progresser dans mon travail.
2
Table des matières
Les objectifs du stage
4
Chapitre 1: Introduction
5
1.1 Le cœur
5
1.2 L'activité électrique du cœur
6
1.2.1 L'électrocardiogramme
6
1.3 Le traitement automatique des signaux ECG
Chapitre 2: La construction d'une base de données
8
10
2.1 Base de données déjà existante
10
2.2 L'amélioration de la base de données
10
Chapitre 3: Le pré-traitement du signal ECG
13
3.1 La détection du pic R
13
3.2 Le débruitage du signal ECG
15
3.2.1 Filtrage MAP dans le domaine de la transformée en ondelettes, appliqué
16
pour le débruitage des signaux ECG
3.2.2 La méthode proposée
17
3.2.3 Résultats
26
Chapitre 4: La segmentation automatique des signaux ECG
42
4.1 La méthode AMC - Ondelettes
42
4.2 L'amélioration de la méthode de segmentation
47
4.2.1 La méthode proposée
48
4.2.2 Etudes complémentaires
55
4.3 Problèmes spécifiques rencontrés lors du stage
58
4.3.1 L'apprentissage du modèle AMC - Ondelettes
58
4.3.2 La segmentation par le modèle AMC - Ondelettes
61
4.3.3 La segmentation des signaux de la base de Laguna
64
Chapitre 5: Conclusions et perspectives
69
Bibliographie
72
Annexe A1
75
Annexe A2
77
3
LES OBJECTIFS DU STAGE
En 2005, le GET (Groupe des Écoles de Télécommunications) a proposé un sujet de
recherche concernant la réalisation d’un système d’alarme automatique fiable pour le suivi à
distance des personnes aux pathologies cardiaques et/ou âgées. Intitulé TELCARD
(TELésurveillance médicale des personnes aux pathologies CARDiaques), ce système doit
exploiter les électrocardiogrammes (ECG) enregistrés soit en mode portable (Holter, mesures
continues) soit en mode " résident " (mesures discrètes), en relation avec la base domestique
d’un dispositif de télésurveillance. Parmi les raisons essentielles de concevoir et développer
un système de suivi à distance des patients atteints de pathologies cardiaques et/ou des
personnes âgées on pourrait mentionner :
-
permettre la surveillance en temps réel des personnes âgées, sans que leur transport à
l’hôpital soit nécessaire.
-
procéder, en cas d’urgence, à une médicalisation rapide et efficace effectuée "à
distance".
Parmi les nombreuses taches à accomplir dans le cadre de ce projet, on retrouve les
objectifs de mon stage :
1.
La constitution d’une base de données commune INT Paris - ENST de Bretagne,
contenant des enregistrements ECG, complétés par des données personnelles
concernant les sujets, données qui vont permettre la poursuite de l’évolution
ultérieure des patients .
2.
L’implémentation d’une méthode de pré-traitement des signaux ECG (le
débruitage) qui permettra le développement dans de bonnes conditions du
traitement automatique des signaux ECG (segmentation, extraction des paramètres,
classification).
3.
L’amélioration de la segmentation automatique des signaux ECG. Dans ce cadre,
on a mesuré l’efficacité et la robustesse de la méthode de segmentation proposée et
implémentée par Salim Graja et on a essayé son amélioration.
4
CHAPITRE 1
INTRODUCTION
1.1 LE CŒUR
Le cœur, apparu chez les premiers vertébrés il y a environ 450 millions d’années, est
un vaisseau sanguin contractile à 4 chambres, comme la figure 1.1 le montre. Les deux
chambres supérieures du cœur sont appelées les oreillettes, tandis que les deux chambres
(pompes) inférieures sont appelées les ventricules. Le cœur est aussi séparé en deux parties:
la droite (cœur droit) et la gauche (cœur gauche), chacune comprenant une oreillette et un
ventricule. Le mur qui sépare les oreillettes et les ventricules s’appelle septum.
L'oreillette droite collecte le sang qui a parcouru tout le corps (le sang "bleu"), et
l'envoie vers le ventricule droit afin qu'il soit éjecté dans les poumons pour y être re-oxygéné.
De la même façon, l'oreillette gauche collecte passivement le sang qui a traversé les poumons
et l'achemine au ventricule gauche qui éjecte le sang fraîchement oxygéné (le sang "rouge")
dans l'ensemble du corps.
Fig. 1.1 : L’anatomie du cœur.
Tout ceci se passe en moins d'une seconde ou environ une seconde en comptant le
temps de relaxation du cœur. La phase de la contraction du cœur s'appelle systole, celle de la
relaxation s'appelle diastole. Cette succession de systoles et diastoles se produit de façon
autonome. En effet, le cœur bat par lui-même, tout ce qu'il a besoin pour battre c'est du sang
bien oxygéné, et ayant suffisamment de nutriments, circulant dans son propre muscle.
5
1.2 L’ACTIVITE ELECTRIQUE DU CŒUR
Le travail du cœur est dû à la contraction des cellules cardiaques, qui sont des cellules
musculaires striées, hautement spécialisées. L’excitation électrique conduisant à la
contraction se propage de cellule en cellule, ce qui assure la coordination nécessaire à un
pompage efficace. Cette excitation est liée aux échanges d’ions entre l’intérieur et l’extérieur
de la cellule. L’activité mécanique du cœur est le résultat de son activité électrique, crée par
les ondes de polarisation et dépolarisation qui se propagent à la surface des cellules
cardiaques.
Le processus d’activation électrique cardiaque prend naissance au niveau de la fibre
myocardique. A l’état basal, une fibre myocardique est dite " polarisée " : la face interne de la
membrane cellulaire est tapissée de charges électriques négatives et sa face externe de
charges positives, de sorte qu’une micro-électrode transperçant cette membrane recueille un
potentiel négatif d’environ –90mV. Lorsque cette fibre est stimulée, des mouvements d’ions
se produisent d’une part et d’autre de la membrane cellulaire. Les charges négatives internes
seront remplacées par des charges positives, le potentiel intracellulaire passant brusquement
de –90mV à +20mV. Dans ce moment-là, la cellule est dite " dépolarisée ". Ensuite, des
mouvements ioniques en sens inverse restaureront progressivement l’état de départ. Il s’agit
du processus de " repolarisation " qui ramènera le potentiel cellulaire à sa valeur initiale.
Durant le processus, l’électrode exploratrice aurait enregistré un " potentiel d’action "
constitué de 4 phases successives : état de base, montée rapide, plateau et descente
progressive. La phase d’ascension rapide corresponde au complexe QRS, le plateau au
segmente ST et la descente à l’onde T.
1.2.1
L’ELECTROCARDIOGRAMME
L’électrocardiogramme est l’enregistrement des points de référence (appelés
" dérivations cardiaques " ) par l’intermédiaire des électrodes placées à la surface du corps,
mesurant les différences de potentiel électrique déterminées par la propagation de l’influx
électrique au sein du cœur.
Il y a 18 dérivations standards qui sont couramment utilisées pour capter l’activité
électrique du cœur :
-
Les dérivations du plan frontal :
6
o dérivations bipolaires : l’enregistrement de la différence de potentiel entre
deux points du corps. Ces dérivations sont appelées I, II et III.
o dérivations unipolaires : celles-ci mesurent la différence de potentiel entre un
point sur la surface du corps et un point " de référence ". Ces dérivations sont
notées respectivement par aVR, aVL et aVF.
-
Les dérivations du plan horizontal : dérivations précordiales unipolaires : V1, V2, V3,
V4, V5, V6, + /- V7 à V9, V3R et VE.
Le signal enregistré lors d’un battement du cœur comprend normalement trois ondes
successives : l’onde P, le complexe QRS et l’onde T. Elles sont séparées par d’intervalles de
" relâchement ", constituant les "segments isoélectriques " (cf fig. 1.2).
Fig. 1.2 : Un battement du cœur.
Une courte description des ondes et des segments isoélectriques composant le signal ECG est
faite ci-dessous :
-
La ligne isoélectrique : la ligne de base correspondant à l’absence de l’activité
électrique. Au-dessus de celle-ci, on parle d’onde positive et au dessous on a les ondes
négatives.
7
-
L’onde P : elle marque la dépolarisation auriculaire, ayant une durée de l’ordre de 90
ms. L’onde est située au-dessus de la ligne isoélectrique, et son amplitude est
normalement inférieure à 0.25 mV
-
Le segment PR (ou PQ) : il est mesuré du début de l'onde P au début du complexe
QRS. La durée de l'intervalle PR varie de 0,012 à 0,020 secondes en fonction de la
fréquence cardiaque et de l'âge. Chez l'adulte d'âge moyen, la limite supérieure de la
durée normale est de 0,021 secondes.
-
Le complexe QRS : il correspond à la dépolarisation ventriculaire précédant l’effet
mécanique de contraction. La durée du QRS, dépendante du sexe et de l’age, est
normalement comprise entre 0,06 et 0,10 secondes. Le complexe comprend trois
parties : l'onde négative initiale est appelée onde Q, avec une durée inférieure à 0,04
secondes avec une amplitude dépasse rarement 0,2 mV. La première onde positive est
appelée onde R, tandis que l'onde négative qui suit l'onde R est appelée onde S.
-
Le segment ST : la partie du trace ECG comprise entre la fin du complexe QRS et le
début de l'onde T. Le segment ST est normalement isoélectrique : son déplacement
vers le haut ("sus-décalage") ou vers le bas ("sous-décalage") indique généralement un
état pathologique. Cependant le segment ST normal peut être légèrement décalé, vers
le haut au repos ou vers le bas à l'effort : dans ce dernier cas, il a habituellement une
pente oblique ascendante.
-
L’onde T : elle correspond à la phase 3 terminale de la repolarisation ventriculaire.
Elle a normalement un aspect asymétrique avec une pente initiale plus faible que son
versant descendant, c'est-à-dire une montée plus lente que la descente. Normalement,
l’amplitude de l’onde T est inférieure à celle du complexe QRS.
1.3 LE TRAITEMENT AUTOMATIQUE DES SIGNAUX ECG
Le traitement automatisé des signaux ECG a gagné un large intérêt dans les derniers
ans tant dans les milieux médicaux que dans ceux qui s’occupent avec le traitement du signal.
Le défi est bien intéressant : étant donnée la " sensibilité " du domaine, le but final du
traitement automatique (de compléter où même substituer l’apport du médecin) reste une
tache particulièrement délicate.
Une chaîne complète pour le traitement du signal ECG doit comprendre les suivantes
étapes :
8
-
L’acquisition des signaux ECG et leur transformation dans un format qui soit
utilisable pour le traitement automatique. L’acquisition sert ultérieurement
à la
constitution des bases de données.
-
Le pré-traitement : lors du processus d’acquisition, les signaux ECG sont affectés par
de multiples sources de distorsions. L’étape de pré-traitement doit diminuer le plus
possible l’effet de ces interférences perturbatrices, tout en conservant avec beaucoup
d’attention les
composantes utiles du signal. Parmi les perturbations les plus
communes, on retrouve les interférences avec le réseau électrique (les " 50 Hz " ), les
fluctuations de la ligne de base (à cause de la respiration où des mouvements du
patient) et l’ainsi nommé " bruit électromyographique " (EMG) provoqué par l’activité
des muscles. Tandis que des méthodes bien efficaces ont été conçues pour éliminer les
premiers deux types de bruit, le plus troublant reste le résidu EMG, à cause du fait que
son spectre est superposé sur le spectre du signal ECG utile.
-
La segmentation : étape importante et délicate du traitement automatique, dont le
résultat est la fragmentation du signal en trames successives homogènes, en isolant
ainsi les principales ondes utiles du point de vu clinique : les ondes P et T et le
complexe QRS.
-
L’extraction des paramètres : il s’agit de trouver, à partir des ondes élémentaires
résultées de la phase de segmentation, les paramètres qui puissent prédire le mieux
l’état du patient.
-
La classification : en utilisant les paramètres relevants, la classification doit être
capable de " donner le diagnostique ", en substituant le rôle du médecin.
Chaque étape est particulièrement délicate et nécessite une qualité quasi parfaite. Le succès de
la chaîne automatique est assuré seulement dans le cas d’un fonctionnement irréprochable de
chaque de ses parties composantes.
9
CHAPITRE 2
LA CONSTRUCTION D’UNE BASE DE DONNEES
2.1 BASE DE DONNEES DEJA EXISTANTE
Pendant toute la durée de mon stage j’ai eu à la disposition la base de données de
l’hôpital Cavale Blanche de Brest ( référencée également comme base CHU ), base constituée
afin de répondre aux études spécifiques du travail mené par L. Clavier [1]. Références
exhaustives sur cette base sont données dans [1] et [2]. Sauf la base de données avec les
signaux ECG, j’ai disposé aussi de l’implémentation d’une partie des méthodes présentées
dans [1-4] comprenant des fonctions Matlab pour le pré-traitement (le débruitage, la détection
du pic R ), la segmentation et la classification automatique des signaux ECG.
Sur la durée de mon étude, il n’y a pas eu des problèmes de " compatibilité " de la base
de données. Toute la base de données est directement et immédiatement utilisable sous
Matlab. Les fonctions testées (la plupart d’entre elles programmées dans des versions
antérieures du logiciel ) se sont également prouvées compatibles avec la version Matlab 6.5.
2.2 L’AMELIORATION DE LA BASE DE DONNEES
L’université ENST de Bretagne a renouvelé sa collaboration avec l’Hôpital Cavale
Blanche de Brest, collaboration envisageant la constitution d’une nouvelle base de données.
Le nouvel appareil utilisé par les médecins de l'hôpital de Brest
s’appelle Task Force
Monitor, produit par la société CNS Systems, et il permet l’export des données en format
compatible Matlab. La fréquence d’échantillonnage utilisée pour transformer les
enregistrements ECG dans un format numérique est de 1000Hz et chaque échantillon est codé
par 16 bits. Etant donné le fait que le spectre du signal ECG est entièrement situé au-dessous
de 200 Hz, on peut affirmer que les signaux sont sur-échantillonnés.
Pour l’instant, on a reçu 4 échantillons de signaux, enregistrements provenant de
patients différents et présentant différentes morphologies des ondes composantes du signal.
L’utilisation des données fournies dans le nouveau format (par le nouvel appareil) sous
Matlab s'avère extrêmement simple et consiste dans le chargement des fichiers ayant
10
l'extension .mat, en utilisant l’instruction "load".
La structure chargée sous Matlab
(RAW_SIGNALS) contient comme " sous-structures " les signaux ECG provenant de deux
dérivations différentes, signaux ayant l'extension .rawECG1 et .rawECG2. Les détails
concernant l’utilisation des données sous Matlab sont donnés dans [5].
Ce qui est notable en ce qui concerne les signaux fournis par le nouvel appareil de
l’Hôpital Cavale Blanche est le fait qu’il s’agit de données " brutes ". Les signaux sont
exportés sans être soumis en préalable aux traitements spécifiques mis en œuvre en vue d’un
affichage " lisible " pour le cardiologue sur l’écran de l’appareil. Cela nous permettra de nous
confronter avec tous les problèmes spécifiques liés aux signaux ECG, dès la première phase
d’une chaîne de traitement automatique, c’est à dire le débruitage (nommé parfois le
" lissage ") du signal. Dans la figure 2.1 a) on peut observer un de ces signaux ECG,
fortement affecté par du bruit. Son analyse de Fourier ( fig. 2.1 b), révèle bien clairement tant
la perturbation causée par l’interférence avec le réseau électrique (les " 50 Hz ") que d'autres
types de bruit " haute-fréquence " (il s’agit du signal " Gagnard ", la trace ECG1).
a)
b)
Fig. 2.1 : Signal ECG acquis affecté par le bruit (a) et sa densité spectrale
de puissance (b).
L’utilisation d’un tel signal (dit " brut "), apparemment indésirable et incommode,
permettra aux chercheurs de " maîtriser " toute la chaîne de traitement automatique et de
vérifier la robustesse de leurs méthodes dans les conditions les plus réalistes. En effet, dans le
11
cadre d’un projet de télésurveillance des patients, comme celui dont le sujet est la présente
étude, le signal acquis sera plutôt un signal comme celui illustré ci-dessus qu’un signal
" propre ", non-affecté par le bruit.
De l’autre côté, on a essayé d’unifier les deux bases de données différentes dont les
deux universités impliquées dans ce projet disposent: la base " Européenne " ST-T (utilisée
par l'INT Paris) et la base de l’Hôpital de Brest (utilisée jusqu'à présent pour les travaux
effectuée à l'ENST de Bretagne). La base ST-T comprend 90 enregistrements de deux heures
réalisés sur 79 individus. Chaque enregistrement contient le signal provenu de deux
dérivations, échantillonné à 250 Hz. Vu que la base a été dédiée à l’évaluation des épisodes
ischémiques, elle est étiquetée dans ce sens-là, les étiquettes concernant les épisodes
d’ischémie associés aux changements dans le segment ST et dans l’onde T. Cependant, la
base ne contient pas des étiquettes délimitant les ondes composantes du signal et par
conséquent elle ne peut pas servir à l’apprentissage et à l’évaluation d’un algorithme de
segmentation. Cela m’a obligé de m’orienter vers la base QT (connue aussi sur le nom de
Laguna) [6]. Cette base, qui est disponible gratuitement sur l’Internet [7] rassemble 105
enregistrements sélectionnés d’autres bases. Au moins 30 battements cardiaques sont
étiquetés pour chaque signal, les étiquettes incluant la segmentation manuelle faite par les
spécialistes pour délimiter les ondes composantes du signal. Parmi les enregistrements on
retrouve 33 signaux pris de la base ST-T.
Pour ajouter de nouveaux signaux utiles à la base commune, on a extrait les portions
étiquetées de ces signaux (qui commencent après 10 minutes qui sont "non-étiquetées"), et on
a modifié les valeurs des étiquettes pour les rendre correctes, vu l’opération de " découpage "
réalisée en préalable. En même temps, il a fallu résoudre le problème de la fréquence
d’échantillonnage différente utilisée pour les deux bases de données. Pour amener la
fréquence d’échantillonnage de signaux de la base QT a une valeur de 1000 Hz, on a
implémenté une interpolation cubique des signaux acquis à 250 Hz, en utilisant la fonction
Matlab interp1. Une amplification avec le facteur 1000 a été effectuée en même temps, pour
se rallier aux amplitudes des signaux de notre base (la base de l’Hôpital de Brest). On a
gardé également les portions segmentées des signaux de la base de Laguna dans leur version
originelle (à 250 Hz), avec les annotations correspondantes, fait qui rend la nouvelle base
disponible pour traitement automatique dans les deux versions de la fréquence
d'échantillonage (250 Hz et 1000 Hz). Pour le code de notations utilisé, ainsi que pour la
structure des fichiers de la nouvelle base, voir l’annexe AI.
12
CHAPITRE 3
LE PRE-TRAITEMENT DU SIGNAL ECG
Lors du traitement automatique du signal ECG, consistant dans la succession de
quelques étapes (segmentation, analyse, classification), une étape de pré-traitement s'avère
souvent impérativement nécessaire. On peut y inclure tous les traitements faits pour éliminer
les diverses perturbations qui dégradent la qualité de l'enregistrement: les interférences avec le
réseau électrique, les oscillations de la ligne de base à cause des mouvements ou de la
respiration du patient, le bruit induit par l'activité électrique des muscles etc. Sauf
l'amélioration de la qualité du signal à traiter (toute cette catégorie de traitements est parfois
réunie sous le nom générique de "débruitage"), la détection du pic R (le point de maximum
situé sur le complexe QRS ) s'avère toujours nécessaire, au moins pour la partition des
enregistrements dans des battements distincts, donc la détection du pic R peut être incluse
dans la catégorie des pré-traitements.
3.1 LA DETECTION DU PIC R
Dans [2], la détection du pic R à été implémentée par une méthode assez complexe,
basée sur des chaînes de maxima d'ondelettes. La méthode s'avère particulièrement efficace
dans les cas des enregistrements fortement bruités ou ayant une morphologie anormale. Le
désavantage de la méthode est sa complexité, traduite dans un temps de calcul très élevé.
Pratiquement, la détection des pics R pour un signal consomme plus de temps de calcul que
toute sa segmentation. Face à cet inconvénient, on a décidé d'implémenter une autre méthode,
moins complexe, qui fonctionne d'une manière satisfaisante dans la plupart des cas. On s'est
arrêté sur l'algorithme "classique" de Pan et Tompkins, également décrit dans [2], méthode
qui repose sur la comparaison avec un seuil d'une variante "lissée" du signal ECG. Une brève
description mathématique de cette méthode est donnée dans la suite.
Soit y[n] la séquence des échantillons composant le signal ECG discrétisé. On
calcule d'abord deux variantes "lissées" de cette séquence:
13
yliss1 (n) = ( y1 (n − 1) + 2 ⋅ y1 (n) + y1 (n + 1) ) 4
(3.1)
où y1 (n) = y (n + 1) − y (n − 1) . L'autre séquence est calculée d'une manière similaire:
yliss2 (n) = ( y2 (n − 1) + 2 ⋅ y2 (n) + y2 (n + 1) ) 4
(3.2)
avec: y 2 (n) = y (n + 2) − 2 ⋅ y (n) + y (n − 2)
Les échantillons appartenant au complexe QRS seront déterminés par le seuillage
d'une somme pondérée des signaux (3.1) et (3.2):
2
2
y3 (n) = a1 ⋅ yliss1 (n) + a2 ⋅ yliss2 (n)
(3.3)
avec: a1, 2 = 1 max( yliss1, 2 (n) ) . La valeur du seuil est initialement établie à 0.35 ⋅ max( y3 (n) ) .
On détermine ainsi un group d'échantillons appartenant au complexe QRS. Les pics sont
déterminés dans la suite en cherchant les valeurs maximales du signal parmi chaque group
d'échantillons QRS (fig. 3.1).
Fig 3.1: La position des pics R déterminée par l'algorithme de Pan et Tompkins
(le signal p4c1 ).
14
Bien qu'il soit très simple, l'algorithme engendre une procédure efficace pour la plupart des
signaux dont on dispose. Par conséquent, on recommande l'utilisation de la méthode avec de
chaînes de maxima d'ondelettes [2] exclusivement pour les situations où l'algorithme de Pan
et Tompkins ne fournit pas des résultats acceptables. Notons enfin que le temps de calcul pour
détecter les pics R d'un signal de 40000 échantillons est de l'ordre 120 secondes pour la
méthode avec chaînes de maxima, et de 2 secondes pour l'algorithme de Pan et Tompkins.
3.2 LE DEBRUITAGE DU SIGNAL ECG
Le signal ECG est soumis à un ensemble de perturbations causées par les mouvements
ou la respiration du patient, son activité électrique musculaire, le positionnement inapproprié
des électrodes, l'interférence avec le réseau électrique etc. Tous ces phénomènes indésirables
conduisent à la dégradation de la qualité du signal ECG enregistré et rendent difficile son
traitement automatique. Par conséquent, un traitement préliminaire du signal s'avère fortement
nécessaire dans la plupart des cas. Vu les particularités du domaine, la qualité d'un tel prétraitement doit être irréprochable: il doit envisager l'élimination des influences perturbatrices,
tout en gardant fidèlement les caractéristiques essentielles des ondes utiles qui composent le
signal. Ces caractéristiques (parmi lesquelles on rencontre la forme, la durée, le spectre)
seront ultérieurement utilisées pour extraire les paramètres qui "décident" la classification,
donc leur moindre dégradation peut affecter le "verdict" automatique, c'est à dire la
classification du patient. Cela explique bien clairement l'importance de la qualité du
débruitage.
Dans les dernières années, de nouvelles techniques basées sur la transformée en
ondelettes sont devenu populaires dans le contexte du débruitage du signal. En effet, cette
transformée présente la propriété remarquable de "concentrer" la plupart de l'énergie du signal
utile dans un nombre réduit de coefficients haute énergie dans le domaine "transformé". Par
contre, les coefficients représentant l'image du bruit dans le domaine de la transformée en
ondelettes seront nombreux, mais de faible énergie. Vu les observations ci-dessus, le schéma
de principe d'un système de débruitage basé sur la transformée en ondelettes résulte
rapidement. Elle comporte trois étapes successives:
1.
L'application de la transformée en ondelettes au signal affecté par du bruit.
2. Le filtrage des coefficients ainsi obtenus, conformément à un certain critère.
15
3. Le calcul de la transformée inverse, à partir des coefficients issus de l'étape
précédente.
Un tel algorithme de débruitage a été proposé initialement par Donoho [8] pour le cas
d'un bruit additif. Il repose sur l'utilisation de la transformée en ondelettes discrète (TOD)
pour les pas 1 et 3 et sur un filtrage adaptatif non-linéaire des coefficients dans l'étape 2,
filtrage connu sur le nom de "seuillage" (angl. "thresholding"). La valeur du seuil est établie
en tenant compte de l'estimation de la variance du bruit qui affecte le signal utile. En fait,
cette modalité de choisir le seuil constitue le point faible de l'algorithme, vu qu'elle ne prend
pas en considération aucune information regardant le signal utile.
En essayant à annuler cet inconvénient, une approche alternative à été mise en œuvre
pour l'étape 2 de l'algorithme. Elle comprend une catégorie de techniques réunies sous le nom
de filtrage maximum-a-posteriori (MAP). Dans ce cas, on fait des suppositions "a priori"
regardant les fonctions de densité de probabilité (fdp) des coefficients du signal utile et des
coefficients du bruit. Le filtrage (l'étape 2 de l'algorithme) sera l'implémentation directe de la
solution analytique qui maximise la probabilité conditionnée des coefficients utiles, étant
données les observations "bruitées". Afin de mettre en œuvre le débruitage des signaux ECG,
on s'est orienté vers une telle approche, vu ses bases mathématiques bien rigoureuses et les
résultats expérimentaux obtenus sur la durée du travail. Vers une telle démarche on a été
également conduit par les études expérimentales et théoriques sur le cas particulier des
signaux ECG.
3.2.1 F ILTRAGE MAP DANS LE DOMAINE DE LA TRANSFORMEE EN
ONDELETTES APPLIQUE POUR LES SIGNAUX ECG
Pour le cas d'un filtrage MAP des coefficients d'ondelettes, les performances de la
méthode sont déterminées par deux facteurs:
1. La "véridicité" des suppositions a priori regardant les propriétés statistiques des
coefficients de la transformée en ondelettes, tant pour le signal utile que pour le bruit.
2. La qualité de l'estimation des paramètres statistiques pour les deux composantes (utile
et perturbatrice) d'un coefficient d'ondelette.
D'un intérêt particulier pour le cas des signaux ECG s'avère le filtre Wiener dit
"empirique" dans le domaine de la TOD, filtre proposé dans [9] et présenté comme une
amélioration du filtrage Wiener "classique" dans le domaine transformé. Vu l'importance
capitale d'une bonne estimation des paramètres statistiques, les auteurs dans [9] utilisent deux
16
transformées en ondelettes différentes. L'estimation des paramètres du signal utile est faite
ainsi à l'aide d'un "signal pilote", obtenu par le seuillage dur des coefficients d'ondelettes
résultés par l'application de la première TOD. C'est la première étape de l'algorithme. Le
filtrage MAP des coefficients est fait dans le domaine de la deuxième TOD, sous l'hypothèse
d'une distribution gaussienne tant pour les coefficients utiles que pour ceux du bruit. Ce
filtrage constitue l'étape seconde de l'algorithme. L'idée a été implémentée sous différentes
formes par les auteurs dans [10-12] pour le cas particulier des signaux ECG et les résultats ont
été satisfaisants. Les avantages d'une telle approche ont été énoncés et vérifiés empiriquement
par les auteurs dans [10]. En premier lieu, il s'agit de la capacité du système de bien préserver
les formes des ondes utiles du signal ECG. En effet, les inconvénients classiques du
débruitage par le seuillage de la TOD dans sa forme habituelle (appelée parfois "TOD
décimée") sont retrouvables dans le cas des signaux ECG, avec des effets troublants. Ainsi, la
reconstruction exacte des ondes utiles pourrait être gravement endommagée par des artefacts
comme les oscillations parasites au début et à la fin du complexe QRS (le phénomène de
Gibbs, attribué à la variance à translation de la TOD décimée)[10], [13-14] ou par la
déformation des ondes "lentes" du signal (les ondes P et T). Dans [10], les auteurs utilisent
une ondelette mère bien localisée en temps pour l'obtention du signal pilote, ondelette ayant le
rôle de bien reproduire la forme exacte du complexe QRS. L'effet négatif induit d'un tel choix
pour la forme des ondes P et T (qui présentent une évolution temporelle relativement lente)
est corrigé par la deuxième étape de l'algorithme, où d'ondelettes mères bien localisées en
fréquence sont préférées.
LA METHODE PROPOSEE
L'architecture du système de débruitage proposé est illustrée dans la figure 3.2:
Signal
bruité
W1-1
Seuillage
W1
Signal
pilote
-
Bruit
estimé
W2
∧
σ
x =s+p
w = u+n
W2
∧
σ
n
u
Filtre
MAP
Fig.3.2 : L'architecture du système de débruitage proposé.
17
W2-1
Signal
débruité
Cette méthode répond à l'objectif tracé au début du stage et c'est le fruit d'une étude
théorique et pratique menée sur le thème du traitement des signaux ECG. Le problème qu'on a
eu à résoudre peut être formulé de la manière suivante: étant donnés les signaux ECG de
l'ancienne base de données CHU (en général moins bruités) et les signaux fortement bruités
reçus récemment de l'Hôpital de Brest, le but de notre recherche a été de trouver une méthode
de débruitage qui soit efficace pour tous les deux types de signaux. Notre souhaite a été en
même temps de rendre la méthode suffisamment générique et robuste, ayant pour but final la
possibilité de l'appliquer sur un grand set de signaux ECG provenus de différentes bases, avec
le moindre nombre de paramètres à régler.
Hypothèses de travail:
On considère le cas d'un signal ECG (s) perturbé par le bruit d'une manière additive
(p) (3.5). Puisque l'hypothèse classique du bruit blanc n'est pas réaliste dans le cas des bruits
physiques réels qui perturbent le signal ECG, on fera la supposition que le bruit est additif,
coloré, gaussien et de moyenne nulle. Tandis que la fdp gaussienne et de moyenne nulle ne
réduit pas la généralité de la méthode, l'hypothèse d'un bruit coloré envisage surtout le bruit
de type large-bande produit par l'activité électrique des muscles. Ce type de bruit, appelé
"bruit EMG" (électromyographique) s'avère le plus difficile à enlever, à cause du fait que son
spectre coïncide partialement avec la bande de fréquence occupée par le signal ECG utile.
Généralement, il est considéré comme un bruit aléatoire, large-bande (le syntagme bruit
"presque blanc" est parfois utilisé dans la littérature) et ayant un caractère non-stationnaire.
Notons enfin que pour les signaux ECG réels, on ne dispose pas d'une caractérisation précise
du bruit. Cela veut dire que, même si on connaît les sources de perturbation possibles
(énumérées auparavant), on ne connaît exactement ni la statistique du bruit, ni sa densité
spectrale de puissance. En pratique, toutes les caractéristiques du bruit peuvent varier entre
deux signaux ECG distincts et même pour l'enregistrement provenu d'un seul individu au
cours du temps. On est obligé alors à faire les suppositions a priori les plus générales, pour se
situer dans un cadre suffisamment large et générique.
En ce qui concerne le signal, les auteurs dans [10-12] prennent en considération une
fdp gaussienne des coefficients de la TOD du signal ECG. L'hypothèse, sur laquelle repose la
possibilité d'effectuer un filtrage de Wiener, ne s'avère pas suffisamment réaliste. En fait, le
signal ECG présente un caractère fortement non-stationnaire: il y a quelques ondes
"proéminentes" (P, QRS, T) qui sont séparées par d'intervalles qui marquent le manque de
18
l'activité électrique (les segments isoélectriques). Dans le domaine de la transformée en
ondelettes, cela se traduit par l'existence d'un nombre relativement réduit de coefficients
haute-énergie (marquant surtout les "ruptures" dans le signal, c'est à dire les débuts et les fins
des ondes) et d'un nombre important de coefficients basse-énergie, correspondant aux
segments iso-électriques et aux portions de variation lente du signal. Par conséquent,
l'hypothèse d'une distribution gaussienne semble inappropriée pour modéliser d'une manière
réaliste la statistique des coefficients utiles. Pour prendre en considération les observations
présentées ci-dessus, on a considèré qu'une distribution de type "heavy-tailed" pour la fdp des
coefficients est plus réaliste, et le cas particulier d'une distribution Laplacienne devient très
attractif, étant donnée sa simplicité de calcul [15-16]. Afin d'illustrer la plausibilité de cette
supposition a priori on a superposé dans la figure 3.3 les observations empiriques
(l'histogramme des coefficients d'ondelettes) et la courbe théorique représentant une fdp
Laplacienne.
Fig. 3.3: Comparaison entre l'histogramme empirique et la loi Laplacienne
théorique pour la fdp des coefficients d'ondelettes.
Il faut rappeler que la forme mathématique d'une loi Laplacienne est:
19
pW ( w) =
1
2σ w
exp(−
2w
σw
)
(3.4)
où σ w est l'écart type des coefficients d'ondelette w.
Les histogrammes ont été tracés pour les coefficients d'ondelettes situés sur les trois premières
échelles de décomposition. Le nombre total de coefficients pris en compte est de 250000.
L'algorithme de débruitage proposé comporte deux étapes distinctes:
Etape 1: L'obtention du signal pilote
Le signal pilote représente une estimation du signal ECG utile. Il sert à fournir au filtre
MAP les estimations nécessaires sur la statistique des coefficients d'ondelettes utiles. Pour
l'obtention du signal pilote, le signal bruité est transposé dans le domaine de la TOD W1 et
ses coefficients sont seuillés. La transformée inverse est ensuite appliquée pour obtenir le
signal pilote. Pour cette étape, il vaut mieux à choisir une ondelette mère bien localisée en
temps [10] : on a déterminé empiriquement que l'ondelette de Haar fournit les meilleurs
résultats. Le filtrage dans le domaine W1 est non-linéaire et consiste dans la simple
application d'une stratégie de seuillage: soit le seuillage "doux" (soft-thresholding- angl.), soit
le seuillage dur (hard thresholding –angl.) [8]. Puisqu'on n'a pas fait la supposition d'un bruit
blanc, ce seuillage doit être adapté à chaque échelle de décomposition de la TOD (la
puissance du bruit n'est pas également répartie dans toutes les sous-bandes fréquentielles
correspondant aux différentes échelles de décomposition ).
Etape 2: Le filtre MAP dans le domaine de la transformée en ondelettes W2
En général, un filtre MAP maximise la probabilité a posteriori d'obtenir les valeurs
utiles, étant données les observations bruitées. Dans notre cas, le filtre est appliqué dans le
domaine de la transformée en ondelettes discrète W2. Dans la figure 3.4, on a explicité les pas
parcourus pour implémenter la seconde étape de l'algorithme de débruitage.
20
TOD1
TOD2
1
2
w =1u + 1n
w= 2 u + 2n
Filtre MAP
Filtre MAP
TODL
l
L
w= l u + l n
w= L u + Ln
u
2∧
TODI1
TODI2
Filtre MAP
l ∧
TODIl
L ∧
u
TODDE
s
2∧
l∧
s
u
Filtre MAP
1∧
s
u
x= s+ p
TODl
1∧
TODIL
M
O
Y
E
N
N
E
∧
s
L∧
s
TODDEI
Fig. 3.4: L'illustration de la deuxième étape de l'algorithme de débruitage.
On a utilisé pour cette étape la transformée en ondelettes discrète avec diversité
enrichie (TODDE) [17-18]. La source de diversité est l'ondelette mère sélectée pour le calcul
de la TOD. En général, obtenir la diversité est souhaitable parce que dans chaque variante du
signal obtenue par diversité subsiste le même signal originel (signal utile, signal à estimer),
affecté par plusieurs variantes du bruit. En fait, la transformée proposée dans [17 - 18]
consiste pratiquement dans L TOD différentes appliquées au même signal d'entrée (voir la
figure 3.4). Pour le cas particulier d'un signal ECG, il vaut mieux à utiliser dans cette étape
des fonctions ondelette- mère qui soient bien localisées en fréquence (qui peuvent bien
préserver les formes des ondes P et T ) et en même temps qui ne soient pas implémentées par
l'intermédiaire des filtres avec une réponse impulsionnelle extrêmement longue (ces filtres
introduiraient des oscillations autour du complexe QRS) [10]. Il faudra donc assurer un
compromis en ce sens-la. Une autre source de diversité possible est représentée par les
permutations circulaires des échantillons du signal. Dans ce cas, on obtient la transformée en
ondelette discrète invariante à translation (TODIT), largement décrite dans [19]. Cette
transformée représente un autre type de transformée enrichie en diversité qui sera utilisée pour
la deuxième étape de notre algorithme. Les explications mathématiques qui suivent seront
données seulement pour la TODDE, tandis que pour la TODIT les choses se passent d'une
manière complètement idéntique dans le domaine transformé. C'est seulement la modalité
d'obtenir la diversité qui diffère dans les deux cas.
On considère le signal à l'entrée du système (x), comme étant composé d'un signal
utile (s) affecté par un bruit additif (p) :
x=s+ p
21
(3.5)
Après l'application de la TODDE, on obtient à sa sortie L séquences de coefficients
d'ondelettes, chaque séquence correspondant à l'ondelette mère utilisée pour le calcul de la
TOD:
l
w= l u + l n
(3.6)
où lu représentent les coefficients utiles et ln représentent les coefficients de bruit, avec
l=1,…,L. Le filtre MAP maximise la probabilité a posteriori d'obtenir les coefficients utiles
(lu), étant données les observations perturbées par le bruit (lw). Le but est de trouver pour
chaque TOD (pour caque branche de la TODDE- voir la figure 3.4) la solution de l'équation:
l ∧
u ( l w) = arg max pu / w ( l u / l w)
l
(3.7)
u
En utilisant la règle du Bayes, l'équation (3.7) deviendra:
u ( l w) = arg max ( p w / u ( l w/ l u ) ⋅ pu ( l u ) ) =
l ∧
l
u
= arg max ( p n ( l w− l u ) ⋅ pu ( l u ) )
l
(3.8)
u
Cette équation exprime l'estimation des coefficients utiles en fonction des densités de
probabilité respectivement des coefficients du bruit (pn) et des coefficients utiles (pu). Notons
que les deux seront connues grâce aux suppositions faites a priori regardant les propriétés
statistiques du signal et du bruit dans le domaine transformé. Dans la suite, nous allons
considérer une distribution Gaussienne pour les coefficients de bruit et Laplacienne pour les
coefficients utiles. Sous ces hypothèses, la solution analytique de l'équation (3.7) [15 - 17] est:
l ∧
u=
( w−
l
2 lσ n2 lσ u
l
w
)
+
⋅ l w, l = 1,..., L
22
(3.9)
⎧ X , si X > 0
. On peut facilement observer que l'équation (3.9) représente en fait
où: ( X )+ = ⎨
⎩0, autrement
une opération de seuillage doux des coefficients bruités, la valeur du seuil étant:
∧
l
S = 2 lσ n
2
l
∧
σu
∧
(3.10)
∧
où lσ n2 est l'estimation de la variance du bruit et lσ u représente la valeur estimée de l'écart
type des coefficients du signal utile, pour la TOD avec l'index l. En effet, les valeurs exactes
de ces paramètres ne sont pas connues (cela aurait résolu d'une manière idéale notre
problème) et doivent être estimées. En ce qui concerne l'écart type des coefficients utiles, il ne
restera pas constant à travers une échelle de décomposition. C'est le caractère non-stationnaire
du signal ECG qui conduit à une telle conséquence: il y aura des ruptures dans le signal,
marquées par des groups de coefficients d'ondelettes haute-énergie, auxquels se succèderont
des zones de coefficients de faible amplitude. Donc, l'évaluation locale de ce paramètre
s'impose, et le fait qu'on dispose d'un signal pilote facilite cette évaluation: à la place de l'écart
type (l'équation 3.9) on va prendre la valeur absolue du chaque coefficient de la TOD du
signal pilote. Pratiquement, la valeur du seuil sera particularisée pour chaque coefficient:
ainsi, le filtrage devient adaptatif. En ce qui concerne la variance du bruit, elle est d'habitude
évaluée en utilisant l'estimateur médian bien-connu:
∧2
σn =
médian(w( j , k ) )
, avec k = 1,..., M / 2 j
0.6745
et j = 1
(3.11)
où w(j,k) représente le coefficient d'ondelette qui occupe la position k dans l'échelle de
décomposition j et M est la longueur de la TOD. Dans le cas d'un bruit blanc et gaussien,
l'estimation est faite seulement pour les coefficients de détail obtenus après la première
itération de la TOD (j=1): vu le caractère blanc du bruit, cette estimation reste valable pour les
autres échelles, parce que σ n2 ne dépends pas de l'échelle j. Par contre, si on considère le cas
d'un bruit qui n'est pas blanc (c'est le cas dans ce travail), la situation change et l'estimation
doit être faite à chaque échelle en particulier. L'étude empirique du débruitage des signaux
ECG nous a conduit à une méthode différente pour estimer cette variance du bruit. Le
raisonnement est le suivant: puisque le signal pilote est une approximation du signal utile et
23
vu que le bruit est additif, on peut affirmer que la différence entre le signal d'entrée et le
signal pilote sera une approximation du bruit. Par conséquent, pour obtenir la variance du
bruit au niveau de décomposition j (de la TODDE), on appliquera cette transformée au signal
"de bruit" et la variance sera simplement calculée au niveau j pour les coefficients de bruit
obtenus, ce qui nous fournira l'estimation souhaitée.
En prenant en considération toutes les observations faites auparavant, l'équation (3.9)
devienne:
∧ 2
⎛l
⎜⎜ w( j , k ) − 2 lσ n ( j )
l ∧
u( j, k ) = ⎝
l
w( j , k )
∧
l
⎞
ξ u ( j, k ) ⎟⎟
⎠ + ⋅ l w( j , k )
(3.12)
l ∧
où ξ u ( j , k ) représentent les coefficients de la TOD (en utilisant l'ondelette mère avec l'index
l) du signal pilote. La relation (3.12) montre que le filtre MAP est appliqué à chaque
échantillon en particulier (traitement "échantillon par échantillon"), fait qui est en
concordance avec le caractère non stationnaire du signal ECG (la valeur du seuil doit être
variable en temps) et avec le spectre coloré du bruit (la valeur du seuil doit être "adaptée en
fréquence").
Comment on a déjà discuté auparavant, l'utilisation de la TOE dans cette étape de
l'algorithme fournit un gain en diversité. Concrètement, on dispose de L estimations
différentes pour les paramètres-clef de l'équation (3.9) à la place d'une seule. En fait, même si
on considère que les suppositions a priori sur la caractérisation statistique des coefficients sont
"parfaites", les performances d'un tel filtrage (l'équation 3.9) resteront fortement dépendantes
de la qualité de l'estimation des paramètres (la variance du bruit et l'écart type des coefficients
utiles, dans notre cas). Pour mesurer cette dépendance, on définit la sensitivité de l'estimation
∧
∧
des coefficients u avec σ u par [20]:
∧
S ∧ (σ u ) =
u
∧
∧
∧
∧
d u σu
dσu u
(3.13)
Pour les coefficients qui sont supérieurs au seuil défini par (3.10), en substituant l'équation
(3.9) dans (3.13), cela devient:
24
∧2
2σ n
∧
S ∧ (σ u ) =
u
(3.14)
∧2
∧
σ u w− 2σ n
∧
La fonction définie dans (3.14) est décroissante en σ u . Les coefficients d'ondelettes ont une
faible variation locale dans les zones correspondant à l'évolution lente du signal (par exemple
∧
l'onde P). Pour ces zones, avec des valeurs petites du paramètre σ u , l'équation (3.14) nous
indique une erreur d'approximation plus importante. Dans ce contexte, l'utilisation de L
∧
estimations distinctes pour σ u peut améliorer les résultats surtout pour ces portions du
signal. Cela nous aide bien à préserver la forme de l'onde P, qui est la plus sensible tant au
bruit qu'au débruitage (à cause de sa faible amplitude et de sa morphologie variée).
Revenant à la figure 3.4, après le filtrage MAP, le signal débruité est obtenu par
l'intermédiaire de la transformée en ondelettes discrète avec diversité enrichie inverse
(TODDEI). Cela consiste bien dans le calcul de chaque TOD inverse (correspondant aux
TOD utilisées dans la TODDE). Le signal de sortie est obtenu en calculant la moyenne des L
l∧
variantes débruitées, notées par s :
∧
s ( n) =
1 L l∧
∑ s(n), n = 1,..., M
L l =1
(3.15)
Notons qu'en moyennant les résultats des différents filtrages MAP donnés par (3.12), on
éliminera une partie du bruit résiduel resté après le filtrage des coefficients d'ondelettes. Sans
perdre la généralité, nous pouvons supposer que ce bruit résiduel est un processus aléatoire
gaussien et de moyenne nulle. Ses L réalisations différentes sont les séquences de bruit
résiduel (qui a "survécu" au filtrage MAP) qui perturbent le signal utile. Sur l'autre côté,
chaque échantillon peut être considéré comme la sommation d'un échantillon utile (qui,
théoriquement, est toujours le même puisqu'on a un seul signal utile) et d'un échantillon de
bruit résiduel (qui est différent pour chaque branche de la TODDEI). Par conséquent, le calcul
de la moyenne des échantillons correspondants à un moment de temps fixé aura comme effet
l'annulation réciproque de la partie de bruit qui subsiste dans chaque échantillon. Par contre,
le signal utile sera bien préservé (sous la condition que le signal ne varie pas très rapidement).
25
Une "seconde itération" du notre algorithme pourrait améliorer davantage les résultats.
Cette itération consisterait dans le re-usage du signal débruité comme une meilleure version
du signal pilote. Le signal résulté à la sortie du système est ramené à l'entrée du filtre MAP,
où il jouera le rôle du signal pilote pour cette seconde itération.
Du point de vu théorique, une borne supérieure pour le facteur de réduction du bruit
grâce au moyennage est L, borne atteinte si le bruit résiduel est blanc. Pour le système dans
son entier, les performances théoriques are conditionnées de la qualité du filtrage MAP. Si,
dans cette étape, la puissance du bruit est réduite par un facteur K, alors les bornes théoriques
des performances de la méthode sont K (limite inférieure) et K*L (limite supérieure).
RESULTATS
Paramètres généraux des simulations
Pour vérifier l'efficacité et la robustesse de la méthode proposée, on a appliqué la
méthode de débruitage sur un grand nombre de signaux ECG réels, provenus de toutes les
bases de données dont on dispose actuellement (voir le sous-chapitre 2.2). En général, il s'agit
de signaux échantillonnés à 1000 Hz, avec une résolution de 16 bits / échantillon. Vu que
l'utilisation de la TOD impose un tramage du signal, on a travaillé sur des trames de M=4096
échantillons, en mettant en œuvre des mesures de prévention des erreurs aux bords (inhérentes
dans le travail avec la TOD). Pour l'implémentation de la TODDE, on a choisi L=10 TOD
différentes, avec les fonctions ondelette-mère suivantes: Daubechies (2,3,4,5 et 6 moments
non-nuls), Coiflet (2,4,6 moments non-nuls) et Symmlet (4,6 moments non-nuls). Pour
l'obtention du signal pilote, on a utilisé l'ondelette de Haar (la transformée W1- fig. 3.2).
Pour évaluer la qualité de la méthode de débruitage, on a exécuté un set de
simulations, envisageant différents aspects de l'algorithme proposé et en utilisant quelques
moyens distincts pour faire cette évaluation. Ceux-ci vont être traités indépendamment dans la
suite.
1. La méthode de débruitage appliquée aux signaux ECG perturbés par des bruits réels
Dans ce cas, la méthode a été testée pour des signaux ECG directement acquis avec du
bruit. Pour ces signaux, on ne connaît pas leur variante "propre", donc une évaluation
numérique de la qualité du débruitage serait impossible. On est obligé de se contenter dans ce
26
cas avec "l'inspection visuelle" du signal débruité. Notons tout de même que c'est en premier
lieu pour ce type de signaux que la méthode doit fonctionner correctement. En effet, dans un
système de traitement automatique on ne disposera jamais de la variante non-bruitée du signal
(cela éliminerait l'existence même du problème). En plus, il s'agit de signaux affectés par les
bruits les plus réalistes possibles, bruits générés par des sources physiques.
Afin d'observer les effets de la procédure de débruitage, la méthode a été appliquée
pour 6 itérations de la TOD. Pour l'obtention du signal pilote, la TOD de Haar à été seuillée
en utilisant l'opérateur de seuillage doux. La valeur du seuil est:
∧
S ( j ) = σ ( j ) ⋅ 2 ln(4096)
(3.16)
∧
où σ ( j ), j = 1,...,6 représente l'estimation de l'écart type du bruit pour les coefficients situés
sur le niveau de décomposition j de la TOD. L'estimation est faite à chaque niveau en utilisant
l'estimateur médian (la relation 3.11). On a utilisé dans cette étape de simulation les signaux
reçus récemment de l'Hôpital de Brest, vu le fait qu'ils ont été exportés dans une forme
"brute" et présentent par conséquent un grand nombre d'artefacts spécifiques aux signaux
ECG. On a exécuté deux itérations de la méthode. Quelques résultats sont montrés dans les
figures suivantes.
On observe dans les figures 3.5 et 3.6 que l'aspect visuel du signal s'améliore d'une
manière significative. La deuxième itération corrige l'amplitude du pic R, mais elle peut aussi
introduire de petits changements dans la forme de l'onde P (observables surtout pour le signal
heon.mat). Les amplitudes des ondes sont bien préservées, dès la première itération de la
méthode.
27
a)
b)
Fig. 3.5: Le résultat du débruitage (signal borel.mat): la première itération (a), la
deuxième itération (b).
Dans la suite, on fait une comparaison entre le débruitage par la TODDE et celui pour lequel
on utilise la TODIT dans la deuxième étape de l'algorithme. Cette transformée réduit
sensiblement les effets transitoires de type "Gibbs" [19]. A la place d'assurer une diversité par
l'intermédiaire de l'ondelette mère choisie, cette transformée consiste dans l'application de la
même TOD (avec la même ondelette- mère) aux plusieurs "versions translatées" du signal.
L'algorithme peut être décrit en quelques mots par la succession: translation en temps – TOD
– débruitage – TODI – re-translation du signal dans la position originelle - moyennage. Pour
28
a)
b)
Fig. 3.6: Le résultat du débruitage (signal heon.mat): la première itération (a), la
deuxième itération (b).
obtenir l'invariance à translation, un nombre de translations en temps différentes (translations
par un nombre d'échantillons différent) sera utilisé et le résultat final est obtenu par le
moyennage des versions débruitées du signal [19]. Notons que, puisque la TOD travaille avec
des blocks de longueur finie, les translation temporelles du signal seront en fait des
translations circulaires. L'ondelette mère utilisée dans ce cas est Daubechies avec 4 moments
nuls (Daubechies-8 en Matlab). Dans la figure 3.7 a) on a illustré le résultat du débruitage
avec la TODDE, tandis que dans la figure 3.7 b) on a utilisé la TODIT à la place de la
TODDE. Le reste des paramètres est identique pour les deux cas.
29
a))
b)
Fig. 3.7: Le débruitage en utilisant la TODDE (a) et en utilisant la TODIT (b)
pour le signal borel.mat.
Les deux transformées offrent dans ce cas des résultats similaires (sauf la diminution
de l'amplitude du pic R qui semble plus importante pour la TODIT).
Dans la suite, on montre l'efficacité de la méthode pour l'élimination de la perturbation
de 50 Hz, causée par l'interférence avec le réseau électrique. Dans la figure 3.8 a), la densité
spectrale de puissance du signal bruité illustre avec netteté l'existence de l'harmonique
parasite de 50 Hz. Le résultat du débruitage (fig. 3.8 b) démontre l'élimination complète de
cette perturbation, sans aucun traitement spécial implémenté dans ce but.
30
a)
b)
Fig. 3.8 (a)L'effet du débruitage sur la composante parasite de 50 Hz: densité
spectrale de puissance du signal d'entrée (a) et le signal débruite (b).
Pour les dernières simulations (fig. 3.7-3.8), le seuil utilisé pour l'obtention du signal pilote et
celui proposé par Jonstone et Silverman dans [21] pour le cas d'un bruit corrélé:
S ( j ) = e( j ) 2 ⋅ log 4096
(3.17)
où e(j) représente l'écart type des coefficients d'ondelettes situés sur le niveau j de la TOD du
signal bruité et M=4096 correspond à la longueur de la trame de travail.
31
2. L'effet du débruitage sur la segmentation des signaux ECG
Dans l'évaluation des performances d'une méthode de débruitage des signaux ECG, il
faut prendre en compte le fait que le résultat de cette étape n'est pas le but final du traitement
automatique de ces signaux. En effet, le traitement continue par la segmentation du signal,
l'extraction des paramètres relevants et la classification du patient. Par conséquent,
l'évaluation de la qualité d'une méthode de débruitage doit envisager toute cette chaîne de
traitement. Dans ce contexte, on a étudié l'influence de la procédure de débruitage sur le
processus de segmentation automatique de l'onde P, segmentation réalisée selon la méthode
implémentée par Salim Graja [4]. Le terme de comparaison (la "méthode de référence") a été
la procédure utilisée par Ronan Le Page [2] pour pré-traiter les signaux ECG de la base de
Brest, avant leur segmentation automatique. Cette procédure consiste dans un débruitage par
seuillage dur, avec la resubstitution des coefficients liés au QRS, suivi par un filtrage de
Wiener. Notons que cette méthode fournit des résultats satisfaisants pour les signaux moins
bruités (comme la plupart des signaux de la base de Brest), mais s'avère impuissante pour des
signaux fortement affectés par le bruit (comme ceux montrés dans les figures 3.6-3.8).
Afin d'évaluer l'influence du débruitage sur la segmentation automatique de l'onde P,
la méthode de débruitage a été appliquée comme pré-traitement dans les programmes de
segmentation implémentés Salim Graja. La base de teste a été constituée par 25 signaux pour
lesquels la segmentation automatique fournit des erreurs acceptables. Les critères pour choisir
ces signaux ont été les suivants: des erreurs moyennes de détection du début et de la fin de
l'onde P inférieures à 25 ms et moins de 10 battements mal segmentés pour un seul patient (le
total des battements considérés pour un patient étant de 20 battements). On a pris en compte
seulement les signaux qui satisfont les trois critères à la fois. Vu le rapport signal à bruit
(RSB) relativement haut de ces signaux, la procédure de débruitage a été appliquée seulement
pour les quatre premiers niveaux de décomposition de la TOD. La méthode a été testée tant
dans le cas de l'utilisation de la TODDE (dans le domaine de laquelle on fait le filtrage MAP),
que pour l'emploi de la TODIT dans cette étape. Le signal pilote a été toujours obtenu par le
seuillage de la transformée de Haar. Vu que le choix du seuil et le type de seuillage peuvent
significativement influencer les résultats, on a testé deux stratégies de seuillage:
(1)
∧
seuillage doux, avec S ( j ) = 3 ⋅ σ n ( j ) , où
∧
σ n ( j ) est estimé par l'intermédiaire de
l'estimateur médian (l'équation 3.11).
(2)
seuillage dur, avec la valeur du seuil S(j) donnée dans (3.17)
32
Les résultats de la segmentation automatique des signaux traités par chaque procédure de prétraitement ci-décrite sont illustrés dans le tableau 3.1.
Tableau 3.1: L'influence de la procédure de débruitage sur la segmentation de l'onde P
Erreur début*
Erreur fin*
TES**
11.16 ms
11.37 ms
15.96 %
TODDE- 1
10.04 ms
10.23 ms
16.2 %
TODDE- 2
11.01 ms
8.87 ms
15.2 %
TODIT- 1
13.67 ms
8.14 ms
15 %
TODIT- 2
10.22 ms
7.99 ms
13.46 %
Référence
***
* Les erreurs de début et de fin sont des erreurs moyennes calculées pour l'ensemble des signaux
** TES: le taux d'erreur de segmentation pour l'onde P
*** L'index d'après chaque transformée en ondelettes marque la stratégie de seuillage utilisée dans la première
étape de l'algorithme (voir la page précédente)
Le TES a été calculé considérant comme "erreur de segmentation" toutes les ondes P
pour lesquelles le point de début où le point de fin, déterminés par la procédure de
segmentation automatique, sont décalés par plus de 25 ms face aux points résultés de la
segmentation manuelle faite par le cardiologue.
L'examen du tableau 3.1 nous aide à tirer quelques conclusions importantes:
1. Le débruitage influence certainement la segmentation automatique: pour 5 méthodes
différentes, on a obtenu 5 résultats différents, même si parfois c'est un seul paramètre
qui change (la valeur du seuil utilisé dans le domaine de la TOD de Haar).
2. Les valeurs obtenues sont cependant en général comparables. La nouvelle méthode de
débruitage fournit dans tous les cas des erreurs moyennes de début et de fin moindres
que celles résultées de la méthode de référence. Dans un seul cas (TODDE- 1) le TES
diminue sous celui fournit par la réference, mais la cause c'est un seul signal qui
présente 10 erreurs de segmentation (p9c16.mat).
3. Les méthodes qui utilisent la TODIT fournissent des résultats supérieurs. Parmi les
variantes testées, c'est l'utilisation de cette transformée conjointement avec le seuillage
dur défini dans [21] pour l'obtention du signal pilote qui conduit aux moindres erreurs
pour toutes les mesures effectuées.
33
3. Mesures numériques de la qualité du débruitage: signaux ECG réels perturbés
par du bruit artificiel
Afin d'évaluer d'une manière objective la qualité de la méthode proposée, en faisant
appel aux mesures classiques utilisées habituellement dans ce sens-là, on a ajouté du bruit
généré artificiellement sous Matlab sur un nombre de 5 signaux de la notre base de données.
Les signaux ont été choisis parmi les plus "propres" possible et avec des morphologies
différentes. Pour évaluer les résultats, on a calculé le RSB à la sortie du système de
débruitage, tant pour le signal ECG dans son ensemble que pour les segments correspondant à
l'onde P. Le bruit a été généré par l'intermédiaire d'un processus AR de second ordre, le signal
perturbateur ainsi résulté étant un bruit coloré, destiné à simuler le bruit physique large bande
de type EMG. La formule utilisée dans ce but est:
n[k ] = 1.89 ⋅ n[k − 1] − 0.97 ⋅ n[k − 2] + b[k ]
(3.17)
où b[k] est une réalisation d'un processus blanc, gaussien, de moyenne nulle. Sa variance a été
modifiée afin d'obtenir des RSB compris entre 10 dB et 30 dB, comment arrive souvent pour
les signaux ECG acquis avec du bruit. Pour calculer le RSB à la sortie du système, on a
considéré comme "signal erreur" la différence entre le signal original et le signal débruité et
on a appliqué la formule:
N
RSBsortie = 10 ⋅ lg
∑ ( x ( n) )
2
n =0
⎛⎜ x∧ (n) − x(n) ⎞⎟
∑
⎠
n =0 ⎝
N
2
(3.18)
∧
où x(n) représente le signal initial (sans bruit) et x(n) est le signal à la sortie du système,
avec N+1 échantillons pris en compte. La longueur totale du chaque signal est de 40000
échantillons. Pour chaque valeur du RSB, la simulation a été répétée 10 fois et les résultats
ont été moyennés. Le calcul du RSB pour l'onde P (PRSB) utilise toujours la relation (3.18),
en prenant en considération seulement les échantillons qui, conformément à la segmentation
manuelle du médecin, appartiennent à l'onde P. En connaissant la forme non-bruitée du
chaque signal, on a été capable de régler le nombre d'itérations de la méthode de manière à
maximiser la valeur du RSB. Ainsi, après chaque itération, le RSB à la sortie est calculé selon
34
la formule (3.18) et il est comparé avec le RSB précédent. Si la valeur indique une
amélioration des performances face à l'itération antérieure, une nouvelle itération est réalisée,
sinon on s'arrête. En général, le maximum a été atteint après pas plus de 3-4 itérations.
Dans la figure 3.9, la dépendance entre le RSB respectivement à l'entrée et à la sortie
du système est illustrée, pour les quatre variantes de notre méthode. A chaque RSB pris en
compte, les résultats ont été moyennés pour les 5 signaux, afin d'obtenir une courbe unique
pour chaque méthode. Les résultats sont comparés en même temps avec ceux obtenus par N.
Nikolaev et A.Gotchev dans des conditions quasi similaires.
Note:
G1: Méthode dans [10]
G2: Méthode dans [11]
G3: Méthode dans [12]
Fig. 3.9: La dépendance entre le RSB à l'entrée et à la sortie du système pour les
méthodes proposées. Comparaison avec les performances des autres systèmes.
On observe que les meilleures performances sont obtenues pour les méthodes qui utilisent la
TODIT, qui fournissent un gain d'environ 0.5 dB face aux variantes qui utilisent la TODDE.
Cela peut être expliqué par les performances excellentes qui ont été déjà démontrées pour
cette transformée invariante à la translation. Il faut noter que cette transformée, implémentée
par l'instruction Matlab fwt_ti, réalise le moyennage de toutes les M=4096 permutations
circulaires du signal bruité. La TODIT est implémentée par Donoho et Coifman [19] sous la
forme d'un algorithme rapide qui demande seulement M log M opérations, où M est la taille
de la TOD. Parmi les résultats des autres méthodes, c'est seulement la méthode dans [11] qui
35
fournit des résultats comparables, mais cette méthode demande des opérations préliminaires
relativement complexes, comme la séparation des battements et leur alignement.
En ce qui concerne les performances du débruitage de l'onde P (voir le tableau 3.2), un
Tableau 3.2: Les performances du débruitage de l'onde P
Signal
RSB
entrée
1.
2.
3.
4.
5.
TODDE-1
TODDE-2
TODIT-1
TODIT-2
PSNR
PSNR
PSNR
PSNR
PSNR
PSNR
PSNR
PSNR
entrée
sortie
entrée
sortie
entrée
sortie
entrée
Sortie
10
-1.96
11.38
-2.03
11.81
-1.95
12.54
-1.93
12.33
14
2.03
12.83
2.01
13.53
1.99
14.91
2.06
14.69
18
6.02
14.79
6
15.48
5.93
17.01
6
17.11
22
10.05
17.16
10.01
17.61
9.99
19.49
10.01
19.58
26
14
19.58
13.98
19.87
13.94
22.15
13.97
22.24
10
-6.69
7.64
-6.72
7.67
-6.76
8.00
-6.78
8.21
14
-2.81
9.02
-2.74
9.35
-2.71
9.95
-2.75
9.65
18
1.27
10.59
1.29
10.85
1.26
11.43
1.30
11.54
22
5.27
12.82
5.22
13.14
5.22
14.6
5.30
14.77
26
9.23
15.8
9.26
16.39
9.23
17.96
9.21
17.93
10
-6.17
7.72
-6.16
7.81
-6.17
7.82
-6.19
7.98
14
-2.18
10.03
-2.15
10.17
-2.17
10.86
-2.17
10.65
18
1.76
12.89
1.83
13.08
1.83
13.77
1.85
13.84
22
5.82
15.89
5.85
16.18
5.79
16.72
5.81
16.93
26
9.76
18.47
9.77
18.95
9.81
19.81
9.8
19.75
10
-7.37
8.94
-7.33
9.32
-7.5
10.00
-7.29
9.97
14
-3.43
11.54
-3.3
11.42
-3.37
12.34
-3.28
12.34
18
0.606
13.04
0.59
13.73
0.55
14.47
0.58
14.72
22
4.73
15.63
4.55
15.78
4.59
17.16
4.56
17.45
26
8.63
17.64
8.64
18.02
8.76
19.97
8.51
20.08
10
-9.03
6.89
-9.03
6.89
-8.98
7.38
-8.97
7.67
14
-4.98
9.69
-5.03
9.67
-5.01
10.03
5.01
10.25
18
-1.08
11.42
-1.03
11.69
-1.01
12.35
-1.06
12.31
22
2.92
12.88
3.01
13.38
2.97
13.93
2.98
13.89
26
6.94
14.24
7
14.7
6.94
15.2
6.97
15.87
moyennage des résultats pour les 5 signaux afin d'obtenir une courbe unique n'est pas
désirable. En effet, pour la même valeur du RSB global (pour l'ensemble du signal), le PRSB
à l'entrée du système (et par conséquent à sa sortie) peut varier significativement. Ce fait est
causé par les variations de l'énergie de l'onde P par rapporte à l'énergie du battement pour
36
deux patients différents et même pour le même patient au cours du temps. C'est la raison pour
laquelle un moyennage dans ce cas ne serait pas relevant. Notons tout de même que
l'amélioration du PRSB est importante pour toutes les méthodes étudiées. Les meilleures
performances sont obtenues toujours pour l'utilisation de la TODIT et les différences pour les
deux types de seuillage testés sont négligeables. Dans la figure 3.10, on a illustré les résultats
du débruitage pour le signal numéro 1, en utilisant les quatre variantes de la méthode
proposée.
Fig. 3.10: Les performances du débruitage pour l'onde P, le signal numéro 1.
Notons enfin que les cinq signaux utilisés pour les simulations dont les résultats ont
été illustrés ci-dessus sont: p1c2 (signal 1), p1c8 (signal 2), p1c21 (signal 3), p18c18 (signal
4), p4c1 (signal 5).
37
4. L'effet du débruitage sur la segmentation automatique de l'onde P, dans des
conditions de bruit relativement fort
Après avoir étudié l'effet de la procédure de débruitage sur les signaux de la base CHU
de Brest, qui sont en général peu bruités, on a décidé de mener une étude en ce qui concerne
l'effet du débruitage sur la segmentation dans des conditions relativement précaires. On a
ajouté dans ce but du bruit coloré, généré par la formule 3.17 sur un nombre de 5 signaux de
test. On a considéré une variation du RSB entre 10 et 20 dB. Pour la région de l'onde P, ça
signifie toujours des valeurs du PRSB à l'entrée du système qui sont inférieures à 5 dB, et
même, dans la plupart des cas, moindres que 0 dB, selon les résultats illustrés au tableau 3.1.
Les signaux ont été choisis parmi ceux pour lesquels la segmentation fonctionne d'une
manière acceptable, c'est à dire les erreurs de segmentation sont réduites. A chaque RSB pris
en compte, la simulation a été répétée dix fois, et les résultats ont été moyennés. La référence
dans chaque cas est l'erreur de segmentation pour le signal "propre" (sans du bruit ajouté
artificiellement). Pour la procédure de débruitaje, on a testé les variantes de la méthode
proposée qui utilisent la méthode de seuillage présentée dans [21], avec 5 niveaux de
décomposition de la TOD et avec un nombre d'itérations de la méthode qui maximise le RSB.
Les résultats sont montrés dans le tableau 3.3. En général, on ne peut pas faire une
délimitation nette entre les performances des deux transformées (TODIT et TODDE). La
méthode TODIT-2 fournit des résultats supérieurs pour les signaux 1 et 3, tandis que pour les
autres signaux les résultats varient: pour des RSB jusqu'à 14dB la méthode TODIT-2 reste la
meilleure, mais pour les RSB plus grands c'est l'autre méthode qui s'avère plus efficace.
Cependant, significatif est le fait que, avec une seule exception (le signal 2, la méthode
TODDE-2), les erreurs moyennes de début et de fin des ondes sont toujours inférieures au
seuil d'erreur toléré (25 ms), ce qui démontre que la méthode de débruitage est bien efficace
dans des conditions de bruit assez fort. Il faut néanmoins payer attention à un autre détail:
dans certains cas, l'erreur de segmentation recommence à augmenter pour les RSB de 20 dB
(et parfois même moins de 20 dB). Cet inconvénient est causé par le nombre de niveaux de
décomposition de la TOD qui ont été débruités (5 niveaux). Il faut noter que pour les signaux
ECG avec un RSB "normal", le nombre de niveaux débruités a été de 4 (c'est le cas pour les
testes envisageant l'erreur de segmentation, testes effectués sur les signaux de la base CHU).
On recommande donc un nombre réduit d'itérations pour le débruitage des signaux qui ne sont
pas très affecté par le bruit. De l'autre côté, c'est pour les ondes P de faible amplitude que le
38
Tableau 3.3: Les effets du débruitage sur le RSB dans des conditions de bruit fort
Signal
RSB
entrée
1.
2.
3.
4.
5.
TODDE-2
Erreur
Erreur
début
TES
TODIT-2
Référence
Erreur
Erreur
fin
début
fin
[msec]
[msec]
[msec]
[msec]
10
14.78
15.93
0.34
Err. déb.
15.07
12
10.95
13.92
0.23
2.83
14
10.96
10.23
0.18
16
7.83
9.29
18
7.5
20
TES
Référence
13.82
0.35
Err.déb.
5.93
11.66
0.13
3.11
Err.fin.
7.00
9.9
0.13
Err.fin.
0.06
4.75
5.95
8.93
0.12
4.40
9.7
0.09
TES
5.21
7.65
0.04
TES
8.64
9.86
0.1
0
6.02
7.26
0.07
0
10
36.68
17.08
0.54
Err. déb.
38.42
15.06
0.39
Err. déb.
12
29.85
17.35
0.42
12.32
29.95
12.61
0.25
11.88
14
19.66
14.69
0.27
Err. fin
20.34
10.8
0.18
Err. fin
16
20.57
14.66
0.20
7.61
15.11
7.84
0.09
5.57
18
15.04
12.37
0.12
TES
17.04
9.99
0.09
TES
20
15.78
11.91
0.11
0.05
16.11
10.49
0.09
0.05
10
6.86
10.09
0.13
Err. déb.
5.53
6.03
0.06
Err. déb.
12
6.78
7.76
0.09
5.16
4.69
5.77
0.01
4.86
14
6.59
6.42
0.02
Err. fin.
4.22
4.54
0.01
Err. fin.
16
5.78
5.30
0.03
3.4
4.67
4.11
0
3.00
18
6.26
5.08
0.01
TES
4.70
4.02
0
TES
20
6.12
5.54
0.01
0
4.86
3.36
0
0
10
13.55
14.75
0.28
Err. déb.
8.17
10.2
0.11
Err. déb.
12
10.01
13.89
0.25
5.01
7.48
8.38
0.07
4.39
14
6.32
14.27
0.16
Err. fin
5.92
9.54
0.09
Err. fin
16
6.35
8.91
0.05
4.52
5.29
6.91
0.05
4.15
18
5.5
7.96
0.02
TES
5.69
6.18
0.04
TES
20
6.65
7.07
0.05
0
9.28
6.30
0.1
0
10
12.05
9.08
0.11
Err. déb.
10.21
9.24
0.16
Err. déb.
12
11.35
7.61
0.1
5.09
10.34
7.60
0.12
4.98
14
11.44
8.01
0.1
Err. fin
9.29
6.99
0.11
Err. fin
16
9.81
6.90
0.06
3.46
8.47
5.26
0.08
4.75
18
9.73
5.94
0.08
TES
9.16
6.29
0.09
TES
20
9.44
5.11
0.06
0
8.32
4.39
0.07
0
débruitage s'avère le plus influent. Dans les figures 3.11 et 3.12, on a illustré deux situations
sensiblement différentes. Pour le signal 2, qui présente une onde P d'amplitude réduite
39
(fig. 3.11 a), la variation de l'erreur moyenne de début avec l'augmentation du RSB est
significative pour les deux méthodes (plus de 20 ms). Par contre, pour le signal 5 (onde P
proéminente, fig.3. 12 a) la plage de variation de l'erreur de début est de moins de 3 ms. En
bas des figures on a indiqué avec ligne continue l'erreur de segmentation pour les signaux
originaux (non-affectés par le bruit généré artificiellement).
a)
b)
Fig. 3.11: Le signal ECG originel avec onde P de faible amplitude (a) et la variation de son
erreur de segmentation (b) en fonction du RSB à l'entée du système de débruitage.
a)
b)
Fig. 3.12: Le signal ECG originel avec onde P proéminente (a) et la variation de son
erreur de segmentation (b) en fonction du RSB à l'entrée du système de débruitage.
40
La conclusion qu'on peut tirer des résultats présentés dans cette section c'est que la méthode
de débruitage proposée s'avère efficace dans des conditions de RSB précaires et que, par
conséquent, son utilisation va permettre la segmentation correcte des signaux affectés par du
bruit. De l'autre côté, cette fois ci, la supériorité des méthodes utilisant la TODIT ne peut pas
être mise en évidence. Les deux transformées utilisées dans la deuxième étape de l'algorithme
de débruitage ont fourni des résultats en général similaires.
Notons enfin que les signaux de test utilisés sont les suivants: p10c17, p1c8, p6c7,
p6c3, p2c15, désignés sous les noms de signal 1 jusqu'au signal 5.
41
CHAPITRE 4
LA SEGMENTATION AUTOMATIQUE DU SIGNAL ECG
La segmentation du signal ECG consiste dans l'identification précise des points de
début et de fin des ondes élémentaires qui composent le signal ECG (il s'agit surtout des
ondes P et T et du complexe QRS). D'une manière générale, la tache est très complexe,
puisque la morphologie des ondes varie beaucoup entre plusieurs individus et même pour le
même individu au cours du temps. En outre, cette morphologie dépend aussi des anomalies du
cœur et de la dérivation choisie pour l'enregistrement du signal.
Les approches de segmentation automatique se regroupent dans deux catégories:
approches heuristiques et approches statistiques. Les premières essayent de poursuivre en
quelque sorte le raisonnement du médecin. Elles établissent des règles qui fonctionnent d'une
manière hiérarchique et qui décident le résultat de la segmentation.
Les approches statistiques reposent sur un apprentissage effectué sur une base de
données. Les paramètres relevants du signal ECG sont décrits (suite à la phase
d'apprentissage) du point de vu statistique et la segmentation s'appuie sur cette description. La
méthode de segmentation proposée par les auteurs dans [3], [4] se retrouve dans la deuxième
catégorie de méthodes. Une courte description de cette méthode sera esquissée dans la suite.
4.1 LA METHODE AMC-ONDELETTES
C'est Crouse [22] qui a eu pour la première fois l'idée de modéliser la dépendance inter
– échelle qui existe entre les coefficients de la transformée en ondelettes sous la forme d'un
arbre de Markov caché dans le domaine des ondelettes. Cette approche repose sur deux
propriétés dites "secondaires" de la TOD:
• Le groupement( P1 ) : Si un coefficient d’ondelettes a une amplitude grande
respectivement petite, alors le coefficient qui lui est adjacent a une forte chance
d’avoir lui-aussi une amplitude grande respectivement petite.
42
•
La persistance ( P2 ): Les valeurs des coefficients d’ondelettes (tant les valeurs
grandes que les valeurs petites) tendent à se propager d’une échelle à l'autre (des
coefficients "parents" vers les coefficients "enfants").
L’idée de Crouse était d’associer à chaque coefficient d’ondelettes un état qui mesure son
énergie et de lier ces états par l'intermédiaire d'un arbre probabiliste qui capture les
dépendances qui existent entre échelles de la transformée en ondelettes. L'idée de définir
l'énergie comme état caché repose sur la signification des valeurs des coefficients de la TOD:
la plupart des coefficients ne contient pas d'information utile liée au signal (et par conséquent
ceux-là ont des valeurs petites et aléatoires), tandis qu'il y a quelques coefficients (avec une
amplitude importante) représentant l'information significative liée au signal.
Vu les observations ci-dessus, Crouse a connecté les états des coefficients (attention: il
s'agit des états, pas des coefficients eux-même!) dans un arbre probabiliste, qui fait la liaison
entre les niveaux de résolution successifs de la TOD (la figure 4.1) :
Fig. 4.1: Arbre de Markov entre les états cachés: cercle noir- coefficients d’ondelettes (les
"observations" du modèle), cercle blanc- états cachés (l'énergie du coefficient ).
Le fait que l'état de chaque coefficient est "caché" signifie qu'il n'est pas directement
observable (dans notre cas les observations sont les coefficients de la TOD). Dans la plus
simple forme du modèle, chaque coefficient wi de la TOD peut se trouver dans l'état "hauteénergie", avec la probabilité PiH ou "basse-énergie", avec la probabilité PiB. La fdp
conditionnelle correspondant à chaque état est une gaussiene avec la moyenne μ iB , H et la
variance (σ iB , H ) 2 et par conséquent la fdp du chaque coefficient est:
43
fW ( wi ) = Pi H ⋅ gauss ( wi , μ iH , (σ iH ) 2 ) + Pi B ⋅ gauss ( wi , μ iB , (σ iB ) 2 )
(4.1)
où la notation "gauss" indique la fonction gaussienne. Dans la figure 4.2 on a esquissé la
forme d'un tel mélange.
Fig. 4.2: Modélisation de la densité de probabilité des observations.
Si on généralise le nombre d'états du modèle (jusqu'au présent on a parlé de M=2
états), alors les paramètres du modèle AMC-Ondelettes seront [22]:
1. p S1 (m) : la densité de probabilité discrète pour le nœud "parent" (le nœud situé au sommet
de l'arbre, qui engendre tous les autres nœuds). Pour chaque état particulier m, la valeur de
cette fonction mesure la probabilité que le nœud racine soit dans l'état respectif. En pratique,
il s'agit d'un vecteur de M valeurs.
2.
ε
mr
i , ρ (i )
= pSi S ρ ( i ) (S i = m S ρ ( i ) = r ) : la matrice de transition entre les états. Elle marque la
probabilité que le nœud i soit dans l'état m, étant donné que son parent (noté par ρ(i)) est dans
l'état r. Il s'agit d'une matrice carrée de taille MxM qui est définie pour chaque nœud de
l'arbre, sauf le nœud racine (pour lui n'existe plus un nœud parent, donc la définition perte son
sens). Après une étude expérimentale, les auteurs dans [3-4] ont opté pour la valeur M=3.
3. μ im , (σ im ) 2 : les paramètres de chaque loi gaussienne. Pour chaque nœud on définit deux
vecteurs de dimension M qui comprennent ces paramètres.
44
Tous les paramètres seront regroupés dans un vecteur θ. Pour chaque onde qui compose le
signal ECG (les segments isoélectriques y compris) les paramètres sont "appris" à partir d'une
base d'apprentissage. La base d'apprentissage comprend des signaux déjà segmentés (par les
cardiologues), fait qui ouvre la possibilité d'exécuter le processus d'apprentissage pour chaque
onde en particulier. Le résultat de l'étape d'apprentissage (implémentée par l'intermédiaire
d'un algorithme de type EM- Expectation-Maximisation) sera, pour chaque onde, le modèle
qui la décrit le mieux. Les observations sont les coefficients de la TOD de Haar. Vu que le
nombre d'observations d'apprentissage était limité (à cause du nombre limité d'ondes
segmentées manuellement), l'auteur a utilisé une procédure de "tying", qui consiste dans une
sorte de "moyennage" des paramètres pour tous les coefficients appartenant à la même
échelle, ayant pour but d'offrir une certaine robustesse statistique aux paramètres appris [23].
Cela conduit au fait que toutes les coefficients sur le même niveau de décomposition auront
les même paramètres (pour une certaine onde, donc pour un certain modèle). Enfin, comme
l'auteur a prévu cinq segments distincts du signal ECG ( voir la figure 4.3), le résultat du
processus d'apprentissage consistera dans l'apprentissage de ces cinq modèles.
Fig. 4.3: Le modèle dans [3-4] pour la segmentation de l'ECG.
Une fois les modèles appris, l'étape de segmentation est mise en œuvre, en parcourant les pas
suivants:
1. La détection du pic R permet, par l'ouverture d'une fenêtre sur les deux côtés latéraux,
l'isolation d'un seul battement à segmenter.
45
2. Une fois le battement isolé, une nouvelle fenêtre est ouverte afin d'isoler le complexe
QRS. Elle va contenir le complexe QRS et une portion des segments isoélectriques
situés autour de lui.
3. La TOD est appliquée à cette portion de signal, afin d'obtenir les observations wi.
4. La segmentation du complexe QRS est réalisée de la manière suivante:
a. Pour chaque coefficient d'ondelettes, on calcule sa vraisemblance tant au
modèle appris de la ligne isoélectrique (voir la classe C1, fig. 4.3 ) qu'au
modèle du complexe QRS (la classe C3). Le coefficient va être classifié
comme appartenant à l'onde dont le modèle il rassemble le plus. La
vraisemblance du coefficient à chaque onde envisagée est calculée à l'aide des
variables "avant" et "arrière" (Pour les détails mathématiques de cette
opération, voir [4]).
b. Le processus est répété à chaque échelle de décomposition (il y en a trois dans
le modèle proposé). Dans ce point on dispose de trois séquences de coefficients
classifiés (comme provenant de la TOD de la ligne isoélectrique ou de celle du
complexe QRS), une séquence pour chaque échelle de décomposition de la
TOD. Les résultats de la segmentation pour les trois échelles considérées sont
fusionnés par l'intermédiaire du "contexte". Dans la segmentation, la définition
du contexte demande l'utilisation des deux propriétés secondaires de la
transformée en ondelettes (le groupement et la persistance) afin d'augmenter la
robustesse de la segmentation. Le résultat de cette fusion sera un seul vecteur
qui contient la classification de chaque coefficient d'ondelette de la première
échelle. Grâce à la fusion réalisée, cette classification rassemble l'information
fournie par toutes les classifications partielles (pour chacune des trois échelles)
c. Les résultats seront translatés dans le domaine du temps, en utilisant la
correspondance immédiate qui existe entre une échelle de la TOD et le
domaine temporel. Chaque échantillon sera classé comme appartenant soit au
complexe QRS soit à la ligne isoélectrique
5. En utilisant le début du QRS (déterminé auparavant), on ouvre une nouvelle fenêtre à
la gauche du complexe QRS, fenêtre qui contienne l'onde P et la ligne isoélectrique.
La procédure de segmentation est reprise exactement selon l'algorithme décrit cidessus, cette fois-ci pour les classes C1 et C2.
6. L'onde T est segmentée en utilisant une fenêtre ouverte à la droite du complexe QRS,
fenêtre qui inclut les classes C4 et C5.
46
Pour résumer, la segmentation repose sur un "fenêtrage" du battement, et chaque onde utile
est alors détectée en faisant le choix (basé sur le calcul de la vraisemblance des échantillons
aux modèles envisagés) entre seulement deux variantes possibles (onde "utile" ou segment
isoélectrique).
Dans la figure 4.4 on a illustré le fonctionnement de la procédure de segmentation pour l'onde
P: les décisions prises indépendamment pour les premières trois échelles, le résultat fournit
par la fusion et finalement les points détectés de début et de fin de l'onde P.
échelle 3
échelle 2
échelle 1
fusion
segmentation onde P
Figure 4.4: Le fonctionnement de la méthode de segmentation.
4.2 L'AMELIORATION DE LA METDODE DE SEGMENTATION
La méthode proposée par S. Graja et J. M. Boucher [3,4] fournit des résultats notables
pour la segmentation automatique des ondes du signal ECG. Ce travail est le premier qui
repose sur les liens inter-échelle et intra-échelle des coefficients d'ondelettes. Cette méthode
cherche à contrebalancer les inconvénients des autres méthodes élaborées auparavant [1], [2].
Dans les deux travaux, les auteurs modélisent le battement cardiaque sous la forme d'une
succession d'états, chaque état marquant une onde élémentaire ou bien une portion d'une onde
élémentaire. Dans [1], [25], le critère de classification est la pente du signal, remplacée dans
la deuxième thèse par les coefficients d'ondelette de Haar (qui donnent eux-mêmes une bonne
47
approximation de la pente).
Le travail de Ronan Le Page utilise donc les coefficients
d'ondelette et la succession des ondes élémentaires
pour segmenter le signal par
l'intermédiaire d'une chaîne de Markov caché (CMC). C'est toujours sur une CMC dans le
domaine des ondelettes que la méthode proposée dans [25] repose. Après l'implémentation
d'un modèle dit "générique", appris sur une base de données, le modèle améliore ses
performances grâce à l'adaptation au patient. Néanmoins, ni ce modèle ne prend pas en
compte la dépendance qui existe entre les coefficients situés sur deux niveaux de résolution
différents. De l'autre côté, le modèle de Crouse, implementé par Salim Graja connecte les
coefficients (en fait leurs états cachés, pour être rigoureux) dans un arbre probabiliste et utilise
les dépendances inter-échelles pour faire la segmentation. Le défaut du modèle est qu'il ne
prend pas en considération l'information "temporelle" intrinsèque offerte par la structure du
signal ECG. En effet, tous les signaux ECG présentent une forme quasi-périodique, étant
composés d'ondes qui se répètent pour chaque battement en particulier.
La question issue immédiatement des observations faites ci-dessus est la suivante:
comment profiter simultanément des caractéristiques temporelles du notre signal à chaque
échelle d'ondelettes (comment le modèle CMC temporelle le fait) et du lien existant entre les
échelles de coefficients de la transformée en ondelettes (le modèle AMC). Cette question peut
être reformulée plus "concrètement" de la manière: comment combiner les deux modèles:
CMC "temporelle" et AMC?
On va répondre graduellement à cette question en passant en revue les éléments qui
composent une chaîne de Markov cachée [26] et en soulignant la manière dont ils pourraient
être mis en correspondance avec l'arbre de Markov caché.
4.2.1
LA METHODE PROPOSEE
On va donc commencer avec les éléments qui composent une chaîne de Markov cachée.
Ces éléments sont énumérés dans [26] comme étant:
1. L’ensemble des N états du modèle : Q = ( S i / i = 1,.., N ) ou S i représente l’état i. Cette
fois-ci, l'état du modèle qui continue à rester "caché" est l'onde élémentaire-même (pas
l'énergie du coefficient, comme dans le modèle AMC). Dans le cas pratique, N sera
égal avec le nombre d'états considéré pour modéliser le battement.
2. La matrice des probabilités de transition : A = (aij / i = 1..N ; j = 1..N ) avec aij étant la
probabilité de passer de l’état S i à l’instant t − 1 à l’état S j à l’instant t. C'est l'élément
48
qui "capture" l'évolution temporelle du signal. Strictement lié à la matrice A, il y a la
possibilité de calculer la probabilité que le modèle reste dans un même état i pour d
observations consécutives: pi (d ) = (aii ) d −1 (1 − aii ) . Cela peut "corriger" les tendances
du modèle AMC de rester dans un état pour trop longtemps, par exemple.
3. La
distribution
de
probabilité
des
observations
à
l'intérieure
d'un
état:
B = (bi ( x ) / i = 1..N ) avec bi ( x ) = f (x S i ) la densité de probabilité de l’observation x à
l’instant t, si à cet instant t, le modèle est dans l’état S i . C'est en fait l'élément clef qui
peut connecter les deux modèles. En effet, la valeur de cette distribution pour une
observation particulière (x=xi) n'est rien d'autre que ce qu'on a appelé pour le modèle
AMC "la vraisemblance du coefficient x=xi à la classe (voire onde) S=Si"; elle est
calculée lors de l'étape de segmentation par l'AMC.
4. Le vecteur des probabilités des états initiaux : Π = (π i i = 1..N ) avec π i = P(S i , t = 0)
la probabilité que le modèle soit dans l’état S i à l’instant t = 0 .
L'idée qui surgit est donc de lier les deux types de modèles probabilistes par l'intermédiaire de
la densité de probabilité bi(x), idée mentionnée dans [4]. Vu que les essaies dans [4] n'ont pas
apporté les résultats attendus (à cause des problèmes de normalisation des ondes, sur lesquels
on reviendra plus tard), on a cherché dans le présent travail de s'appuyer davantage sur le
modèle AMC-Ondelettes déjà testé. On a essayé donc dans une première étape de ne renoncer
pas au fenêtrage effectué avant la segmentation. Par conséquent la nouvelle méthode reposera
en fait sur l'utilisation successive de trois modèles distincts:
-
Un modèle pour la détection du complexe QRS qui prend en compte seulement les
classes C1 et C3 (fig. 4.3);
-
Un modèle pour la segmentation de l'onde P qui sépare les classes C1 et C2 ;
-
Un autre modèle pour la segmentation de l'onde T et qui doit faire le choix entre le
classes C4 et C5;
Chaque tel modèle peut être représenté d'une manière symbolique comme dans la figure 4.5:
a11
Etat 1
a21
a12
a22
Etat 2
Fig. 4.5: La représentation symbolique du modèle proposé.
49
La manière de représentation utilisée dans la figure 4.5 illustre deux aspects importants:
-
derrière chaque état (voire onde) on retrouve le modèle AMC, qui fournit la
distribution de probabilité conditionnelle "à l'intérieur" de chaque état;
-
l'aspect temporel de la chaîne est modélisé par l'intermédiaire des probabilités de
transition aij .
La classification (voire la segmentation dans notre cas) par l'intermédiaire d'une chaîne de
Markov
temporelle demande tant l'apprentissage du modèle que l'implémentation d'un
algorithme de décodage. Une courte description théorique des deux problèmes est donnée
dans la suite.
a. L'apprentissage du modèle CMC temporel
Dans la suite, on va noter par Oi l'observation effectuée au moment t=i et par qi l'état
(caché) du modèle au moment t=i. π1(i) sera la probabilité qu'au moment initial (t=1) l'état du
système soit q1=Si. La phase d'apprentissage a pour but de trouver l'ensemble de paramètres
(A- matrice de transition des états, B- la densité de probabilité "à l'intérieur" d'un état et Π )
qui caractérise "le mieux" le modèle. Les paramètres seront réunis sous un seul vecteur noté
par λ, donc λ=(A,B,Π). On cherche alors le modèle dit "optimal". Pour parvenir à résoudre
cette tache, il faut définir et calculer d'abord deux variables intermédiaires: la variable
"arrière" et la variable "avant". Cela impose la nécessité d'utiliser un algorithme de type
"forward- backward" (avant- arrière) [26]. L'algorithme sera explicité dans la suite:
Procédure avant : on considère la variable " avant " α t (i ) définie par :
α t (i ) = P(O1 , O2 ,..., Ot , qt = S i λ )
1-Initialisation : α 1 (i ) = π 1 b(O1 )
1≤ i ≤ N
2-Récursion:
α t +1 ( j ) = P (O1 ,..., Ot , Ot +1 , qt +1 = S j λ ) = ∑ P (O1 , O2 ,..., Ot , Ot +1 , qt = S i , qt +1 = S j λ )
N
i =1
50
α t +1 ( j ) = ∑ P (Ot +1 , qt +1 = S j O1 , O2 ,..., Ot , qt = S i , λ ) P(O1 , O2 ,..., Ot , qt = S i λ )
N
i =1
(
)
= ∑ P Ot +1 qt +1 = S j , λ P (qt +1 = S j qt = S i , λ )α t (i )
N
i =1
N
= ∑ b j (Ot +1 ) aij α t (i )
i =1
⎡N
⎤
Et donc : α t +1 ( j ) = ⎢∑ α t (i ) aij ⎥ b j (Ot +1 )
⎣ i =1
⎦
1 ≤ t ≤ T-1, 1 ≤ j ≤ N
3-Finalisation
P (O λ ) = ∑ α T (i )
N
(4.1)
i =1
Notons que la procédure "avant" nous fournit comme résultat supplémentaire la probabilité de
la séquence d'observations étant donné le modèle (l'équation 4.1) et qu c'est juste cette
fonction qui doit être maximisée selon λ afin de trouver le modèle dit "optimal".
Procédure arrière : On considère la variable " arrière " β t (i ) définie par :
β t (i ) = P(Ot +1 , Ot + 2 ,..., OT qt = S i , λ )
1-Initialisation : β T (i ) = 1
1≤ i ≤ N
2-Récursion:
N
β t (i ) = ∑ aij b j (Ot +1 ) β t +1 ( j )
t = T − 1, T − 2,...,1
1≤ i ≤ N
et
(4.2)
j =1
Une fois les variables "avant" et "arrière" calculées, le processus d'apprentissage peut
démarrer. On cherche une méthode pour ajuster les paramètres du modèle afin qu’il soit
optimal. On définit dans ce but ξ t (i, j ) = P (qt = S i , qt +1 = S j O, λ ) qu’on peut l’exprimer par :
ξ t (i, j ) =
α t (i ) aij b j (Ot +1 )β t +1 ( j )
=
P (O λ )
α t (i ) aij b j (Ot +1 )β t +1 ( j )
N
N
∑∑ α (i )a b (O )β ( j )
i =1 j =1
t
ij
j
t +1
(4.3)
t +1
Nous pouvons également définir γ t (i ) comme la probabilité d’être sans l’état S i à l’instant t
connaissant la séquence d’observations et le modèle: γ t (i ) = P (qt = S i O, λ )
51
Ce terme peut s’exprimer en fonction des variables " avant " et " arrière " et, par la suite, en
fonction de ξ t (i, j ) :
γ t (i ) =
N
α t (i )β t (i )
α (i )β t (i )
= N t
= ∑ ξ t (i, j )
P (O λ )
∑ α t (i )β t (i ) j =1
(4.4)
i =1
On obtient ainsi les formules de ré-estimation suivantes :
π i = γ 1 (i )
(4.5 a)
T −1
aij =
∑ ξ (i, j )
t =1
T −1
t
∑ γ (i )
t =1
(4.5 b)
t
Notons que, normalement, l'apprentissage du modèle inclut l'estimation des densités de
probabilité conditionnelles regroupées dans la matrice B. Mais, pour notre modèle, ces
probabilités ont été déjà "optimisées" lors de la phase de segmentation par l'AMC. Par
conséquent les seuls paramètres qui restent à apprendre sont ceux dont la version optimale est
exprimée par les formules 4.5 (a et b).
b. Le décodage de la séquence d'observations
La procédure de décodage a pour but de "dévoiler" les états qui sont cachés derrière les
observations. Le résultat sera la succession d'états la plus "plausible". Par l'intermédiaire du
décodage, à chaque coefficient d'ondelette (voire observation) sera attribué un état (voire onde
dont il appartient), fait qui conduit tout de suite à la segmentation du signal ECG.
D'une manière plus concrète, le problème peut être formulé ainsi: nous disposons de la
séquence d’observations O = O1O2 ...OT et nous voulons trouver la séquence d’états la plus
probable Q = Q1Q2 ...QT . Dans ce but on définit la quantité :
δ t (i ) = MAX [P(q1 q 2 ...qt = S i , O1O2 ...Ot λ )] . Il s'agit du meilleur résultat (la séquence d'états
q1 , q2 ,..., qt −1
la plus probable) selon un seul chemin (celui qui se compose des t premières observations et
se termine dans l’état S i ).
52
1-initialisation :
2-Itération :
δ 1 (i ) = π i bi (O1 )
ψ 1 (i ) = 0
[
1≤ i ≤ N
]
δ t ( j ) = MAX (δ t −1 (i ) aij ) b j (Ot )
1≤i ≤ N
1 ≤ j ≤ N, 2 ≤ t ≤ N
ψ t ( j ) = ARGMAX (δ t −1 (i ) aij )
1≤i ≤ N
3-Terminaison :
P * = MAX (δ T (i ))
1≤ i ≤ N
q = ARGMAX (δ T (i ))
*
T
4-Recherche arrière du chemin (séquence d’états) :
qT* = ψ t +1 (qt*+1 )
t = T - 1, T - 2,...,1
(4.6)
L'identification de la séquence d'états la plus probable conduira à la segmentation du signal.
La chaîne de Markov cachée a été implémentée sous Matlab, fait qui a permis le
fonctionnement du modèle combiné AMC-CMC indiqué dans la figure 4.5. Quelques
observations regardant son implémentation pratique s'imposent:
-
La phase d'apprentissage est effectuée pour chaque signal en particulier, fait qui est le
contraire du processus d'apprentissage pour l'arbre de Markov caché, où
l'apprentissage a été fait à partir d'une base de données, engendrant un modèle
purement "générique". Parmi les éléments de la CMC, c'est seulement la matrice B qui
a été apprise sur une base, grâce au fait qu'elle est obtenue lors de la phase de
segmentation avec l'AMC.
-
La chaîne a été appliquée pour les trois échelles séparément et finalement les résultats
ont été soumis au processus de fusion entre échelles basée sur le contexte.
L'évaluation des performances du nouveau modèle
Afin d'évaluer les performances de la méthode proposée, on a testé cette méthode pour la
segmentation d'un nombre de 47 signaux de notre base de données, signaux choisis par tirage
au sort. Parmi les patients on retrouve tant des patients normaux, que des patients qui
présentent des "anomalies" de l'activité électrique du cœur (concrètement, il s'agit des
anomalies appelées "flutter" et respectivement fibrillation auriculaire). Un tableau complet
avec les signaux testés se trouve dans l'annexe A2. Les résultats de la méthode AMC-CMC
ont été comparés avec ceux obtenus par la segmentation proposée dans [3], où c'est seulement
l'AMC qui est utilisé pour la segmentation. La méthode a été appliquée pour 20 battements
53
situés au début de chaque signal. La méthode de débruitage utilisée pour pré-traiter les
signaux est TODIT-2, puisqu'elle a fourni les meilleurs résultats globaux (voir les testes
effectués dans le chapitre précédent). Pour le calcul du taux d'erreur de segmentation (TES),
on a pris en compte les mêmes critères que ceux indiqués dans le chapitre dédié au
débruitage: des erreurs moyennes de début et de fin inférieures à 25ms et moins de 10
battements mal-segmentés d'un total de 20 battements considérés per patient. Les résultats
sont indiqués dans le tableau 4.1:
Tableau 4.1: Les résultats de la segmentation par les méthodes AMC et AMC-CMC
Méthode
Signaux
Erreur
Erreur
Taux d'erreur de
correctement
moyenne
moyenne
la segmentation
segmentés
début*
fin*
(TES)*
AMC seulement
31 / 47
11.36 ms
8.29 ms
14.95 %
AMC-CMC
32 / 47
11.04 ms
7.80 ms
14.46%
*Toutes les mesures sont calculées prenant en considération exclusivement les signaux correctement segmentés
Les résultats présentés dans le tableau 4.1 indiquent l'amélioration de la segmentation grâce à
l'introduction de la chaîne temporelle. La deuxième méthode segmente correctement un signal
de plus et le taux d'erreur de segmentation est moindre que celui fournit par l'AMC. Les
erreurs moyennes de début et de fin sont elles-aussi corrigées (il s'agit de 5.9 % facteur de
correction pour l'erreur de fin et de 2.8% pour celle de début). Parmi les 31 signaux communs
entre les deux méthodes (correctement segmentés par les deux), on retrouve 20 signaux pour
lesquels l'erreur moyenne de début est moindre dans le cas de la segmentation par la méthode
combinée AMC-CMC et 17 cas d'amélioration en ce qui concerne l'erreur moyenne de fin. En
outre, si on élimine le signal segmenté seulement par la deuxième méthode (qui se soumit aux
conditions minimale de segmentation correcte, mai qui a tout de même un apport important au
taux d'erreur général), le TES diminue pour la méthode AMC-CMC à 12.98% (ce qui marque
déjà une amélioration significative face à l'autre méthode). Néanmoins, les résultats présentés
dans le tableau 4.1, même si encourageants, n'indiquent pas une amélioration spectaculaire
apportée par l'introduction de la chaîne temporelle. Le principal motif c'est le fait que, parmi
les paramètres de la chaîne temporelle intervient la vraisemblance du coefficient à une
certaine classe (calculée par la méthode AMC). Transposée dans le cas de la CMC, cette
vraisemblance désigne la valeur de la densité de probabilité des observations dans un certain
54
point (pour une certaine observation), étant donnée la classe du modèle (l'onde). Notons bien
que ce paramètre, calculé lors de la phase de segmentation par l'AMC marque parfois une
délimitation si nette entre les deux ondes envisagées, que la chaîne temporelle n'arrive pas à
surmonter les éventuelles erreurs ( où exprimé d'une façon plus simple: la segmentation est
décidée presque entièrement par l'AMC, qui a un poids de décision décisif). De l'autre côté, le
fenêtrage préalable, qui nous aide à résoudre d'une manière très simple le problème de la
normalisation, a également ses inconvénients. En effet, le fenêtrage nous empêche à fructifier
pleinement les caractéristiques temporelles du signal ECG, vu que dans une telle fenêtre il y a
d'information regardant seulement deux ondes différentes.
4.2.2
ETUDES COMPLEMENTAIRES
Vu que les résultats obtenus avec la méthode précédente, même si encourageants, n'ont
pas apporté une amélioration significative face à la méthode AMC-ondelettes, on a cherché à
renoncer au fenêtrage du signal, afin de fructifier toute l'information temporelle fournie par la
forme particulière du signal ECG. On a construit par conséquent une chaîne de Markov
cachée a six états, ayant la topologie indiquée dans la figure 4.6.
ISO
P
PQ
QRS
ST
T
Fig. 4.6: Modèle temporel à six états.
Derrière chaque état se trouve un AMC (voir la figure 4.5), qui aide au calcul de la densité de
probabilité à l'intérieur de chaque classe (onde) de la CMC. Il s'agit d'un modèle assez simple,
qui a une topologie gauche-droite, si on exclut la transition en arrière de l'onde T qui permette
la détection correcte de sa fin (sa transition vers la ligne isoélectrique). On a exécuté d'abord
la phase d'apprentissage pour chaque composante du modèle. Dans la figure 4.7, on montre
les courbes des fdp résultées du processus d'apprentissage, pour les six ondes qui composent
le modèle (il s'agit des coefficients situés sur l'échelle 3 de décomposition de la TOD). Les
deux approches (chaîne et arbre de Markov) ont été combinées de la même manière déjà
explicitée: par l'intermédiaire de la densité de probabilité à l'intérieur de l'état (la fonction
bj(w)) dont la valeur particulière dans un point w=wi désigne la vraisemblance du coefficient
wi à la classe (voire onde) j. On a modifié par conséquent les fonctions qui implémentaient la
55
segmentation par l'AMC, en renonçant au fenêtrage qui précédait la segmentation. Ainsi, dans
chaque point de la TOD du signal ECG, on calcule cette fois-ci la vraisemblance du
coefficient d'ondelette aux six classes constituant le modèle, à la place de considérer
seulement deux classes (suite au fenêtrage).
Malheureusement, les résultats n'ont pas été toujours concluants. Dans la figure 4.7, on
observe la similarité des fdp dans quelques cas: la vraisemblance la plus évidente c'est entre
les segments isoélectriques ST, ISO1 et PQ, dont les fdp sont presque identiques. Parmi les
Fig. 4.7: Les densités de probabilités apprises pour les six classes du modèle: l'échelle 3
de décomposition de la TOD.
composantes utiles, les ondes P et T semblent elles-aussi difficile à séparer. D'ailleurs c'est la
raison qui a poussée l'auteur de [4] vers le fenêtrage du battement. Du point de vu pratique,
un inconvénient issu de ces similarités entre les diverses fdp a été le fait que les échantillons
du début du battement étaient toujours mal classifiés comme appartenant au segment ST, à la
place de la ligne isoélectrique ISO1 dont ils appartenaient en réalité. Ceci faussait toute la
segmentation, puisque la chaîne de Markov poursuivait fidèlement sa succession d'états (à
l'onde ST poursuivait l'onde T etc ). Pour contourner ces difficultés, on a cherché de simplifier
le modèle du point de vu pratique: on a rassemblé toutes les ondes utiles sous une seule classe
et les segments isoélectriques ont été regroupés sous une autre classe.
56
Même avec cette variante simplifiée, le modèle s'avère sensitif au problème de la
normalisation. La simple normalisation par le pic de l'onde P (solution choisie dans [2])
n'arrive pas à traiter correctement tous les battements. Dans la figure 4.8 a) on montre un
battement correctement segmenté (on a normalisé néanmoins par un quart de l'amplitude de
son pic P), tandis que pour le même battement, la normalisation par l'amplitude du pic P
fausse la segmentation (fig. 4.8 b).
a)
b)
Fig. 4.8: Exemple de bonne segmentation (a) et de mauvaise segmentation (b)
pour le même battement (le signal p1c8.mat)
Malgré ces problèmes de normalisation, ce type de modèle ouvre un chemin attractif à
poursuivre. Théoriquement, une association entre un modèle de type arbre (inter-échelle) et
un autre qui capture l'évolution temporelle du signal à travers une échelle peut amener des
résultats satisfaisants, si on arrive à contourner les inconvénients d'ordre pratique.
57
4.3 PROBLEMES SPECIFIQUES RENCONTRES LORS DU STAGE
Sur la durée de mon travail dans le cadre de ce projet, j'ai été mis dans la situation de
reprendre les travaux effectués auparavant dans le domaine du traitement automatique des
signaux ECG, surtout celui du Salim Graja qui a implémenté l'arbre de Markov caché pour la
segmentation des ondes P, QRS et T. Pendant cette étude, on a rencontré des problèmes de
détail qui ont alourdi la finalisation de notre tache. Un grand nombre de ces problèmes ont été
clarifiés par étude personnel ou bien par l'intermédiaire des discussions avec M. J.M. Boucher
et avec M. Salim Graja. Pour faciliter la tache de ceux qui continueront le développement du
sujet, on a prévu un sous-chapitre destiné à clarifier ces éléments "de détail", mais bien
importants du point de vu pratique.
4.3.1
L'APPRENTISSAGE DU MODELE AMC-ONDELETTES
a. La taille fixe des observations
La phase d'apprentissage du modèle AMC-Ondelettes utilise les observations (les
coefficients de la TOD avec l'ondelette mère de Haar) afin de calculer les paramètres du
modèle pour chaque classe (voir la figure 4.3). En essayant à refaire ce processus, c'est à dire
à re-exécuter l'apprentissage du modèle, on a rencontré un problème lié à la taille fixe des
observations. En effet, il est bien connu le fait que l'implémentation de la TOD par
l'algorithme de Mallat impose des restrictions regardant la taille du signal d'entrée: celui-ci
doit être constitué de blocks de données dont la taille a la forme 2m (2,4,8,16,32 etc.). Ce
contraint embarrasse le processus d'apprentissage, vu le fait que les signaux (les ondes) sur
lesquels on est obligé à appliquer la TOD afin d'obtenir les observations ne se soumettent pas
à cette condition de "taille fixe". En effet, l'onde P par exemple, peut avoir en pratique une
durée comprise entre 80 et 140 ms, ce qu'à une fréquence d'échantillonnage de 1000 Hz se
traduit dans un signal qui comprend entre 80 et 140 échantillons. La première solution
considérée a été de "compléter" le signal avec des zéros ajoutés artificiellement, afin d'obtenir
une taille appropriée pour l'application de la TOD, par exemple 128 échantillons. Cela conduit
malheureusement à la troncation de l'histogramme réel des observations, en engendrant un
pic surdimensionné dans 0 (voir la figure 4.9).
Une autre variante (celle d'effectuer un sous-échantillonnage du signal) a été
également repoussée, toujours à cause du fait qu'une telle opération ne garantit pas une taille
58
Fig. 4.9: L'effet sur l'histogramme empirique des observations des zéros ajoutés afin d'obtenir
la taille fixe imposée par la TOD.
fixe et elle va conduire finalement à la même nécessité d'ajouter des zéros. La solution qui a
permis le re-apprentissage du modèle a été la suivante: on se positionne d'abord sur le début
de chaque onde, considérant une fenêtre de 2m échantillons. La TOD est appliquée à ce
fragment de début, et on obtient ainsi un premier set de 2m observations. Un autre set
d'observations, fourni par la même onde d'apprentissage, est puis obtenu en se positionnant
sur la fin de l'onde (les derniers 2m échantillons) et en appliquant la TOD. La procédure est
illustrée dans la figure 4.10.
Début,
2m
échantillons
Fin,
2m
échantillons
TOD
TOD
⎛ w1,1 , w1, 2 ,..., w1, M ⎞
⎟⎟
⎜⎜
⎝ w2,1 , w2, 2 ,..., w2, M ⎠
Fig. 4.10: La modalité d'obtention des observations d'apprentissage.
59
Notons enfin que, vu les caractéristiques temporelles de chaque onde, on s'est décidé pour les
valeurs suivantes de la taille des observations: 64 échantillons pour l'onde P et pour le
complexe QRS, 128 échantillons pour l'onde T et pour la ligne isoélectrique ISO-1 et 32
échantillons pour le segment ST (la classe C4 du modèle décrit par la figure 4.3).
b. La normalisation du battement
La segmentation du signal ECG par l'AMC a relevé un problème tout-particulier: celui
de la normalisation du battement. En effet, la variété de morphologies du signal peut
engendrer des situations bien délicates du point de vu de la segmentation automatique.
L'énergie du battement varie beaucoup d'un patient à l'autre et le rapport peut atteindre plus
que 10. Ainsi, les valeurs des observations (les coefficients d'ondelettes) sont fortement
affectées, ce qui fausse la segmentation. Cela a imposé la construction d'un battement-type et
la normalisation préalable de chaque battement à segmenter, afin de le ramener dans le cadretype prédéfini. Après une étude sur la base de données dont il disposait, Salim Graja a utilisé
les normalisations suivantes:
-
Le complexe QRS est normalisé par 5000, qui est la valeur moyenne de l'amplitude du
pic R de la base;
-
L'onde P est ramenée à une amplitude maximale de 0.1 (chaque onde P est normalisée
par la valeur de son pic et puis chaque échantillon est multiplié par 0.1);
-
L'onde T aura une valeur maximale normalisée de 0.14 (la même procédure est
appliquée que pour l'onde P).
Dans son travail [4], la modalité de normalisation des segments isoélectriques n'est pas
expliquée. Il s'agit tout de même d'une normalisation par 5000. Le problème de la
normalisation des segments isoélectriques reste néanmoins ouvert par la raison suivante: une
telle normalisation ne prend pas en compte les normalisations réelles effectuées lors de l'étape
de segmentation. Par exemple, pour segmenter l'onde P, le modèle doit choisir entre la ligne
isoélectrique et l'onde P. N'oublions pas qu'en préalable, toute la portion de signal comprise
dans la fenêtre d'analyse (voire la ligne isoélectrique y comprise!) est soumise à la
normalisation décrite ci-dessus. Pour fixer les idées, la situation peut être résumée par
l'intermédiaire de la question suivante: est-il correct de normaliser d'une certaine manière
(division par 5000) la ligne isoélectrique lors de la phase d'apprentissage et d'une manière
différente (division par le pic P et multiplication par 0.1) lors de la phase de segmentation?
60
De l'autre côté, lors de la phase de
segmentation,
chaque
battement
(en
premier lieu) et puis chaque onde en
particulier connaît à son tour
a)
une
opération qui "ramène" l'onde à 0.
L'opération est expliquée dans la figure
t
b)
4.11. Pour réaliser la compatibilité entre la
phase
d'apprentissage
segmentation,
et
l'opération
celle
doit
de
être
t
Fig. 4.11: Onde initiale (a), onde ramenée à 0 (b).
effectuée dès la phase d'apprentissage.
4.3.2
LA SEGMENTATION PAR LE MODELE AMC-ONDELETTES
Dans [4], l'auteur a rapporté les résultats obtenus pour la segmentation des signaux de
la base CHU de Brest en utilisant la méthode AMC-ondelettes. Il s'agit d'un taux d'erreur de
segmentation de 13% pour l'onde P, 11% pour le complexe QRS et 1% pour l'onde T.
Pendant mon stage j'ai essayé à retrouver ces résultats, surtout pour l'onde P pour laquelle on
disposait d'un grand nombre de segmentations manuelles. Le set de test a été constitué par 47
signaux ECG de la base CHU, choisis par tirage au sort. J'ai observé que, même si la méthode
fonctionnait bien pour une catégorie de signaux, justifiant les résultats rapportés, il y avait
tout de même un nombre important de signaux pour lesquels la méthode ne fournissait pas des
résultats satisfaisants (erreurs de segmentation de début et de fin d'onde très importants, taux
d'erreur de segmentation de presque 100%). On a essayé d'identifier ensuite les causes qui ont
déterminé l'échec de la segmentation dans chaque cas, afin de se faire une image globale sur
ces causes.
Le critère de décision pour classer un signal comme "correctement segmenté" a été
toujours le même (erreur moyenne de début et de fin inférieure à 25 ms et moins de 10
battements mal segmentés d'un total de 20) . Après un premier test sur le set de 46 signaux, on
a constaté que seulement 25 d'entre eux satisfaisaient les trois conditions nécessaires afin
d'être classé comme "segmentation réussie". Une étude détaillée des signaux mal segmentés
nous a permis d'identifier dans une première phase sept signaux pour lesquels les fichiers de
segmentation manuelle existants sous format Matlab comprenaient quelques erreurs: valeurs
(points de segmentation) erronées, ondes "omises" par la segmentation ou des points de début
61
ou de fin faux. Parmi les autres motifs de l'échec de la segmentation, on a identifié en premier
lieu l'amplitude très petite ou/et la forme spéciale de l'onde P (surtout pour les ondes avec
double bosse). Dans certain cas, on a pu mettre en évidence des oscillations importantes de la
ligne de base ou pics de bruit résiduel qui se superposent sur la ligne de base et qui semblent
déterminer l'échec de la segmentation. Dans les figures suivantes on a exemplifié toutes ces
causes qui faussent la segmentation.
Le signal dans la figure 4.12 présente quelques ondes P pour lesquelles l'erreur de
début est très importante, sans l'existence d'une raison apparente (sans que l'existence d'un
facteur perturbateur comme ceux énumérés auparavant puisse être mise en évidence).
Fig. 4.12: Exemple de mauvaise segmentation (signal p5c15.mat). L'erreur moyenne
de début est supérieure à 25 ms.
Par contre, le signal montré dans la figure 4.13 est affecté par des oscillations
importantes de la ligne de base. On observe bien l'échec de segmentation de la première onde
P: le positionnement automatique du point de début est plutôt vers le pic de cette onde, fait
qui engendre une erreur de segmentation de début très grande. Cependant, on ne peut pas
affirmer nettement que c'est la fluctuation de la ligne de base qui détermine cette erreur de
segmentation.
62
Fig. 4.13: Exemple de mauvaise segmentation pour un signal avec oscillation
forte de la ligne de base (le fichier p19c18.mat ).
Un exemple de faute de segmentation est montré dans la figure 4.14, pour une onde P de type
"double bosse". La segmentation fausse à cause de l'amplitude très petite de la deuxième
bosse, qui est interprétée par l'algorithme comme étant le début de la ligne isoélectrique.
Fig. 4.14: Erreur de segmentation causée par l'amplitude réduite de la deuxième
bosse (fichier p1c20.mat).
63
Dans la figure 4.15 on a illustré le cas d'une amplitude très petite de l'onde P, fait qui
provoque une erreur de segmentation importante tant pour le début que pour la fin de cette
onde.
Fig. 4.15: Erreur de segmentation causée par l'amplitude réduite de l'onde P (fichier
p10c14.mat).
Notons enfin que, après avoir résolu le problème des erreurs rencontrées dans les fichiers de
segmentation manuelle du médecin, on est parvenu à obtenir 31 de fichiers correctement
segmentés d'un total de 47. Les résultats sont ceux montrés dans le tableau 4.1, pour les deux
types de segmentation (AMC seulement et AMC avec CMC ajoutée). Parmi le reste des
fichiers, on retrouve les erreurs exemplifiées ci-dessus, qui conduisent à l'échec de la
segmentation. Un tableau complet des fichiers de test, avec quelques observations de nature
pratique peut être trouvé dans l'annexe A2.
4.3.3
LA SEGMENTATION DES SIGNAUX DE LA BASE DE LAGUNA
Vu l'intention de bâtir une base de données commune INT Paris – ENST Bretagne,
c'est un autre objectif de travail qui s'est profilé tout de suite: celui de tester les méthodes de
segmentation proposées sur la nouvelle base commune. On a déjà explicité dans le premier
chapitre du rapport les problèmes liés à la fréquence d'échantillonnage différente et la façon
dont ces problèmes ont été résolus. Suite à l'opération d'interpolation, on a ramené les signaux
64
de la base de Laguna à une fréquence d'échantillonnage de 1000 Hz. Vu que les performances
de la segmentation ont été déjà testées sur la base de CHU, on a essayé de refaire ces testes,
pour les nouveaux signaux. Après une première évaluation qui utilisait toujours le modèle
appris sur la base CHU et qui n'a pas fourni des résultats satisfaisants, on a décidé de reentraîner le modèle, en utilisant cette fois-ci comme base d'apprentissage les nouveaux
signaux. On a utilisé dans ce but un nombre de 29 signaux de la base de Laguna, signaux qui
ont fourni les observations nécessaires pour le re-apprentissage du modèle. En traçant
l'histogramme empirique des observations résultées pour les différentes ondes, on a observé
que celui-ci présentait un pic prononcé proche de 0. De l'autre côté, on s'est rendu compte que
les fdp des coefficients de la TOD seraient mieux modélisées par l'intermédiaire d'un mélange
de seulement 2 gaussiennes (alors que la méthode AMC testée sur la base CHU considérait 3
gaussiennes)(voir les figures 4.16 - a et b). Par conséquent, on a repris le processus
d'apprentissage de l'AMC et on a testé le modèle ainsi obtenu sur la base de Laguna. Pour
apprentissage on a utilisé 29 d'entre les 33 signaux de la base de Laguna, fait qui, vu la
modalité dont on a traité le problème de la taille fixe des observations, nous a conduit aux 580
arbres d'apprentissage fois 64 coefficients/arbre (pour le complexe QRS et pour l'onde P).
Les résultats obtenus sont insatisfaisants. Pour l'onde P, seulement 12 d'entre les 29
signaux de test ont été bien segmentés. Pour ces signaux on a obtenu une erreur moyenne de
début de 18.48 ms et une erreur moyenne de fin de 17.24 ms. Deux exemples de mauvaise
segmentation pour l'onde P qui sont typiques parmi les signaux testés sont montrés dans les
figures 4.17 (a et b).
Des résultats plus acceptables ont été obtenus pour la segmentation du complexe QRS, avec
26 battements correctement segmentés, une erreur moyenne de début de 11.06 ms et une
erreur moyenne de fin de 10.32 ms. Le taux d'erreur de segmentation a été dans ce cas de
6.41 %.
65
a)
b)
Fig. 4.16: Fonctions fdp apprises, superposées sur les histogrammes des observations:
la ligne isoélectrique (a), l'onde P (b), à l'échelle 2 de décomposition de la TOD.
66
a)
b)
Fig. 4.17: Exemples typiques de mauvaise segmentation pour deux signaux différents
la base de Laguna: sele0606 (a) et sele0603 (b).
Parmi les causes possibles qui déterminent ces erreurs de segmentation on avance l'hypothèse
que le modèle n'arrive pas à apprendre bien les propriétés statistiques de chaque onde. Le
problème le plus grand dans ce sens-là c'est pour les segments isoélectriques, qui présentent
67
un pic de l'histogramme particulièrement prononcé en 0 (fig. 4.16 a), pic que la densité de
probabilité apprise n'arrive pas à le poursuivre. Ainsi, tous les points situés dans la fenêtre qui
contient l'onde P et le segment PQ sont classifiés comme appartenant à l'onde P (voir les
exemples présentés dans la figure 4.17). De l'autre côté l'existence de ce pic de l'histogramme
en 0 semble à affecter également les ondes utiles. Elle pourrait être liée à trois causes
possibles:
-
la normalisation du battement
-
l'opération d'interpolation
-
une façon particulière de segmentation par les médecins pour les signaux de la base de
Laguna. Dans certains cas, pour l'onde P surtout, la segmentation manuelle inclut
portions qui semblent plutôt appartenir à la ligne isoélectrique ou respectivement au
segment PQ.
Ce problème reste encore ouvert.
68
CHAPITRE 5
CONCLUSIONS ET PERSPECTIVES
Les conclusions poursuivront la réalisation des objectifs du stage, tandis que les
perspectives envisageront quelques directions possibles pour la poursuite du développement
du sujet.
Objectif no. 1: La constitution d'une base de données commune INT Paris –
ENST de Bretagne
Jusqu'à présent, la base CHU a été complétée par les 33 signaux communs entre la
base QT (Laguna) et la base européenne ST-T (utilisée par l'INT Paris). Les signaux sont
disponibles en format .dat (qui comprend l'intégralité de l'enregistrement: 15 minutes ) avec
toutes les annotations afférentes. Les portions segmentées de ces signaux sont également
disponibles sous format .mat (directement compatible Matlab), ensemble avec leurs étiquettes
qui concernent le début et la fin de chaque onde, dans les deux versions de la fréquence
d'échantillonnage: 250 Hz et 1000 Hz.
Perspectives:
La base commune peut être sensiblement améliorée en la complétant
avec les autres signaux de la base QT, qui sont téléchargeables gratuitement sur l'Internet [7].
Tous les programmes nécessaires afin de convertir ces signaux à la fréquence
d'échantillonnage de 1000 Hz (ensemble avec les modifications correspondants de leurs
étiquettes de segmentation) sont actuellement disponibles (la plupart d'entre eux crée par
l'auteur du rapport et une fonction téléchargée sur l'Internet [7] et modifiée). Cependant, pour
la poursuite cohérente du développement du sujet, il faudra établir une fréquence
d'échantillonnage "de travail" commune.
Objectif no. 2: L'implémentation d'une méthode de pré-traitement du signal
ECG
Le résultat du travail sur ce sujet a été l'implémentation d'une méthode de débruitage
qui repose sur les propriétés statistiques de la TOD du signal ECG. Quelques variantes
69
différentes de la méthode proposée ont été testées dans une variété de conditions et les
résultats ont été toujours satisfaisants. Les testes effectuées ont eu pour but de se rapprocher le
plus possible des conditions réelles dont un tel traitement doit fonctionner. Dans ce contexte,
on a étudié l'influence du débruitage sur la segmentation, tant pour les signaux peu bruités de
la base CHU, que pour des signaux sur lesquels on a ajouté du bruit généré artificiellement.
Les résultats ont été encourageants: dans le premier cas l'erreur de segmentation a diminué,
tandis que dans les conditions de bruit fort, le système de débruitage assure un RSB à sa sortie
qui permette la segmentation correcte de l'onde P à partir des valeurs réduites pour le RSB.
De l'autre côté, testée sur les signaux ECG fortement affectés par du bruit physique, la
méthode de débruitage s'est avéré bien efficace, même pour l'élimination de l'interférence
avec le réseau électrique (les "50 Hz"). Cependant, le critère décisif pour exprimer la qualité
des méthodes de pré-traitement proposées ici restera le fonctionnement de la méthode dans le
système pratique de télésurveillance.
Perspectives: Sur la durée de mon étude on a testé plusieurs méthodes de débruitage
[28]. D'un intérêt particulier parmi les méthodes qui n'ont pas été décrites ici sont les
méthodes statistiques qui utilisent la dépendance inter-échelle des coefficients d'ondelettes
[15, 27]. J'ai abandonné ce chemin puisqu'il fournissait des résultats comparables avec les
méthodes présentées, mais avec une puissance de calcul demandée sensiblement agrandie, ce
qui peut devenir un inconvénient important dans les systèmes pratiques. Le recherche dans
cette direction mérite d'être poursuivi, puisque ces méthodes statistiques multi-échelle
présentent des aspects intéressants pour le domaine particulier du débruitage des signaux
ECG.
De l'autre côté, j'ai évité toutes les opérations qui pourraient rendre la méthode de
débruitage trop complexe. Il s'agit surtout de l'obtention du signal pilote, qui dans notre cas
repose sur une simple opération de seuillage. Par contre, d'autres méthodes semblables
présentées dans la littérature [10-12] proposent une stratégie plus élaborée pour l'obtention du
signal pilote. Normalement, ça implique tout de même des opérations plus complexes, comme
la séparation et l'alignement du battement, la détection des coefficients d'ondelettes
appartenant au complexe QRS etc. La méthode d'obtention du signal pilote représente donc un
autre chemin qui reste ouvert pour d'autres améliorations possibles.
70
Objectif no. 3: La robustesse de la méthode de segmentation par AMC-Ondelettes et son
amélioration par l'introduction d'une chaîne temporelle
La méthode de segmentation proposée dans [3,4] a été testée pour les signaux
provenant de la base CHU de Brest et de la base de Laguna. Dans le premier cas, les résultats
ont été satisfaisants pour une large catégorie de signaux, mais il y a eu quand même un grand
nombre de fichiers de test pour lesquels la segmentation a failli. Parmi les causes de mal
fonctionnement, on a identifié surtout les oscillations de la ligne de base et l'amplitude réduite
de l'onde P, ensemble avec sa morphologie spéciale.
En ce qui concerne la combinaison de la méthode inter-échelle AMC avec une chaîne
temporelle, on est resté plutôt dans la sphère des promesses. Pratiquement, l'ajoutage de la
chaîne temporelle en respectant exactement la partition du battement effectuée dans [3,4], a
apporté des résultats encourageants, mais qui ne représentent pas néanmoins une amélioration
significative de la segmentation par AMC seulement.
Pour les signaux de la base de Laguna, les résultats de segmentation ont été
acceptables seulement pour le complexe QRS, tandis que pour l'onde P il y a un grand nombre
d'échecs de segmentation. Les problèmes dans ce cas semblent liés à la forme particulière de
l'histogramme des observations qui présente un pic très prononcé proche de 0.
Perspectives: C'est la combinaison d'un modèle temporel intra-échelle avec le modèle de type
arbre "inter-échelle" qui mérite être investiguée davantage. D'ailleurs, le renoncement au
fenêtrage du battement et l'utilisation complète du caractère quasi-périodique du signal ECG a
fourni des résultats corrects même pour une chaîne temporelle assez simple, dans les cas où
on est arrivé à surmonter les difficultés de nature pratique relevées d'une telle approche.
71
Bibliographie:
[1] L. Clavier, Analyse du signal électrocardiographique en vue du dépistage de la fibrillation
auriculaire, thèse de doctorat, février 1997.
[2] R. Le Page, Détection et analyse de l'onde P d'un électrocardiogramme: application au
dépistage de la fibrillation auriculaire, thèse de doctorat, L'Université de Bretagne
Occidentale, février 2003.
[3] S. Graja et J.M. Boucher, Multiscale hidden markov models applied to ECG segmentation,
Intelligent Signal Processing 2003 IEEE International Symposium, pp. 105 – 109, septembre
2003.
[4] S. Graja, Segmentation de l'ECG et détection du risque de fibrillation auriculaire, rapport
de stage de DEA, Juin 2003.
[5] CNS Systems, Task Force Monitor v 2.0 scientific package: Matlab (raw data), disponible
sur CD
[6] P. Laguna, RG Mark, A. Goldberg et GB Moody, A database for evaluation of algorithms
for measurement of QT and other waveform intervals in the ECG, IEEE Computers in
Cardiology, pp. 673 – 676, Vol. 24, 1997.
[7] Disponible sur l'Internet à l'adresse: www.physionet.org/physiobank/database
[8] D. Donoho, De-noising by sof -thresholding IEEE Transactions on Information Theory,
pp. 613 – 627, 41, 1995.
[9] S. Ghael, A. Sayeed et R. Baraniuk, Improved wavelet denoising via empirical wiener
filtering, Proceedings of SPIE, San Diego, U.S.A., July 1997.
[10] N. Nikolaev et A. Gotchev, ECG signal denoising using wavelet domain Wiener filtering,
Proceedings of the European Signal Processing Conf. EUSIPCO-2000, Tampere, Finlande,
pages 51-54, Sept. 2000.
[11] A. Gotchev, N. Nikolaev et K. Egiazarian, Improving the transform domain ECG
denoising performance by applying inter-beat and intra-beat decorrelating transforms,
Proceedings of the IEEE International Symposium on Circuits and Systems, ISCAS 2001
Volume II, pp. 17-20, Sydney, Australia, May 2001.
[12] N. Nikolaev, Z. Zikolov, A. Gotchev, K. Egiazarian, Wavelet domain wiener filtering for
ECG denoising using improved signal estimate, Proceedings of IEEE Conference on
72
Acoustics, Speech, and Signal Processing, ICASSP '00,Volume 6, Pp:3578-3581, vol.6, June
2000.
[13] P. Romaniuk, Non-regular distorsions in ECG signal introduced by wavelet
denoising, Medical Informatics & Technologies - MIT 2000, Ustron, Poland
[14] P. Romaniuk et K. Chizynski, Clinical evaluation of ECG signal wavelet denoising
method, Medical Informatics & Technologies - MIT 2001, Ustron, Poland
[15] L. Sendur et I. Selesnick, Bivariate shrinkage functions for wavelet based denoising
exploiting interscale dependency, IEEE Trans. Signal Proc., vol. 50, pp. 2744-2756, Nov.
2002.
[16] A. Pizurica et W. Philips, Multiscale statistical image models and bayesian methods,
resource disponible en ligne à: http://citeseer.ist.psu.edu/655806.html
[17] A. Isar et S. Moga, Le débruitage des images SONAR en utilisant la transformée
en ondelettes discrète à diversité enrichie, Rapport de recherche, LUSSI-TR-2004-4,
Département Logiques des Usages, Sciences Sociales et Sciences de l’Information,
Laboratoire Traitement Algorithmique et Matériel de la Communication, de l’Information
et de la Connaissance, CNRS FRE 2658, ENST-Bretagne, 2004.
[18] A. et D. Isar, Adaptive denoising of low SNR signals, ARI, The Bulletin of the Istanbul
Technical University, Volume 53, Number 2, pp. 31-37 .
[19] R. Coifman et D. Donoho, Transaltion-invariant de-noising, dans Wavelets
and Statistics, A. Antoniadis and G. Oppenheim Eds, Springer-Verlag, New York,
1995, pp. 125-150.
[20] A. Isar, S. Moga et D.Isar, Local adaptive bivariate shrinkage with reduced sensitivity,
proposé pour
[21] I. Jonstone et B. Silverman, Wavelet threshold estimators for data with correlated noise,
J Royal Statist Soc, Volume B 59, 2, pp. 319-351, 1997.
[22] M. S. Crouse, R. D. Novak et R.G. Baraniuk, Wavelet-based statistical signal processing
using hidden Markov models, IEEE Transactions on Signal Processing, (46)-4, 1998.
[23] H.Choi et R.G.Baraniuk. Multiscale image segmentation using wavelet-domain hidden
Markov models, IEEE Trans. on Image Processing, Vol.10, n°9, pp. 1309 –1321, Sept. 2001.
[24] L.Clavier, J.M. Boucher, R.Lepage, J.J Blanc et J.C Cornily, Automatic P-wave analysis
of patients prone to atrial fibrillation, Medical & Biological Engineering & Computing,
Vol.40, n°1, pp. 63-78, Jan.2002
73
[25] Rodrigo Varejão Andreão, Segmentation de battements ECG par approche markovienne:
application à la détection d'ischémies, thèse doctorat présentée à l' Institut National des
Télécommunications, décembre 2004.
[26] ] L. Rabiner. A tutorial on Hidden Markov Models and selected applications in speech
recognition, Proceedings of the IEEE, Vol.77 ( No 2 ), February 1989, pp. 257 - 285.
[27] A. Quinquis, A. Isar et D. Isar, Denoising Over-Sampled Signals, Le bulletin scientifique
de
l'Université
Polytéchnique
de
Timisoara,
vol.
49
(63),
Electronique
et
Télécommunications, fascicule 1-2, 2004, pages 110-113.
[28] H. Baralhé, F. Lamrini et D. Virassamy, Télésurveillance médicale des personnes à
pathologies cardiaques, Projet d'ingénieur, ENST de Bretagne, juin 2005
74
ANNEXE A1
LE CODE DES NOTATIONS POUR LES SIGNAUX PROVENUS DE LA
BASE DE LAGUNA
a) Les fichiers appelés selexxyy (où xxyy représente une succession de chiffres ) sont les
fichiers originaux téléchargés de la base QT disponible sur l'Internet. Il y a trois extensions
possibles pour ce type de fichiers:
•
selexxyy.dat: les signaux utiles (les enregistrements ECG). Ces fichiers contiennent
deux signaux ECG distincts, provenant de deux dérivations différentes.
•
selexxyy.atr: les attributs originels de chaque signal (chaque signal provient d'une base
de données qui a ses annotations particulières).
•
selexxyy.hea: les formats des fichiers sont y décrits.
Tous ces fichiers sont codés dans le format 212, largement utilisé pour l'exporte des signaux
ECG. Leur fréquence d'échantillonnage est de 250 Hz.
b) Les fichiers appelés
selexxyysegmentable.mat représentent des fichiers directement
compatibles Matlab, qui contiennent les portions des signaux selexxyy pour lesquelles il y a la
segmentation manuelle du médecin (il s'agit d'habitude de 30 battements segmentés).
c) Pour faciliter l'utilisation des programmes de segmentation par AMC ondelettes, les
signaux selexxyysegmentable.mat ont été transformés afin de les rendre compatibles avec
ceux de la base CHU de Brest. Le processus de transformation inclut une interpolation (pour
forcer l'augmentation de la fréquence d'échantillonnage à 1000 Hz) et une multiplication par
1000. Les signaux ainsi obtenus sont notés par:
p1xxc1yy – pour la première dérivation "codée" dans le format .dat
p11xxc11yy – pour la deuxième dérivation.
d) Afin d'utiliser ces signaux pour tester leur segmentation automatique, on a créé les fichiers
en format .mat qui contiennent la segmentation manuelle du médecin. Ces nouveaux fichiers
indiqueront les positions de début et de fin de chaque onde. On a créé de tels fichiers tant pour
les signaux à 1000 Hz que pour ceux à 250 Hz:
posmanLagunap1xxc1yy- pour les signaux avec la fréquence d'échantillonnage de 1000 Hz
posmanLag250p1xxc1yy- pour les signaux à 250 Hz
75
e) Les fichiers d'annotation originels sont également disponibles pour chaque patient, sous le
nom de annotp1xxc1yy.txt
Pour fixer les idées et pour simplifier la tache dans l'éventualité où la complétion de la base
avec de nouveaux signaux s'imposera dans le futur, on va exemplifier pour un signal concrète,
en précisant aussi les fonctions utilisées pour obtenir les différentes versions du signal et les
fichiers contenant les annotations:
1. On télécharge un signal (sele0104, par exemple) de la base de Laguna [7]. On
aura besoin des fichiers sele0104.dat, sele0104.hea et sele0104.atr.
2. En utilisant la fonction readformat212, qui représente une version modifiée
d'une fonction disponible sur l'Internet [7] pour transformer les formats 212
dans un format directement accessible sous Matlab, on obtiendra le fichier
sele0104segmentable.mat, qui contient une portion du signal initial (sele0104)
pour laquelle on dispose de segmentations manuelles.
3. On télécharge les annotations du médecin (les points de segmentation des
ondes), qui sont sauvegardées dans le fichier annotp101c104.txt. Il s'agit du
fichier sele0104.q1c, qui regroupe les points de segmentation manuelle du
premier médecin. Pour plusieurs détails, voir [6].
4. Ces annotations en format text sont converties dans un fichier de type .mat, en
utilisant la fonction dates_segmentation_manuelle.
5. Finalement, les fichiers p101c104 et p1101c1104 seront obtenus en utilisant la
fonction interpolation. Leurs annotations correspondantes sont celles
contenues dans le fichier posmanLagunap101c104, fichier obtenu suite à
l'étape précédente.
76
ANNEXE A2
LE TABLEAU COMPLET DES SIGNAUX DE TEST UTILISES
Signal ECG
Classe patient
1.
P7C9
FLUTTER
2.
3.
4.
5.
6.
7.
8.
9.
10 .
P10C17
P2C18
P9C20
P2C20
P7C18
P6C18
P11C17
P5C4
P17C16
FLUTTER
FLUTTER
FLUTTER
FLUTTER
FLUTTER
FLUTTER
FLUTTER
FLUTTER
FA
11. P14C14
FLUTTER
12. P5C15
13. P4C9
14. P3C5
FLUTTER
FA
FLUTTER
15. P2C2
16. P7C2
NORMAL
NORMAL
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
NORMAL
NORMAL
NORMAL
NORMAL
NORMAL
NORMAL
NORMAL
FA
FA
FA
FA
FA
FA
P7C1
P4C2
P5C21
P4C21
P5C13
P1C8
P6C7
P1C20
P4C15
P10C14
P8C9
P6C3
P19C18
30 . P15C18
FA
31.
32.
33.
34.
FA
FA
FA
FA
P9C18
P9C16
P5C16
P4C16
Résultats
Observations
segmentation
ERREUR
Oscillations brusques de la ligne
de base
REUSSIE
ERREUR
REUSSIE
ERREUR
REUSSIE
ERREUR
REUSSIE
REUSSIE
ERREUR
Oscillations de la ligne de base.
Bruit fort.
REUSSIE
Erreur dans le fichier de
segmentation manuelle
REUSSIE
REUSSIE
ERREUR
Erreur dans le fichier de
segmentation manuelle
REUSSIE
REUSSIE
Erreur dans le fichier de
segmentation manuelle
REUSSIE
REUSSIE
REUSSIE
REUSSIE
REUSSIE
REUSSIE
REUSSIE
ERREUR
REUSSIE
ERREUR
Onde P de faible amplitude.
REUSSIE
REUSSIE
ERREUR
Oscillations fortes de la ligne de
base
ERREUR
Erreur dans le fichier de
segmentation manuelle.
Signal fortement bruité.
REUSSIE
REUSSIE
REUSSIE
ERREUR
Erreur dans le fichier de
77
segmentation manuelle
35 .
36.
37.
38.
39.
P16C15
P3C15
P2C15
P15C13
P12C13
FA
FA
FA
FA
FA
REUSSIE
REUSSIE
REUSSIE
REUSSIE
RESUSSIE
40. P6C4
FA
ERREUR
41.
42.
43.
44.
45.
46.
FA
FA
FA
FA
FA
FA
REUSSIE
ERREUR
REUSSIE
ERREUR
REUSSIE
REUSSIE
P7C3
P10C15
P9C15
P6C15
P8C14
P2C11
Erreur dans le fichier de
segmentation manuelle
Erreur dans le fichier de
segmentation manuelle
Pour la segmentation de l’onde P, on a considéré segmentation réussie si l’erreur moyenne
de début et l’erreur moyenne de fin sont inférieures à 25 msec (par rapport aux segmentations
manuelles réalisées par les médecins) et erreur de segmentation ailleurs. Finalement, un
signal a été considéré comme mal segmenté si le nombre d'ondes P mal segmentées selon les
critères énumérés auparavant est supérieur à 10 ondes, d'un total de 20 battements.
78