Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par...

63
Cours de traitement d’images – Catherine Achard 1 Cours de Traitement d’images rédigé par Catherine Achard, sur la base des cours de J. Devars et M. Milgram 2002/2003

Transcript of Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par...

Page 1: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 1

Cours de Traitement d’images

rédigé par Catherine Achard, sur la base des cours de J. Devars et M. Milgram

2002/2003

Page 2: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 2

Chapitre 0 : Introduction L’imagerie est un domaine très vaste parmi lequel, on peut distinguer plusieurs catégories :

Capteurs d'images - Vidéo, thermique - Imagerie X - Imagerie d'écho (radar / sonar) - Imagerie de comptage

Traitement et interprétation des images - Codage / compression (transmission / archivage)- Amélioration d'images (subjectif / visuel) - Vision par ordinateur

+ Métrologie (segmentation) + Contrôle (binarisation) + Identification (2D / 3D / RdF) + Interprétation (RdF, ...)

Systèmes de traitement

Image calculée - Graphisme 2D et 3D - Infographie - Réalité virtuelle

C’est aussi un domaine pluridisciplinaire qui fait appel à :

- Traitement du signal - Analyse numérique - Informatique - Théorie de l’information - Etude statistique - Optique - Electronique

Les applications sont aussi très variés et s’étendent de jour en jour :

- Compression d’images - Amélioration d’images en vu d’un meilleur rendu visuel (télévision) - Imagerie biomédicale : compter des cellules dans des images microscopiques - Identification de personnes : reconnaître des empreintes digitales, des visages - Authentification (de billets de banque par exemple…) - Aide à la conduite : guidage latéral de véhicule - Surveillance de la qualité d’une chaîne de production, - Reconnaissance de l’écriture, - Imagerie satellitaire - Indexation d’images : organiser automatiquement des grandes bases d’images en

fonction de leur contenu - …

Ci dessous sont présentées quelques images correspondant à ces divers domaines d’application :

Page 3: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 3

Page 4: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 4Cours de traitement d’images – Catherine Achard 4

Page 5: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 5

Chapitre 1 : Acquisition d’images Tout système de traitement d’images peut être vu comme la combinaison de deux étapes : l’acquisition et le traitement proprement dit. La qualité des résultats du système dépend bien sur de l’algorithme mis en place et de son adéquation au problème posé, mais aussi de la qualité initiale des images. I. Caméra à tubes

Ces capteurs sont relativement anciens et font appel à l’archéologie électronique puisqu’ils ont étés inventés en 1931 par Vladimir Zworykin. Leur principe est le suivant : la scène est projetée sur une cible photosensible qui convertit une quantité de lumière en une quantité de charge. Il se forme ainsi un relief de potentiel correspondant à l’image analysée sur la cible. Celle-ci est l’anode du tube dont la source électronique est la cathode. Les électrons issus de la cathode sont attirés par l’anode polarisée positivement. Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la cible rectangulaire à analyser. Le courant issu de la cible correspond à l’image projetée. L’amplitude du courant est fonction de l’éclairement. Bobine de déviation

Grillesd'accélération

Faisceaud'électrons

Cathode

Balayage x, y

Photons

Cible

photosensible Un balayage dans les deux dimensions de la zone photosensible a pour but de remplir tout

l’écran correspondant à l’image. Il est fait de la manière suivante :

Retour de ligne

La durée d’acquisition d’une ligne (64 µs) et le nombre de lignes par image (625) amènent à 25 acquisitions d’image par seconde. Cette fréquence n’est pas suffisante, il apparaît un phénomène de scintillement qui donne une série d’images saccadées et discontinues dans le

Page 6: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 6

temps. Ce problème peut-être résolu sans augmenter le nombre d’images par une technique de balayage entrelacé : chaque image est analysée au moyen de deux trames à raison de 50 trames par seconde : A ce jour, ces tubes ont été remplacés par des capteurs de type CCD (Charge Couple Devices). En effet, mêmes si les tubes vidéo présentent certains avantages (bonne sensibilité spectrale de certains tubes dans l’infrarouge), ils ont aussi une durée de vie plus courte que les caméras CCD, ils produisent des images avec de fortes distorsions géométriques et ont un encombrement beaucoup plus important que celui des capteurs CCD. II. Caméras CCD Cas capteurs sont relativement récents. Leur principe est le suivant : la scène est projetée au moyen d’un objectif sur un réseau de capteurs discret, ce qui réalise un échantillonnage spatial de l’image. Chaque photo-élément convertit l’énergie lumineuse en énergie électrique. Il existe deux types de capteurs : les photodiodes ou les condensateurs MOS de type P. Dans les deux cas, l’arrivée de photons conduit à la formation d’une charge électrique sous la photodiode ou le photomos.

1. Principe du transfert de charge

Photons

Photodiode ou

Photomos

Silicium Substrat

Electrodes

etHorloge

1 2

34

Pour réaliser le transfert de charge, les condensateurs MOS sont associés les uns à la suite des autres. Le substrat des semi-conducteurs ainsi que l’isolant est commun. Les grilles métalliques sont indépendantes pour chaque capteur. Le but consiste à transférer successivement les charges électriques présentes sous les différentes grilles vers la sortie. Plusieurs types de transfert sont possibles, nous allons étudier le plus simple : le transfert biphasé. Supposons que des charges électriques soient présentes sous la grille 1 (électrode 1 polarisée). Pour les déplacer, on va successivement polariser les électrodes 2, 3, 4, … Pour optimiser le déplacement des charges, une phase intermédiaire où deux électrodes sont simultanément polarisées est mise en place :

Page 7: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 7

+V

+V

+V/2

temps

Electrode 3

temps

Electrode 2

temps

Electrode 1

2. Les CCD linéaires La zone photosensible est composée d’un alignement de photo-éléments :

Zone de transfert

Zone photosensible

Sortie

Les charges de la zone photosensible sont transmises toutes en même temps en zone de transfert. Elles sont ensuite évacuées séquentiellement vers la sortie.

3. Les CCD matricielles

Zone exposée

Déplacement vertical Zone de transfert Sortie Le capteur possède deux zones : une composée des capteurs photosensibles, l’autre est une zone de transfert. Après la saisie de l’image, elle est transférée par un déplacement vertical en zone de transfert puis évacuée ligne par ligne en zone mémoire. Les charges élémentaires sont alors récupérées séquentiellement en sortie. Le problème de cette technologie est que lors du transfert en zone mémoire, les cellules photosensibles restent actives. La première ligne image passe donc devant toutes les autres cellules durant son transfert, ce qui amène des variations.

Page 8: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 8

Signal de sortie

Déplacement horizontal

Zonemasquée

Zone exposée

Avec cette nouvelle technologie, la zone photosensible est transférée directement en zone masquée par un déplacement vertical. Ensuite, les charges sont transférées ligne par ligne en zone mémoire avant d’être évacuées séquantiellement. L’inconvénient ici est que l’on aura une mauvaise résolution spatiale dans l’image finale.

Page 9: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 9

Chapitre 2 : Présentation des images I. Introduction : image niveaux de gris Une image est représentée par une matrice de dimension « nombre de lignes » x « nombre de colonnes ». Chaque élément de la matrice, nommé pixel, représente l’intensité lumineuse comprise entre 0 et 255, soit 256 niveaux de gris. Le niveau de gris 0 correspond au noir tandis que 255 est représenté en blanc. Ci dessous sont représentées une image de chromosome et des zooms d’une partie de cette image.

On peut constater, en zoomant sur ces images l’effet de la discrétisation : des pixels carrés apparaissent. On peut également visualiser les images comme une surface 3D, les axes x et y représentant la position spatiale des images tandis que l’axe des z représente la luminance (par soucis de visibilité, on affiche l’inverse vidéo de l’image pour cet affichage). NB : Pour lire des images sous Matlab, on utilise la commande imread() :

I=imread(‘chromosome.tif’); Pour afficher une image en niveau de gris :

imagesc(I) Pour afficher des images comme des surfaces :

surf(I)

Page 10: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 10

De ces images peuvent être extraits l’histogramme et l’histogramme cumulé.

1. Histogramme d’une image L’histogramme est un vecteur de dimension 256. Chaque élément du vecteur h(i) représente le nombre de pixels de l’image possédant le niveau de gris i. On peut donc assimiler l’histogramme à la densité de probabilité des intensités lumineuses (à un facteur de normalisation près). Ci-dessous est représenté l’histogramme de l’image de chromosome.

0 50 100 150 200 250 3000

2000

4000

6000

8000

10000

12000 On peut observer que cette image est composée en grande partie de pixel de niveaux de gris entre 230 et 256 représentants le fond. Les pixels représentant l’objet forment un petit amas dans la zone de niveaux de gris autour de 150. Bien sur, ceux-ci sont bien moins important en nombre que les pixels du fond.

NB : Sous matlab, on calcule l’histogramme avec :

hist(I( :),[0 :255])

2. Histogramme cumulé d’une image C’est également un vecteur de dimension 256. Chaque élément hc(i) représente le nombre de pixels de l’image possédant un niveau de gris inférieur ou égal à i. L’histogramme cumulé peut donc être assimilé, à un facteur de normalisation près, à la fonction de répartition des niveaux de gris. Celui-ci peut-être estimé à partir de l’histogramme en faisant une somme discrète :

0

( ) ( )i

j

hc i h j=

= ∑

Ci-dessous est représenté l’histogramme cumulé de la même image.

0 50 100 150 200 250 3000

1

2

3

4

5

6

7

8

9x 104

Page 11: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 11

II. Image couleur Une image couleur contient 3 plans couleur. La plupart des caméras amènent aux trois plans Rouge, Vert, Bleu (R,V,B). Chaque plan est codé comme une image niveaux de gris, avec des valeurs allant de 0 à 255. Lorsque R=V=B, la couleur associé est un niveau de gris. D’autre part, pour passer d’une image couleur à une image niveau de gris, on réalise :

( , ) ( , ) ( , )( , )3

R y x V y x B y xI y x + +=

De la même manière que précédemment, on peut calculer l’histogramme couleur de chaque plan. De nombreux autres systèmes de représentation des couleurs existent parmi lesquels on peut citer le système HSV (Hue, Saturation, Value) :

Noir

Axe des saturations

Axe des intensités V

Axe des teintes H

Blanc

Bleu

Vert

Rouge

L’intérêt de cette représentation est qu’elle permet une interprétation facile des grandeurs :

- H est la teinte qui varie entre 0 et 2π, - S, la saturation varie entre 0 et 1 ainsi, une couleur très saturée qui possède une faible

proportion de blanc se trouvera loin de l’axe des intensités - V représente l’intensité lumineuse.

III. Convention Le système de convention des axes est le suivant : En analogique : En discret : x y

y

x Ainsi, la ligne 0 d’une image est celle située en haut. Ceci implique une réadaptation de toutes les définitions de traitement du signal (exemple : convolution 2D)

Page 12: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 12

IV. Notion de topologie L’image est don représentée par un ensemble de pixels disposés sous la forme d’une grille :

x

y

