2.3 Application 2D : détection de contours
2.3.5 Etude comparative
2.3.5.3 Résultats de simulation
Toutes les simulations ont été réalisées à l’aide de la boîte à outils de traitement d’image de
MATLAB "Toolbox Image Processing version 7.9". Dans un premier temps, l’image
stan-dard en niveaux de gris "Lena" de taille (256 ∗256) (voir figure 2.12) est sélectionnée pour
une première validation. Tout d’abord, l’image est traitée sans aucun ajout de bruit. En
uti-lisant l’algorithme STA, les gradients vertical et horizontal de l’image d’entrée sont estimés
(voir 2.13(a), 2.13(b)) en imposant un gain de convergenceK
0= 500et un pas
d’échantillon-nage égal à10
−3secondes.
F
IGURE2.12 – image initial : image 1.
(a) Gxde l’image 1 (b) Gyde l’image 1
F
IGURE2.13 – Gradient horizontalG
xet verticalG
yde l’image 1 : avec l’algorithme STA.
La figure 2.14(a) présente l’image du gradient suite à la normalisation. Après seuillage de cette
dernière, le contour est alors détecté, voir figure 2.14(b).
Par application des autres méthodes, les différents contours sont donnés dans les figures 2.15, 2.16.
Les résultats fournis par les différents détecteurs semblent quasiment identiques et il est difficile
de comparer les contours détectés juste par observation.
Pour l’estimation du laplacien, nous avons utilisé la deuxième sortie de l’algorithme DAO2. Les
résultats obtenus sont affichés dans la figure 2.17.
Il nous semble inutile de mettre le résultat fourni par le masque du laplacien étant donné qu’il
présente relativement la même image que celle donnée par le STA.
2.3. Application 2D : détection de contours 97
(a) Module normalisé de l’image 1 (b) Contour de l’image 1
F
IGURE2.14 – Détecteur de contour avec l’algorithme STA.
(a) Opérateur gradient (b) Masque Prewitt
F
IGURE2.15 – Détection du contour via les opérateurs gradient, Prewitt.
(a) laplacien normalisé de l’image 1 (b) laplacien normalisé après seuillage
F
IGURE2.17 – Estimation du laplacien : avec DAO2.
Pour pouvoir proposer une analyse plus pertinente des résultats obtenus, nous utilisons alors
l’image de synthèse donnée par la figure 2.18(a).
Dans ce deuxième essai, nous générons trois types de bruit différents à l’aide de
l’environne-ment MATLAB afin de les appliquer successivel’environne-ment sur l’image considérée.
(a) Image 2 : image de synthèse (b) Contour de l’image de synthèse
F
IGURE2.18 – Image de synthèse
Selon le type de bruit, il est possible de décrire ce dernier par un modèle additif, où l’image
enregistrée,I
b(i, j)est la somme de la vraie image contenant l’information utile I(m, n)et le
bruitb(m, n):
I
b(i, j) = I(i, j) +b(i, j).
Les trois types de bruit ont été pris en compte dans cette étude sont les suivants :
- Un bruit gaussien qui est présent dans la plupart des images. Il est généralement admis que
le bruit généré par les dispositifs d’acquisition se rapproche du bruit Gaussien. Ce dernier se
manifeste par une valeur aléatoire positive ou négative qui s’ajoute à l’intensité lumineuse de
chaque point de l’image. Dans nos essais, nous utilisons un bruit gaussien dont la moyenne est
2.3. Application 2D : détection de contours 99
nulle et d’écart-typeσ
bG.
- Le bruit "Poivre et Sel" est une forme de bruit impulsif. Pour ce type de bruit, l’image est
entachée d’une façon aléatoire. Ce bruit impulsionnel ne prend que deux valeurs qui sont égales
ou proches des niveaux de gris minimum et maximum représentable de l’image. Donc chaque
pixel, indépendamment l’un de l’autre, peut soit devenir très sombre ("poivre") pour une valeur
négative de l’impulsion, soit devenir très clair ("sel") pour une valeur positive de celle-ci. Ce
genre de bruit est caractérisé par une densitéd
b.
- Le bruit "speckle" est un bruit multiplicatif qui s’ajoute à l’image initialeIen utilisant
l’équa-tionI
b(i, j) = I(i, j) +n
s.I(i, j), oùn
sest un bruit réparti d’une manière uniforme, [59]. Pour
les tests réalisés, nous avons considéré un bruit de type "speckle" de moyenne nulle et
d’écart-typeσ
ns.
Plusieurs articles existent sur la comparaison des performances des détecteurs de contours, voir
par exemple [3], [68], [74]. Pour évaluer la qualité des contours obtenus, deux types de critères
ont été choisis : des critères qualitatifs et des critères quantitatifs.
Pour ces derniers, nous proposons trois indicateurs dont le premier représente l’Erreur Moyenne
de la Norme (EMN) relative au gradient, le second l’Erreur Moyenne de Contour (EMC) et le
troisième le temps de calcul. L’EMN indique la différence moyenne des pixels entre la norme
du gradient supposée exacte donnée par l’image de synthèse et celle estimée par les algorithmes.
L’EMC représente l’erreur entre le contour connu de l’image de synthèse (voir 2.18(b)) et celui
obtenu par le détecteur de contour considéré. Plus la valeur de ces deux critères est grande plus
la différence entre l’image (respectivement le contour) de synthèse et l’image traitée
(respecti-vement le vrai contour) est importante.
Suite aux essais en simulation et pour chaque type de bruit, les valeurs EMN et EMC sont
ré-sumées dans les tableaux 2.2, 2.3 et 2.4. Les résultats des différents détecteurs de contours sont
donnés dans les figures 2.20, 2.22 et 2.24.
A partir de ces figures, nous observons que le détecteur STA présente des bons résultats avec les
différents types de bruit utilisés. De plus, avec un bruit de type impulsif, l’algorithme proposé
ne présente pas d’amplification de bruit dans l’image de sortie, ce qui n’est pas le cas pour les
autres méthodes.
Résultats de simulation : bruit gaussien :
Tableau 2.2 – Tableau comparatif des erreurs : bruit gaussien.
Méthode EMN EMC
Masque de gradient 0.0579 0.0049
Masque de Prewitt 0.0709 0.0128
Filtre de Canny 0.0505 0.0038
STA(K
0= 450) 0.0574 0.0043
A partir du tableau 2.2, le filtre de Canny présente la plus faible valeur de EMN et de EMC,
ce qui est normal étant donné que le filtre de Canny représente la solution optimale pour un tel
modèle de bruit, [23].
F
IGURE2.19 – Image de synthèse avec du bruit blanc gaussien (σ
bG= 0.01).
(a) Masque gradient (b) Masque Prewitt
(c) Filtre de Canny (d) STA (K0= 550)
F
IGURE2.20 – Contours de l’image dégradée par un bruit blanc gaussien.
Résultats de simulation : bruit "Poivre et Sel" :
En considérant un bruit impulsif, les deux détecteurs de contours "Prewitt" et "Canny"
pré-sentent un bon lissage observé dans les images 2.22(b) et 2.22(c). Cependant, ceci n’assure pas
une bonne précision de détection. En ayant la même méthode de seuillage, nous remarquons
que le détecteur STA présente le contour le moins épais comparé aux résultats donnés par les
2.3. Application 2D : détection de contours 101
autres méthodes (voir tableau 2.3).
F
IGURE2.21 – Image de synthèse avec du bruit "Poivre et Sel" (d
b= 0.01)
(a) Masque gradient (b) Masque Prewitt
(c) Filtre de Canny (d) STA (K0= 550)
F
IGURE2.22 – Contours de l’image dégradée par un bruit "Poivre et Sel".
Par rapport aux autres algorithmes, le masque de Prewitt fourni le résultat le plus mauvais pour
l’image d’entrée dégradée par le bruit "Poivre et Sel". En fait, l’action de filtrage relative à ce
masque consiste à effectuer une moyenne des pixels voisins et puisque les valeurs d’intensité
de ces derniers sont souvent très différentes des vraies valeurs suite à la dégradation provoquée
par ce bruit impulsif, la moyenne calculée est forcément faussée. Ainsi, la performance de
ce détecteur diminue fortement pour le bruit impulsif. En imagerie, ce type de bruit est très
difficile à éliminer avec les filtres linéaires. Généralement, il est nécessaire d’utiliser des filtres
non linéaires pour éliminer effectivement ces variations brusques au niveau de l’image comme
par exemple le filtre médian.
Tableau 2.3 – Tableau comparatif des erreurs : bruit de type "Poivre et Sel".
Méthode EMN EMC
Masque de gradient 0.031 0.0135
Masque de Prewitt 0.0339 0.0144
Filtre de Canny 0.0124 0.0107
STA(K
0= 550) 0.0023 0.0025
Résultats de simulation : bruit multiplicatif :
F
IGURE2.23 – Image de synthèse avec du bruit multiplicatif (σ
ns= 0.01).
Tableau 2.4 – Tableau comparatif des erreurs : bruit multiplicatif.
Méthode EMN EMC
Masque de gradient 0.0288 0.0019
Masque de Prewitt 0.0465 0.0157
Filtre de Canny 0.0112 0.000471
STA(K
1= 450) 0.0264 0.00013
Le masque de gradient donne des résultats meilleurs pour l’image de synthèse dégradée par
le bruit multiplicatif que celles dégradées par les autres types de bruit (voir tableau 2.4). Cet
opérateur est juste un filtre passe-haut, ce qui peut expliquer son inefficacité pour certains types
de bruit et en particulier le bruit impulsif. Toutefois, le filtre de Prewitt et le filtre de Canny
estiment la matrice du module de gradient tout en intégrant une action de lissage ce qui justifie
2.3. Application 2D : détection de contours 103
la diminution du bruit au niveau des contours détectés, (voir Figures 2.24).
(a) Masque gradient (b) Masque Prewitt
(c) Filtre de Canny (d) STA (K0= 400)
F
IGURE2.24 – Contours de l’image dégradée par un bruit multiplicatif.
Remarques générales :
La performance de l’algorithme de Canny dépend fortement du paramètre ajustable représenté
par l’écart-type du filtre gaussien, qui contrôle également la taille de ce filtre. Plus la valeur
de ce paramètre est grande, plus la taille du filtre devient large. Souvent la taille de l’image,
ceci peut impliquer une image résultante floue et bien évidemment une mauvaise localisation
du contour. Une faible valeur de cet écart-type permet de considérer un voisinage faible autour
du point contour ce qui détériore le critère de détection. Il est alors nécessaire d’adapter ce
pa-ramètre en l’ajustant d’un côté par rapport au type d’image d’entrée et d’un autre côté à la taille
de celle-ci. Dans notre cas, le choix que nous avons jugé le plus judicieux de l’écart-type de la
gaussienne est0.8. Pour les tests effectués avec l’image de "Lena", la largeur du filtre gaussien
est adaptée par des valeurs différentes.
L’action de lissage suivie d’un filtre passe-haut pour l’opérateur de Prewitt et le filtre de Canny
peut évidemment entrainer un léger déphasage qui peut à son tour fausser l’estimation du
gra-dient. Pour l’algorithme adaptatif basé sur les modes glissants d’ordre supérieur rappelons que
l’action d’atténuation du bruit et celle de différentiation sont combinées et se font d’une
ma-nière simultanée. Notons que tous les contours obtenus peuvent être améliorés en changeant
la méthode de seuillage utilisée comme la méthode de seuillage par hystérésis puisqu’elle
per-met d’assurer la continuité des contours les plus forts de l’image. A partir des valeurs EMN
(tableaux 2.2, 2.3, 2.4), le détecteur de contour STA présente de bonnes performances pour
l’image dégradée par un bruit impulsif que celles bruitées par un bruit gaussien ou multiplicatif.
Temps de calcul :
Le tableau 2.5 résume le temps de calcul en secondes qui s’écoule pour la détection des contours
pour les méthodes présentées tout en considérant différentes tailles de l’image d’entrée. Comme
indiqué précédemment, pour le masque de Prewitt et le filtre de Canny, l’opération de
convolu-tion2Dpeut être remplacée par deux convolutions1D. Ceci est dû à l’avantage que ces deux
filtres soient séparables. Cet avantage permet alors d’accélérer le calcul. De plus, nous pouvons
remarquer suite à ces résultats que l’opération de convolution est moins gourmande en terme de
temps de calcul que les boucles imbriquées utilisées pour l’algorithme modes glissants
adapta-tifs (STA ou DAO2). Le fait de parcourir l’image pixel par pixel provoque un fort accroissement
du temps de calcul dès que la taille de l’image augmente.
Tableau 2.5 – Temps de calcul en secondes pour différentes tailles d’image.
Méthode image(50∗50) image(125∗255) image(256∗256)
Masque de gradient 0.00057 0.0017 0.0098
Masque de Prewitt 0.0011 0.0023 0.0040
Filtre de Canny 0.0043 0.0064 0.015
STA 0.05 0.27 1.3
Opérateur de laplacien 0.009 0.013 0.016
DAO2 0.0624 0.39 1.68
Autres résultats de simulation :
(a) STA(K0= 650) (b) STA(K0= 350)
F
IGURE2.25 – Détection de contour de l’image 1 avec du bruit "Poivre et Sel" : STA.
Dans la figure 2.26, l’image d’entrée "Lena" est bruitée par le bruit "Poivre et Sel" et les images
obtenues par chacune des méthodes (masques de gradient, de Prewitt et filtre de Canny) sont
2.3. Application 2D : détection de contours 105
données. Les figures 2.25(a) et 2.25(b) mettent l’accent sur l’importance du choix de la valeur
du gain de convergence.
En effet, cette valeur de gain permet d’agir sur le taux de réduction de l’amplification du bruit
au niveau de l’image traitée. Donc en augmentant cette valeur de gainK
0, le taux de réduction
de l’amplification du bruit diminue, remarque déjà faite pour les exemples effectués dans le
chapitre précédent pour les signaux1D. Par conséquent, cette valeur doit être soigneusement
choisie selon le type d’image à traiter. A partir des figures 2.25(a) et 2.25(b), nous pouvons
constater l’importance du réglage du gain de convergence où un compromis est recherché entre
le taux de réduction de l’amplification du bruit et la détection de contour.
(a) Image 1 dégradé par un bruit impulsif (db= 0.01)
(b) Masque gradient
(c) Masque Prewitt (d) Filtre de Canny
F
IGURE2.26 – Détection de contour de l’image 1 avec du bruit "Poivre et Sel" : Masques
gradient, Prewitt et filtre de Canny.
A la fin de cette partie, nous présentons un tableau qualitatif pour les différents détecteurs de
contours utilisés au cours de cette étude.
Globalement, nous pouvons conclure que les résultats quantitatifs et qualitatifs obtenus avec
l’algorithme proposé montrent son efficacité par rapport aux méthodes conventionnelles, mais
étant donné que le calcul se fait pixel par pixel, la détection de contour est plus coûteuse en
terme de temps de calcul. Ce problème peut être résolu en considérant une matrice d’intensité
lumineuse comme entrée de l’algorithme au lieu de considérer un seul pixel à la fois. Ceci incite
alors à modifier cet algorithme pour des applications multi-entrées multi-sorties. Au cours de
notre travail, cette solution n’a pas été mise en place mais nous nous souhaitons la signaler
comme proposition permettant la résolution de cet inconvénient.
Tableau 2.6 – Tableau qualitatif.
Méthode Localisation Insensibilité complexité temps nombre de face au bruit d’implémentation de calcul paramètres de réglage Masque de gradient + - ++ ++ non
Masque de Prewitt + + ++ ++ non Filtre de Canny ++ ++ + + 1
STA/DAO2 ++ ++ + – 1/2