Quels sont les p Selon les applicque l’on parle d Dans R2, le deg C = net vérifie : C(Dans l’espace iml’imagette suiva

1

1 11

Il faut donc (C4(E)+C8(~E)connexités des r

c

4-connexités 8-connexités

ixels voisins du pixel (y,x) ?

ations, on pourra se placer en 4 connexités ou en 8 connexités. Par contre, dès e contours et de régions conjointement, le choix s’impose.

ré de connexité ( ou nombre d’Euler) est défini par : ombre de composantes connexes – nombre total de trous E) + C(~E) = 1 (relation d’Euler)

age N2, notons E l’ensemble des 1 et ~E l’ensemble des 0 et considérons nte :

Dans le cas de la 4-connexités, C4(E) = 4 - 0 =4

C4(E) + C4(~E) = 5 C4(~E) = 2 - 1 = 1

Dans le cas de la 8-connexités, C8(E) = 1 - 1 = 0

C8(E) + C8(~E) = -3 C8(~E) = 1 - 4 = -3

utiliser C4(E) et C8(~E) pour conserver une relation topologique =1). On conserve donc la 8-connexités des contours pour garder une 4-égions lors des traitements.

Page 13: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 13

Chapitre 3 : Amélioration d’images Dans ce chapitre, nous allons voir d’une part comment modifier l’apparence d’une image pour qu’un observateur puisse plus facilement extraire des informations et d’autre part, comment supprimer le bruit des images en vue d’un traitement ultérieur. Avant cela, nous allons faire quelques rappels de traitement du signal en introduisant le filtrage deux dimensions.

I. Rappel de traitement du signal La convolution 2D de l’image I avec un filtre F est donnée par :

( )( , ) ( , ) ( , ). ( , )n m

I F x y IF x y I x n y m F n m+∞ +∞

=−∞ =−∞

⊗ = = − −∑ ∑

où F(n,m) est la réponse impulsionnelle du filtre. Cette convolution peut être représentée graphiquement par un cumul des produits terme à terme, à condition toutefois de prendre garde à inverser les coefficients du filtre : Supposons que l’on veuille filtrer (donc convoluer) une image avec le filtre :

a b cF d e f

g h i

=

i h gF f e d

c b a

=

où l’élément central e correspond à la position (0,0) dans la matrice. Avant

de réaliser la somme des produits terme à terme, il faut inverser les coefficients du filtre :

i h g f e d c b a En traitement d’image, par abus d’écriture, on présente directement le masque sous forme graphique, déjà inversé : NB : sous Matlab, la convolution se fait avec : IF=conv2(I,F,’same’) ; L’option ‘same’ permet à l’image IF d’avoir la même dimension que l’image I

Pixel d’application du filtre

Nouvelle valeur IF(x,y) Somme des produits

terme à terme des coefficients du filtre et des pixels de l’image correspondants

Page 14: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 14

II. Ré-haussement d’images 1. Extension de dynamique

Cette méthode consiste à utiliser au mieux la dynamique de niveaux de gris. Ainsi, si une image possède des niveaux de gris entre Gmin et Gmax, on va étendre la plage des niveaux de gris pour ramener à une dynamique comprise entre 0 et 255. Cette étendue réduite de niveaux de gris peut survenir suite à un temps de pose incorrecte ou à un éclairage de la scène trop faible. La transformation mise en place est :

( , ) min'( , )max min

I x y GI x yG G

−=

NB : sous Matlab, si I est l’image de départ, la transformation se fait avec : mini=min(I(:)) ; maxi=max(I(:)); I1=(I-mini)/(maxi-mini) Cette transformation ne fait qu’améliorer la qualité visuelle de l’image, elle ne change pas l’information présente dans le signal. Exemple d’image :

2. Correction d’exposition On peut aussi être amené à vouloir renforcer certaine plage de niveaux de gris, au détriment d’autres plages pour mettre certains objets en valeur. Dans ce cas, la transformation des luminances n’est plus linéaire. Exemple pour renforcer la présence des éléments d’un circuit électrique, on décide de renforcer la gamme des niveaux de gris clairs :

Image de départ Transformation Image d’arrivée des luminances

Page 15: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 15

3. Egalisation d’histogramme

Cette opération à pour but de rendre l’histogramme le plus plat possible. On souhaite ainsi que chaque niveau de gris soit également représenté dans l’image. Soit G, le niveau de gris d’un pixel de départ, le niveau de gris de l’image d’arrivée sera :

255' (G histocumulé GNombre de pixel

= )

Exemple sur une image :

Image de départ Image égalisée

4. Renforcement de contraste Contrairement aux autres méthodes, cette opération agit grâce à un traitement local sur les images (traitement prenant en compte les pixels du voisinage). Le problème que nous nous proposons de résoudre est d’essayer de supprimer un effet de flou dû par exemple à un bouger lors de la prise de vue. On ne veut donc pas toucher aux zones homogènes des images mais par contre, essayer de restaurer des contours francs. En effet, le flou est caractérisé par une transition douce entre deux zones de niveaux de gris différents. Il va falloir réaliser un traitement qui amène à une transition la plus raide possible. Nous allons dans un premier temps expliquer le principe 1D de la méthode.

En réalisant l’opération Signal –K*dérivée seconde, on ne touche pasau signal dans les zones homogènes(car la dérivée seconde est nulle), parcontre, on renforce les zones decontraste. Le signal ainsi obtenupossède une transition plus abrupte.

Signal Dérivée première Dérivée seconde Signal – K* dérivée seconde

Page 16: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 16

Considérons un signal discret monodimensionnel I(x). Sa dérivée première s’exprime par :

( )( )

1' ( ) (21' ( 1)2

I x I x I xet

1)

( )I x I x I

− = − −

+ = + − x

K petit K moyen K grand

Selon les valeurs du paramètre K, onpeut accentuer plus ou moins lephénomène :

Sa dérivée seconde s’exprime par :

( ) ( )1 1''( ) ' ' ( 1) 2 ( ) ( 1)2 2I x I x I x I x I x I x= + − − = + − + −

Dans le cas d’un signal à deux dimensions, on utilise le Laplacien définit par : 2 2

22 2( , ) ( 1, ) ( 1, ) ( , 1) ( , 1) 4 ( , )I II x y I x y I x y I x y I x y I x y

x y∂ ∂

∇ = + = − + + + − + + −∂ ∂

Ce qui correspond à une convolution avec le masque : 0 1 01 -4 10 1 0

Exemple :

Image originale K=0.5

K=1 K=2

Page 17: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 17

Un des problèmes du laplacien est que celui-ci est très sensible au bruit, ce qui fait apparaître sur les images précédentes un effet de grain. Pour le remédier, on peut utiliser des masques de plus grande dimension pour son calcul. L’idée est d’utiliser des zones circulaires de plus grande dimension :

On aura ainsi une zone externe composée decoefficients positifs et une zone interne composée decoefficients négatifs. La somme des coefficientspositifs et négatifs doit être nulle.

Exemple de masque :

ZI

ZE

1 1 1 1 11 1 1 1 1 -3 1 11 -8 1 1 -3 -8 -3 11 1 1 1 1 -3 1 1 1 1 1 1 1

III. Réduction du bruit dans les images

On peut considérer une image comme étant constituée de plusieurs zones homogènes représentant les objets. Dans la réalité, des fluctuations des niveaux de gris sont présentes à cause du bruit. On cherchera donc à diminuer l’amplitude de ces perturbations, sans toucher aux zones de transitions.

1. Filtre moyenneur L’idée est de réaliser une moyenne des niveaux de gris autour du pixel central. Pour cela, on peut utiliser un masque du type :

1 1 11 * 1 1 19

1 1 1

La taille du masque est un paramètre variable. Plus le masque sera de grande dimension, plus l’effet du filtrage sera fort. De manière générale, on essayera de réaliser un filtrage isotopique (même effet dans toutes les directions). Pour cela, le voisinage considéré devra avoir une forme circulaire :

0 0 0 1 0 0 00 1 1 1 1 1 00 1 1 1 1 1 0

1 * 1 1 1 1 1 1 129

0 1 1 1 1 1 00 1 1 1 1 1 00 0 0 1 0 0 0

Page 18: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 18

On remarque ici le problème lié à la définition d’un cercle sur un maillage carré. NB : sous Matlab, IF=conv2(I,ones(3,3)/9,’same’); Exemple de filtrage :

Image originale Image filtrée avec Image filtrée avec

le masque 3x3 le masque 7x7 Bien que cette méthode soit très simple à mettre en œuvre, elle possède un inconvénient majeur : le filtrage introduit un effet de flou, les contours sont dégradés.

2. Filtrage gaussien L’expression de la gaussienne en deux dimensions est donnée par :

2 2

2 2

1( , ) exp2 2

x yg x y +

= − πσ σ

L’intérêt du filtre gaussien est que l’on règle très facilement le degré de filtrage à travers le paramètre σ. Exemple de masque gaussien :

σ=1 σ=2 σ=3

Tous ces masques ont été calculés sur un voisinage de taille 41x41 mais on voit sur les figures précédentes que la taille du masque peut-être réduite ou augmentée en fonction de σ .En théorie, la gaussienne a une étendue infinie, mais en pratique, on limite cette étendue [–3σ,3σ] car la plupart de la puissance est dans cette zone. Par rapport au filtre moyenneur, le filtre gaussien accorde une grande importance aux pixels proches du pixel central, et diminue cette importance au fur et à mesure que l’on s’éloigne de celui-ci.

Page 19: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 19

On constate par contre le même défaut que le filtre moyenneur : il dégrade les contours en introduisant un flou. L’inconvénient des deux filtres linéaires présentés précédemment est que le filtrage s’accompagne d’un étalement des transitions. La détermination des coefficients du filtre résulte ainsi d’un compromis filtrage/dégradation. Ce problème peut être contourné en utilisant des filtres non linéaires

3. Filtre médian Ce filtre étant non linéaire, il ne peut pas être réalisé avec une convolution 2D de l’image. Considérons un voisinage rectangulaire autour du pixel d’intérêt. Le filtre médian consiste à prendre la valeur de niveaux de gris séparant la population en deux effectifs égaux. Exemple :

7 10 12 7 9 9 9 12 12 12 7 9 9 109 9 10 10 7 10 1210 12 9 12 10 12 1212 12 12 10 7 7 1010 7 10 12 12 10 7 10 7 9 12 10 9 12

7-7-7-7-7-7-7-7-7-9-9-9-9-9-9-9-9-9-9-10-10-10-10-10-10-10-10-10-10-10-10-10-10-12-12-12-12-12-12-12-12-12-12-12-12-12-12-12-12

valeur médiane : 10 Etude comparative :

Signal initial Moyenne Médiane On voit sur cet exemple l’effet de la moyenne : des niveaux de gris intermédiaires apparaissent au moment de la transition. Ce n’est pas le cas pour le signal filtré grâce à la médiane. Ce filtre donne de très bons résultats de part son principe sur le bruit impulsionnel (type poivre et sel). Il a par contre l’inconvénient de supprimer les détails fins. Nous allons examiner dans la suite d’autres types de filtres permettant :

- de conserver les détails fins - de réduire les coûts en temps de calcul imposés par la médiane (tri) - de conserver une bonne qualité au niveau des transitions

Page 20: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 20

4. Filtre à moyenne seuillée Le principe consiste à réaliser un filtrage uniquement en dehors des zones de transitions. Celles-ci sont repérées grâce à leur variance élevée. Principe : Autour de chaque pixel, calcul de la variance des niveaux de gris.

- si elle est inférieure à un seuil (on est dans une zone homogène), calcul de la moyenne des niveaux de gris

- sinon, on garde le niveau de gris d’origine

5. Filtre à moyenne pondérée Ce filtre est moins binaire que le précédent (filtrage/non filtrage) mais nécessite une estimation de la variance du bruit. Cette estimation peut être réalisée en prélevant une portion de l’image correspondant à une zone homogène et en calculant la variance des niveaux de gris de cette fenêtre. Une fois la variance du bruit VB estimée, les pixels sont modifiés à l’aide de la relation :

G = (1-K). Moyenne + K.Gorigine avec K = (Var-VB)/Var

6. Filtre de Nagao

Ce filtre est également appelé filtre à sélection de voisinage. Chaque fenêtre 5x5 est divisée en 9 domaines :

D0 D1

.

D8

D2, D4 ,D6 sont déduits de D0 par rotations de 90 degrés. D3, D5, D7 sont déduits de D1 de la même façon.. Pour chaque domaine Di, on calcule la moyenne et la variance : moy(i) et var(i). On va ensuite rechercher le domaine où la variance est la plus faible (aucun contour ne passe par ce domaine) et on affecte la moyenne des niveaux de gris de ce domaine au pixel central :

k / Var(k) = Min Var(i) G = Moy(k)

Ce filtre permet de limiter les pixels hors norme (bruit impulsionnel). D’autre part, il préserve et même améliore le contraste. Les zones avant et après la transition sont plus homogènes. Une première amélioration de ce filtre consiste à régulariser la forme géométrique des domaines :

D1D0 D8

Page 21: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 21

Deux autres améliorations sont envisageables : - Utiliser l’étendue max(Gris)-Min(Gris) comme paramètre de dispersion plutôt que la

variance (gain en temps de calcul) - Utiliser la médiane comme paramètre de centrage pour une meilleure robustesse vis à

vis du bruit

7. Etude comparative Sur une zone de transition, nous affichons ci-

dessous : - la moyenne 5x5 - la médiane 5x5 - ° Nagao

On peut constater que du point de vue raideur de la transition, c’est l’opérateur de Nagao qui donne les meilleurs résultats

Ces résultats sont encore plus visibles en affichant les images sous forme surfacique :

Image originale Moyenne

Médiane Nagao

Page 22: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 22

Chapitre 4 : Détection de contour Une image est généralement composée de plusieurs zones de niveaux de gris différents correspondants aux différents objets de la scène. Il nous faut maintenant trouver une manière de repérer ces objets dans l’image afin de pouvoir passer leurs caractéristiques à un éventuel processus de reconnaissance des formes. Deux grandes approches peuvent être envisagées pour extraire les zones pertinentes des images :

- on recherche des zones de niveaux de gris homogènes, c’est l’approche région - on recherche les discontinuités dans la scène, c’est l’approche contour.

Dans ce chapitre, nous allons nous intéresser à cette dernière méthode, la segmentation en région sera présentée dans le chapitre suivant.

I. Introduction Les contours correspondent aux lieux géométriques où le signal présente une forte discontinuité. Regardons sur un signal à une dimension comment retrouver ces discontinuités.

Elles correspondent à une pente élevée de la transition

recherche des maxima locaux du gradient

Elles correspondent à un changement de concavité

recherche des passages par zéros de la dérivée seconde (du laplacien pour les images)

Elles correspondent à une forme particulière du signal

adaptation à un gabarit

Les deux premières approches sont des méthodes dérivatives tandis que la troisième est une méthode d’adaptation à un gabarit

Page 23: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 23

II. Les approches dérivatives 1. L’approche gradient

Signal Dérivée

La recherche de la transition peut être réalisée en recherchant les maxima locaux du gradient. Dans le cas 2D des images, le vecteur gradient est défini au point de coordonnées (x,y) par :

( , )( , )

( , )( , ) ( , )

I y xIx y xxGrad y x

I y x Iy y xy

∂ ∂ = = ∂ ∂

Le module du gradient est défini par : 2 2( , ) ( , ) ( , )G y x Ix y x Iy y x= −

tandis que son orientation est définie par : ( , )( , ) arctan( , )

Iy y xy xIx y x

Φ =

L’orientation du gradient est perpendiculaire au contour et va de la partie claire à la partie foncée.

Image originale Image originale visualisée sous forme surfacique

Image du module du gradient Image du gradient seuillé et orientation

Page 24: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 24

Le calcul des dérivées peut être réalisé de plusieurs façons.

a) calcul direct Il est réalisé de la façon la plus simple qu’il soit :

Ix(y,x) = I(y,x+1) - I(y,x) = (I*Gx)(y,x) Iy(y,x) = I(y+1,x) - I(y,x) = (I*Gy)(y,x)

Ce qui correspond à une convolution avec les masques :

[ ]1 1Gx = − et 1

1Gy

− =

Malheureusement, ces dérivées sont très sensibles au bruit, on aura donc à faire un filtrage préalable.

b) Masque de Prewitt Les masques dérivateur sont maintenant :

[ ]1 0 1 11 0 1 1 * 1 0 11 0 1 1

Gx−

= − = − −

et [ ]1 1 1 1

0 0 0 0 * 1 1 11 1 1 1

Gy− − − −

= =

[ ]1 1 1 ou : filtrage des lignes ou des colonnes 111

[ ]1 0 1− ou : dérivée sur les lignes ou les colonnes 1

01

Ce type de masque combine donc à la fois un filtrage et une dérivée, il est donc moins sensible au bruit que le calcul direct des dérivées.

c) Masque de Sobel C’est le même principe que le masque précédent sauf que le filtrage préalable n’est pas réalisé de la même manière :

[ ]1 0 1 12 0 2 2 * 1 0 11 0 1 1

Gx−

= − = − −

et Gy [ ]1 2 1 1

0 0 0 0 * 1 2 11 2 1 1

− − − − = =

d) Masque dérivée de gaussienne

Le filtrage précédent la dérivation peut être réalisé grâce à un masque gaussien G. Dans ce cas, le calcul de la dérivée en x se fait par :

( * ) *I G GIx Ix x

∂ ∂= =

∂ ∂

Plutôt que de calculer deux produits de convolution sur toute l’image (coûteux en temps de calcul), on calcul le produit de convolution de l’image et de la dérivée en x du filtre. Le même raisonnement peut bien sur être tenu pour la dérivée en y. On :

2 2

2 2

1( , ) exp2 2

x yG x y +

= − πσ σ soit

2 2

4 2

( , ) exp2 2

G x y x x yx

∂ += − − ∂ πσ σ

Le paramètre σ règle le degré de lissage.

Page 25: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 25

La dualité que l’on a vue dans le chapitre précédent (filtrage/raideur de la transition) se retrouve ici :

Fort lissage Faible lissage

gradient

Un faible lissage amène à un pic de haute amplitude et étroit, donc à des contours fins. Par contre, si le signal est bruité, il restera beaucoup de bruit dans la dérivée. Un fort lissage amène lui à un pic de plus faible amplitude et beaucoup plus large, ce qui conduira à un contour épais. Par contre, le gradient d’une image bruité sera beaucoup moins perturbé par le bruit.

e) Calcul de la norme du gradient Quel que soit le calcul de Ix et Iy, il faut déterminer la norme du gradient pour pouvoir la comparer à un seuil et déterminer où sont les contours. Une simplification est exigée pour ne pas obtenir des temps de calcul trop longs (contrainte temps réel par exemple). De manière générale, la norme s’exprime par :

( )1/ NN Ngrad Ix Iy= +

- N=2 : distance euclidienne, trop long en temps de calcul car calcul d’une racine carrée - N=1 : somme des valeurs absolues - N=∞ : maximum des valeurs absolues

Ces deux dernières distances sont utilisables du point de vue temps de calcul mais amènent à des approximations importantes. Une autre idée consiste à changer de norme selon la répartition angulaire dans laquelle on se trouve :

3 2

1 Nous appellerons cette distance Nangle

Zone 1 : |Iy|>2|Ix| norme=Iy

Zone 3 : |Ix|>2|Iy|

norme=Ix Zone 2 : le reste

norme = 2 (|Ix|+|Iy|)/2 ou norme = ¾ (|Ix|+|Iy|)

Page 26: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 26

La dernière distance présentée, qui est aussi la moins approximative résulte d’une étude de la courbe représentant le lieu de toutes les distances depuis l’origine égales à 1 :

On constate que les normes N1 et Ninf sont très approximatives tandis que la norme Nangle est plus proche de la vérité. De cette courbe, on peut déduire une nouvelle distance résultant de l’approximation du cercle par trois droites

N1

Ninf

Nangle

Iy

N2

f) Seuillage des distances

Norme = max(Gx, Gy, 3/4(Gx+Gy) ). On obtient ainsi une meilleure approximation du cercle

Une fois la norme du gradient calculée en chaque point de l’image, il faut seuiller cette norme pour décider si un pixel fait partie ou non d’un contour. La méthode la plus simple consiste à considérer un seuil fixe S. Tous les pixels possédant une norme supérieure à S sont déclarés appartenir à un contour. Tout le problème réside alors dans le choix du seuil : un seuil trop bas amène à des sur-détections : on détecte beaucoup de bruit, tandis qu’un seuil trop élevé amène à des contours non fermés.

Image source Norme du gradient

Seuil=10

Contour très épais Seuil =15

Encore des contours épais Seuil = 20

Contours épais par endroits et il manque des contours à

d’autres endroits

IxIy

Ix0

Page 27: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 27

Seuillage par hystérésis Une façon de diminuer l’importance du seuil est d’utiliser un seuillage par hystérésis. Avant, il y avait un seuil unique qui amenait soit à des fausses alarmes, soit à des lacunes. Il était très difficile, voir impossible, de trouver un seuil adapté à toute l’image. On introduit maintenant 2 seuils : un seuil haut et un seuil bas.

- Si norme > seuil haut contour sur 1 - Si norme < seuil bas pas de contour 0 - Si seuil bas < norme < seuil haut contour de fermeture 2

Les contours hypothétiques de fermeture sont transformés en contours sûrs s’ils sont adjacents à un contour déjà codé à 1. Cette recherche d’adjacence s’effectue à partir des points d’extrémités des contours sûrs ( soit par suivi, soit par étiquetage des voisins connexes). Exemple :

Calcul de la dérivée : |I(y+1,x)-I(y,x)|

+ |I(y,x+1)-I(y,x)|

4 2 5 6 4 3 3 13 1 4 1 1 1 2 32 4 2 3 1 1 5 3

11 9 9 8 9 9 10 74 4 2 4 2 2 4 27 2 3 1 5 6 0 81 4 0 3 5 1 6 1

Image de départ Norme du gradient

0 0 2 2 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 2 01 1 1 1 1 1 1 20 0 0 0 0 0 0 02 0 0 0 2 2 0 10 0 0 0 2 0 2 0

Seuillage simple S=5 Seuillage par hystérésis, Seuil bas=5, Seuil haut=8 Le seuillage par hystérésis permet de limiter le nombre de fausses alarmes et de lacunes mais il amène aussi à des contours épais lorsqu’un fort filtrage a été réalisé. Pour revenir à des contours plus fins, on procède à une recherche des lignes de crête. Un point est gardé comme contour s’il est supérieur au seuil et s’il est maximum local dans une direction.

Seuillage classique

Problème des lignesde crête

Les lignes de crête ne résolvent pas tous les problèmes. D’une part, elles peuvent amener à des contours parasites. D’autre part, elles ne permettent pas de garder des contours fermés, même si le seuil choisi été tel que les contours l’étaient.

Page 28: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 28

Exemple de lignes de crête :

2. L’approche laplacien

Signal Dérivée seconde

La recherche des contours dans l’image peut aussi être réalisée en recherchant les passages par zéro du laplacien. Comme nous l’avons vu dans le chapitre précédent, celui-ci peut-être estimé grâce à une convolution avec le masque :

0 1 01 -4 10 1 0

Comme la dérivée second est très sensible au bruit, on préfère utilisé le laplacien à partir de dérivées de gaussiennes :

2 22 2

2 2

2 2 2 2 2 22

2 2 4 2 2

1( ) ( , ) *exp2 2

1 1( , ) * *exp2 2

x yIM G IM G avec G x y

G G x y x yG x yx y

+∇ ⊗ = ⊗ ∇ = − πσ σ

∂ ∂ − − +∇ = + = − − ∂ ∂ πσ σ σ

Comme pour le filtrage, la variance σ2 règle le degré de lissage et fixe la dimension du masque. Exemple : σ = 1, taille du masque : -4σ à 4σ

Page 29: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 29

Les points de contours sont ensuite extrait comme étant les passages par zéro significatifs du laplacien.

III. Approche dérivative précédée d’un filtrage non linéaire Le filtre de Nagao vu dans le chapitre précédent se prête très bien à une détection de contour : il supprime le bruit sans toucher à la raideur de la transition. Une façon de détecter les contours est donc de réaliser un filtrage de Nagao, suivi d’un calcul de dérivée simple :

[ ]1 1Gx = − et 1

1Gy

− =

Cette méthode amène à de très bons résultats de détection.

IV. Adaptation à un gabarit 1. Forme élémentaire

On définit un gabarit de contour dans une fenêtre d’analyse circulaire par pondération des pixels (isotropie) et on recherche, pour chaque pixel de l’image, si son voisinage a une forme qui correspond à la forme du gabarit. La décision d’acceptation est réalisée sur critère(s) de contraste suffisant et/ou de rapport contraste/bruit suffisant. L’information d’orientation est implicite dès que l’on a trouvé la position du gabarit qui amène à l’erreur quadratique minimale.

On définit le gabarit du contour M0 et trois rotations de celui-ci par pas de 45°. L’image est alors convoluée avec ces quatre masques et en chaque pixel, on regarde quel est le masque qui a amené à la plus grande réponse en valeur absolue. Si cette réponse est supérieure à un seuil (seuil de contraste), le pixel est déclaré comme pixel contour. Son orientation est donnée par celle du masque qui a le plus répondu si cette réponse est positive et par l’orientation du masque + 180 si la réponse était négative.

Page 30: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 30

2. Généralisation

A l’intérieur d’une fenêtre d’analyse C, nous définissons deux zones complémentaires A et B telles que :

, ,

, , ( )

, ,

2*

ij ij ij

ij iji j A i j B

ij ij iji j C i j A B

AU B Ci j a b c

a b cte

c a b∈ ∈

∈ ∈ ∪

=∀ ∀ + =

= =

= + =

∑ ∑

∑ ∑ cte

C

B

A

Une fois le modèle de transition défini, on déduit toutes ses rotations possibles, ce qui amène à différentes fenêtres Ak, Bk, où k code l’orientation. On peut alors rechercher :

- l’orientation k qui amène au contraste maximum :

kk kMax IA IB− ou ( )2k kk

Max IA IB−

où IAk et IBk représentent la convolution de l’image avec les masques Ak et Bk respectivement.

- l’orientation k qui amène à l’écart quadratique minimum :

( ) (2 2

, ,. / . /

k

ij ij k ij ij kk i j A i j BkMin a I IA cte b I IB cte

∈ ∈

− + −

∑ ∑ )

On obtient ainsi l’orientation qui sépare la fenêtre de l’image en deux zones les plus homogènes possible. En développant les calculs, on trouve que minimiser cette expression revient à minimiser :

( ) ( )( )k k k kk kMin IA IB Min IA IC IA= −

Exemple de mise en pratique. On choisit comme fenêtre circulaire une fenêtre de taille 5x5 :

1/8*16=2

3/4*16=12

1*16=16

12

12

12

12 12

12

12

12

2 2

2 2

16

16

16

16

16

16 16

161616 16

1616

Page 31: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 31

On choisit également de prendre 6 orientations possibles, ce qui amène à une résolution angulaire de 30 ° :

Masque A0 A3 déduit par rotation de 90°

Masque A1 A4 déduit par symétrie verticale

Masque A2 A5 déduit par symétrie verticale

On calcule ensuite IC et IAk, pour k variant de 0 à 5. En chaque pixel, on recherche la valeur de k qui amène au minimum de

( ).k kIA IC IA− On étiquette ensuite le pixel comme contour si

2k k kIB IA S IC IA S− > ⇒ − > où S est un seuil de contraste donné. Si 2 kIC IA< , l’orientation retenue est l’orientation k, sinon, on ajoute 180° à l’orientation.

V. Transformée de Hough 1. Forme générale

Cette méthode a pour but de détecter des droites lorsque l’on a les points de contour. Considérons une droite dans le plan (x,y). Elle a pour équation :

y = a x + b ou x sin ф + y cosф = ρ (équation 1)

ρ b

0

y

ф

x Si ф ∈ [0,π], les paramètres de la droite (ф , ρ) sont uniques. La transformée de Hough est une transformation qui permet de passer du plan image (x,y) au plan des paramètres. Le plan image est parfaitement défini, le plan des paramètres devra être discrétisé en NxM cellules :

Page 32: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 32

ρ

ф Par chaque point de contour, on peut en théorie faire passer une infinité de droite. Ici, comme on a discrétisé les orientations, on pourra seulement faire passer M droites. Considérons un point contour (xi,yi). Pour chaque orientation ф, on peut déterminer avec l’équation un le ρ (et donc la droite d’orientation ф passant par ce point). On incrémente alors de un la case (ф , ρ) correspondante dans l’espace des paramètres. Chaque point de contour vote donc pour M points dans l’espace des paramètres (un pour chaque orientation). Si une droite est présente dans l’image, chaque point de contour de cette droite va voter pour la même case de l’espace des paramètres provoquant ainsi une accumulation. En la détectant, on a les coordonnées de la droite.

2. Transformée de Hough généralisée Une amélioration peut-être amenée si en plus de connaître les points de contour (image binaire), on connaît l’orientation de ces points (facile à avoir : c’est l’orientation du gradient). Pour chaque point contour, on calcule ρ uniquement pour l’orientation perpendiculaire à celle du gradient. L’accumulation dans l’espace des paramètres est alors beaucoup plus nette. Cette méthode peut être étendue à des courbes de forme quelconque.

VI. Codage des orientations – codage de Freeman 2

7 5

3 1

θ 4 0 L’orientation codée est celle de la tangente au contour, normale à l’orientation du gradient. Une résolution angulaire de 45° correspond à un codage de Freeman à 8 états.

6

Un contour est décrit par la succession des codes de Freeman de ses pixels (chaînes de Freeman). Ce code est invariant :

- strictement en translation - à une constante additive près, modulo 8, en rotation - à la longueur des sous-chaînes près en homothétie.

Page 33: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 33

Un autre codage de forme, dérivé des chaînes de Freeman, est l’histogramme des orientations : f

e f

Cod

Ef

e

Cod

Ef

0 1 2 3 4 5 6 7

0 1 2 3 4 5 6 7

Page 34: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 34

Chapitre 5 : Segmentation en régions Nous allons aborder ici le principe de plusieurs méthodes de segmentation en régions :

- par agrégation de pixel (fusion) - par division - par division-fusion - par quadtree

I. Segmentation par agrégation de pixels

L’initialisation de cette méthode consiste à considérer chaque pixel comme une région. On va alors essayer de les regrouper entre elles avec un double critère de similarité des niveaux de gris et d’adjacence. Le critère de similarité peut par exemple être : la variance des niveaux de gris de la région R est inférieure à un seuil. Le principe de l’agrégation de pixel est le suivant : on choisit un germe et on fait croître ce germe tant que des pixels de son voisinage vérifient le test d’homogénéité. Lorsqu’il n’y a plus de pixel candidat dans le voisinage, on choisit un nouveau germe et on itère le processus.

II. Segmentation par division Au contraire de la méthode précédente, celle-ci suppose au départ que tous les pixels appartiennent à la même région. Si la région n’est pas homogène (critère d’homogénéité), elle est divisée en plusieurs régions, sinon, le processus se termine. Chaque région nouvellement créée est potentiellement redivisée en plusieurs régions si elle n’est pas homogène. Le critère d’homogénéité peut être le même que précédemment (variance des niveaux de gris inférieure à un seuil). Lors de la division, on peut rajouter un critère d’arrêt sur la taille des régions. La division peut être réalisée de plusieurs façons. Une technique consiste à déterminer les différents modes de l’histogramme des niveaux de gris et à affecter une ou plusieurs région à chaque mode : Région à

diviser3 régions

Mode 2Mode 1

Histogramme des niveaux de gris

III. Segmentation par division-fusion

Cette méthode consiste à reprendre le résultat de la division et à essayer de fusionner des régions qui ont été malencontreusement séparées. Pour ce faire, on utilise un outil très précieux : le graphe d’adjacence des régions.

Page 35: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 35

IV. Graphe d’adjacence

Le graphe d’adjacence est un graphe non orienté ou chaque nœud représente une région et chaque branche représente l’adjacence entre les régions :

3

2 1

0

3

2

1

0 Grâce au graphe d’adjacence, on n’a pas à remonter au pixels de l’image pour fusionner les régions.

V. Quad-tree C’est une méthode récursive de découpage d ’une image. Au départ, l’image est constituée d’un seul rectangle qui est découpé en 4 quarts s ’il n ’est pas jugé homogène. Les 4 nouveaux rectangles sont ses « fils » dans un arbre (quadtree). Chacun des fils est de nouveau découpé en 4 s’il n’est pas homogène. Cette méthode peut servir à comprimer une image ou à la segmenter. Dans le quad-tree linéaire, chaque feuille du quadtree est codée de manière à pouvoir

retrouver sa position. Principe de codage retenu :

Niveau

Niveau

Niveau 128x128

Niveau 256x256

Chaque niveau correspond à une taille d ’image

A

3

chaque étape de la division, on code les 4 nouveaux fils avec la même séquence : 0,1,2,3.

Page 36: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 36

A partir des coordonnées d’un pixel, on pourra alors retrouver très facilement le numéro de la feuille et vice-versa. Il suffit d’intercaler les numéros des lignes et des colonnes :

011 et 010 0 0 1 1 1 0 0 3 2

Exemple sous matlab :

VI. Etiquetage des régions La plupart des méthodes citées ci-dessus requièrent un algorithme d’étiquetage en composantes connexes : tous les pixels connexes possédant le même attribut doivent être affectés à la même région. Exemple :

Page 37: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 37

Il existe plusieurs algorithmes permettant de réaliser l’étiquetage.

1. Algorithme intuitif Supposons qu’à chaque pixel de l’image est affecté un attribut. On veut regrouper tous les pixels connexes possédant le même attribut (noté att dans la suite). Pour cela, on va balayer l’image et donner une étiquette à chaque nouveau pixel C.

BA C

Pixels A et B déjà étiquetés

Pixel C à étiqueter

On déplace un masque en L 1. Si att( C ) = att( A) et att( C ) ≠ att( B)

étiquette( C )= étiquette( A ) 2. Si att( C ) = att( B) et att( C ) ≠ att( A)

étiquette( C )= étiquette( B ) 3. Si att( C ) ≠ att( B) et att( C ) ≠ att( A)

étiquette( C )= nouvelle étiquette 4. Si att( C ) = att( B) et att( C ) = att( A) et étiquette( A )= étiquette( B )

étiquette( C )= étiquette( B ) 5. Si att( C ) = att( B) et att( C ) = att( A) et étiquette( A ) ≠ étiquette( B )

étiquette( C )= étiquette( B ) et remonte dans l’image et change toutes les étiquette( A ) en étiquette( B )

1 1 2 ?? 2 3 ?? 3

2 1

??

Cet algorithme amène à un étiquetage correct de l’image, mais en combien de temps ? A chaque fois qu’une configuration telles que les précédentes se présente, il faut rebalayer toute l’image.

Page 38: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 38

2. Algorithme évolué

Pour éviter ce problème, on fait appel à une table de correspondance. Celle-ci est un vecteur ou à chaque étiquette, on affecte une autre étiquette qui lui correspond. Par exemple, dans le cas précédant, on aurait correspondance (2)=1. Initialisation : correspondance (i)=i pour tout i Premier balayage : On déplace un masque en L de la même façon que précédemment,

1. Si att( C ) = att( A) et att( C ) ≠ att( B) étiquette( C )= étiquette( A )

2. Si att( C ) = att( B) et att( C ) ≠ att( A) étiquette( C )= correspondance (étiquette( B ))

3. Si att( C ) ≠ att( B) et att( C ) ≠ att( A) étiquette( C )= nouvelle étiquette

4. Si att( C ) = att( B) et att( C ) = att( A) et étiquette( A )= étiquette( B ) étiquette( C )= étiquette( A )

5. Si att( C ) = att( B) et att( C ) = att( A) et étiquette( A ) ≠ étiquette( B ) étiquette( C )= min(correspondance (étiquette( B )), étiquette( A ))

correspondance (étiquette( C ))= étiquette( C ) correspondance (étiquette( A ))= étiquette( C ) correspondance (max(correspondance (étiquette(B)), étiquette( A )))= étiquette( C )

Mise à jour de la table de correspondance : Toutes les étiquettes telles que correspondance(i)=i représentent de vraies régions. On leur affecte donc un numéro de région en numérotant dans l’ordre croissant. Pour toutes les étiquettes qui ne valident pas l’hypothèse ci-dessus, on fait correspondance(i)=correspondance(correspondance(i)) Deuxième balayage : A chaque pixel d’étiquette i, on lui affecte l’étiquette correspondance(i). Cette méthode ne nécessite donc que 2 balayages de l’image. Exemple :

Mise à jour de la table

1 1 1 2 2 1 1 1 1 1 1 1 3 4 5 3 4 4 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3

Table d’équivalence 1 1 2 1 3 3 4 3 5 4

1 12 13 24 35 4

1 12 13 24 25 2

1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

Page 39: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 39

Chapitre 6 : Détection de points d’intérêt Les points d’intérêt sont également une primitive pertinente que l’on peut extraire des images. Ils sont largement utilisés pour faire de l’appariement d’images, du calibrage de cameras, des mosaïques d’images, de la mise en correspondance,… Nous présentons ci-dessous les coins extraits d’une image de maison.

Harris précis

50 100 150 200 250 300 350 400 450 500

50

100

150

200

250

300

350

400

450

500

La détection peut être réalisée de deux façons :

- à partir des contours - à partir du signal

I. Détection des points d’intérêt à partir des contours Dans un premier temps, une extraction des points de contour est réalisée. Ensuite, trois approches peuvent être considérées :

- Calculer la courbure en chaque point de contour et extraire ceux qui ont une grande courbure

- Une fois les contours extraits, faire une approximation polygonale de ceux-ci (on remplace les contours par des segments). Toute intersection de segment est alors interprétée comme un point d’intérêt

- Réaliser un chaînage des points de contour et coder l’orientation des gradients en chaque point. On recherche ensuite des ruptures dans la chaîne des orientations.

Le problème de toutes les méthodes basées sur les contours est que le gradient est très mal défini près des coins : 5 10 15 20 25 30 35 40

5

10

15

20

25

30

35

40

5 10 15 20 25 30 35 40

5

10

15

20

25

30

35

40

Image de synthèse d’un coin Module du gradient

Page 40: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 40

Ainsi, les points correspondant à l’angle ne seront bien souvent même pas détectés lors de la détection de contour (module du gradient trop faible), ce qui invalide la méthode.

II. Détection directe des points d’intérêt à partir du signal

1. Méthode de Beaudet En chaque point de l’image est calculée :

2DET IxxIyy Ixy= − où Ixx, Iyy et Ixy représentent les dérivées secondes de l’image par rapport à x, y, et xy. La géométrie différentielle montre que cette mesure, en valeur absolue, est grande près des coins. On recherchera donc les maxima locaux de DET. Le problème qui apparaît avec cette méthode est qu’elle est basée sur des calculs de dérivées secondes, lesquelles sont très sensibles au bruit.

2. Détecteur de Harris Harris nous propose d’utiliser comme mesure :

2 2 2 2( )C Ix Iy IxIy Ix Iy 2=< >< > − < > − < > + < >λ où <X> représente la convolution de X par un masque gaussien. Il montre que C est grand que si l’on est situé sur un coin. La détection est donc faite en recherchant les maxima locaux de C. L’avantage de cette méthode est que l’on n’utilise que des dérivées premières.

3. Détecteur basé sur le gradient On considère que près d’un coin, la norme du produit vectoriel entre deux vecteurs gradient est grande, alors qu’il est petit ailleurs : si on est dans une zone homogène, le module des vecteurs gradient est petit et si on est situé sur un contour rectiligne, l’angle entre les vecteurs est petit, ce qui amène à une faible norme du produit vectoriel. Ainsi, on calcule la moyenne des produits vectoriels entre le gradient du point étudié et celui de ses voisins :

2

22. ( ,

i

i

j V

2

j V

k grad Pi grad Pj

k grad Pi grad Pj sin grad Pi grad Pj

= Λ

=

∑ )(équation 1)

Dans cette expression, 2 2grad P Ix Iy= + 2 et

2 2( ) Iysin grad P

Ix Iy=

+

En développant l’expression précédente, on arrive à : 2 2 2 2 2k Ix Iy Iy Ix IxIy IxIy= < > + < > − < >

où < > dénote la convolution par le masque :

1 1 11 0 11 1 1

Page 41: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 41

k est similaire à la norme du gradient puissance 4 multipliée par le carré du sinus de l’angle entre les gradients (équation 1). Si on souhaite favoriser autant le gradient que l’angle, il faut diviser k par le carré du gradient :

2 2 2 2

2 2

2Ix Iy Iy Ix IxIy IxIykIx Iy

< > + < > − <=

< > + < >>

4.

De la même façon que précédemment, on recherche ensuite les maxima locaux de k.

Comparaison des méthodes De manière générale, le détecteur de Beaudet est très sensible au bruit. Le détecteur de Kitchen , ainsi que la dernière méthode amènent à des résultats plus robustes. Une étude un peu plus fine montre que le détecteur de Harris à tendance à ne pas détecter les angles obtus.

20 40 60 80 100 120 140 160 180

20

40

60

80

100

120

140

160

20 40 60 80 100 120 140 160 180

20

40

60

80

100

120

140

160

Achard

20 40 60 80 100 120 140 160 180

20

40

60

80

100

120

140

160

20 40 60 80 100 120

20

40

60

80

100

120

20 40 60 80 100 120

20

40

60

80

100

120

AchardDernière méthodeHarris précisHarris

Dernière méthodeHarris

Harris Beaudet

Beaudet

Page 42: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 42

Chapitre 7 : Morphologie mathématique Il existe deux grands types de morphologie mathématique : la morphologie binaire et la morphologie multi-niveaux. Nous nous intéressons qu’à la première dans ce cours. Elle nécessite en entrée une image binaire et donc, la première étape consistera à binariser les images. Bien sûr, certaines images se prêtent mieux que d’autres à la binarisation (celles possédant deux grandes classes de niveaux de gris).

I. Binarisation des images Certaines images se prêtent très bien à la binarisation, ce sont les images bimodales (voir ci-dessus). Le problème de la binarisation consiste à déterminer un seuil pour séparer les différents objets de la scène : tous les pixels ayant un niveau de gris inférieur au seuil seront mis à 0, les autres seront mis à 1. Il n’est pas envisageable pour certaines applications, de déterminer le seuil à la main, il va donc falloir le trouver de manière automatique.

1. Binarisation avec l’histogramme

Page 43: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 43

L’histogramme des images bimodales possède deux modes. On calcule donc l’histogramme de l’image en excluant les zones frontières (gradient élevé). Puis on lisse l’histogramme et on extrait le min entre les deux pics qui correspond au seuil de binarisation.

2. Binarisation en utilisant un critère bayésien Hypothèse : On suppose que les niveaux de gris sont répartis en deux classes C0 et C1. Chaque classe est modélisée par une loi gaussienne de moyenne m0 et m1 et d’écart type V. Les deux classes possèdent la même variance caractérisant le bruit. Celui-ci est considéré stationnaire et affecte donc de la même façon tous les niveaux de gris. Chaque classe a pour effectif (nombre de pixel appartenant à la classe) N0 et N1.On recherche donc le seuil S0 qui minimise la probabilité d’erreur :

Pe0

S0

C1

C0

m1m0

Cette probabilité d’erreur est donnée par :

0 0 1. ( ) . ( )Perreur Pe P C Pe P C= + 1 avec :

20

00

( )1 exp22 S

S mPe dSVV

∞ −= −

∫π

et 0 2

11

1 (exp22

S S mPe dSVV −∞

−= −

∫π

)

On minimise cette probabilité d’erreur par rapport à S, soit :

2 20 0 0 1

0 1( ) ( )1 ( )exp ( )exp 0

2 22S m S mdPerreur P C P C

dS V VV − −

= − − + − π

=

donc, 2 2

0 0 1 10 1

( ) ( )ln( ( )) ln( ( ))2 2

S m S mP C P CV V

− −− = −

et le seuil S0 :

0 1 00

1 0 1

( )ln2 (

m m P CVSm m P C

+= + − )

On peut estimer mi, P(Ci) et S0 par itérations successives. Voici l’algorithme :

1. On initialise S0=moyenne des ndg de l’image. 2. On réalise le seuillage à deux classes C0 et C1. 3. On en déduit m0, m1, P(C0),P(C1) et V 4. A partir de ces nouvelles valeurs, on re-calcule S0. 5. Retour en 2 jusqu’à stabilisation

Page 44: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 44

Exemples de binarisation :

100 200 300 400 500 600

50

100

150

200

250

300

350

400

450

100 200 300 400 500 600

50

100

150

200

250

300

350

400

450

50 100 150 200 250

50

100

150

200

250

50 100 150 200 250

50

100

150

200

250

3. Binarisation en utilisant un critère structurel On va rechercher un seuil de manière à avoir des régions stables, avec une bonne régularité topologique. Cette notion de régularité est obtenue grâce à la compacité :

24 SurfaceCPérimètre

= π

Propriétés de la compacité:

- invariante en rotation - Invariante en translation - Invariante au changement d’échelle

Exemple

- Pour le disque 2

24 1(2 )

RCR

π= π =

π

- Pour le carré 2

24 0(4 ) 4

ll

π= π = = .78C

- Pour le rectangle (L=2, l=0.5) 2 2

x 1 44 44( ) 4(2.5) 25

l LCl L

π= π = π = =

+0.5

Autrement dit, plus une forme a une allure compacte et plus sa compacité sera grande. La plus grande valeur (1) correspond au cercle (forme la plus compacte qui soit). La binarisation utilisera ce critère : on seuille avec chaque niveau de gris et on retient comme seuil définitif celui qui amène à la plus grande compacité.

Page 45: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 45

Etude de la compacité dans différents cas : Forme compacte Pixels isolés Fauuses alarmes Lacunes

Cercle de N pixels V. C=1

N pixels isolés

24( 2 )

NCN

π= π

π

Cercle de rayon R Et N fausses alarmes

2

2

2

2

4(2 2 )

( )

R NCfR N

R NCfR N

π + π= π

π + π

+=

+

Cercle de rayon R Et N lacunes

2

2

2

2

4(2 2 )

( )

R NClR N

R NClR N

π − π= π

π + π

−=

+Autrement dit, la compacité aura tendance à favoriser les formes très compactes (cercle). Si ce n’est pas possible (niveaux de gris entremêlés à cause du bruit), elle privilégiera les fausses alarmes par rapport aux lacunes : Cl < Cf < 1. II. Introduction à la morphologie mathématique binaire

C’est une théorie ensembliste. 0 0

1

Notations et définitions : - Objets : X = { x / x = 1 } - Fonds : ~X = { x / x = 0 } - Élément structurant : Sx caractérisé par ses dimensions et sa forme Son centre x est le point d’application de l’opération locale

Sx Sx

x

III. Dilatation morphologique

{ }( ){ }

//

X S x Sx Xx Sx X X

⊕ = ∩ ≠ ∅= ∩ ⊂

Dilaté

Objet

Il y a forcement une relation d’inclusion : X X S⊂ ⊕

Page 46: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 46

Interprétation avec un élément structurant particulier : Considérons un élément structurant Sx centré en x, de rayon 1. Il peut prendre deux formes : Si on travaille en 8 connexités,

Si on travaille en 4 connexités,

La dilatation peut alors être interprétée comme une croissance de 1 pixel : x = 0∀ , s’il existe un point à un dans le voisinage, alors x=1.

On peut programmer très facilement la dilatation avec une convolution : X S = { x / Sx X } X S = ( S * Image) 0

⊕ ∩⊕ ≠

≠ ∅

Sous matlab, on utilisera les lignes de commande : Dil=conv2(X,ones(3,3),’same’)>0 si on travaille en huit connexités Dil=conv2(X,[0 1 0 ;1 1 1 ;0 1 0]’same’)>0 si on travaille en quatre connexités Un exemple :

100 200 300 400 500 600

50

100

150

200

250

300

350

400

450

100 200 300 400 500 600

50

100

150

200

250

300

350

400

450

On voit que la dilatation bouche les trous. IV. Erosion morphologique

{ }( ){ }

// ~

X S x Sx Xx Sx XΘ = ⊂

= ∩ ≠ ∅

érodé

Objet initial Il y a forcement une relation d’inclusion : X S XΘ ⊂ Interprétation avec un élément structurant particulier : L’érosion peut être interprétée comme une contraction de 1 pixel :

x = 1∀ , s’il existe un point à 0 dans le voisinage, alors x=0. On peut programmer très facilement l’érosion avec une convolution :

Page 47: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 47

{ }/X S = ( S * Image) ( )X S x Sx X

card SΘ = ⊂Θ =

Sous matlab, on utilisera les lignes de commande : Dil=conv2(X,ones(3,3),’same’)= =9 si on travaille en huit connexités Dil=conv2(X,[0 1 0 ;1 1 1 ;0 1 0]’same’)= =5 si on travaille en quatre connexités Un exemple :

100 200 300 400 500 600

50

100

150

200

250

300

350

400

450

100 200 300 400 500 600

50

100

150

200

250

300

350

400

450

On voit que l’érosion supprime les fausses alarmes.

V. Cascade d’opérations A partir de l’érosion et de la dilatation, on peut définir deux nouvelles opérations : l’ouverture et la fermeture. Ouverture : X ○ S = ( X ⊖ S ) ⊕ S Fermeture : X ● S = ( X ⊕ S ) ⊖ S L’ouverture servira à supprimer les fausses alarmes :

Proportions gardées

dilatationSuppression des fausses alarmes

érosion Objets et fausses alarmes

La fermeture supprimera les trous : Suppression

des trous dilatation érosion Proportions

gardées Objets à trous

Page 48: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 48

Exemple :

Fermeture : on rajoute tous lespoints rouges (boucheles trous)

Ouverture : on supprime tous lespoints rouges (faussesalarmes)

Application : détection de composants

Érosion de l ’image L ’élément structurant est de taille 40x30

Dilatation avec le

même élément structurant

Report sur l’image initiale

Page 49: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 49

Autre application : Sélection d’objets de petite taille VI. Contours d’une image binaire Les contours intérieurs s’obtiennent grâce à :

X- ( X ⊖ S ) En effet, l’érosion supprime un pixel aux bords de l’objet. En faisant Image-érodé, on retrouve donc un contour de 1 pixel de large. On peut aussi déterminer les contours extérieurs avec :

( X ⊕ S ) -X VII. Amincissement L’amincissement est en fait une érosion avec conservation de la connexité. Il peut servir à améliorer les contours d’objets fins mais sa grande utilisation sera la squelettisation. Application : amélioration de contours d’objets minces (caractères,…)

X – (X ○ S )

Gris : images source Blanc : 1 puis 2 amincissements Principe : pour un point de bordure nord (avec un zéro au dessus), l’élimination du pixel central, dans les deux configurations données ci-dessous, ne modifie pas la connexité. V8 0 0 0

1 1 1 x 1 1

x 0 01 1 0x 1 x

x : état indifférent (0 ou 1) Donc, pour tous les pixels à 1, de bordure nord, vérifiant une des configurations précédentes, on pourra mettre le pixel central à 0.

Page 50: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 50

Les autres configurations (est, sud, ouest) se déduisent de la configuration nord par rotation de 90°.

VIII. Squelettisation Le squelette est un graphe qui caractérise la forme d’un objet binaire et qui peut permettre de le reconstituer (transformation réversible). Il sera très utile pour faire de la reconnaissance d’objets. Il existe deux définitions du squelette qui sont similaires dans R2 : Lieu des centres des disques de rayon maximum inscrits dans l’objet. Le rayon en chaque point permet de reconstruire l’objet.

Axe médian, ensemble des points équidistants de 2 bords de l’objet. Cette définition correspond à l’état stable obtenu par amincissements itératifs

=

Le squelette est très sensible aux détails mais aussi, aux lacunes et à l’irrégularité des bords. Exemple : gris : image source, blanc : squelette

Image de départ Même image avec un trou Même image avec un bord irrégulier

Ainsi, avant de faire la squelettisation, on sera souvent amené à réaliser un pré-traitement de l’image. Exemples d’application de la squelettisation : Reconnaissance de l’écrit Reconnaissance des composantes sans trou

(réduite à 1 pixel) et des composantes avec trou

Page 51: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 51

1. Pré-traitement d’une image binaire Pour éliminer les trous, ou lacunes, on mettra à 1 le pixel central dans les configurations suivantes : x x x 1 0 1 x 1 x

x 1 x 1 0 1 x x x

x 1 xx 0 1x 1 x

x 1 x 1 0 x x 1 x

(Les trois derniers masques se déduisent du premier par rotation de 90°). Le lissage des points saillants se fera en mettant à 0 le point central dans les configurations suivantes : 0 0 0 0 1 0 x x 0

0 0 00 1 0x 1 x

0 0 00 1 00 x x

2. Algorithme parallèle de squelettisation Cet algorithme est qualifié de parallèle car le traitement est réalisé avec une image source et une image d’arrivée. L’algorithme consiste à réaliser des itérations d’amincissement jusqu’à stabilisation (plus aucun changement). Lors des itérations d’amincissement, il faudra prendre garde aux bandes de largeur 2 pixels (0-1-1-0) qui seront supprimées. Une solution consiste à les détecter et à ne pas modifier le pixel central dans ces configurations.

3. Algorithme séquentiel de squelettisation Les modifications se font directement dans l’image source, ce qui introduit une causalité lors du balayage. Ici aussi, l’algorithme est itératif et se poursuit jusqu’à stabilisation (le nombre d’itérations dépend de l’épaisseur de l’objet). Voici, pour un point de bordure est, les seules configurations où il faut conserver le pixel central : x x x 0 1 x 1 0 x

1 0 x 0 1 x x x x

x 0 00 1 1x 0 0

x x x 0 1 0 z z z

si tous les x et z à 0 point isolé à conserver si tous x à 0 et au moins un z à 1 point d’extrémité si au moins un x à 1 l’élimination du point central rompt la connexité locale si x et y ont au moins un 1 rupture de connexité Les points non essentiels (qui ne correspondent pas à une de ces configurations) sont marqués et sont éliminés en fin d’itération. Déroulement des itérations :

Initialisation : iter=1, Itérations tant que des points sont modifiés, 3 sous – cycles

- test des points bordure E et W, essentiels = iter, non essentiels = Mrk - test des points non modifiés N et S, essentiels = iter, non essentiels = Mrk - points d’etiquette Mrk éliminés ( 0 ), iter = iter+1

en fin d’itération, squelette = point > 0

Page 52: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 52

La valeur d’un point squelette indique l’itération à laquelle il fut déclaré essentiel, donc, l’épaisseur locale de l’objet (possibilité de reconstruction)

4. Squelettisation par recherche des maxima locaux des distances entre les pixels de l’objet et le fond

Cette méthode consiste à calculer, en chaque point de l’objet, sa distance au fond. On recherche ensuite les maxima locaux directionnels (ligne de crête) de l’image des distances.

Cette méthode est très rapide car le calcul des distances ne nécessite que 2 parcours de l’image. Le temps de calcul du squelette est indépendant de la dimension de l’objet, contrairement aux autres algorithmes. Par contre, avec cet algorithme, le squelette n’est plus forcément connexe (On peut avoir deux squelettes pour un objet, voir l’exemple ci-contre). Ceci n’était pas le cas avec les deux autres méthodes.

0 0 0 0 0 0 0 00 0 0 1 1 1 0 00 0 0 1 1 0 00 1 1 1 1 1 00 1 2 2 2 2 1 00 1 20 1 2 2 2 2 1 00 1 1 1 1 1 1 00 0 0 0 0 0 0 0

22

3 3 2 1 0

Algorithme de Chamfer pour calculer en deux parcours de l’image, la distance des points de l’objet au fond.

On procède de proche en proche. Lorsque l’on se déplace horizontalement ou verticalement, on ajoute 1 et lorsqu’on se déplace en biais, on ajoute 2

d= 2

d=1

Pour simplifier, on se ramène à des valeurs entières : 1 2

2 fois la distance euclidienne erreur de 13% par défaut2 3

1 33 fois la distance euclidienne erreur de 8% par excès

2 4

→ ⇒ ⇒→

→ ⇒ ⇒→

L’algorithme procède en deux balayages : un en sens vidéo puis un en inverse vidéo. Il cumule le chemin de coût minimum de proche en proche : B

Cd0 Cv1 Cd2 Ch3 p -->

( )0...3

min ( ) ( )i

Dp D i C i=

= +

avec Cv=Ch=2 ou 3 respectivement Cd=3 ou 4 respectivement

alayage en sens vidéo :

B

<-- p Ch3 Cd2 Cv1 Cd0

( )0...3

min , ( ) ( )i

Dp Dp D i C i=

= +

avec Cv=Ch=2 ou 3 respectivement Cd=3 ou 4 respectivement

alayage en sens inverse vidéo :

Page 53: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 53

Exemple : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞∞ ∞ ∞ 1 1 1 1 2 4 6 ∞ ∞ 3 1 1 1 1 2 4 6 ∞ 6 3 1 1 1 1 2 4 6 9 6 3 1 1 1 1 2 4 6 9 6 3 2 2 2 2 3 5 7 9 6 5 4 4 4 4 5 6 8 9 8 7 6 6 6 6 7 8 9

9 8 7 6 6 6 6 7 8 9 8 6 5 4 4 4 4 5 6 8 7 5 3 2 2 2 2 3 5 7 6 4 2 1 1 1 1 2 4 6 6 4 2 1 1 1 1 2 4 6 6 4 2 1 1 1 1 2 4 6 6 4 2 1 1 1 1 2 4 6 7 5 3 2 2 2 2 3 5 7 8 6 5 4 4 4 4 5 6 8 9 8 7 6 6 6 6 7 8 9

Image binaire Balayage sens vidéo Balayage sens inverse vidéo

Page 54: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 54

Chapitre 8 : Texture

I. Introduction 1. Introduction

Dans le but de segmenter une image en régions, nous ne pouvons pas nous limiter à l'utilisation seule des niveaux de gris. En effet, beaucoup d'images, et plus particulièrement les images naturelles, possèdent des zones texturées, non homogènes au sens des niveaux de gris. Nous voyons donc la nécessité‚ d'introduire des paramètres de texture dans les algorithmes de segmentation, dans le souci de travailler sur des images les plus générales possibles (ne pas se limiter aux images contenant des objets homogènes au sens des niveaux de gris). Malheureusement, il n'existe pas de définition universelle pour la texture et bien que celle-ci soit visible de façon naturelle pour l’œil humain, aucune règle mathématique générale capable de quantifier les différentes classes de texture n'a été mise en évidence à ce jour. De nombreux travaux ont cependant été réalisés sur ce sujet, mettant en avant deux grandes approches d'analyse de texture : l'approche structurale et l'approche statistique.

• L'approche structurale considère que les textures sont formées d'un ou plusieurs motifs se répétant de façon régulière dans l'espace. A titre d'exemples, nous pouvons considérer un mur de briques ou un tissu. Une description structurale de la texture consistera alors à repérer dans l'image les éléments de base ou motifs, ainsi que leurs arrangements. Cette méthode exige que l'image soit formée d'une texture régulière et se heurte à de nombreux problèmes. Tout d'abord, il est généralement difficile de repérer les motifs élémentaires, d'autant plus que les propriétés de ces motifs ne sont pas nécessairement constantes dans l'image (variation de l'éclairement,...). Un autre problème est dû à la répartition des primitives qui n'est pas forcément régulière (un tissu avec des trames plus serrées par endroits), ce qui entraîne l'introduction d'un élément aléatoire. Une certaine souplesse peut cependant être apportée aux algorithmes, permettant de les rendre moins sensibles au bruit. Jusqu'à présent, l'approche structurale ne semble pas être en mesure de conduire à une représentation unifiée de la texture, son utilisation se limite à des applications très précises.

• L'approche statistique s'applique en particulier aux textures ne possédant pas de

primitives élémentaires autres que le pixel ou des voisinages de pixels. Ces textures présentent un aspect désordonné‚ mais sont néanmoins homogÈnes. Cette approche statistique est bien adaptée aux textures naturelles. Elle est d'autre part plus facile à mettre en oeuvre dans un algorithme de segmentation d'images que l'approche

Page 55: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 55

structurale. Les méthodes statistiques sont donc les plus utilisées, nous en détaillons quelques unes, ainsi que les paramètres de texture auxquels elles donnent accès, dans le but de la segmentation d'images.

De nombreux travaux utilisant des caractéristiques de texture existent. Citons, pour illustration, les applications :

• segmentation d'images aériennes (détection des arbres, des bâtiments,...) ; • segmentation d'images volcaniques ; • recherche de fruits dans un arbre ; • segmentation de scènes routières pour asservir un véhicule sur la route ; • détection de défauts sur des tôles décapées ;

II. Histogramme des différences de niveaux de gris

Pour chaque point (x,y) de la fenêtre étudiée, nous calculons : ( , ) ( , ) ( , )F x y f x y f x x y y= − + ∆ + ∆

où f est la fonction luminance. Si l'image possède N niveaux de gris, alors F varie entre 0 et N. Le décompte du nombre de fois, où F(x,y) prend la valeur i, fournit un vecteur à N dimensions duquel des paramètres tels que la valeur maximale, la moyenne, la variance, les moments,... sont extraits. Ceux-ci caractérisent la texture. Un gros inconvénient de cette méthode est qu'elle nécessite le calcul de plusieurs histogrammes (plusieurs directions et plusieurs distances) pour chaque fenêtre. A titre d'illustration, un exemple de recherche de paramètres de texture sur une image de route sans marquage au sol est présenté. Afin de diminuer les temps de calcul, la gamme des niveaux de gris a été réduite, de manière linéaire à 64. De plus, comme il est impossible de calculer la texture d'un point, l'image a été divisée en fenêtres de 16x16 pixels. Le paramètre de texture estimé pour cette zone lui est affecté et est représenté sur l'image résultat. On aurait aussi pu affecter ce paramètre au pixel central et ainsi, disposer d'un paramètre de texture pour chaque pixel de l'image. Bien évidemment, les temps de calcul seraient alors beaucoup plus longs. Nous avons calculé un seul histogramme avec ∆x =1 et ∆y=0. De plus, le paramètre de texture représenté est la valeur maximale de l'histogramme.

Page 56: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 56

histo des deifferences de ndg

On voit que les paramètres de texture associés à la route ou au ciel sont plus faibles que ceux associés aux bas-cotés ou aux arbres, ce qui traduit bien les zones que visuellement, on juge moins texturées. III. Méthode fondée sur le calcul du gradient de la fonction luminance De nombreuses méthodes d'extraction de paramètres de texture reposent sur le calcul du gradient de la fonction luminance. En effet, les contours extraits d'une image semblent caractériser la texture de celle-ci :

Plusieurs méthodes permettent d'obtenir des paramètres de texture à partir des contours, nous en présentons une ici. Dans un premier temps une extraction, puis un chaînage des points contours sont réalisés. A partir des points ainsi retenus, on caractérise la texture par :

• nombre de petits segments obtenus, • longueur moyenne des segments, • …

Page 57: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 57

IV. Filtre de Gabor Un filtre de Gabor h, à deux dimensions, peut être représenté comme une gaussienne modulée par une onde plane sinusoïdale :

( ) ( )2 21, exp cos 2 02 22x yh x y u xx y

= − + π +Φσ σ

Où : • u0 et Φ sont respectivement la fréquence et la phase de l'onde plane sinusoïdale. • σx σy caractérisent l'étendue spatiale du filtre.

En faisant varier les différents paramètres, plusieurs filtres de réponse impulsionnelle hj sont obtenus. Une image résultat fj est déterminée à la sortie de chacun de ces filtres :

( ) ( ) ( ), , *j jf x y f x y h x y= , Plusieurs paramètres peuvent ensuite être extraits de ces images comme, par exemple, la moyenne absolue de la déviation :

V - Les matrices de cooccurrences, ou de transitions Une méthode fréquemment utilisée en pratique pour la discrimination des textures repose sur l'emploi des matrices de cooccurrences. Celles-ci sont déterminées à partir de caractéristiques représentant les relations spatiales entre paires de niveaux de gris de pixels. Plusieurs définitions des matrices de cooccurrences existent dans la littérature, nous considérons ici la définition des matrices de cooccurrences symétriques. Elles déterminent la fréquence d'apparition de paires de niveaux de gris à une distance δ donnée, dans une direction θ donnée :

( )1

2, 0

1 ,n

j jx y

m fn

=

= ∑ x y

135 90 45

0

La définition des matrices de cooccurrences est la suivante. Soit f(x,y) la fonction luminance. La matrice de cooccurrences Pδ,θ pour une distance δ donnée et une orientation θ fixée est définie par :

( ) ( ) ( ), , ,, 1 1

f x y i f x y jx yp i j

δ θ = =′ ′

= ∑∑

Page 58: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 58

Les directions les plus usitées sont 0, 45, 90 et 135 degrés. La somme des matrices de cooccurrences dans les différentes directions peut être effectuée :

,0 ,45 ,90 ,135P P P P Pδ δ δ δ δ= + + + Afin d'illustrer le calcul des matrices de cooccurrences, nous présentons un exemple, et calculons celle-ci pour un secteur codé sur sept niveaux de gris. La matrice de cooccurrences de ce secteur est déterminée pour une distance de un pixel (δ =1) et une orientation de zéro degré(θ = 0°).

secteur matrice

0 0 0 0 0 0 120 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 0

12 0 0 0 0 0 0

0 6 0 6

6 0 6 0

0 6 0 6

6 0 6 0

8 0 0 0 0 4 00 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 00 0 0 0 0 0 04 0 0 0 0 8 00 0 0 0 0 0 0

0 0 5 5

0 0 5 5

0 0 5 5

0 0 5 5

0 2 5 2

4 2 3 6

3 0 1 4

6 4 2 1

0 1 1 1 0 0 01 0 1 0 1 0 01 1 0 1 2 2 01 0 1 0 0 0 10 1 2 0 0 0 10 0 2 0 0 0 00 0 0 1 1 0 0

Les matrices de cooccurrences contiennent une grande quantité d'informations, difficilement exploitable dans son intégralité (pour une image à 256 niveaux de gris, la matrice a comme dimension 256x256). Il faudra donc réduire cette quantité d'informations pour garder uniquement des données pertinentes, relatives à la texture de la scène. Haralick a défini quatorze paramètres représentatifs de la texture à partir des matrices de cooccurrences. Nous en citons deux :

- Moment second ou énergie

( ) 2,

i j

P i j ∑∑

Page 59: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 59

- Moment des différences inverses ou homogénéité

( )( )2

1 ,1i j

P i ji j+ −

∑∑ De manière générale, ces paramètres sont discriminants et facilement extractibles. Nous reprenons le même exemple que précédemment qui est celui de la route sans marquage au sol. L'image est toujours divisée en fenêtres de 16x16 pixels, et nous travaillons sur 64 niveaux de gris. Ceci a pour conséquence directe de réduire considérablement la taille des matrices de cooccurrence puisqu'elles passent de 256x256 à 64x64, soit une réduction de taille d'un facteur 16. Le paramètre que nous représentons est le moment des différences inverses. On peut considérer qu'il représente l'homogénéité des niveaux de gris de la zone étudiée.

matrice de cooc, homogeneite

VI - Les matrices de voisinage La matrice de voisinage V à une distance d donnée est définie par :

Vd(i,j) = nbre de pixels ayant un niveau de gris i et j voisins de niveaux de gris i ± d. Une fois la matrice obtenue, les mêmes paramètres que ceux définis par Haralick sur les matrices de cooccurrences peuvent être extraits. Cette méthode donne des matrices de taille beaucoup plus faible que les matrices de cooccurrences et de plus, présente une invariance en rotation de par la nature même du voisinage centré. Par contre, un inconvénient majeur est que les caractéristiques extraites de la matrice varient énormément en fonction de d. Ceci dénote une certaine instabilité, et oblige à calculer plusieurs matrices, pour des distances algébriques différentes entre les niveaux de gris. VII - Les matrices de longueur de plage Les matrices de longueur de plage, consistent à rechercher les plages (ou segments de droite) de même niveau de gris. Ainsi, pour différentes orientations θ (principalement 0, 45, 90 et 135 degrés), une matrice de longueur de plage Pθ est déterminée. Celle-ci est caractérisée par ses éléments : Pq(i,j) = nombre de fois où l’image contient une plage de niveaux de gris i,de longueur j dans la direction θ. Les matrices sont de dimension nombre de niveaux de gris x longueur maximale d'une plage. Une fois la matrice déterminée, les mêmes paramètres que ceux définis par Haralick à partir des matrices de cooccurrences peuvent être extraits. De nouveaux paramètres peuvent

Page 60: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 60

également être définis comme par exemple << l'accentuation des petites longueurs >> qui varie en fonction du nombre de segments uniformes. VIII - Fonction d'autocorrélation La fonction d'autocorrélation est d‚finie dans le cas discret par :

∑ ∆+∆+=yx

yyxxfyxfyxFn ,

2 ),(),(1),(

où : • n représente les tailles horizontale et verticale de l'image ; • f est la fonction de luminance ; • ∆x et ∆y sont les déplacements horizontaux et verticaux.

La fonction d'autocorrélation permet de mettre en avant les dépendances spatiales existant entre certaines paires de pixels. Cette fonction mesure une distance entre une image originale et sa translatée. Nous présentons ci-dessous les coefficients obtenus avec ∆x=1 et ∆y=0.

autocorelation

IX - Transformée de Fourier La transformée de Fourier bidimensionnelle peut être utilisée pour caractériser la texture. Celle-ci est définie dans le cas discret par :

∑ +−=ml

vmulimlfvuFn ,

2 ))(2exp(),(1),( π

où : n représente les tailles horizontale et verticale de l'image ; f est la fonction de luminance. La transformée de Fourier opère un changement d'espace de représentation. On passe ainsi du domaine spatial au domaine fréquentiel. Certaines textures, représentées dans cet espace, vont produire des concentrations d'énergie dans le spectre de Fourier, traduisant ainsi une périodicité horizontale et verticale. X - Approches multi-résolution Une autre méthode pour caractériser des textures consiste à utiliser la dimension fractale. En effet, des études ont mis en évidence la correspondance entre la dimension fractale et l'évaluation humaine de la rugosité. De plus, si une surface naturelle est fractale, alors l'image

Page 61: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 61

d'intensité lumineuse de cet objet l'est aussi. La dimension fractale d'un objet peut donc être calculée en utilisant les niveaux de gris qui lui correspondent. Trois grandes méthodes, permettant de calculer cette dimension fractale, existent :

• La méthode des boîtes; • La méthode des variations; • La méthode du spectre de puissance.

Nous ne parlerons ici que de la première méthode, mais avant tout, nous allons introduire ce qu'est une fractale. La fin des années 1970 a vu se développer la notion de géométrie fractale dans de nombreux domaines de la physique, et en particulier, en traitement d'images. Elle est le complément qui manquait à la géométrie euclidienne. Comme l'a fait remarquer Benoit Mandelbrot, les nuages ne sont pas des sphères, les montagnes des cônes. Les objets fractals, encore appelés fractales, sont définis comme étant des objets dont la dimension de Hausdorff-Besicovich est fractionnaire et strictement supérieure à leur dimension topologique. Dans le cas d'une courbe, la dimension fractale d est toujours comprise entre un et deux. Si d est proche de un, la courbe est assimilable à une droite, tandis que si d est proche de deux, la courbe sera très <<froissée>> dans le sens où elle occupera une large partie du plan et sera donc assimilable à une surface. Afin de mieux comprendre la nécessité des dimensions non entières, nous allons mesurer la longueur L d'une côte maritime entre deux points A et B :

On est rapidement confronté à une difficulté : L dépend de la longueur du pas p choisi et croît infiniment quand p décroît. En effet, pour un pas p1, la longueur sera Lp1=N1 p1 où N1 est le nombre de pas nécessaire pour parcourir la côte. Pour un pas p2 < p1, on aura Lp2 = N2 p2 > Lp1. La mesure est donc relative à la résolution et, est différente de la << vraie >> longueur LAB. Mais comment calculer cette vraie longueur LAB? En 1910, Richardson établit la loi empirique reliant la longueur au pas de mesure :

aL p−=où a est un paramètre qui caractérise la côte (-1<a<0). En 1977, Benoit Mandelbrot introduit la notion de dimension fractale d : d=n-a où n est la dimension topologique (n=1 pour une côte maritime). Ces deux équations conduisent au résultat :

L=pn-a

Page 62: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 62

La notion de géométrie fractale est étroitement liée aux propriétés d'invariance par changement d'échelle : une structure fractale est la même de près comme de loin. A titre d'exemple, nous présentons la courbe de Koch (1904). Chaque segment de longueur l est remplacé par une ligne brisée (générateur), formée de quatre segments de longueur l/3. On montre que la courbe ainsi obtenue a une dimension fractale d=ln 4 / ln 3 = 1.2618.

Les fractales sont maintenant très utilisées en imagerie de synthèse. Grâce à elles, on peut générer des formes naturelles comme des montagnes. Suivons cet exemple : on part d'un grand triangle rectangle, dont on prend le côté vertical comme unité. Au milieu de son hypoténuse AB, on porte verticalement la distance ( )2 D.BH 21 C . On procède de même

avec les nouveaux segments AC et BC, mais en déplaçant le milieu de AC vers le bas et celui de BC vers le haut. La courbe obtenue au bout de quatre étapes a une allure alpestre : Etudions maintenant la mesure de la dimension fractale pour les images et, plus particulièrement, la méthode des boîtes. Considérons un objet fractal A dans l'espace de dimension n. A est inclus dans une boîte de cet espace de taille R. Si on réduit le partitionnement d'un rapport 1/r, alors il faudra N(r)=rd boîtes de taille rR pour contenir l'objet A. Dans le cas de la dimension fractale d'une image, l'objet A correspond à la surface des niveaux de gris et est dans un espace à trois dimensions. Si l'image possède ny x nx pixels

quantifiés sur ng niveaux de gris, alors la boîte renfermant A est un volume de taille ny x nx x ng. En découpant ce parallélépipède en petits cubes d'arrête p, on obtient N(p) cubes qui ont une intersection non vide avec la surface A considérée. La dimension fractale est alors :

( )( )( )0

lnlim

ln 1/p

N pd

p→=

Page 63: Cours de Traitement d’images - isir.upmc.fr · Ce flux d’électrons est dévié par l’ensemble des bobines de déviation afin de scruter l’ensemble de la ... tandis que 255

Cours de traitement d’images – Catherine Achard 63

La pente de la droite dans le diagramme bi-logarithmique ln(N(p)) vs ln(1/p) donne la dimension fractale d. XI - Masque de Laws Laws nous propose un ensemble de masques 3x3 ou 5x5 trouvés de manière expérimentale en effectuant des tests sur un ensemble d'images de textures naturelles. L'idée consiste à représenter les textures par des mesures d'énergie réalisées à la sortie d'un banc de filtres. L'image originale I est donc convoluée par ces filtres, donnant lieu à plusieurs images résultat Ij. Les caractéristiques de texture sont ensuite obtenues en sommant en valeur absolue les pixels des images résultats dans les différentes fenêtres de travail. L'intérêt de cette méthode est qu'elle est simple à mettre en oeuvre, et qu'elle est directement exploitable pour réaliser une segmentation en régions. Nous pouvons citer à titre d'exemples un des masques 3x3 proposés par Laws : 1 2 1

2 4 2 4 2 4

Bien que cette méthode repose uniquement sur des tests expérimentaux, elle donne de bons résultats comme on peut le constater sur l'image ci-dessous

masque de laws XII - Conclusion Nous venons de voir plusieurs méthodes permettant d'obtenir des paramÈtres de texture. Il faut retenir qu'aucune d'entre elles ne peut être a priori considérée comme meilleure. En effet, selon les applications certaines seront plus robustes que d'autres. Un critère important à prendre en compte pour des applications réelles est le temps de calcul. Ce paramètre fait que certaines méthodes, très lourdes en temps de calcul, sont peu employées dans la pratique. Il est aussi important de rappeler ici qu'il n'existe pas de paramètre universel permettant de décrire les textures dans leur globalité. Il faut toujours raisonner au cas par cas, avec, qui plus est, des critères de sélection assez subjectifs. Pourquoi utiliser un paramètre plutôt qu'un autre ? Les paramètres sont ils complémentaires ou redondants ? Autant de questions qui ne seront résolues que par des tests sur les images de la base d'application.