thÈse de doctorat - le catalogue collectif des thèses en
TRANSCRIPT
1
UNIVERSITÉ MOHAMMED V – AGDAL FACULTÉ DES SCIENCES Rabat
N° 2466
THÈSE DE DOCTORAT
Présentée par :
Majdoulayne HANIFI épouse AMGHAYRIR
Discipline : Sciences de l’ingénieur Spécialité : Informatique et Télécommunications Extraction de caractéristiques de texture pour la classification
d’images satellites
Soutenue le 02/11/2009 Devant le jury Président :
Prof. Driss ABOUTAJDINE, PES (Faculté des Sciences de Rabat) Examinateurs :
Prof. Florence SEDES, PES (IRIT, Toulouse) Prof. Noureddine MOUADDIB, PES (INRIA, Nantes) Prof. Abderrahim ELMOATAZ, PES (Université de Caen, Caen) Prof. Ahmed HAMMOUCH, PES (ENSET, Rabat) Prof. Abdelali LASFAR, PA (FST, Salé)
2
Avant propos
Les travaux présentés dans ce mémoire ont été effectués au Laboratoire de Recherche en
Informatique et Télécommunications (LRIT), à la Faculté des Sciences de Rabat (FSR) en
collaboration avec l’Institut de recherche en Informatique de Toulouse (IRIT), à l’Université
Paul Sabatier de Toulouse dans le cadre d’une thèse en cotutelle internationale.
Je tiens à remercier M. Driss Aboutajdine, Professeur à la FSR et directeur du LRIT. Sans
l’environnement de recherche qu’il a su créer, je n’aurais pas pu me lancer dans la préparation
de cette thèse. J’exprime ici ma profonde gratitude à son égard et l’estime respectueuse que je
lui porte. Merci aussi à mon encadrant de thèse, Mr. Abdelali Lasfar, Professeur assistant à la
FST. Grâce à lui, j’ai pu entreprendre une thèse dans mon domaine favori : Traitement
d’images. Je tiens à le remercier pour ces années de soutien, pour ses précieux conseils, et
pour sa manière très simple de toujours trouver les mots d’encouragement qui ne manquaient
pas de raviver ma motivation.
Je tiens également à remercier ma directrice de thèse au sein de l’IRIT, Mme. Florence Sedes,
Professeur à l'Université Paul Sabatier à Toulouse. Qu’elle trouve d’abord mes remerciements
pour la confiance qu’elle m’a toujours témoignée. L’intérêt constant qu’elle a pris pour ce
travail, m’a permis de ne pas m’égarer dans des problèmes flous et de ne jamais perdre de vue
l’essentiel, en donnant de son temps et en acceptant de partager ses expériences.
Je tiens aussi à remercier les membres du jury :
• M. Driss Aboutajdine, Professeur à la Faculté des Sciences de Rabat, qui m’a fait
l’honneur de présider ce jury.
• M. Abdelali Lasfar, Professeur Assistant à la Faculté des Sciences Techniques de Salé, qui
m’a fait l’honneur de co-diriger ma thèse.
• M. Ahmed Hammouch, Professeur à lEcole Normale Supérieure de l’Enseignement
Technique de Rabat, de m’avoir fait l’honneur de rapporter ma thèse.
• M. Abderrahim Elmoataz, Professeur à l’Université de Caen, de m’avoir fait l’honneur de
rapporter ma thèse.
• Mme. Florence Sedes, Professeur à l'Université Paul Sabatier à Toulouse, qui m’a fait
l’honneur de co-diriger ma thèse.
3
• M. Noureddine Mouaddib, Professeur à l'Institut National de Recherche en Informatique et
en Automatique, d’avoir accepté d’être examinateur de ma thèse.
Au cours de la préparation de ma thèse, j'ai bénéficié d'une bourse d'excellence octroyée par
le Centre National de la Recherche Scientifique et Technique (CNRST), et ce dans le cadre du
programme des bourses de recherche initié par le ministère de l'Éducation Nationale, de
l'Enseignement Supérieur, de la Formation des Cadres et de la Recherche Scientifique.
Par ailleurs, c’est avec beaucoup d’émotions que je remercie ma maman, mon mari et mes
frères et sœurs pour leurs nombreux sacrifices ainsi que pour le soutien et la confiance qu’ils
m’ont toujours accordés. Il m’est difficile de traduire par les mots l’affection et la gratitude
que je leur réserve. Aussi, est-ce à eux que je dédie ces heurs de travail, de joies et de
souffrances qu’ils ont partagés. J’espère qu’ils se réjouissent de la réussite qui couronne mes
efforts.
Enfin, je désire remercier tout particulièrement des amis, grâce auxquels j’ai pu puiser toute la
force dont j’avais besoin pour arriver au terme de ce travail. Dans les conseils desquels j’ai pu
rechercher à chaque fois que le besoin s’en faisait ressentir, le courage de ne pas abandonner
et la foi dans l’ouvrage entrepris.
4
Table des Matières
I. Introduction ........................................................................................................................ 9
II. Chapitre 1 : Télédétection et caractérisation de texture ................................................... 13
1.1 Introduction .................................................................................................................... 13
1.2 Caractérisation de texture............................................................................................... 14
1.2.1 La texture..................................................................................................................... 15
1.2.2 Textures structurelles .............................................................................................. 16
1.2.3 Textures aléatoires................................................................................................... 17
1.2.4 Textures directionnelles .......................................................................................... 18
1.3 Les matrices de cooccurrence ........................................................................................ 19
1.4 Le corrélogramme ......................................................................................................... 23
1.4.1 Définition 1 : ........................................................................................................... 24
1.4.2 Définition 2 : ........................................................................................................... 24
1.5 Conclusion...................................................................................................................... 26
III. Chapitre 2 : Prétraitement et codage de texture ........................................................... 28
2.1 Introduction ................................................................................................................... 28
2.2 Système de classification .............................................................................................. 30
2.3 Texture .......................................................................................................................... 31
2.4 Codage de niveau de gris .............................................................................................. 34
2.4.1 L’extremum voisin ................................................................................................. 36
2.4.2 Codage de pixel voisin : ......................................................................................... 37
2.5 Procédure des deux codages.......................................................................................... 44
2.6 Conclusion..................................................................................................................... 48
IV. Chapitre 3 : Classification ............................................................................................ 49
3.1 Introduction .............................................................................................................. 49
3.2. Théorie de l’apprentissage ....................................................................................... 50
3.2.1. Introduction ...................................................................................................... 50
3.2.2. Apprentissage supervisé................................................................................... 51
3.3 Les Machines à Vecteurs Supports (SVM).............................................................. 52
3.3.1 Introduction ...................................................................................................... 52
3.3.2 Principe de la technique SVM.......................................................................... 52
5
3.3.3 Les SVM linéaires................................................................................................. 53
3.3.4 SVM pour le cas multiclasses ................................................................................ 61
3.4 Conclusion................................................................................................................ 62
V. Chapitre 4 : Validation et analyse des résultats................................................................ 64
4.1 Introduction .................................................................................................................... 64
4.2 Expérimentations........................................................................................................... 65
4.2.1 Base de texture ........................................................................................................ 65
4.2.2 Les attributs utilisés................................................................................................. 66
4.3 Résultats ......................................................................................................................... 67
4.3.1 Conditions expérimentales ...................................................................................... 67
4.3.2 Premier codage........................................................................................................ 68
4.3.3 Deuxième codage .................................................................................................... 68
4.3.4 Deuxième codage avec différents noyaux SVM..................................................... 70
4.3.5 Application du corrélogramme codé ....................................................................... 73
4.3.6 Comparaison des deux matrices : cooccurrence et corrélogramme ........................ 75
4.3.7 Comparaison de la DCT avec la méthode de codage.............................................. 77
4.4 Conclusion................................................................................................................ 84
VI. Conclusion.................................................................................................................... 86
Bibliographie............................................................................................................................ 89
6
Table des figures Figure 1 : Les trois canaux de l’image SPOT .......................................................................... 14
Figure 2 : Information texture et information couleur ............................................................. 16
Figure 3 : Textures structurelles............................................................................................... 17
Figure 4 : Textures aléatoires ................................................................................................... 18
Figure 5 : Textures directionnelles........................................................................................... 18
Figure 7 : Exemple de matrices de cooccurrence construites à partir d’une image 4 × 4
composée de 4 niveaux de gris................................................................................................. 21
Figure 8 : Construction de la texture par différentes occurrences de l’objet à des échelles ... 32
Figure 9 : Textures différentes ayant la même granulométrie ................................................. 33
Figure 10 : Trois textures de types différents : la première est de type directionnel, la seconde
de type structurel et la troisième de type aléatoire ................................................................... 34
Figure 11 : Trois images associées aux 3 textures de la figure 3 représentant les pixels minima
(en noir) et maxima (en blanc) locaux ..................................................................................... 35
Figure 12 : Principe du codage d’un pixel x en fonction de ses voisins .................................. 37
Figure 13 : Exemple du codage de niveau de gris sur un pixel. L’image de gauche représente
les niveaux de gris de 9 pixels; l’image de droite fournit le codage de niveau de gris du pixel
central ....................................................................................................................................... 38
Figure 14 : Exemple de 4 représentations graphiques de textures à l’aide du codage de niveau
de gris ....................................................................................................................................... 41
Figure 15 : Quelques images de la base de Brodatz................................................................. 42
Figure 16 : Texture de Brodatz suivie de son image des extrema ainsi que de son codage de
niveau de gris ........................................................................................................................... 43
Figure 17 : Illustration des cinq classes de textures de gauche à droite : zone urbaine, sol,
forêt, mer et route ..................................................................................................................... 44
Figure 18 : Le logiciel qui permet de découper l’image en imagettes. .................................... 44
Figure 19 : Etapes de calcul des paramètres d’Haralick. ......................................................... 47
Figure 20 : les modules d’un système d’apprentissage ............................................................ 51
Figure 21 : Principe de la technique SVM. .............................................................................. 53
Figure 22 : L’hyperplan correspondant à la fonction de décision d’un classifieur linéaire dans
2ℜ ............................................................................................................................................ 54
Figure 23 : Expression de la marge pour l’exempleix ............................................................. 55
7
Figure 24 : Hyperplans canoniques.......................................................................................... 56
Figure 25 : Le même jeu de données classé par un hyperplan à marge maximale (à gauche) et
un hyperplan quelconque ne commettant pas d’erreur sur le training set (à droite). La boule
grisée est un exemple du test set. ............................................................................................. 57
Figure 26 Deux exemples mappés dans un espace de dimension infinie................................ 60
Figure 27 : Echantillons de la base de texture.......................................................................... 66
Figure 34 : Courbe représentant le taux de classification du noyau linéaire du classifieur en
fonction du paramètre C........................................................................................................... 73
Figure 35 : Courbe représentant le taux de classification du noyau polynomial du classifieur
en fonction du paramètre C ...................................................................................................... 74
Figure 36 : Courbe représentant le taux de classification du noyau gaussien du classifieur en
fonction du paramètre C........................................................................................................... 74
Figure 37 : Pourcentage de la classification en fonction du paramètre C pour le noyau linéaire.
.................................................................................................................................................. 76
Figure 38 : Pourcentage de la classification en fonction du paramètre C pour le noyau
polynomial................................................................................................................................ 76
Figure 39 : Pourcentage de la classification en fonction du paramètre C pour le noyau
sigmoïde. .................................................................................................................................. 77
Figure 40 : le passage du domaine spatial au domaine fréquentiel. ......................................... 78
Figure 41 : Le taux de classification de la DCT et le codage de rang pour le noyau linéaire.. 79
Figure 42 : Le taux de classification de la DCT et le codage de rang pour le noyau sigmoïde.
.................................................................................................................................................. 80
Figure 43 : Le taux de classification de la DCT et le codage de rang pour le noyau gaussien.80
Figure 44 : Le taux de classification du premier codage et du codage de rang pour le noyau
linéaire. ..................................................................................................................................... 81
Figure 45 : Le taux de classification du premier codage et du codage de rang pour le noyau
sigmoïde. .................................................................................................................................. 81
Figure 46 : Le taux de classification du premier codage et du codage de rang pour le noyau
gaussien. ................................................................................................................................... 82
Figure 47 : Le taux de classification de la DCT et du premier codage pour le noyau linéaire.82
Figure 48 : Le taux de classification de la DCT et du premier codage pour le noyau sigmoïde.
.................................................................................................................................................. 83
Figure 49 : Le taux de classification de la DCT et du premier codage pour le noyau gaussien.
.................................................................................................................................................. 83
8
Liste des Tableau Tableau 1 : Précision globale de la classification par SVM..................................................... 68
Tableau 2 : Précision globale de la classification par SVM..................................................... 69
Tableau 3 : La précision globale pour chaque noyau............................................................... 70
Tableau 4 : Le nombre de Support Vector pour chaque noyau................................................ 71
Tableau 5 : Le taux de classification du noyau gaussien avec différentes valeurs de G.......... 72
9
Introduction Les premières vues de la terre depuis l’espace datent des années 1946. Elles ont été prises par
des appareils photographiques embarqués sur des fusées. Les premiers vols habités ont
montré l’intérêt de pouvoir disposer de bases d’observation spatiale. Ainsi dès les années 60,
les vols Gemini et Apollo ont rapporté les premières photographies couleurs de l’océan et de
la terre.
Avec l’apparition de la télédétection, des satellites d’observation offrent régulièrement un
grand nombre d’images, de données et d’informations inaccessibles depuis le sol. La
télédétection est devenue ainsi une discipline très importante, car elle est désormais un outil
d’aide à la décision très précieux et indispensable pour la gestion des ressources terrestres.
L’analyse et l’interprétation de ces images de télédétection constituent un champ important de
recherche et d’études scientifiques. Plusieurs applications en tirent profit, par exemple, le
suivi de la déforestation, l’évolution de la désertification, l’évolution des ressources en eau, la
cartographie de l’occupation du sol, l’inventaire des ressources agricoles, la construction et la
mise à jour des cartes topographiques, la mise à jour des plans cadastraux, la découverte des
maladies des forêts, la localisation des zones de pollution, de végétation, d’industrie, etc. De
même, les bases de données actuelles dont l’objectif est d’étudier les changements locaux sur
les territoires se basent de plus en plus sur des images spatiales.
L’amélioration de la perception permet de visualiser et d’analyser des objets jamais vus
auparavant en télédétection. Par exemple, on peut percevoir des objets comme des voitures,
des bâtiments, et des arbres, ce qui génère des images très hétérogènes. La quantité croissante
d’images disponibles et l’augmentation de leur taille génèrent des masses de données. En
effet, la résolution des images d’observation civile atteint les niveaux métriques et infra
métriques. Par exemple, les satellites SPOT 5 (Satellite Pour l’Observation de la Terre)
(CNES, France), ALOS (NASDA, Japon), IKONOS (Space Imaging, Etats-Unis) fournissent
des images entre 2.5 et 0.6 mètres de résolution avec une taille de 24000 lignes × 24000
colonnes. Ces progrès ont été réalisés en un laps de temps très court et les techniques de
traitement d’images n’ont pas évolué aussi vite que les technologies d’acquisition.
Le besoin de développer de nouvelles méthodes d’exploitation, d’interprétation et d’analyse
de ces données, pour en permettre une exploitation plus complète, se fait fortement ressentir.
Les outils d’analyse disponibles s’avèrant insuffisants, le DataMining est né de ce besoin.
10
Le domaine du DataMining, dit aussi « fouille de données » , et plus généralement
l’extraction de connaissances des données (ECD), ou Knowledge Discovery in Databases
(KDD), regroupe les diverses techniques permettant de trouver, dans des bases de données,
des connaissances qui ne sont pas accessibles par les outils d’analyse classiques. Ces
techniques permettent ainsi de découvrir des modèles prévisionnels, des règles de
classification et d'autres types de connaissances qui serviront à l'aide à la décision.
L’originalité de ce domaine est qu’il fait appel à plusieurs domaines tels que le domaine des
statistiques, de l’intelligence artificielle, et des bases de données. Dans cette perspective, la
classification des images satellitaires est une discipline dans laquelle des avancées sont
indispensables, afin de parvenir à des processus efficaces d’extraction de connaissances
pertinentes.
Cette thèse s’inscrit dans le cadre général du traitement des données multimédias. Nous avons
plus particulièrement exploité les images satellitaires pour la mise en application de ces
traitements. Nous nous sommes intéressés à l’extraction de variables et de caractéristiques
texturelles ; nous avons proposé une nouvelle méthode de pré-traitement des textures afin
d’améliorer l’extraction de ces attributs caractéristiques.
Nous avons travaillé sur des images à niveaux de gris. nous nous sommes intéressés à
l’extraction de caractéristiques et à la classification supervisée d’images en utilisant une
approche de type région, sachant que cette dernière est caractérisée par ses propriétés
texturelles qui sont en général décrites par un vecteur caractéristique.
C’est un thème important en analyse d’images car il possède de nombreuses applications,
comme par exemple la classification de terrains à partir d’images aériennes ou satellitaires,
l’interprétation d’images médicales, l’analyse d’images en microbiologie, la détection
automatique de défauts ou de malformations, etc.
Face à l’accroissement rapide des tailles dans les bases d’images, il est nécessaire de
développer de nouveaux algorithmes de traitement facilitant à la fois le stockage et le
traitement de ces données.
Le chapitre 1 de cette thèse présente les différentes caractéristiques d’images utilisées dans le
domaine de la télédétection, et se focalise sur le problème de l’analyse de textures.
Dans ce cadre, nous avons développé une nouvelle approche destinée à étudier et caractériser
les textures.
11
Nous nous intéressons dans ce travail aux algorithmes de sélection de caractéristiques
(appelées aussi descripteurs), qui permettent d’extraire une information non redondante et
pertinente, en vue d’une exploitation efficace des bases d’images.
Nous citerons, en détail, les différentes méthodes d’extraction de caractéristiques, en
l’occurrence la méthode des matrices de cooccurrence et celle du corrélogramme. Une partie
sera consacrée à la présentation des attributs utilisés pour caractériser l’information texturelle.
L’augmentation de la résolution des satellites récents a, paradoxalement, perturbé les
chercheurs lors des premières classifications sur des données à haute résolution. Les cartes
très homogènes, obtenues jusqu’alors en moyenne résolution, devenaient très fragmentées et
difficiles à utiliser avec les mêmes algorithmes de classification.
Une façon de remédier à ce problème consiste à caractériser le pixel en cours de classification
par des paramètres mesurant l’organisation spatiale des pixels de son voisinage.
Il existe plusieurs approches à l’analyse de texture dans les images. Dans le cadre des images
satellitaires, l’approche statistique semble être habituellement retenue, ainsi que les méthodes
des matrices de cooccurrences et du corrélogramme, basées sur l’analyse statistique au
deuxième ordre (au sens des probabilités sur des couples de pixels). Et ce sont les deux
dernières méthodes sur lesquelles nous allons se baser pour en extraire l’information
texturelle sous forme d’un vecteur. Ces matrices présentent des inconvénients, tels que la
taille mémoire nécessaire et le temps de calcul des paramètres élevé. Pour contourner ce
problème, nous avons cherché une méthode de réduction du nombre de niveaux de gris
(permettant de passer, dans un premier temps de 256 niveaux à 9 niveaux de gris, puis ensuite
pour améliorer la qualité de l’image, passer de 9 à 16 niveaux de gris), tout en conservant la
structure et la texture de l’image.
Le chapitre 2 est consacré à la présentation de cette nouvelle méthode de prétraitement des
textures afin d’améliorer l’extraction d’attributs caractéristiques.
Le chapitre 3 introduit les concepts fondamentaux du Machine Learning supervisé dans le cas
de la classification dans le but de tester la pertinence du codage proposé.
Nous nous intéressons aux machines à vecteurs de support (SVM) car elles limitent le risque
de surapprentissage du fait de leur capacité de régularisation (ce risque étant particulièrement
important lorsque le nombre de caractéristiques, c'est-à-dire la dimension, est grand face au
nombre de données).
12
Nous donnerons une idée intuitive de ce qu’est la classification supervisée par SVM, nous
nous emploierons à la formaliser en définissant sa forme mathématique.
Le chapitre 4 expose, les résultats des classifications de textures réalisées à l’aide des attributs
sur les textures codées.
Cette nouvelle approche caractérise les relations spatiales et les relations à niveaux de gris
entre les pixels d’une image. Elle nous a permis de créer deux codages, à partir desquels nous
extrairons des informations susceptibles de caractériser les textures.
Nous montrons dans ce chapitre les résultats obtenus avec une base d’images constituée de
120 imagettes. Nous allons leur appliquer la matrice de cooccurrence et le corrélogramme
(après avoir appliqué bien évidemment la méthode du codage) afin de pouvoir calculer les
caractéristiques qui servent à la classification.
Plusieurs noyaux du classifieur SVM (linéaire, polynomial, gaussien et sigmoïde) ont été
utilisés pour discuter des différents résultats.
La conclusion souligne l’avantage de l’approche utilisée, tout en discutant des résultats
obtenus tout au long de cette thèse, et évoquant certaines perspectives à donner à ce travail.
13
I. Chapitre 1 : Télédétection et caractérisation
de texture
1.1 Introduction
Nous portons nos efforts sur l’extraction de l’information, la classification et la
reconnaissance d’objets. La particularité du domaine d’application de ces derniers, est que les
aspects relatifs à la géométrie tridimensionnelle n’interviennent pas au premier chef pour les
objets à reconnaître. Plusieurs autres caractéristiques telles que la couleur, la texture, les
formes planes, etc. constituent les aspects les plus sollicités dans la tâche de reconnaissance.
L’interprétation des images consiste à reconnaître les objets détectés par le biais de plusieurs
techniques de classification.
L’enjeu de recherche dans ce domaine dépasse le simple cadre de la compression ou de la
classification puisqu’il s’agit d’extraire une information structurée de haut niveau permettant
de reconnaître et d’indexer les images.
La complexité de traitement exigée par ces applications a motivé plusieurs chercheurs en
vision pour s’impliquer dans la résolution de problèmes particuliers. On trouve, parmi ces
problèmes, l’extraction des routes ou des réseaux routiers, qui nécessite non seulement la
reconnaissance d’objets (les routes) mais aussi une grande précision sur leur géométrie.
On trouve aussi le problème de localisation des forêts et des zones de végétation, qui
représente une partie importante des traitements. L’extraction de ce type d’information fait
jouer l’aspect texture comme facteur indéniable.
Au vu des images sur lesquelles nous souhaitons travailler, nous nous sommes intéressés à
l’extraction de caractéristiques et à la classification supervisée d’images satellitaires de type
SPOT en utilisant une approche de type région, sachant que chacune est caractérisée par ses
propriétés texturelles. En fait chaque information texturelle est en général décrite par un
vecteur caractéristique.
Les images SPOT enregistrent trois images (trois canaux) de la même zone à chaque passage,
le canal XS1, XS2 et XS3, dont chacune correspond à une image en 256 nuances de gris (cf.
figure 1) :
14
Figure 1 : Les trois canaux de l’image SPOT
• le canal XS1 qui correspond à l’énergie dégagée dans le vert, identifie des surfaces
particulières, les sols de couleur verte à partir des canaux XS1 et XS2,
• le canal XS2 correspondant à l’énergie dégagée dans le rouge. La différence entre ce
canal et le canal XS3 a pour effet de bien mettre en valeur tout ce qui est activité
chlorophyllienne. On utilise donc cette différence comme un indice de végétation,
• le canal XS3 qui correspond à l’énergie dégagée dans l’infrarouge proche. Dans ce
canal les surfaces en eau s’identifient facilement.
Avant de commencer le traitement, on doit pouvoir segmenter l’image en la subdivisant en
régions qui représentent des caractéristiques similaires.
Dans un premier temps, nous allons décrire les différentes méthodes d’extraction de
caractéristiques, puis ensuite nous détaillerons l’approche proposée.
Il est important de trouver les caractéristiques appropriées et pertinentes qui peuvent être
extraites des images.
Divers descripteurs sont utilisés pour la caractérisation d’images. Les principaux descripteurs
d’images sont la couleur, la texture et la forme. Parmi ces trois descripteurs la couleur est la
plus souvent utilisée et donne actuellement les meilleurs résultats. La texture est aussi très
utilisée bien qu’elle soit plus complexe à mettre en oeuvre que la couleur.
1.2 Caractérisation de texture
Dans le traitement d’images, l’analyse de textures joue un rôle très important. Elle permet
l’identification des objets. En effet, nous verrons qu’il est inévitable, pour distinguer les
différentes régions d’une image de même couleur, d’extraire une information texturelle.
Malgré cette importance, nous verrons tout d’abord qu’il est difficile de caractériser
précisément la texture. Nous essayerons néanmoins d’en donner une définition générale.
Ensuite, dans un deuxième paragraphe, nous présenterons différentes méthodes d’analyse de
15
textures. Nous mettrons en évidence les principales méthodes d’extraction de paramètres
permettant d’identifier les textures. L’accent sera mis sur l’utilisation des matrices de
cooccurrence et de corrélogramme, car elles sont une bonne caractérisation de la notion de
texture. Comme le but de notre première analyse est d’extraire et de tester des paramètres
caractérisant les textures, nous présenterons les paramètres les plus utilisés.
1.2.1 La texture
Dans le dictionnaire, les définitions de la texture se restreignent à des cas particuliers, elles
sont généralement associées à des domaines précis d’activité. La première d’entre elles se
réfère au tissage. On apprend que la texture est l’état d’une étoffe ou d’un matériau qui est
tissé.
D’après cette définition, la texture est la perception du résultat du tissage correspondant à la
manière dont les fils ont été entrecroisés. Ici, la texture représente l’aspect structuré de l’étoffe
qui est créé par un maillage particulier. Une deuxième définition, associée à la géologie, dit
que la texture est un ensemble de caractères définissant l’agencement et les relations spatiales
des minéraux d’une roche. On retrouve ici également un fort aspect structurel associé à une
notion d’arrangement spatial correspondant à l’état général de la roche.
Ces deux définitions mettent donc en avant une nature structurée de la texture. Nous verrons
plus loin qu’il n’est pas toujours possible de la considérer ainsi.
La texture est une caractéristique propre de l’objet ; elle nous permet de le décrire
partiellement.
Bien sûr, la forme et la couleur sont deux autres caractéristiques très importantes. Pour faire la
distinction entre une orange et une cerise, les informations forme et couleur sont certainement
plus significatives que l’information texture. Mais l’information texture devient primordiale
lorsqu’on veut faire la distinction entre deux zones d’une image de même couleur (ou bien de
même niveau de gris). La figure 2 illustre ce phénomène. Dans la première image, il est tout à
fait possible de faire la différence entre les deux zones de l’image simplement avec
l’information couleur fournie par les niveaux de gris. En effet, la zone de gauche est
globalement d’intensité lumineuse beaucoup plus forte que celle de droite. Par contre, dans la
deuxième image, il n’est pas possible de distinguer les deux zones à l’aide de leurs valeurs de
gris. Dans ce cas, c’est l’information texture qui prédomine.
La zone de gauche est caractérisée par une texture orientée, contrairement à celle de droite qui
ressemble plus à une mosaïque.
16
Figure 2 : Information texture et information couleur
1.2.2 Textures structurelles
Avant d’essayer de donner une définition à la texture, examinons les figures suivantes. On
peut classer l’ensemble des textures en plusieurs catégories dont deux grandes qui
correspondent à deux définitions : l’une déterministe, l’autre probabiliste [1]. La figure 3
présente un premier type de textures dites structurelles. On les appelle ainsi car on peut les
considérer comme étant la répartition spatiale de motifs élémentaires de base dans différentes
directions de l’espace suivant une certaine règle de placement. En effet, on s’aperçoit que la
première représente un mur de brique, elle est composée d’un ensemble d’éléments de base
(les briques) disposés relativement régulièrement de manière horizontale. La deuxième texture
est aussi composée de motifs de base alvéolés agencés d’une manière particulière les uns à
côté des autres.
Cette catégorie de textures a engendré des méthodes d’analyse dites structurelles [2] [3] [4]
[5] [6] [7] [8].
17
Figure 3 : Textures structurelles
Ces méthodes supposent que les textures sont formées d’éléments structurants de base. L’idée
générale de ces méthodes est une recherche et une description des éléments structurants suivie
d’une étude de la répartition spatiale de ces derniers. Cette description permet donc une
certaine caractérisation de la texture étudiée. Malgré l’importance des travaux de ce type, il
s’avère parfois difficile de les mettre en pratique car il n’existe pas toujours de motifs
isolables ou de fréquence de répétition spatiale dominante. C’est le cas des textures illustrées
par les figures 4 et 5.
1.2.3 Textures aléatoires
Le deuxième type de textures est exposé dans la figure 4. Contrairement aux deux premières,
celles-ci ont un aspect anarchique tout en restant globalement homogènes. On ne peut pas en
extraire de motifs de base se répétant spatialement. On les appelle des textures aléatoires.
Cette catégorie a fourni d’autres travaux de recherches plutôt fondés sur des méthodes
d’analyse statistique [9] [10] [11]. Dans ces cas-là, l’image texturée (.)I est considérée
comme étant un processus aléatoire bidimensionnel.
18
Figure 4 : Textures aléatoires
1.2.4 Textures directionnelles
Hormis ces deux catégories de textures, il en existe d’autres comme, par exemple, les textures
directionnelles (Figure 5). Ces textures ne sont pas totalement aléatoires et ne présentent pas
d’éléments structurants de base. Néanmoins, elles se caractérisent par certaines orientations.
La texture de gauche de la figure 6 laisse apparaître des lignes obliques, tandis que celle droite
possède des lignes verticales.
Figure 5 : Textures directionnelles
Ces différentes catégories de textures nous montrent qu’il est difficile d’en donner une
définition précise. Les définitions semblent s’adapter aux différents types de textures : l’une
donne une information structurelle, déterministe et constructive (identification de la texture
19
par ses éléments de base et leur agencement), l’autre (type aléatoire) donne une information
plus anarchique et beaucoup moins facile à décrire visuellement.
Actuellement, il n’existe pas de définition “universelle” de la texture. Pourtant, on peut
essayer d’en donner une en combinant ces deux types d’information.
La texture est une propriété inhérente aux surfaces ou aux régions d’image. Elle décrit la
distribution et les relations entre pixels appartenant à ces régions. On peut la caractériser par
la donnée de deux niveaux d’information :
• une information locale qui correspond, soit aux éléments la composant pour des textures
structurelles, soit simplement au niveau de gris de chaque pixel.
• une information globale qui correspond à la distribution spatiale de l’information locale
(aspect général de la texture).
C’est à partir de cette définition que nous allons essayer d’aborder le problème de l’extraction
de paramètres de texture. Dans la suite, nous essayerons de mettre en évidence des
informations texturelles locales pour ensuite les exploiter globalement en étudiant leurs
relations spatiales.
La texture a suscité de nombreuses recherches et travaux d’application [12] qui ont engendré
une multitude de méthodes d’analyse [1] [13] [14] [15]. Ces méthodes ont pour objet de
caractériser [16] ou décrire [2], de discriminer [17], de segmenter [18] ou de synthétiser [19]
les textures. Dans ce travail, nous nous sommes intéressés plus particulièrement à la manière
d’extraire l’information caractéristique pour la discrimination de textures. Ces travaux
insistent surtout sur la façon de transformer les images (par la construction de codages) pour
faire ressortir l’information texturelle.
Après une présentation de quelques méthodes usuelles d’analyse, on détaillera celles qui sont
en rapport avec cette thèse comme les matrices de cooccurrence et le corrélogramme. Elles
seront complètement détaillées car elles serviront de référence de travail pour la deuxième
partie de cette thèse concernant la construction de paramètres et de caractéristiques destinés à
la discrimination de texture des différentes images à niveaux de gris.
1.3 Les matrices de cooccurrence
Du fait de leur richesse en information de texture, les matrices de cooccurrences sont
devenues les plus connues et les plus utilisées pour extraire ces caractéristiques de textures.
Elles estiment des propriétés des images relatives à des statistiques de second ordre.
20
Une matrice de cooccurrence mesure la probabilité d’apparition des paires de valeurs de
pixels situés à une certaine distance dans l’image. Elle est basée sur le calcul de la probabilité
),,,( θδjiP qui représente le nombre de fois où un pixel de niveau de couleur i apparaît à une
distance relative δ d’un pixel de niveau de couleur j et selon une orientation θ donnée.
.
Les directions angulaires θ classiquement utilisées sont 0, 45, 90 et 135 degrés. Les relations
de voisinage entre pixels, nécessaires au calcul des matrices, sont illustrées en figure 6 ; par
exemple, les plus proches voisins de ‘x’ selon la direction θ =135 degrés sont les pixels 4 et 8.
Les caractéristiques extraites à partir de ces matrices contiennent des informations notamment
sur l’homogénéité, les dépendances linéaires entre les niveaux de gris, le contraste et la
complexité de cette image.
Les matrices obtenues selon ces quatre directions sont alors calculées comme dans (1), (2), (3)
et (4) où (k, l) sont les coordonnées d’un pixel de niveau de couleur ]1,0[ max −∈ ni et (m, n)
celles du pixel de niveau de couleur ]1,0[ max −∈ nj
( )( ){ }),,,0()(),(,,)0,,,( ,,2 jIiInlmktqMNnmlkjiP nmlk ===−=−×∈= δδ (1)
===−−=−∨−=−=−×∈
=jIiInlmknlmk
tqMNnmlkjiP
nmlk ,,
2
,),,(),(
)()),(),,(()45,,,(
δδδδδ (2)
{ }),,0,()()),(),,(()90,,,( ,,2 jIiInlmktqMNnmlkjiP nmlk ===−=−×∈= δδ (3)
==−=−−=−∨=−=−×∈
=jIiInlmknlmk
tqMNnmlkjiP
nmlk ,,
2
,,,(),(
)()),(),,(()135,,,(
δδδδδ (4)
La figure 7 montre un exemple de calcul des P(i,j) à partir d’une petite image 4× 4 composée
de quatre niveaux de gris (0, 1, 2,3). Cet exemple se limite au cas δ = 1 et θ =0. L’élément (2,
4 3 2
5 X 1
6 7 8
0 degrés
45 degrés
90 degrés
135 degrés
Figure 6 : Plus proches voisins du pixel ‘x’ selon 4 directions
21
2
3) de la matrice P(1, 0) est égal à 4, cela signifie qu’il existe 4 configurations dans l’image ou
un pixel de niveau de gris 2 est séparé horizontalement d’un autre pixel de niveau de gris 3
par une distance 1. Ces configurations sont représentées en trait gris sur l’image.
0 0 1 2
0 1 3 2
0 2 3 2
1 2 3 0
P (i,j,1,0°) =
P (i,j,1,90°) =
Figure 7 : Exemple de matrices de cooccurrence construites à partir d’une image 4 × 4 composée de 4 niveaux
de gris
La plupart des images sont codées sur 256 niveaux de gris, par conséquent, la taille des
matrices de cooccurrence est de 256 × 256. On s’aperçoit ainsi que ces matrices
comptabilisent une très grosse quantité d’informations difficile à exploiter directement. C’est
pourquoi, un certain nombre d’auteurs comme Zucker [20] ont essayé d’extraire de
l’information de ces matrices afin de mettre en évidence la structure des textures. Mais c’est
Haralick et al [1] qui ont proposé les premiers 14 paramètres, caractérisant les textures, issus
de ces matrices. Voici 6 paramètres considérés comme étant les plus utilisés et les plus
pertinents [21] :
� L’énergie :
( )( )∑∑=i j
ijPENE 2,θδ
Ce paramètre mesure l’uniformité de la texture. Il atteint de fortes valeurs lorsque la
distribution des niveaux de gris est constante ou de forme périodique. Dans ce dernier cas, les
2 2 1 1
2 0 2 1
1 2 0 4
1 1 4 0
2 1 0 0
1 2 1 0
0 1 0 5
0 0 5 0
4 2 0 1
2 0 1 1
0 1 6 0
1 1 0 4
0 1 2 2
1 0 1 1
2 1 0 2
2 1 2 0
Image 3
P (i,j,1,45°) =
P (i,j,1,135°) =
22
valeurs élevées d’énergie sont obtenues pour les matrices P(d, θ) lorsque (d, θ) correspond à
la période.
� Le contraste :
( ) ( )( )∑∑ −=i j
ijPjiCST θδ ,2
La valeur en est d’autant plus élevée que la texture présente un fort contraste. Ce paramètre
est fortement non corrélé à l’énergie.
� L’entropie :
( ) ( )( )∑∑−=i j
ijij PPENT θδθδ ,,log
Ce paramètre mesure le désordre dans l’image. Contrairement à l’énergie, l’entropie atteint de
fortes valeurs lorsque la texture est complètement aléatoire (sans structure apparente). Elle est
fortement corrélée (par l’inverse) à l’énergie.
� La variance :
VAR = )),()(( 2 θδµ∑∑ −i j
ijPi
La variance mesure l’hétérogénéité de la texture. Elle augmente lorsque les niveaux de gris
différent de leur moyenne. La variance est indépendante du contraste.
� La corrélation :
( )( ) ( )
∑∑
−−=
i j
ijPjiCOR
2
,
σθδµµ
COR mesure la dépendance linéaire (relativement à (δ , θ)) des niveaux de gris de l’image.
La corrélation n’est corrélée ni à l’énergie, ni à l’entropie.
� Le moment inverse :
( )( )∑∑ −+
=i j
ij
ji
PIDM
21
,θδ
IDM (Inverse Difference Moment) mesure l’homogénéité de l’image. Ce paramètre est
corrélé à une combinaison linéaire des variables ENE et CST.
23
De nombreuses études ont été menées afin de caractériser, classifier, modéliser les textures à
l’aide de ces paramètres ([22], [23], [24], [25], [26]).
La méthode d’extraction de ces paramètres basée sur le calcul des matrices de cooccurrence
est une des méthodes les plus proches de la notion de texture. Elles mettent effectivement en
avant les relations qui existent entre les pixels de l’image en faisant intervenir l’aspect local
(les niveaux de gris) et l’aspect spatial ((δ ,θ )).
Dans la plupart des études, les auteurs calculent ces matrices de cooccurrence sur les images
brutes ou filtrées, donc toujours à partir des niveaux de gris. Davis, Johns et Aggarwal [27]
ont généralisé cette utilisation à tous les types d’information (incluant les niveaux de gris), ils
ont transformé les images en codant certains pixels par une autre information que celle des
niveaux de gris. Ensuite, ils ont calculé les matrices de cooccurrence à partir de ces nouvelles
images codes.
Dans cette thèse, nous utilisons le même principe qui consiste à coder une image par une autre
information que les niveaux de gris et nous appliquons la matrice de cooccurrence afin d’en
extraire des attributs texturels.
1.4 Le corrélogramme
La représentation d’images la plus commune du domaine du traitement d’images dans les
bases de données est l’histogramme de couleur. Il est raisonnable de penser que les images
qui se ressemblent aient des compositions de couleur similaires et donc il est envisageable que
les histogrammes soient intéressants. Les histogrammes de couleur ont d’autres avantages : ils
sont invariants par rapport à la taille, à l’échelle et à la rotation des images. De plus ils sont
compacts si nous les comparons avec la taille des images. Une fois que les images sont
représentées par les histogrammes dans un espace de couleurs, nous pouvons choisir une
parmi les différentes mesures de similarité existantes. Swain et Ballard [28] introduisent la
notion d’intersection d’histogrammes, qui est équivalente à la distance Manhattan (norme L1)
pour des histogrammes normalisés. D’autres mesures souvent utilisées sont les normes Ln et
en particulier L1 et L2 [29], l’estimation 2χ [30], la divergence KL [31], et la logique floue
[32] [33]. Un des problèmes de l’utilisation directe des histogrammes est qu’un petit décalage
des valeurs des vecteurs caractéristiques implique une grande différence entre des deux
histogrammes en utilisant une des mesures de similarité communes. Les histogrammes de
couleurs souffrent d’un manque d’information locale parce que ces derniers n’enregistrent pas
la structure locale des couleurs mais seulement la composition globale. Le vecteur de
24
cohérence de couleurs [34] est une représentation affinée de l’histogramme où les couleurs
sont divisées en deux composantes : cohérente et non cohérente. La composante cohérente
comporte le nombre de pixels voisins ayant la même couleur que le pixel en cours. La
distance entre les histogrammes de ce type dépend des deux composantes. Une autre
représentation plus affinée de l’histogramme est le corrélogramme de couleurs [35] qui
enregistre la probabilité de présence d’une couleur dans un voisinage prédéfini d’une autre
couleur. Une nouvelle représentation des informations locales et globales conjointement est
nommée « histogrammes de blobs » [36].
1.4.1 Définition 1
Un corrélogramme présente les corrélations spatiales entre les niveaux de gris en fonction de la
distance interpixel. Pour une image A de N pixels, quantifiée sur n niveaux de gris{ }nccc ,...., 21 .
Chaque pixel p en (x, y) est doté d’un niveau de gris A (p) :
cAp∈ = )( pA = c
Pour une distance { }Nd ,...2,1∈ fixée à priori, le corrélogramme du niveau de gris i par rapport à j est
défini par :
[ ]kppApprobj
icji c
Ap
kcc =−∈=
∈211
1
)(, /γ { }dk ,...2,1∈∀
Pour tout pixel de niveaux de gris ic dans l’image, )(,kcc ji
γ donne la probabilité de trouver à une distance
k un pixel de niveau de grisjc .
1.4.2 Définition 2
J. Huang et al. [37] définissent le corrélogramme couleur d’une image I comme un tableau
indexé par des couples de couleurs, dont la d -ième entrée pour le couple de couleurs
),( βα ccrr
spécifie la probabilité de trouver un pixel de couleur βcr
à la distance d d’un pixel de
couleur αcr
.
Le corrélogramme couleur exprime comment la corrélation spatiale de couples de couleurs
évolue en fonction de la distance dans l’image.
Pour une distance d et un couple de couleurs ),( βα ccrr
, le corrélogramme couleur
),()(βα ccCO d rr
est défini par :
( ){ }dPPcPccPcIIPPcardccCO d =−==×∈= 212121)( ,)(,)(,),( βαβα
rrrrrr
25
ou )( 1Pcr
et )( 2Pcr
correspondent respectivement aux couleurs des pixels 1P et 2P .
Le corrélogramme couleur ),()(βα ccCO d rr
contient le nombre de couples de pixels
),( 21 PP d’une imageI , séparés par la distance d tels que la couleur du pixel 1P soit αcr
et celle
du pixel 2P soit βcr
.
Généralement, on utilise la norme ∞L pour mesurer la distance entre deux pixels 1P et 2P de
coordonnées respectives ),( 11 yx et ( )22 , yx :
{ }212121 ,max yyxxPP −−=−
Le corrélogramme couleur prend simultanément en compte la distribution globale des
couleurs des pixels ainsi que la corrélation des couleurs entre pixels voisins. Il est notamment
utilisé comme signature dans le cadre de l’indexation d’images couleur [37].
Lors de l’analyse de ces matrices de cooccurrence et de corrélogramme, les auteurs sont tentés
de diminuer le nombre de niveaux de gris des images afin de réduire la taille de ces matrices
([24], [25], [38], [23], [39], [20]).
Ces auteurs se sont basés sur la notion d’extremum, que l’on exploitera de manière plus fine
dans le deuxième chapitre de cette thèse.
La notion d’extremum de gris est énormément utilisée car elle est liée à beaucoup de
méthodes de caractérisation de textures, mais aussi à beaucoup de méthodes générales
d’analyse d’images. En effet, certains filtres sont basés sur la recherche de ces extremums
pour ensuite en calculer la moyenne, la médiane, etc.
Ces extremums sont très utilisés lors de la détection de contour [40], comme par exemple lors
de la recherche de ligne de partage des eaux [41]. Certains auteurs se sont attachés à étudier
ces extremums de gris en déterminant leur disposition [42] ou en calculant leur nombre dans
l’image. D’autres comme Davis [43] ou Dinstein [44] se sont interrogés sur la manière dont il
était possible d’extraire ces extremums.
Cette méthode comme n’importe quelle autre, présente des inconvénients que nous avons
essayé de résoudre en inventant notre méthode de codage détaillée dans le chapitre suivant.
Aussi, quelques auteurs ont présenté des codages de texture par vecteurs de rang.
Examinons un peu plus en détails les travaux de Bi [45] sur ce sujet :
En effet, l’idée de Bi a été d’utiliser la notion de vecteur de rang [46] pour construire un
codage de texture. Pour ce faire, en considérant chaque pixel x, un rang est attribué à chacun
26
des 4 pixels voisins de x (les deux pixels horizontaux et les deux verticaux) en fonction de
leurs niveaux de gris. Le pixel qui a le plus petit niveau de gris reçoit le rang 0, et ainsi de
suite jusqu’à l’affectation du rang 3 au pixel de plus grand niveau de gris. Ces quatre rangs
forment un vecteur à quatre composantes (r0, r1, r2, r3). Chaque composante ri correspond à
une position autour du pixel x : si (i, j) sont les coordonnées de x, r0 est le rang du pixel (i −
1, j), r1 correspond au pixel (i, j − 1), r2 au pixel (i + 1, j) et r3 au pixel (i, j + 1). Ainsi, le
vecteur de rang permet de caractériser la distribution spatiale des niveaux de gris des 4 voisins
horizontaux et verticaux de x. En fait, Bi construit deux types de vecteurs de rang : le vecteur
de rang distinct qui attribut des rangs différents à deux pixels voisins de même niveau de gris
et le vecteur de rang général qui attribue le même rang aux pixels voisins de même niveau de
gris.
Ensuite, afin d’affecter à chaque pixel x une valeur de code, Bi définit un codage des vecteurs
de rang par la formule suivante :
∑=
×=3
0
4)(i
irixC
Ce codage est identique pour les deux types de vecteurs. Ainsi, suivant le vecteur, C(x) peut
prendre soit 24 valeurs (vecteur de rang distinct), soit 75 (vecteur de rang général). Une image
à niveaux de gris peut donc être codée par une image composée de 24 ou 75 codes.
L’intérêt de cette méthode est qu’elle prend très bien en compte l’information de distribution
spatiale du niveau de gris dans le 4-voisinage des pixels des images. Les résultats que Bi
obtient le prouvent (voir [45]). Néanmoins, le grand nombre de codes (24 ou 75) qui
permettent de mettre en évidence toutes les configurations de distribution possibles est trop
élevé si on veut appliquer certaines méthodes d’analyse sur ce codage. C’est pourquoi, dans la
deuxième partie de cette thèse, nous construirons des codages avec peu de codes afin de
pouvoir appliquer des calculs de matrices de cooccurrence généralisées. De plus, pour limiter
ce nombre de codes, Bi ne considère que le 4-voisinage et ne prend donc pas en compte les 4
autres voisins d’un pixel (voisins diagonaux). Ceci restreint l’information de distribution
spatiale. Contrairement à ceci, nous développerons ici des codages qui examinent le 8-
voisinage des pixels.
1.5 Conclusion
L’analyse d’images englobe une multitude de domaines ; ici nous avons abordé celui de
l’analyse de textures.
27
L’analyse de textures est un problème difficile. Cette difficulté est due essentiellement au fait
qu’il n’existe pas de définition précise et rigoureuse permettant de caractériser complètement
la notion de texture.
Le premier chapitre de cette thèse avait pour but de commenter les différents paramètres
caractérisant les images satellites qui servent par la suite à leur interprétation et à leur
classification.
Nous avons également évoqué les algorithmes permettant l’extraction de ces paramètres, en
l’occurrence les matrices de cooccurrence et de corrélogramme.
Le but de la première partie de ce travail a été d’extraire, dans les images à niveaux de gris,
une certaine information caractéristique de la texture. Notre principale contribution dans la
deuxième partie de cette thèse sera de développer des méthodes de codages d’images dont le
but est de faire ressortir l’information texturelle.
28
II. Chapitre 2 : Prétraitement et codage de texture
2.1 Introduction
Après avoir donné un état de l’art sur la télédétection et les différentes méthodes d’extraction
de caractéristiques, nous pouvons nous rendre compte du rôle important que joue la texture
dans la chaîne de traitement des images. Ainsi dans ce présent chapitre, nous proposons dans
un premier temps, les rappels concernant l’utilisation de la texture dans les images
satellitaires, puis, dans un second temps, la méthode de codage développée.
Nous présentons d’abord les définitions nécessaires à la compréhension des méthodes de la
description d’images satellitaires basée sur la texture. Nous détaillerons ensuite notre
contribution.
Notre domaine de recherche en imagerie satellitaire se focalise sur la reconnaissance d’objets.
La nature de ces objets est aussi variée que les méthodologies utilisées. On peut citer
notamment les problèmes de détection de zones urbaines, de réseaux linéiques, de bâtiments,
de véhicules….
Il s’agit, dans tout ces cas, de reconnaître et de tester des paramètres caractérisant la texture
des types d’objets, et ce en utilisant des méthodes de classement utilisées pour la validation.
Les images acquises par les satellites présentent une source d’information inégalée pour la
reconnaissance, le suivi, la précision, la gestion des ressources et des activités humaines de
notre planète. Elles constituent un moyen efficace et économique pour extraire de précieuses
informations géographiques et de véritables outils de décision, elles contribuent à observer et
analyser les phénomène d’évolution du territoire et ainsi à appréhender aux mieux les
changements sur de larges zones ou sur des sites précis.
Au vu des images sur lesquelles nous souhaitons travailler, nous nous sommes intéressés à
l’analyse d’images satellites en utilisant une approche de type région, sachant que cette
dernière est caractérisée par ses propriétés texturelles.
29
La texture est une des plus importantes caractéristiques utilisées pour identifier les différentes
régions d’une image. Son étude est difficile, car il n’existe pas de définition universelle
permettant d’appréhender la notion de texture. Néanmoins, de nombreuses méthodes, utilisant
des modèles statistiques ou structurels, ont été développées pour caractériser les textures.
Du fait de leur richesse en information de texture, nous avons opté pour les matrices de
cooccurrence et de corrélogramme. Ces dernières contiennent une masse très importante
d’informations difficilement manipulable. C’est pour cela qu’elles ne sont pas utilisées
directement mais à travers des mesures dites caractéristiques de texture. En 1973, Haralick et
al. [47] ont en proposé quatorze. Bien que corrélés entre eux, ces caractéristiques réduisent
l’information contenue dans les matrices de cooccurrence et permettent une meilleure
discrimination entre les différents types de textures. Le choix du vecteur de déplacement et de
la taille de la fenêtre du voisinage sur laquelle s’effectue la mesure sont les paramètres sur
lesquels repose la réussite de la méthode. La difficulté à surmonter lors de l’application de
cette technique réside justement dans le choix de ces paramètres car ils varient en fonction du
type d’images et de textures. Pour ce qui est du vecteur de déplacement, si toutes les
directions sont étudiées avec différents pas de déplacement, un grand nombre de matrices de
cooccurrence doit être calculé. Ceci conduit à une grande complexité calculatoire. Plusieurs
études ont été menées pour déterminer une distance ou une orientation optimale. En 1986,
Weszka a conclu, qu’en pratique, une distance courte donne généralement de bons résultats
[48]. La taille de la fenêtre d’analyse doit satisfaire deux critères contradictoires à savoir, la
plus petite possible pour réduire le risque de mélange des textures différentes et, en même
temps, la plus grande possible pour pouvoir extraire des statistiques assez robustes et
significatives.
Parmi les quatorze indices proposés par Haralick, nous avons choisi pour notre études les plus
utilisés en télédétection [49], [50], [51], [52], [53] à savoir : le contraste, l’entropie,
l’homogénéité, la corrélation, le second moment angulaire et la directivité. L’information
texturale extraite à partir de la matrice de cooccurrence et de corrélogramme est paramétrée
par les grandeurs suivantes : la taille de la fenêtre d’analyse, le pas de déplacement, la
direction suivant laquelle les deux pixels comparés est choisie et enfin le nombre de niveaux
de gris. Afin de fixer ces paramètres, une série de tests utilisant différentes combinaisons a été
réalisée. Pour chaque cas, une extraction des six caractéristiques de texture retenues sur la
base d’images codées à 16 niveaux de gris a été effectuée. En ce qui concerne l’orientation,
celle ci n’apporte pas un grand changement à la performance de la classification. Pour cette
raison et pour des raisons de rapidité de calcul, il a été jugé suffisant de prendre une seule
30
direction. Pour ce qui est tant de la taille de la fenêtre que du pas de déplacement, le taux de
bonne classification le plus élevé a été obtenu pour une fenêtre de 32*32 et un pas de
déplacement d’un pixel. Ce sont donc ces paramètres qui vont être retenus pour la suite du
traitement.
La plupart des études faites sur l’extraction d’information texturelle agissent directement sur
les niveaux de gris de l’image. Dans cette thèse, nous nous sommes basés sur une nouvelle
méthode destinée à coder les niveaux de gris. Par conséquent, l’étude sera faite sur les codes
des niveaux de gris.
L’astuce de ce codage consiste à étudier les pixels voisins du pixel traité et lui affecter une
valeur de code et non un niveau de gris.
2.2 Système de classification
L’image satellitaire naît d’un capteur situé sur le satellite en question et d’une scène observée.
Un capteur est caractérisé par un certain nombre de bandes, de 1 à 200, dont chacune
correspond à une longueur d’onde du spectre allant du visible à l’infrarouge. Le capteur
synthétise pour chaque bande une image que l’on peut représenter en niveau de gris et dont la
résolution peut varier de quelques mètres à quelques centimètres par pixel.
Ce découpage spectral plus fin autorise des mesures radiométriques plus précises et permet
donc une caractérisation plus exacte du matériau présent sur le terrain. Le terme multispectral
qualifie une image dotée de plusieurs bandes. Une image couleur classique est typiquement
multispectrale, avec trois bandes. Une image hyperspectrale est une image pour laquelle nous
disposons d’un spectre continu pour chaque pixel. En pratique, une image hyperspectrale est
une image qui contient un très grand nombre de bandes, plusieurs dizaines ou centaines.
L’objectif du traitement d’image satellitaire est d’en extraire le maximum d’informations qui
intéresse l’utilisateur de l’image et d’évacuer tout ce qui est superflu. On souhaite pouvoir
attribuer une étiquette parmi une collection définie auparavant à chaque point, dans le but de
réaliser une classification sur des images satellitaires.
Cette collection d’étiquettes est ce que l’on appelle l’ensemble des classes qui pourrait être :
zone urbaine, forêt, mer, montagne….
Il existe deux grandes familles de techniques de classification d’images : supervisée et non
supervisée. La dernière ne demande aucune connaissance a priori de l’utilisateur, soit il existe
31
une collection universelle de classes et leurs caractéristiques sont définies automatiquement
lors de la classification.
La classification supervisée demande à l’utilisateur d’instruire le système en désignant des
zones de l’image comme étant des échantillons représentatifs des classes à extraire. La
classification est donc précédée d’un apprentissage.
Pour instruire le système, il faut avoir une bonne connaissance du terrain observé. Pour cela il
faut disposer d’une vérité terrain (ensemble de données garanties exactes). C’est un outil pour
réaliser un bon apprentissage, ainsi que pour valider une classification. Il est suffisant de
disposer d’une vérité terrain sur une portion de l’image où les types de chaque région sont
représentés.
Dans notre cas, nous effectuons une classification supervisée. Celle-ci s’organise en quatre
étapes :
� L’espace des états : De l’image satellites, on extrait des critères jugés suffisamment
discriminants pour la classification à suivre (le niveau de gris est un critère par
exemple). Cet ensemble définit un espace, dont la dimension est égale au nombre de
critères extraits.
� Les zones d’apprentissage : On définit sur l’image des zones d’apprentissage, qui
sont des régions de l’image que l’on juge représentatives d’une certaine classe. Par
exemple, en vue de classifier une image de zone urbaine, on sélectionnera un
ensemble de bâtiments pour réaliser l’apprentissage de la classe « zone urbaine ».
� L’apprentissage : Il consiste, pour une classe donnée, à rassembler l’ensemble des
pixels situés dans ses zones d’apprentissage et d’étudier la répartition de leurs vecteurs
associés dans l’espace des états.
� Le classifieur : La classification est le problème inverse de l’apprentissage. Ça
consiste à utiliser l’information issue de l’apprentissage pour attribuer à chaque point
ou à chaque région de l’image une catégorie ou une classe.
2.3 Texture
Malgré la somme considérable de travaux consacrés à l’analyse d’images texturées, force est
de constater que ceux-ci n’ont pas abouti à une définition unique ni à des méthodes qui
tiennent compte de l’ensemble des aspects relatifs à la notion de texture. C’est pourquoi les
32
outils développés dans la littérature sont souvent spécifiques à une classe de textures, ou liés à
une propriété particulière comme par exemple l’anisotropie [54] ou la complexité [55].
La texture est souvent présentée comme une structure hiérarchique à deux niveaux. Le
premier concerne les primitives, briques à partir desquelles est construite la texture [56]. Le
second niveau est relatif aux arrangements spatiaux des primitives. Les approches dites
statistiques se fondent la plupart du temps sur les niveaux de gris des pixels et sur la
description statistique de leurs arrangements. Les approches structurales, au contraire,
consistent en premier lieu à identifier et décrire les primitives, puis à caractériser de façon
statistique leurs arrangements mutuels. Propriété fondamentale de certaines textures,
l’orientation est parfois utilisée dans les approches structurales pour la description des
primitives [57]. En revanche, les approches purement statistiques qui s’appuient sur la
distribution des niveaux de gris des pixels sans tenir compte de leur appartenance à une
primitive, négligent l’aspect structural de certaines textures et, dans le cas de textures
orientées, leur caractère directionnel.
Soit une image constitué d’un unique objet quelconque. La présence d'un seul objet ne peut
pas être a priori considérée comme une texture. Par contre, si une autre image est constituée
d'un ensemble d'objets ayant des caractéristiques (de forme, de luminance...) similaires à
l'objet décrit précédemment, alors cette population peut être considérée comme une texture.
Figure 8 : Construction de la texture par différentes occurrences de l’objet à des échelles distinctes
Une texture a ensuite été construite en plaçant dans l'image différentes occurrences de cet
objet à des échelles distinctes.
Dans cet exemple, la population des objets représentés dans l'image est statistiquement décrite
par leur granulométrie.
Objet unique Texture
33
On verra dans la suite si les caractéristiques de la distribution de cette population suffisent à
décrire la texture. On peut montrer que cela n'est pas le cas en reprenant l'exemple de la
Figure 8 et en construisant une deuxième texture d'apparence visuelle distincte mais basée sur
la même granulométrie et le même objet de référence (Figure 9).
Figure 9 : Textures différentes ayant la même granulométrie
Il convient donc d'introduire un nouvel élément pour compléter la définition de la notion de
texture : la répartition spatiale. En effet, c'est l'agencement spatial des objets qui est la cause
des différences d'impressions visuelles observées sur la Figure 9.
La combinaison : agencement spatial + statistique d'une population d'objets permet ainsi de
définir la notion de texture.
Pour parvenir à exploiter la texture des images, il existe divers modèles qui permettent de la
caractériser.
Les méthodes d’analyse de texture sont nombreuses et il serait difficile d’en faire une revue
exhaustive. Parmi les plus populaires, et sans doute les plus efficaces en analyse de texture
monodimensionnelle, on trouve les approches utilisant les matrices de cooccurrence pour
extraire des paramètres caractéristiques de la texture observée. Cette approche donne de bons
résultats pour les images monodimensionnelles, mais son adaptation aux images
multidimensionnelles parait irréalisable. En effet, une matrice de cooccurrence est une matrice
de dimension N×N, où N est le nombre de niveau de gris quantifiés de l’image. Le temps de
calcul est donc tellement important que les auteurs ont tendance à diminuer le nombre de
niveaux de gris des images afin de réduire la taille des matrices et de rendre les résultats plus
significatifs ([58], [59], [60], [61], [62], [63]).
34
Dans cette thèse, nous essayons de contourner ce problème, en introduisant une nouvelle
méthode de codage qui permet aussi de diminuer le nombre de niveaux de gris.
2.4 Codage de niveau de gris
Dans ce chapitre, nous nous intéressons aux valeurs extrêmes de gris des images afin de
montrer qu’elles constituent une bonne caractérisation de la texture.
Avant de présenter notre étude, examinons quelques exemples illustrant l’intérêt que peut
avoir l’étude des extremums de gris. Intéressons nous aux textures de la figure 10. La
première d’entre elles laisse apparaître des zones allongées et obliques qui sont
alternativement foncées et claires. De manière générale, on distingue une orientation oblique
dans la texture composée de “lignes floues” sombres et claires. Ainsi, cet alignement oblique
des pixels sombres et des pixels clairs nous permet de distinguer une certaine texture. La
deuxième texture est une sorte de maillage particulier caractérisé par un certain agencement
de lignes horizontales, verticales et obliques. Ces lignes sont assez sombres; elles ressortent
bien par rapport au fond de l’image qui est composé de niveaux de gris clairs. Enfin, la
dernière texture est aléatoire, on remarque un fort contraste entre tous les pixels voisins dans
l’image.
Figure 10 : Trois textures de types différents : la première est de type directionnel, la seconde de type structurel
et la troisième de type aléatoire
Lorsqu’on aperçoit ces textures sans les regarder en détail, on distingue en priorité les fortes
et les faibles intensités lumineuses. Ceci fait donc apparaître l’aspect directionnel de la
première texture, le maillage de la seconde et le caractère aléatoire de la troisième. Notre oeil
est donc attiré par les valeurs extrêmes de gris présentes dans l’image. Ces valeurs
correspondent à un certain nombre de pixels qui sont des extremums locaux d’intensité de
35
gris. La figure 11 met en évidence les différents extremums locaux des trois textures de la
figure 10. Nous verrons plus loin ce qu’est exactement un extremum local, néanmoins nous
pouvons déjà dire qu’un pixel est un minimum local (respectivement maximum local) si les
niveaux de gris de ses voisins sont tous supérieurs (respectivement tous inférieurs) au sien.
Dans la figure 11, le voisinage utilisé est composé des 8 voisins d’un pixel. Les minimums
locaux sont représentés en noir et les maximums locaux sont en blanc. Il apparaît clairement
que cette simple information des extremums locaux permet de mettre en évidence certaines
caractéristiques des textures originales. Dans le premier cas, la disposition spatiale des pixels
noirs et blancs permet de retrouver la structure directionnelle de départ. L’aspect aléatoire de
la troisième texture est caractérisé par le fait qu’il y a un grand nombre de pixels extremums
noirs à côté de pixels blancs, répartis sur toute l’image. Il est plus difficile de retrouver la
structure de la deuxième texture juste avec l’image des extremums. Par contre, le nombre et la
disposition de ces derniers dans l’image permettent de la distinguer totalement des deux
autres.
Figure 11 : Trois images associées aux 3 textures de la figure 3 représentant les pixels minima (en noir) et
maxima (en blanc) locaux
Il nous a semblé intéressant d’extraire et de traiter l’information donnée par les extremums de
gris pour caractériser une texture. Dans un premier temps, nous présenterons la notion
d’extremum voisin. Cette définition va nous permettre de créer deux codages de textures. Ces
codages nous serviront, lors des classements, à montrer l’importance des extremums de gris
dans la discrimination des textures.
36
2.4.1 L’extremum voisin
Dans cette partie, nous présentons une définition correspondant à l’extremum voisin de gris
d’une image. Pour ce faire, nous travaillerons avec une image à niveaux de gris I définie sur
un support discret E ⊂ 2Ζ .
On suppose que ce support E est connexe au sens de l’imagerie (8-connexe). On désignera par
I(x) le niveau de gris du pixel x.
Considérant un ensemble V ⊂ 2Ζ qu’on appelle voisinage. Cet ensemble représente une
petite zone de l’image qui va nous permettre de représenter les extremums voisins.
Les pixels de l’image I, considérés comme extremums voisins, se définissent ainsi :
Un pixel x est donc considéré comme un extremum voisin s’il possède un niveau de gris
supérieur à tous les pixels se trouvant dans la zone de l’image définie par le voisinage V(x).
Les pixels minimums voisins se définissent de manière identique comme suit :
Le codage présenté précédemment a l’inconvénient d’être très stricts vis-à-vis de la définition
d’un extremum : un pixel est soit maximum, soit minimum, soit ni l’un ni l’autre.
Or, dans la plupart des images, et en particulier pour les textures naturelles, un grand nombre
de pixels ne sont pas considérés comme extremum alors qu’ils pourraient l’être si, par
exemple, un seul de leurs voisins changeait de niveau de gris. Dans cette partie, nous allons
donc nous intéresser à tous les pixels de l’image afin de leur affecter une valeur d’extrémalité.
C’est-à-dire, si un pixel est maximum on lui affectera une très forte valeur d’extrémalité, s’il
est minimum, on lui donnera une faible valeur d’extrémalité, et dans les autres cas, on lui
attribuera une valeur fonction du nombre de niveaux de gris voisins qui sont supérieurs et
inférieurs à celui du pixel traité. Nous proposons ici un codage basé sur cette idée. Il fait
référence aux extremums voisins.
x est un maximum voisin ⇔ )()(,)( xIyIExVy ≤∩∈∀
x est un minimum voisin ⇔ )()(,)( xIyIExVy ≥∩∈∀
37
2.4.2 Codage de pixel voisin
On appelle ce codage, le codage de pixel voisin, car il est basé sur l’utilisation d’un voisinage
local (en référence aux extremums voisins). Considérons un voisinage (.)8V , des 8-voisins de
3*3 pixels défini sur une image de texture, afin d’observer indifféremment tous les pixels se
trouvant juste autour du pixel central sans privilégier une direction plutôt qu’une autre ou une
distance plus grande. C’est, en fait, le voisinage le plus communément utilisé en imagerie.
Pour obtenir l’unité de texture associée à ce voisinage, les valeurs des huit éléments entourant
le pixel centrale sont remplacées par des valeurs NGC suivant le principe ci-dessous :
On ordonne les neuf pixels du voisinage par ordre croissant de leur niveau de gris. Puis, on
affecte au pixel traité, le plus haut rang correspondant à son niveau de gris dans la suite
ordonnée (possibilité d’avoir plusieurs pixels ayant le même niveau de gris). La figure 12,
l’algorithme 2.4.2 et la figure 13 illustrent plus précisément ce codage.
8
7
6
5
4
3
2
1
0
Liste ordonnée
Figure 12 : Principe du codage d’un pixel x en fonction de ses voisins Dans l’algorithme qui suit, l’image de départ est notée (.)I , elle est définie sur E. Son codage
est donné par la fonction (.)NGC .
Voisins de x classés par ordre croissant de leurs niveaux de gris.
x
)(8 xV
Valeur d’extrémalité de x= plus haute position du niveau de gris de x dans cette liste ordonnée
38
Algorithme 2.4.2 de codage de niveau de gris :
Cet algorithme permet de coder une image I en comparant le niveau de gris de chaque pixel
avec ses 8 voisins. Le coût algorithmique en temps est donc linéaire par rapport à la taille de
l’image; si E = m, la complexité de l’algorithme est en O (m). Le temps de calcul du codage
d’extrémalité voisin d’une texture de taille 256 × 256 est de l’ordre de quelques secondes.
Sur la figure suivante (figure 13), examinons le pixel central de niveau de gris 10 et ses 8 huit
voisins. Ce pixel est entouré de 4 voisins de niveaux de gris strictement inférieurs au sien et 4
pixels de niveau de gris strictement supérieur. Ainsi, dans l’algorithme, la condition I(x) ≥ I(y)
est vérifiée 4 fois. Par conséquent, la valeur code de niveau de gris pour le pixel central est 4.
Ce pixel serait en position numéro 4 dans la liste ordonnée de la figure 12.
9 7 20
50 10 13
25 5 4
I NGC Figure 13 : Exemple du codage de niveau de gris sur un pixel. L’image de gauche représente les niveaux de gris
de 9 pixels; l’image de droite fournit le codage de niveau de gris du pixel central Dans cet algorithme, si un pixel voisin a le même niveau de gris que le pixel traité, on
s’aperçoit que le signe ≥ impose une augmentation arbitraire de la valeur de code d’une unité.
On privilégie ainsi, la maximalité (les valeurs de code sont plus élevées). Si au contraire, nous
avions choisi d’utiliser le signe > , nous aurions favorisé la minimalité.
4
pour tout Ex∈ faire
{ Val=0;
pour tout { }xxVy −∈ )(8 faire
{ si I(x) ≥ I(y) alors Val=Val+1;
}
NGC (x)=Val;
}
39
Avec le codage proposé précédemment, seul la présence de voisinage pouvait entraîner des
choix arbitraires. Ici, le fait d’avoir simplement un des pixels du voisinage de même niveau de
gris que le pixel traité entraîne une modification arbitraire du codage. Malgré l’obligation de
ce choix, nous verrons que ce codage fournit une bonne représentation des textures.
Ce codage nous a permis de gagner de la place mémoire et de diminuer la taille de la matrice
de cooccurrence, comme on le verra dans le chapitre 4. Seulement, il présente un inconvénient
qui se situe au niveau de la dégradation de la qualité de l’image; d’où la nécessité d’un
deuxième codage permettant d’améliorer la qualité de l’image, tout en augmentant le nombre
des niveaux de gris de 9 à 16.
Avant de détailler ce deuxième codage, voici quelques caractéristiques du premier codage de
niveaux de gris :
Caractéristique 1 :
{ }8,7,6,5,4,3,2,1,0)(, ∈∈∀ xCEx NG
Preuve :
Dans l’algorithme 2.4.2, la valeur de )(xCNG pour chaque x de E est définie par la variable
Val. Cette variable est initialisée à 0 et est incrémentée à chaque fois qu’un élément
de { }xxV −)(8 possède un niveau de gris inférieur à celui de x. Or, il y a 8 pixels éléments
de { }xxV −)(8 , donc )(xCNG aura des valeurs qui peuvent varier de 0 à 8.
Cette propriété montre que quelque soit le nombre de niveaux de gris dans l’image initiale,
son codage de niveau de gris ne comporte que 9 valeurs. Cette réduction peut être intéressante
du point de vue du stockage de l’image codée; mais elle l’est beaucoup plus du point de vue
de son analyse, notamment si on choisit d’utiliser le calcul des matrices de cooccurrence et de
corrélogramme (diminution de la taille de 256 × 256 en 9 × 9).
On rappelle ici que cette transformation est bien un codage et non un filtrage, car on modifie
la valeur de chaque pixel par une autre qui n’est pas un niveau de gris mais un code. Ce
dernier représente une certaine relation entre le niveau de gris du pixel traité et les niveaux de
gris voisins de ce pixel. Même si on étudie ce code comme une image, par l’intermédiaire de
sa représentation graphique, il reste un codage.
Caractéristique 2 :
xxC NG ⇔= 8)( est un imummax voisin avec 8V
40
Preuve :
Pour la condition : )(xCNG =8 ;
La condition )()( yIxI ≥ est vérifiée pour tout élément de )(8 xV , donc, xest un maximum
voisin avec 8V .
Et pour la condition : xest un maximum voisin avec8V ;
),()(),(8 yIxIxVy ≥∈∀ or, la variable Val est incrémentée de 8 fois, alors )(xCNG = 8.
Tout pixel maximum voisin pour (.)8V est codé avec la valeur 8. On code ainsi un pixel
maximum local par la plus forte valeur d’extrémalité que propose le codage.
Les deux caractéristiques suivantes illustrent les conséquences de l’avantage donné
arbitrairement aux valeurs maximales :
Caractéristique 3 :
Preuve :
Pour l’équation 0)( =xCNG :
La condition )()( yIxI ≥ n’est jamais vérifiée, donc { } )()(,)(8 yIxIxxVy <−∈∀ .
Et pour l’inégalité suivante : { } )()(,)(8 yIxIxxVy <−∈∀ , la condition )()( yIxI ≥ n’est jamais
vérifiée, alors 0)( =xCNG
Caractéristique 4 :
Preuve :
0)( =xCNG :
La condition )()( yIxI ≥ n’est jamais vérifiée, { } )()(,)(8 yIxIxxVy <−∈∀ ,
)()(),(8 yIxIxVy ≤∈∀ , alors xest un minimum voisin avec 8V
La réciproque de cette dernière caractéristique n’est pas vraie du fait de l’inégalité ≥ de
l’algorithme. Ainsi, un minimum voisin n’a pas forcément la plus faible valeur d’extrémalité.
{ }xxVyxCNG −∈∀⇔= )(0)( 8 )()( yIxI <
xxC NG ⇒= 0)( est un imummin voisin avec 8V
41
Le seul cas où ceci est réalisé, c’est lorsque tous ses voisins ont un niveau de gris strictement
supérieur au sien (voir caractéristique 3).
La figure 14 illustre la représentation graphique de ce codage sur 4 textures. Pour des raisons
de visibilité, chaque code i (i = 0 . . . 8) des textures codées ont été échantillonnées sur les 256
niveaux de gris (8
255ii a ).
On s’aperçoit que le codage conserve une certaine information de la structure des textures.
Les deux premières textures sont structurelles, elles possèdent chacune des éléments
structurants différents que l’on retrouve dans les images codées (les alvéoles pour la première
et les briques pour la deuxième). La troisième texture est aléatoire, on retrouve parfaitement
cet agencement aléatoire dans son codage. La dernière représente une mosaïque qui est
retranscrite par son codage.
Donc, on peut dire que le codage de niveau de gris conserve l’information structurelle des
textures originales d’un point de vue local (éléments structurants), mais aussi d’un point de
vue global (textures aléatoires, structurelles, directionnelles, ...).
Figure 14 : Exemple de 4 représentations graphiques de textures à l’aide du codage de niveau de gris
Pour donner, à cette propriété, une justification plus rigoureuse que la simple démonstration
visuelle, nous avons montré que l’information donnée par le codage conserve l’information
texturelle initiale. Pour cela, nous avons essayé d’établir une relation entre les niveaux de gris
de )(8 xV et )(xCNG pour tout x de E. Cette relation a été quantifiée à l’aide de la régression
multiple et testée sur 10 textures de la base de Brodatz présentée ci-dessous :
42
Figure 15 : Quelques images de la base de Brodatz
Notons )(0 xIx = , la variable représentant le niveau de gris de chaque pixel de l’image initiale
I et ix (i = 1, . . ., 8) les variables correspondant aux 8 niveaux de gris des 8 pixels
de { }xxV −)(8 .
On pose aussi y = )(xCNG . La régression multiple consiste à estimer, pour chaque texture, les
coefficients iα ( i = 0, . . ., 8) et la constante γ de l’expression :
γα +=∑=
i
i
i xy
8
0
Sur les 10 textures, la valeur du F-ratio (>1000) et la probabilité critique associée, qui est
toujours nulle, montrent que le modèle est hautement significatif. En outre, la valeur du
coefficient de corrélation linéaire multiple met en évidence qu’environ 70% de la variance du
codage est expliquée par la régression. La faible différence entre ce coefficient et sa valeur
ajustée, ainsi que les probabilités critiques nulles pour chaque coefficient de la régression,
montrent que toutes les variables interviennent significativement. Par conséquent, on peut dire
que la valeur de code représentée par la variable y = (.)NGC est un bon résumé de
l’information donnée par l’ensemble de tous les niveaux de gris de (.)8V de l’image initiale.
On montre aussi dans l’exemple de la figure 16 que le codage résume l’information texturelle
initiale.
43
L’image de gauche représente une texture originelle (texture de Brodatz [64]), au milieu une
image sur laquelle sont codés à 0 (noir) les pixels minimums, à 255 (blanc) les pixels
maximums et à 128 (gris) les pixels non extremums, et à droite l’image sur laquelle nous
avons appliqué la méthode de codage développé. En se basant sur l’image des extremums,
celle du milieu, on s’aperçoit clairement qu’on retrouve difficilement toute l’information
texturelle de l’image originelle. Par contre, la dernière image montre que ce codage conserve
l’information structurelle de la texture : la structure originelle est mieux conservée que sur
l’image des extremums. C’est pourquoi, il nous a semblé intéressant d’étendre la notion
d’extrémalité à tous les pixels de l’image grâce à la méthode développée et détaillée dans ce
chapitre.
Texture de Brodatz Extrema Codage de niveaux de gris
Figure 16 : Texture de Brodatz suivie de son image des extrema ainsi que de son codage de niveau de gris .
L’extraction d’attributs de textures est donc réalisée, non pas directement à partir des images
originelles, ni par l’intermédiaire d’images filtrées, mais par l’intermédiaire des images
codées. C’est à partir de ces dernières que nous allons extraire l’information caractérisant la
texture.
Notre objectif, est de montrer que l’information texturelle est plus forte dans le codage de
niveau de gris que dans les images originales. Pour ce faire, nous utilisons deux méthodes
d’extraction d’attributs classiques que sont les calculs des paramètres de cooccurrence et de
corrélogramme, afin de comparer les résultats entre les classements effectués à partir des
images originales et ceux réalisés à partir de codage de niveau de gris.
En fait, ce codage peut être divisé en deux parties, un premier codage qui permet de diminuer
le nombre de niveaux de gris en 9 codes, et un deuxième qui fait augmenter le nombre de
niveaux de gris à 16 et qu’on a nommé le codage de rang.
On verra en détail, dans le paragraphe suivant, le processus de ces deux codages.
44
2.5 Procédure des deux codages
Pour évaluer et tester notre approche, nous avons utilisé une base constituée d’images
satellites. Quatre étapes différentes peuvent être employées pour calculer les caractéristiques
texturelles de ces images.
� La première consiste à diviser chaque image, en niveau de gris, en des imagettes ou
des blocs de taille 32*32 répartis selon la classe de l’imagette comme figuré ci-
dessous :
Figure 17 : Illustration des cinq classes de textures de gauche à droite : zone urbaine, sol, forêt, mer et route
Pour ce faire, nous avons développé un logiciel sous Matlab, qui permet cette fonction de
division (voir la figure 18). Il permet, en fait, de choisir la taille de l’imagette qu’on souhaite
extraire de l’image d’origine.
Figure 18 : Le logiciel qui permet de découper l’image en imagettes
45
La plupart des méthodes existantes d’extraction d’information texturelle agissent directement
sur l’image originelle ou sur des images résultantes d’un filtrage. La méthode d’investigation
développée ici est le codage de texture de niveaux de gris.
Ce codage consiste à affecter à chaque pixel de l’image une valeur de code et non un niveau
de gris. En effet, on transforme l’espace de départ, en l’occurrence l’image originelle, pour
créer un espace intermédiaire qui est l’image codée, mettant en évidence l’information
texturelle. C’est ensuite à partir de cet espace qu’on extrait les caractéristiques de texture.
Ce codage peut être divisé en deux parties :
� Premier codage :
La première phase est basée sur la réduction du nombre de niveaux de gris de 256 à 9. Elle
consiste à affecter à chaque pixel une valeur résumant une certaine information autour de ce
dernier (paragraphe 2.4.2).
Ce codage risque de dégrader la qualité de l’image, d’où l’appel au deuxième codage.
� Deuxième codage :
Il va nous permettre d’améliorer la qualité de l’image tout en augmentant le nombre des
niveaux de gris de 9 à 16. Il permet en fait de rajouter l’information d’amplitude, qu’on a
perdue au premier codage.
Son principe est le suivant :
On parcourt l’imagette initiale et l’imagette codée pixel par pixel, chacune de taille 3*3, on va
tester les valeurs des nivaux de gris et des codes des deux imagettes et leur affecter de
nouvelles valeurs.
Soit x la valeur du niveau de gris de l’image initiale, I celle de l’image codée et C la nouvelle
valeur du pixel.
Si 320 ≤≤ x et
=≤≤
=≤≤
285
140
alorsCI
ou
alorsCI
Si 6432 ≤≤ x et
=≤≤
=≤≤
485
340
alorsCI
ou
alorsCI
.
.
.
46
Si 256224 ≤≤ x et
=≤≤
=≤≤
1685
1540
alorsCI
ou
alorsCI
� Extraction de caractéristiques :
L’extraction d’attributs de textures est donc réalisée, non pas directement à partir des images
originales, ni à partir d’images filtrées, mais par l’intermédiaire des représentations d’images
codées. C’est à partir des images codes que nous allons extraire l’information caractérisant la
texture. Ainsi, pour toutes les textures de la base, nous avons calculé leurs codages.
Soit I une texture de support E à valeur dansΖ , on construit le premier et le second codage
Pour ce qui concerne le premier codage, les pixels seront codés de 0 à 8, alors que le
deuxième permet de coder les pixels de 0 à 15. On verra en fait, que les taux de classification
les meilleurs sont ceux obtenus avec les images sur lesquelles nous avons appliqué la méthode
du codage et non sur les images originales non codées.
De nombreuses études ont proposé des définitions en terme de texture en associant à chaque
fois les schémas d’analyse permettant d’atteindre les paramètres ainsi définis par Haralick
[47]. Les méthodes proposées expriment l’interaction spatiale existant entre un pixel et ses
voisins, à une distance donnée en l’occurrence le corrélogramme, à une distance donnée pour
une direction imposée comme la matrice de cooccurrence ou sur une séquence de pixels
proches dans une direction donnée et ce en utilisant la longueur de plages.
Dans cette thèse, nous avons utilisé les paramètres extraits de la matrice de cooccurrence et
du corrélogramme.
Ces matrices permettent ainsi de réaliser une analyse structurelle de la texture sous un angle et
une distance bien définis. Cette opportunité devrait assurer une meilleure caractérisation des
textures. Elles contiennent une masse très importante d’informations difficilement
manipulable. C’est pour cela qu’elle n’est pas utilisée directement mais à travers des mesures
dites caractéristiques de texture. Il en existe plusieurs, dans notre application, 6 paramètres
seront calculés pour une direction 0° et un pas de déplacement égal à 1 pour ce qui concerne
la matrice de cooccurrence et trois déplacement [1 3 5] choisis pour la matrice de
corrélogramme (Voir figure 19).
Pour effectuer la classification, les images de la base ont été subdivisées en sous-images
différentes de taille 32*32 pixels. 120 de ces imagettes ont été utilisées dans la phase
d’apprentissage pour déterminer les vecteurs attributs prototypes de chaque classe de texture.
47
Les 120 autres ont été réservées pour la phase de classification proprement dite qui utilise le
SVM comme règle de décision.
Ci-dessous, un schéma explicatif des différentes étapes suivies pour le calcul des
caractéristiques texturelles.
Figure 19 : Etapes de calcul des paramètres d’Haralick.
Image en niveaux de gris
Passage à 9 niveaux de gris (premier codage)
Image à 9 niveaux de gris (Image dégradée)
Paramètre 1 Paramètre 2 Paramètre 6
Calcul des paramètres à partir des matrices de cooccurrence et de corrélogramme pour chaque fenêtre.
Subdivision de l’image en des fenêtres de tailles 32*32
Passage à 16 niveaux de gris (deuxième codage)
Image à 16 niveaux de gris
Imagette ou fenêtre de taille 32*32
48
2.6 Conclusion
L'analyse de textures est un problème difficile. Cette difficulté est due essentiellement au fait
qu'il n'existe pas de définition précise et rigoureuse permettant de caractériser complètement
la notion de texture. Ce travail a eu pour but de développer une méthode de codage d’images
faisant ressortir l'information texturelle afin d’améliorer et de simplifier l'étude ultérieure.
Les deux codages de niveau de gris développés correspondent très bien à cette idée. En effet,
nous avons prouvé qu'ils conservent la structure des images, tout en supprimant la notion de
niveaux de gris. Visuellement, la notion de texture semble beaucoup plus présente dans ces
codages que dans les images originelles. De plus, en accord avec la notion de cooccurrence et
de corrélogramme qui est assez proche de celle de texture, les résultats des classements
effectués sur ces codages sont beaucoup plus significatifs que les résultats obtenus à partir des
textures originelles, comme on le verra dans le dernier chapitre. Mis à part ces très bons
résultats, la création de ces codages permet de diminuer de façon non arbitraire le nombre des
valeurs associées à chaque pixel d'une image (9 pour le premier codage et 16 pour le
deuxième). Ceci est un atout algorithmique et un gain de place mémoire très intéressant lors
des analyses ultérieures. Dans ce travail, la discrimination de textures est réalisée à partir des
vecteurs d'attributs caractéristiques par une méthode classique appelée SVM (Support Vector
Machine), détaillée dans le chapitre suivant. Comme ces codages de niveau de gris
correspondent à un pré-traitement des textures, ils peuvent donc être utilisés avant n’importe
quel type d’analyse, afin d’améliorer les performances et les résultats.
49
III. Chapitre 3 : Classification
3.1 Introduction
L’objectif d’un problème de discrimination à partir d’un ensemble d’exemples est d’inférer un
lien entre les caractéristiques de chaque exemple et leur catégorie usuellement définie par un
label. Actuellement, de par la facilité d’acquisition et de stockage des données, les problèmes
réels de reconnaissance de formes ou de discrimination sont de plus en plus complexes et font
intervenir de plus en plus de variables caractérisant un exemple. Si intuitivement il semble
naturel que l’augmentation du nombre de caractéristiques ne devrait pas nuire à la qualité de
la discrimination, en pratique cela s’avère être un problème majeur. En effet, le succès d’un
problème de reconnaissance de formes est fortement lié à la qualité des données et des
variables qui les caractérisent. La présence de variables redondantes, bruitées et peu corrélées
avec le label d’un exemple rend le processus d’apprentissage plus difficile.
La sélection de variables est un problème consistant à identifier les variables pertinentes par
rapport au problème considéré. Si la sélection des variables est réalisée de manière
appropriée, la performance du modèle de discrimination peut être fortement améliorée tout en
rehaussant l’interprétabilité du modèle. Par ailleurs, le fait de réduire le nombre de variables
permet également de réduire le temps de calcul du label d’un nouvel exemple présenté au
modèle d’inférence.
Les méthodes de classification ont pour but d’identifier les classes auxquelles appartiennent
des objets à partir de certains traits descriptifs. Elles s’appliquent à un grand nombre
d’activités humaines et conviennent en particulier au problème de la prise de décision
automatisée. La procédure de classification sera extraite automatiquement à partir d’un
ensemble d’exemples. Un exemple consiste en la description d’un cas avec la classification
correspondante. Un système d’apprentissage doit alors, à partir de cet ensemble d’exemples,
extraire une procédure de classification, il s’agit en effet d’extraire une règle générale à partir
des données observées. La procédure générée devra classifier correctement les exemples de
l’échantillon et avoir un bon pouvoir prédictif pour classifier correctement de nouvelles
descriptions.
La classification d’images satellitaires est une méthode qui consiste à regrouper les pixels
d’une images dans des ensembles logiques en fonction soit de leur valeur numérique dans un
50
ou plusieurs canaux, soit de leurs propriétés spatiales en fonction de leur voisinage afin
d’obtenir un document final le plus proche de la cartographie réelle.
Les techniques de classifications sont de deux types, supervisées et non supervisées : les
techniques supervisées dont on connaît a priori la nature des objets du terrain étudié, et non
supervisées, où les regroupements d’objets sont faits selon une logique de proximité ou
d’appartenance à des niveaux numériques voisins.
Les méthodes utilisées pour la classification sont nombreuses, citons : la méthode des
Machines à Vecteurs Supports (SVM), les Réseaux de Neurones, etc. Nous présentons dans
cette thèse une étude détaillée de la technique SVM en classification des images, qui montre
de bonnes performances dans la résolution de problèmes varies. Cette méthode a montré son
efficacité dans de nombreux domaines d’applications tels que le traitement d’image, la
catégorisation de textes ou le diagnostiques médicales et ce même sur des ensembles de
données de très grandes dimensions.
Premièrement, nous présentons le cadre général de l’apprentissage à partir d’exemples : les
fondements théoriques et la problématique.
L’objectif visé est la classification des différentes zones d’images satellites. Cette méthode est
basée sur l’apprentissage suivi de la classification.
La phase d’apprentissage correspond à l’extraction d’attributs caractéristiques à partir de
l’image, c'est-à-dire pour une classe donnée, rassembler l’ensemble des régions situées dans
ses zones d’apprentissage, et d’étudier la répartition de leurs vecteurs associés dans l’espace
des états.
La classification c’est la phase au cours de laquelle sont utilisés les attributs précédemment
extraits afin d’atteindre l’objectif initial. Le classifieur recevra en entrée les paramètres
calculés sur une fenêtre d’observation et fournira une indication de classe de la texture.
3.2. Théorie de l’apprentissage
3.2.1. Introduction
L’objectif de l’apprentissage à partir d’exemples étiquetés appelé aussi apprentissage
supervisé est de construire une fonction qui permet d’approcher au mieux une fonction
51
inconnue qui génère des données aléatoires, indépendantes et identiquement distribuées et
dont nous ne disposons que de quelques exemples.
Un système d’apprentissage à partir d’exemples est composé de trois modules
principaux :
• Un générateur qui génère des données aléatoires appelées les vecteurs d’entrée. Ces
vecteurs sont indépendants et identiquement distribués suivant une distribution de
probabilité inconnue P(x).
• Un superviseur qui associe pour chaque vecteur d’entrée x une sortie y (la classe)
suivant une distribution de probabilité également inconnue P(x, y).
• Une machine d’apprentissage qui permet d’implémenter une famille de fonctions
Axf ∈αα );( ou A est un ensemble de paramètres. Ces fonctions doivent produire pour
chaque vecteur d’entrée x une sortie ў la plus proche possible de la sortie y du
superviseur.
La figure 20 représente ces trois modules.
Figure 20 : les modules d’un système d’apprentissage
Le problème d’apprentissage à partir d’exemples apparaît dans plusieurs domaines divers et
variés, comme la prédiction, la classification, la reconnaissance de formes, la reconnaissance
d’objets, etc.
3.2.2 Apprentissage supervisé
Soit O un ensemble d’individus décrit par un nombre fixe n de caractéristiques. Prenons un
sous-ensemble S deO . Etant donnée les paramètres d’un objet deSO on veut pouvoir
estimer le mieux possible la classe de cet objet (-1 ou +1) avec la seule connaissance deS . S
est l’ensemble d’apprentissage (training set) et SO est l’ensemble de test. On représente
Spar un ensemble de m couples miii yx ≤≤1),( où ix est un point de nR qui représente les
Générateur Superviseur
Machine d’apprentissage
y
ў
Apprentissage
x vecteur d’entrée
52
paramètres et iy = 1± représente la classe deix . Les miii yx ≤≤1),( sont issus d’une distribution
de probabilité inconnue ),( yxP , les données miii yx ≤≤1),( sont supposées i.i.d
(indépendamment identiquement distribuées). Le but de l’apprentissage est de trouver une
estimation de l’application ii yx >−− .
3.3 Les Machines à Vecteurs Supports (SVM)
3.3.1 Introduction
Les SVMs (Support Vector Machines) sont de nouvelles techniques d’apprentissage
statistique initiées par V. Vapnick en 1995. Le succès de cette méthode est justifié par les
solides bases théoriques qui la soutiennent. Elles permettent d’aborder des problèmes très
divers dont la classification. SVM est une méthode particulièrement bien adaptée pour traiter
des données de très haute dimension telles que les textes et les images. Depuis leur
introduction dans le domaine de la reconnaissance de formes, plusieurs travaux ont pu
montrer l’efficacité de ces techniques principalement en traitement d’image.
Cette technique est une méthode de classification à deux classes qui tente de séparer
linéairement les exemples positifs des exemples négatifs dans l’ensemble des exemples.
Chaque exemple doit être représenté par un vecteur de dimensionn . La méthode cherche
alors l’hyperplan qui sépare les exemples positifs des exemples négatifs, en garantissant que
la marge entre le plus proche des positifs et des négatifs soit maximale. Intuitivement, cela
garantit un bon niveau de généralisation car de nouveaux exemples pourront ne pas être trop
similaires à ceux utilisés pour trouver l’hyperplan mais être tout de même situés franchement
d’un coté ou l’autre de la frontière. L’efficacité des SVM est très bonne pour la
reconnaissance de formes. Un autre intérêt est la sélection de Vecteurs Supports qui
représentent les vecteurs discriminant grâce auxquels est déterminé l’hyperplan. Les exemples
utilisés lors de la recherche de l’hyperplan ne sont alors plus utiles et seuls ces vecteurs
supports sont utilisés pour classer un nouveau cas. Cela en fait une méthode très rapide. Dans
ce chapitre nous présentons les aspects théoriques de la méthode SVM.
3.3.2 Principe de la technique SVM
Le principe des SVM consiste à projeter les données de l’espace d’entrée (appartenant à deux
classes différentes) non linéairement séparables dans un espace de plus grande dimension
53
appelé espace de caractéristiques de façon à ce que les données deviennent linéairement
séparables. Dans cet espace, on construit un hyperplan optimal séparant les classes tel que :
• Les vecteurs appartenant aux différentes classes se trouvent de différents côtés de
l’hyperplan.
• La plus petite distance entre les vecteurs et l’hyperplan (la marge) soit maximale.
Le principe de la technique SVM est représenté dans la figure ci-dessous :
Figure 21 : Principe de la technique SVM.
3.3.3 Les SVM linéaires
a. Cas des données linéairement séparables :
Un classificateur est dit linéaire lorsqu’il est possible d’exprimer sa fonction de décision par
une fonction linéaire en x. Dans ce qui suit, nous supposons que les exemples nous sont
fournis dans le format vectoriel. Notre espace d’entrée X correspond donc à nℜ où n est le
nombre de composantes des vecteurs contenant les données. On peut exprimer une telle
fonction par nw ℜ∈ et ℜ∈b tel que :
bxwxh += ,)(
bxwn
iii +=∑
=1
Où w et b sont des paramètres, et ℜ∈x est une variable.
Pour décider à quelle catégorie un exemple estimé x~ appartient, il suffit de prendre le signe
de la fonction de décision : ))~(sgn( xhy = . Géométriquement, cela revient à considérer un
hyperplan qui est le lieu des points x satisfaisant 0, =+ bxw .
HO : Hyperplan Optimal.
Espace d’entrée
X
Transformation ψ
Espace de caractéristiques
ψ (X)
Classe (X)
HO
54
En orientant l’hyperplan, la règle de décision correspond à observer de quel côté de
l’hyperplan se trouve l’exemplex~ . La figure ci-dessous représente la situation dans2ℜ . On
voit que le vecteur w définit la pente de l’hyperplan : w est perpendiculaire à l’hyperplan. Le
terme b quant à lui permet de translater l’hyperplan parallèlement à lui-même.
Figure 22 : L’hyperplan correspondant à la fonction de décision d’un classifieur linéaire dans 2ℜ
Nous donnons quelques définitions de marges et d’hyperplan canonique.
a.1 Marge de l’hyperplan
Avant de définir la marge, il est utile d’introduire la notion de training set linéairement
séparable.
Un training set ),(),...,,(),,( 2211 nn yxyxyx est linéairement séparable ssi :
nibxwybw ii
n ..1,0,(:, =∀≥+ℜ∈ℜ∈∃
La définition consiste à dire qu’il doit exister un hyperplan laissant d’un coté toutes les
données positives et de l’autre, toutes les données négatives. Dans le cas de données
linéairement séparables, il existe plusieurs méthodes pour trouver un tel hyperplan.
La notion de marge peut être relative à un exemple particulier ou à l’ensemble du training set.
De plus, on considère deux types de marges, fonctionnelle et géométrique :
� La marge fonctionnelle :
La marge fonctionnelle d’un exempleix , par rapport à l’hyperplan caractérisé par w et b est la
quantité :
55
( )bxwy ii +,
� La marge géométrique :
Elle représente la distance euclidienne prise perpendiculairement entre l’hyperplan et
l’exemple ix . En prenant un point quelconque px se trouvant sur l’hyperplan, la marge
géométrique peut s’exprimer ).( pi xxw
w − . La figure 23 illustre la situation. En utilisant la
marge fonctionnelle et le fait que px est sur l’hyperplan, on peut calculer la valeur de la marge
géométrique.
Figure 23 : Expression de la marge pour l’exempleix
0,
)(,
=+−
=+
bxw
xfbxw
p
ii
)().( ipi xfxxw =−
).( pi xxw
w − = w
xf i )(
� La marge géométrique (d’un exemple):
La marge géométrique d’un exempleix , par rapport à l’hyperplan caractérisé par w et b est
l’expression :
).(),(, w
bx
w
wyyx iiiibw +=ψ
� La marge géométrique (du training set):
La marge du training set par rapport à l’hyperplan caractérisé par w et b est définie comme
suit :
<w, x> + b =0
px
ix
).(pi
xxw
w −
w
56
),(min ,..1
, iibwni
bw yxψψ=
=
Par la suite nous utilisons uniquement la marge géométrique, aussi emploierons-nous le terme
« marge » pour désigner cette dernière. Les classifieurs ayant pour critère de maximiser la
marge du training set sont appelés classificateurs à marge maximale. SVM, en particulier, en
est un.
a.2. Hyperplans canoniques
Dans le cadre de classificateurs à marge maximale, l’hyperplan séparateur correspond à la
médiatrice du plus petit segment de droite reliant les enveloppes convexes des deux
catégories. Notons que l’on suppose aussi que le training set est linéairement séparable. Dès
lors, on peut définir deux plans se trouvant de part et d’autre de l’hyperplan et parallèles à
celui-ci, sur lesquels reposent les exemples les plus proches. La figure ci-dessous illustre cette
situation.
Figure 24 : Hyperplans canoniques.
Dans notre définition de l’hyperplan, il est possible que différentes équations correspondent
au même plan géométrique :
0),( =+ bxwa ℜ∈∀a
Il est donc possible de redimensionner w et b de telle sorte que les deux plans parallèles aient
respectivement pour équations :
1, =+ bxw
Et 1, −=+ bxw
x
x
x
x
x
<w,x> + b = 1
<w,x> + b = -1 x1
x2
57
Ces deux hyperplans sont appelés hyperplans canoniques. Notons que la marge des
hyperplans canoniques est dew
1. Le vecteur w possède à présent une signification
géométrique très claire.
Intuitivement, le fait d’avoir une marge plus large procure plus de « sécurité » lorsque l’on
classe un exemple inconnu. La partie gauche de la figure 6 nous montre qu’avec l’hyperplan
optimal, un nouvel exemple reste bien classé alors qu’il tombe dans la marge. On constate sur
la partie droite qu’avec une plus petite marge, l’exemple se voit mal classé.
Figure 25 : Le même jeu de données classé par un hyperplan à marge maximale (à gauche) et un hyperplan quelconque ne commettant pas d’erreur sur le training set (à droite). La boule grisée est un exemple du test set.
Maintenant que nous avons défini les notions de marges et d’hyperplans canoniques, nous
pouvons formuler un problème d’optimisation mathématique tel que sa solution nous
fournisse l’hyperplan optimal qui permet de maximiser la marge :
QP1 Minimiser 2
2
1),( wbwW =
Tel que ( ) 1, ≥+ bxwy ii
Il s’agit d’un problème quadratique dont la fonction objective est à minimiser. Cette fonction
objective est le carré de l’inverse de la double marge. L’unique contrainte stipule que les
exemples doivent être bien classés et qu’ils ne dépassent pas les hyperplans canoniques. Il
existe d’autres formulations du problème : celle que nous avons présentée est la plus
répandue.
Dans cette formulation, les variables à fixer sont les composantes iw et b . Le vecteur w
possède un nombre de composantes égal à la dimension de l’espace d’entrée. En gardant cette
x
x
x x
x
x x
x
x x
x
x
58
formulation telle quelle, nous souffrons des mêmes problèmes que les méthodes classiques du
Machine learning (overfitting, curve of dimensionality). Pour éviter cela, il est nécessaire
d’introduire une formulation dite duale du problème.
Un problème dual est un problème fournissant la même solution que le primal mais dont la
formulation est différente. On appellera variables primales, les variables du problème primal
et variables duales, les variables du problème dual qui n’interviennent pas dans le primal.
Pour dualiser QP1, nous devons former ce que l’on appelle le Lagrangien. Il s’agit de faire
rentrer les contraintes dans la fonction objective et de pondérer chacune d’entre elles par une
variable duale :
( )[ ]∑=
−+−=n
iiii bxwywbwL
1
21,
2
1),,( αα
Les variables duales iα intervenant dans le Lagrangien sont appelées multiplicateurs de
Lagrange. Ils représentent la force avec laquelle la solution appuie sur la contraintei . Ainsi un
hyperplan qui violerait la contrainte pour ix (il classe cet exemple du mauvais côté) rendrait
iα très grand ce qui ferait fortement augmenter la fonction objectiveL . Cette solution ne
pourrait donc pas être retenue comme solution optimale. Notons que L doit être minimisé par
rapport aux variables primales et maximisé par rapport aux variables duales.
En introduisant les conditions Karush Kuhn et Tucker (KKT), nous trouvons :
ili
ii xyw ∑=
=..1
α (1)
01
=∑ = i
l
i i yα (2)
Remarquons qu’avec cette formulation, on peut calculer w en fixant seulement n paramètres.
L’idée va donc être de formuler un problème dual dans lequel w est remplacé par sa nouvelle
formulation. De cette façon, le nombre de paramètres à fixer est relatif au nombre d’exemples
du training set et non plus à la dimension de l’espace d’entrée. Pour se faire, nous substituons
(1) et (2) dans le Lagrangien L, nous trouvons :
∑∑=
−= jijiji
n
ii xxyybwL ,
2
1),,(
0
αααα
A partir de quoi nous pouvons formuler le problème dual :
59
Maximiser jijiji ji
l
i i xxyyW ,2
1)(
,1 ∑∑ −==
αααα (3)
tq 01
=∑ = i
l
i i yα
0≥iα ni ..1=∀
La résolution du dual permet donc de calculer le vecteur w à moindre coût, cependant cette
formulation ne fait à aucun moment apparaître le terme b. Pour calculer ce dernier nous
devons utiliser les variables primales :
( ) ( )
2
,max,max 11 iyiiyi xwxwb +=−= +
−=
Nous avons à présent tous les éléments nécessaires pour exprimer la fonction de décision de
notre classificateur linéaire :
bxxyxh ii
l
i i +=∑ =,)(
1α (4)
Notons qu’un grand nombre de termes de cette somme est nul. En effet, seuls lesiα
correspondant aux exemples se trouvant sur les hyperplans canoniques (sur la contrainte) sont
non nuls. Ces exemples sont appelés Support Vectors (SV). On peut les voir comme les
représentants de leurs catégories car si le training set n’était constitué que des SV, l’hyperplan
optimal que l’on trouverait serait identique.
Le paragraphe précédent décrit le principe des SVM dans le cas ou les données sont
linéairement séparables. Cependant, dans la plupart des problèmes réels, ce n’est pas toujours
le cas et il est donc nécessaire de contourner ce problème. Dans ce but, l’idée est de projeter
les points d’apprentissage dans un espace H donné grâce à une fonction )(xΦ qu’on appelle
fonction noyau et d’appliquer la même méthode d’optimisation de la marge dans l’espace H.
Ce dernier problème s’écrit simplement puisque d’après les équations (3) et (4) les points ix
n’interviennent dans la solution qu’à travers leurs produits scalaires. Ainsi le cas non linéaire
s’obtient aisément en remplaçant ji xx , par )(),( ji xx φφ . Dans ce cas, la frontière de
décision devient :
60
∑ +=l
iii bxxkyxh ),()( α
Une famille de ces fonctions noyaux qui sont très appropriées aux besoins des SVM peut être
définie, en voici les plus utilisés :
• Noyau gaussien de largeur de bande σ
)2
exp();(2
2
σyx
yxk−
−=
La fonction )(xΦ induite par ce type de noyau est un peu spéciale. En fait, un exemple va être
mappé sur une fonction gaussienne représentant la similarité de l’exemple avec tous les
autres. La figure ci-dessous représente l’application du noyau RBF à deux exemples x et 'x .
Figure 26 Deux exemples mappés dans un espace de dimension infinie. Le paramètre σ permet de régler la largeur de la gaussienne. En prenant un σ grand, la
similarité d’un exemple par rapport à ceux qui l’entourent sera assez élevée, alors qu’on
prenant un σ tendant vers 0, l’exemple ne sera similaire à aucun autre. En resserrant
fortement la gaussienne, un classificateur (faisant usage de ce kernel) peut arriver à apprendre
n’importe quel training set sans commettre d’erreur. On sent tout de suite que le danger de
l’apprentissage par cœur n’est pas loin. En fait, σ est un autre paramètre permettant de
contrôler la capacité d’un classificateur.
• Noyau polynomial d’ordre p :
( )pyxyxk 1,),( +=
• Noyau linéaire :
yxyxk .),( =
x X’
Φ
)(xΦ )'(xΦ
61
b. Cas des données non linéairement séparables
Dans ce cas, les données sont non linéairement séparables. Le domaine du problème
d’optimisation est vide et il n’admet donc pas de solution.
Ainsi, pour traiter ce cas, il est nécessaire d’introduire des variables de relâchement au niveau
des contraintes ; l’hyperplan optimal est celui qui satisfait les conditions suivantes :
• La distance entre les vecteurs bien classés et l’hyperplan optimal doit être maximale.
• La distance entre les vecteurs mal classés et l’hyperplan optimal doit être minimale.
Pour formaliser tout cela, on introduit des variables de pénalité non négatives iξ pour i = 1,
…, n appelées variables d’écart. Ces variables transforment l’inégalité comme suit :
L’objectif est de minimiser la fonction suivante :
tq iii xhy ξ−≥ 1)( i=1…l
Où iξ est la variable de relâchement d’une contrainte et C est un paramètre de pénalisation du
relâchement. Il permet de concéder moins d’importance aux erreurs.
3.3.4 SVM pour le cas multiclasses
Nous utilisons dans notre étude l’implantation des SVM, appelé LibSVM. La plupart des
problèmes ne se contentent pas de deux classes de données. Nous avons choisi de considérer
les problèmes multiclasses comme une cumulation de problèmes à deux classes.
Il existe plusieurs méthodes pour faire la classification multiclasses. Citons les plus utilisées :
• L’approche la plus naturelle est d’utiliser cette méthode de discrimination binaire et
d’apprendre N fonctions de décision { }Nmm
h...1=
permettant de faire la discrimination
entre chaque classe de toutes les autres. Cette méthode est simple d’usage et donne des
iii bxwy ξ−≥+ 1).( Pour i = 1, …, n
∑=
+=m
iiCwww
1
.2
1),( ξξψ
62
résultats raisonnables. L’affectation d’un nouveau point x à une classe Ci se fait par la
relation suivante [[65] :
Nm
i...1
maxarg=
= ( )xhm
• la deuxième méthode, celle que nous utilisons dans notre application, est une méthode
dite de Un-contre-Un. Au lieu d’apprendre N fonctions de décisions, ici chaque classe
est discriminée d’une autre. Ainsi, 2
)1( −NN fonctions de décisions sont apprises et
chacune d’entre elles effectue un vote pour l’affectation d’un nouveau point x. La
classe de ce point x devient ensuite la classe majoritaire après le vote [66].
• La dernière méthode qui est simple d’usage et qui donne des résultats raisonnables. On
l’appelle Un-Contre-Tous. C’est une approche étendant la notion de marge aux cas
multiclasses [67, 68]. Cette formulation intéressante permet de poser un problème
d’optimisation unique justifié par des considérations théoriques. Le problème fait
intervenir N fonctions de décision et il s’écrit dans le cas où les données sont non
séparables :
mibw ξ,,
min ∑ ∑< ≠=+−
N
m
l
ymi
mim
i
Cww0 ,1
20 ξ
tq miimiy xhxh
iξ−+≥ 2)()(
01
=∑ =
N
m mw
0≥miξ Nmli ...1,...1 ==
3.4 Conclusion
Dans ce chapitre nous avons présenté les concepts de la méthode SVM, dont nous avons
expliqué la démarche de construction de l’hyperplan optimal dans les cas des données
linéairement séparables et non linéairement séparables ; en se basant sur les fondements
mathématiques pour le cas binaire (à deux classes). Aussi nous avons défini quelques
fonctions de noyaux utilisés par les SVM non linéaires pour la transformation et présentation
des vecteurs d’entrée dans l’espace des caractéristiques.
63
Nous avons ensuite décrit la démarche suivie pour généraliser cette technique pour le cas de
multiclasses à partir du cas binaire en utilisant les trois approches : la discrimination binaire,
Un-contre-Un ou Un-contre-Tous.
L’intérêt principal de la méthode SVM est sa facilité d’emploi, la mise en œuvre des
algorithmes des SVM est peu coûteuse, mais le point noir est la durée des phases de tests qui
sont assez longues lorsqu’il s’agit de régler les paramètres de la fonction noyau. Parmi
d’autres avantages des SVM on cite : qu’ils possèdent des fondements théoriques solides, une
optimisation très simple, et un temps de calcul court [69]
Les SVM peuvent également s’utiliser pour des tâches de prédiction des variables continues
en fonction d’autres variables (température, évolution des marchés, etc.). Le champ
d’application des SVM est donc large.
Dans le chapitre suivant, une série d’expérimentations évaluée au moyen d’une procédure de
classification par SVM sera présentée.
Nous discuterons aussi les différents résultats obtenus, en fonction des noyaux SVM utilisés.
64
IV. Chapitre 4 : Validation et analyse des résultats
4.1 Introduction
Dans le chapitre 2, nous avons présenté la notion d’extremum de gris. Plusieurs filtres sont
basés sur la recherche de ces extrema pour ensuite calculer la moyenne, la médiane, etc. De
plus, tous les opérateurs de la morphologie mathématique (dilatation, érosion, …) recherchent
la valeur extrême de gris présente dans un voisinage (élément structurant) afin de l’affecter au
pixel considéré. Certains auteurs, comme Mitchell [70] ou Dyer [71], ont travaillé sur
l’extraction de ces extremums pour traiter la texture.
Puis, nous avons présenté les inconvénients de cette méthode, que nous avons amélioré en
appliquant la méthode développée de codage.
Nous allons donc, dans ce chapitre, tester cet algorithme de codage sur les images satellitaires
afin de mettre en évidence sa pertinence et son efficacité.
Nous l’avons comparé avec une des méthodes les plus utilisées et les plus efficaces en
compression d’images : la DCT.
Nous avons utilisé deux méthodes d’extraction de texture en l’occurrence la matrice de
cooccurrence et la matrice de corrélogramme.
Pour tester l’algorithme, nous utiliserons une méthode de classement (ou de classification
supervisée), les séparateurs à vastes marges (SVM), dont le principe est le suivant :
Les SVM sont des classifieurs qui reposent sur deux idées clés, qui permettent de traiter des
problèmes de discrimination non-linéaire, et de reformuler le problème de classement comme
un problème d’optimisation quadratique.
La première idée clé est la notion de marge maximale. La marge est la distance entre la
frontière de séparation et les échantillons les plus proches. Ces derniers sont appelés vecteurs
supports. Dans les SVM, la frontière de séparation est choisie comme celle qui maximise la
marge. Ce choix est justifié par la théorie de Vapnik-Chervonenkis (ou théorie statistique de
l’apprentissage), qui montre que la frontière de séparation de marge maximale possède la plus
petite capacité. Le problème est de trouver cette frontière séparatrice optimale, à partir d’un
65
ensemble d’apprentissage. Ceci est fait en formulant le problème comme un problème
d’optimisation quadratique, pour lequel il existe des algorithmes connus.
Afin de pouvoir traiter des cas où les données ne sont pas linéairement séparables, la
deuxième idée clé des SVM est de transformer l'espace de représentation des données
d'entrées en un espace de plus grande dimension (possiblement de dimension infinie), dans
lequel il est possible qu'il existe une séparatrice linéaire. Ceci est réalisé grâce à une fonction
noyau, qui doit respecter certaines conditions, et qui a l'avantage de ne pas nécessiter la
connaissance explicite de la transformation à appliquer pour le changement d'espace. Les
fonctions noyaux permettent de transformer un produit scalaire dans un espace de grande
dimension, ce qui est coûteux, en une simple évaluation ponctuelle d’une fonction.
On montrera au cours de ce chapitre, et à travers plusieurs expérimentations, que les résultats
de classification obtenus par la méthode de codage sont meilleurs que ceux donnés par les
paramètres de cooccurrence et de corrélogramme sur les images originelles.
4.2 Expérimentations
4.2.1 Base de texture
Au vu des images sur lesquelles nous souhaitons travailler, nous nous sommes intéressés à
l’analyse d’images satellitaires supervisée. Un échantillon de ces images est représenté sur la
figure 2.
Nous avons utilisé 120 textures. Elles sont issues d’une vingtaine d’images satellites et
représentent des zones urbaines, des sols, des forêts, des mers ou des routes. Elles sont toutes
composées de 256 niveaux de gris et sont de taille 32*32.
66
Figure 27 : Echantillons de la base de texture Nous disposons donc ici de 5 classes différentes. Pour réaliser un classement il faut construire
l'ensemble des textures représentatives de chacune des 5 classes ainsi qu'un ensemble de
textures tests à classer. Pour ce faire, on découpe tout d'abord plusieurs représentatives de
chacune des textures de la base d’images. Chaque classe est ainsi représentée par 24 textures
de taille 32*32. On dispose ainsi de 120 imagettes à classer.
4.2.2 Les attributs utilisés
Après avoir codé les textures et avant de réaliser les classements, il faut extraire des attributs
caractéristiques de chacune des imagettes. Pour cela, nous avons utilisé de très bons attributs
caractéristiques de texture, classiquement utilisés : les attributs de cooccurrence [72] et de
corrélogramme.
Nous allons rappeler les attributs, considérés les plus utilisés, et qui ont donné les meilleurs
résultats :
• L’énergie : qui mesure l’uniformité de la texture.
• Le contraste : qui est d’autant plus élevé que la texture est plus contrastée.
• L’entropie : qui est un indicateur de désordre dans l’image.
• La corrélation : qui décrit les corrélations entre les lignes et les colonnes de la
matrice de cooccurrence ou de corrélogramme.
• La variance : qui mesure l’hétérogénéité de la texture.
67
• Le moment inverse : qui mesure l’homogénéité de l’image.
Dans un premier temps, nous allons montrer que l'information texturelle est plus présente
dans les codages de niveaux de gris que dans les images originelles. Grâce aux attributs de
cooccurrence et de corrélogramme cités ci-dessus, nous avons pu comparer les résultats entre
les classements effectués à partir des images originelles et ceux réalisés à partir des codages
de niveaux de gris.
Nous avons construit les deux codages de niveaux de gris sur chacune des 120 textures de la
base. Comme beaucoup d’auteurs, nous avons également diminué arbitrairement les niveaux
de gris des textures originelles en 9 puis en 16 niveaux, de façon à rendre les résultats plus
significatifs.
4.3 Résultats
4.3.1 Conditions expérimentales
Dans cette application, on va classifier cinq classes dans les images à étudier.
Les résultats sont fournis pour un seul canal et pour une image en niveaux de gris. La phase
d’apprentissage se déroule de la manière suivante : nous extrayons d’abord, des images à
étudier, cinq zones définissant les différentes textures. Puis nous calculons, sur chaque zone
ou imagette, les paramètres de texture selon la méthode des matrices de cooccurrence et de
corrélogramme. La base d’apprentissage est composée de 144 vecteurs par classe, soit 720
vecteurs au total.
Le processus de classification se déroule de la façon suivante : pour classifier une imagette,
on calcule sur cette dernière les différents paramètres de texture sous forme d’un vecteur. Ces
paramètres sont soumis au classifieur SVM pour décider à quelle classe appartient cette
imagette, utilisant l’approche multiclasse Un-contre-Un. La base de test quant à elle est
composée du même nombre que la base d’apprentissage, soit 144 vecteurs par classe.
L’analyse de l’image se fait avec une fenêtre glissante de taille fixe, on suppose alors que tous
les pixels contenus dans cette fenêtre appartiennent à la même classe. La taille de la fenêtre a
un rôle très important. Une fenêtre large améliore la classification car un nombre important de
pixels permet de calculer des statistiques robustes, mais au même temps, il y a un risque
d’avoir des pixels de classes différentes contenus dans la même fenêtre. Ainsi, on dira qu’une
fenêtre de taille large produira une classification précise dans les régions larges et homogènes,
mais une mauvaise classification le long des frontières entre régions. Tandis qu’une fenêtre de
68
petite taille réduit le risque d’avoir plusieurs classes dans la même fenêtre mais ceci au
détriment de la rentabilité de la classification.
La taille de la fenêtre est choisie égale à 32*32.
4.3.2 Premier codage
La première expérimentation consiste à appliquer le premier codage aux imagettes, nous
avons choisi dans un premier temps un nombre d’imagettes égale à 90, soit 18 par classe.
On va comparer les résultats de classification des imagettes codées avec les imagettes
originelles non codées [73].
Les résultats sont présentés dans le tableau ci-dessous sous forme de précision globale de
classification.
Nombre d’exemples par classe
Précision globale de classification (%)
Avec codage 18 66.20
Sans codage 18 55.46
Tableau 1 : Précision globale de la classification par SVM.
On aperçoit clairement sur le tableau ci-dessus que la méthode du premier codage nous a
permis d’obtenir de bons résultats par rapport aux résultats obtenus sans codage et ce en
utilisant le classifieur SVM. Nous avons obtenu ces résultats en utilisant le noyau, par défaut,
gaussien. Nous aurions pu avoir un taux de classification meilleur que celui obtenu, et ce en
testant plusieurs noyaux existants (linéaire, polynomial et sigmoïde).
Même si les résultats du premier codage sont bons, on pourra constater, néanmoins, que la
qualité de l’image a été réduite. Par conséquent, nous avons opté pour une deuxième méthode
(un deuxième codage) qui nous a permis d’améliorer la qualité de l’image dégradée au
premier codage.
4.3.3 Deuxième codage
Cette partie étudie les performances du deuxième codage (codage de rang) par rapport au
premier codage qui réduira le nombre de niveaux de gris de 256 à 9 niveaux de gris. Nous
remarquons qu’il dégrade la qualité de l’image. D’où la nécessité du deuxième codage. Ce
69
dernier qui fait augmenter les niveaux de gris à 16 et, en parallèle, fait améliorer la qualité de
l’image perdue au premier codage [74].
Les résultats de classification que nous avons mené sont présentés dans le tableau ci-dessous
Tableau 2 : Précision globale de la classification par SVM
Nombre d’exemple par classe
Précision globale de classification (%)
Avec Premier codage 24 66.20
Avec double codage 24 72.5
Figure 28 : Image initiale I
Figure 29 : Image I après deuxième codage Figure 30 : Image I après premier codage
Deuxième codage Premier codage
70
Comme le montre les trois figures représentant l’image initiale, l’image résultante du premier
codage et celle provenant du deuxième codage ; les pourcentages de la précision globale de
classification résumés dans le tableau ci-dessus sont bien conformes à la réalité que le
deuxième codage est bien meilleur. En effet, nous pouvons distinguer clairement l’apparition
de plus d’information sur la figure 29 comparée à la figure 30. En l’occurrence, la petite forêt
en bas à droite et les différentes routes couvrant l’image initiale ont réapparu dans l’image
codée par le deuxième codage grâce à cette nouvelle méthode de codage.
Nous avons présenté dans cette partie les résultats du deuxième codage qui a démontré son
efficacité.
Son but est double : Il met en évidence l’information texturelle recherchée et supprime
l’information superflue de façon à diminuer la quantité de données à analyser et donc
diminuer les temps de calcul. Il est important de s’apercevoir que quel que soit le nombre de
niveaux de gris dans l’image initiale, son codage ne comporte que 16 valeurs entières
comprises entre 1 et 16 inclus. Cette réduction est intéressante vis-à-vis du stockage de
l’image codée et de son analyse.
4.3.4 Deuxième codage avec différents noyaux SVM
Cette expérience est testée en faisant varier la constante C du classifieur SVM, pour comparer
les résultats obtenus de chaque noyau (linéaire, polynomial, gaussien et sigmoïde) [75].
Le but de cette expérience est de comparer les noyaux pour avoir celui qui donne un meilleur
taux de classification.
Noyau C=10 C=100 C=1000 C=10000
Linéaire 74.4 80 86.4 83.2
Polynomial 68 70.4 75.2 80.8
Gaussien 77.6 80 84.8 80.8
Sigmoïde 72.8 76 80 79
Tableau 3 : La précision globale pour chaque noyau
71
Tableau 4 : Le nombre de Support Vector pour chaque noyau
Pré
cisi
on
glo
bal
e (%
)
Constante C
Figure 31 : Représentation des résultats du tableau 4.3
Noyau C=10 C=100 C=1000 C=10000
Linéaire 102 99 77 59
Polynomial 125 120 104 94
Gaussien 99 86 84 79
Sigmoïde 119 102 94 67
Figure 32 : Représentation des résultats du tableau 4.4
Constante C
72
Tableau 5 : Le taux de classification du noyau gaussien avec différentes valeurs de G Les résultats de classification des différents types de classifieurs construits par l’algorithme
SVM, en choisissant quatre types de noyaux en l’occurrence le noyau linéaire, polynomial,
gaussien et sigmoïde [12], sont présentés dans les tableaux 3 et 4. Pour chaque tableau et pour
chaque ligne, seule la constante C change. Il est bien clair que pour les grandes valeurs de C,
on obtient des taux de classification élevés et un nombre de support vector réduit, ce qui
réduit le temps de calcul.
En se basant sur les deux premiers tableaux, nous observons que les noyaux linéaires et
gaussiens donnent les meilleurs résultats.
Le tableau 5 donne le taux de classification du noyau gaussien, en faisant varier le paramètre
Gamma de la valeur 0.2 jusqu’au 5. Les résultats augmentent au fur et à mesure que la valeur
de Gamma augmente, ils sont meilleurs pour les deux valeurs 2 et 5.
G C=10 C=100 C=1000 C=10000
0.5 74.4 80 78.4 79.2
1 74.4 80 80.8 80
2 77.6 78.4 81.6 80.8
5 76 80 84.8 79.2
Constante C
Figure 33 : Représentation des résultats du tableau 4.5
Pré
cisi
on
glo
bal
e (%
)
73
4.3.5 Application du corrélogramme codé
Dans cette partie, nous présentons le corrélogramme qui représente un outil de caractérisation
de texture et qui prend en compte les propriétés spatiales des niveaux de gris. Dans sa
définition, et pour une image A de N pixels, on fait quantifier cette dernière sur n couleurs
{ nccc ,...,, 21 }. Notre investigation se situe à ce niveau, au lieu d’appliquer la quantification,
on utilise la méthode du codage. On applique le premier codage puis le codage de rang, qui
sont détaillés dans les paragraphes précédents [76].
Ensuite, on extrait des images les paramètres caractérisant la texture en utilisant les matrices
du corrélogramme du fait de leur richesse en information de texture.
Pour comparer les résultats, la classification par SVM sera réalisée à la fois sur les
caractéristiques extraites du corrélogramme avec quantification et sur celles extraites du
corrélogramme avec codage. Cette dernière montre son efficacité par rapport à la méthode
universelle de la quantification.
La courbe représentée par la couleur verte décrit le résultat de classification, en appliquant le
codage de rang sur le corrélogramme, tandis que la courbe en bleu représente le pourcentage
de classification résultant de l’utilisation de la quantification.
Figure 34 : Courbe représentant le taux de classification du noyau linéaire du classifieur en fonction du paramètre C
74
Figure 35 : Courbe représentant le taux de classification du noyau polynomial du classifieur en fonction du
paramètre C
Figure 36 : Courbe représentant le taux de classification du noyau gaussien du classifieur en fonction du paramètre C
Les graphes ci-dessus sont beaucoup plus révélateurs de l’efficacité et de la pertinence du
codage appliqué sur le corrélogramme comparé à la méthode universelle de la quantification.
Pour différents noyaux (kernels) du classifieur SVM et pour différentes valeurs de C, les
résultats obtenus dénotent que le noyau gaussien est le meilleur ; il permet d’obtenir des taux
de classification très importants.
75
Nous avons testé notre approche de codage sur les caractéristiques de texture du
corrélogramme. Nous avons montré sa pertinence, qui a été évaluée au moyen d’une
procédure de classification appliquée à 120 imagettes. Sur cette base, les résultats de
classification sont nettement supérieurs à ceux obtenus à partir du corrélogramme avec
quantification. En l’occurrence, avec notre méthode, nous montrons que, pour un paramètre C
égal à 1000 et un noyau polynomial, le pourcentage de classification atteint 80% alors qu’il
n’atteint que 53.3% avec la quantification. L’objectif de cette partie est de mettre en valeur
l’efficacité du corrélogramme avec la nouvelle approche du codage. Ce dernier met en
évidence l’information texturelle recherchée et donne des résultats satisfaisants de la
classification, chose que la quantification ne permet pas, et supprime l’information superflue
de façon à diminuer la quantité de données à analyser et donc diminuer les temps de calcul.
4.3.6 Comparaison des deux matrices : cooccurrence et corrélogramme
Dans ce paragraphe, nous présentons une comparaison entre le corrélogramme et la matrice
de cooccurrence qui présente chacun un outil de caractérisation de texture et qui prend en
compte les propriétés spatiales des niveaux de gris [77]. Ces caractéristiques de texture sont
extraites en utilisant les matrices du corrélogramme et de cooccurrence du fait de leur richesse
en information de texture. Avant d’utiliser la matrice de cooccurrence, on applique, comme
pour les expériences précédentes, l’approche de codage à notre base d’images. On commence,
tout d’abord, par le premier codage qui réduira le nombre de niveaux de gris en passant de
256 niveaux à 9 niveaux de gris ; Il est utilisé pour coder les textures originelles. Puis ensuite,
on effectuera le deuxième codage, en se basant sur le premier, qui fait augmenter les niveaux
de gris à 16, mais en parallèle, fais améliorer la qualité de l’image et c’est à ce niveau que l’on
va extraire les attributs de texture. Enfin, la classification par SVM sera réalisée à la fois sur le
corrélogramme avec quantification et la matrice de cooccurrence avec codage, afin de montrer
l’efficacité de ce dernier par rapport à l’autre.
La courbe représentée par la couleur bleue décrit le résultat du codage du rang appliqué sur la
matrice de cooccurrence, tandis que la courbe en vert représente le pourcentage de la
classification résultant de l’utilisation du corrélogramme avec quantification.
76
Figure 37 : Pourcentage de la classification en fonction du paramètre C pour le noyau linéaire.
Figure 38 : Pourcentage de la classification en fonction du paramètre C pour le noyau polynomial.
77
Figure 39 : Pourcentage de la classification en fonction du paramètre C pour le noyau sigmoïde. Les graphes ci-dessus sont beaucoup plus révélateurs de l’efficacité et de la pertinence du
codage appliqué à la matrice de cooccurrence.
Nous avons testé notre approche de codage sur les caractéristiques de texture. Nous avons
montré sa pertinence, qui a été évaluée au moyen d’une procédure de classification appliquée
à 120 imagettes. Sur cette base, les résultats de classification obtenus avec la matrice de
cooccurrence sont nettement supérieurs à ceux du corrélogramme avec quantification. Avec
notre méthode, nous montrons que, pour un paramètre C égal à 10000 et pour un noyau
polynomial, le pourcentage de classification atteint 82% alors qu’il n’atteint que 50% pour le
corrélogramme avec quantification.
L’objectif est de mettre en valeur l’efficacité de la matrice de cooccurrence avec la nouvelle
approche du codage comparée avec le corrélogramme.
Le codage met en évidence l’information texturelle recherchée et donne des résultats
satisfaisants de la classification.
4.3.7 Comparaison de la DCT avec la méthode de codage
Le domaine de l’imagerie satellitaire devient de plus en plus important ; il est utilisé dans
plusieurs thèmes de recherche. Par conséquent, le développement d’algorithmes de codage et
de compression est d’un grand intérêt. Dans ce paragraphe, nous allons comparer notre
méthode de codage appelée codage de rang avec la méthode DCT (transformation en cosinus
discrète) que nous allons détailler dans le paragraphe suivant [78].
78
d. Définition de la DCT
La DCT est une fonction mathématique qui permet de changer le domaine de représentation
d'un signal. Ainsi un signal temporel ou spatial peut être défini dans un espace fréquentiel,
rendant exploitables certaines de ces propriétés.
Dans une image la majorité des informations sont concentrées dans les basses fréquences. La
transformation de l'image par la DCT va donc faire apparaître une occupation spectrale
réduite, ou une zone de taille relativement petite code une grande partie de l'information.
Figure 40 : le passage du domaine spatial au domaine fréquentiel.
L'application de la DCT fait passer l'information de l'image du domaine spatial en une
représentation identique dans le domaine fréquentiel. Pourquoi ce changement de domaine
est-il si intéressant? Justement parce qu'une image classique admet une grande continuité
entre les valeurs des pixels. Les hautes fréquences étant réservées à des changements rapides
d'intensité du pixel, ceux-ci sont en général minimes dans une image. Ainsi on parvient à
représenter l'intégralité de l'information de l'image sur très peu de coefficients, correspondant
à des fréquences plutôt basses, la composante continue (valeur moyenne de l'image traitée)
ayant une grande importance pour l'oeil.
La DCT s'applique à une matrice carrée. Le résultat fourni est représenté dans une matrice de
même dimension. Les basses fréquences se trouvant en haut à gauche de la matrice, et les
hautes fréquences en bas à droite.
79
La transformation matricielle DCT étant orthogonale, elle s'accompagne d'une méthode
d'inversion pour pouvoir revenir dans le domaine spatial. Ainsi après avoir fait des
modifications dans le domaine fréquentiel, éliminer des variations de l'image quasiment
invisibles par l'oeil humain, on retourne à une représentation sous forme de pixels.
La formule ci-dessous montre comment calculer la DCT sur une matrice NxN :
)2
)12(cos()
2
)12(cos(),()()(
2
1),(
1
0
1
0 N
jy
N
ixyxpixeljCiCjiDCT
N
x
N
y
ππ ++= ∑∑−
=
−
=
2
1)( =xC si x vaut 0, et 1 si x >0.
L'information locale de l’image peut être obtenue à l'aide des blocs de la DCT. Le principe est
le suivant: l’image est divisée en blocs de taille 32*32 pixels. Chaque bloc est représenté par
les coefficients de la DCT. A partir de ces derniers, seuls ceux se trouvant en haut à gauche du
bloc sont les plus pertinents et les plus utiles. Kenel et al. [79] ont montré que l’information
nécessaire à la réalisation d’une haute précision de la classification est contenue dans les
premiers coefficients de la DCT (les basses fréquences) par balayage en zigzag (voir figure
40).
b. Comparaison de la DCT et du codage de rang
Les expériences de ce paragraphe ont été testées en variant la constante C, afin de comparer
les résultats des deux méthodes pour chaque noyau et constater le paramètre qui donne la
meilleure précision globale de classification.
Figure 41 : Le taux de classification de la DCT et le codage de rang pour le noyau linéaire.
80
Figure 42 : Le taux de classification de la DCT et le codage de rang pour le noyau sigmoïde.
Figure 43 : Le taux de classification de la DCT et le codage de rang pour le noyau gaussien. Les figures 41, 42 et 43 illustrent les résultats de classification de la DCT et du codage du
rang, en utilisant les noyaux linéaire, sigmoïde et gaussien. Seul la constante C change de la
valeur 10 à 1010 .
On s’aperçoit clairement que plus la valeur de C est grande meilleur est le taux de
classification.
Le codage de rang est meilleur pour toute valeur de C, alors que la DCT donne de bons
résultats seulement pour les grandes valeurs de C.
81
On remarque aussi que le noyau gaussien est le meilleur des trois. On obtient des taux de
classification élevés pour le codage de rang (la plus petite valeur de la classification obtenue
est 92%).
d. Comparaison du codage de rang (second coding) et du premier codage
Figure 44 : Le taux de classification du premier codage et du codage de rang pour le noyau linéaire.
Figure 45 : Le taux de classification du premier codage et du codage de rang pour le noyau sigmoïde.
82
Figure 46 : Le taux de classification du premier codage et du codage de rang pour le noyau gaussien.
En prenant en considération les trois figures ci-dessus, on observe que le codage de rang est
meilleur pour les grandes valeurs de la constante C.
Même remarque que les premières figures, le noyau gaussien donne de meilleurs résultats que
les deux autres, quelque soit la valeur de la constante C, le taux de classification du codage de
rang est toujours plus grand que celui du premier codage.
d. Comparaison de la DCT et du premier codage
Figure 47 : Le taux de classification de la DCT et du premier codage pour le noyau linéaire.
83
Figure 48 : Le taux de classification de la DCT et du premier codage pour le noyau sigmoïde.
Figure 49 : Le taux de classification de la DCT et du premier codage pour le noyau gaussien.
Les résultats de classification de la DCT et du premier codage pour les trois noyaux du
classifieur sont affichés sur les figures 47, 48 et 49. On constate que le taux de classification
atteint de grandes valeurs lorsque la valeur de C est grande.
Pour le noyau linéaire et gaussien, et pour les grandes valeurs de C, la DCT donne un bon
résultat comparé au premier codage. Quant au noyau sigmoïde, le premier codage est toujours
meilleur pour toute valeur de C.
Nous avons présenté une comparaison sur la performance des trois méthodes : la DCT, le
premier codage et le codage de rang. Les résultats de classification testés par le SVM pour
trois types de noyaux (linéaire, sigmoïde et gaussien) sont donnés dans les figures 41 à 49.
84
Seul la constante C change pour toutes les figures. Nous avons remarqué que pour les trois
méthodes de compression, on obtient des résultats meilleurs pour les grandes valeurs de C.
En tenant compte de chaque figure, nous constatons clairement que le codage de rang donne
de bons résultats pour les petites et les grandes valeurs de C, alors que pour la DCT, le taux de
classification est élevé seulement pour les grandes valeurs du paramètre C.
Il y a trois avantages significatifs du codage de rang : premièrement, il garde l’information
texturelle, deuxièmement, il réduit la taille des données, ce qui réduira le temps de calcul des
caractéristiques et finalement, il utilise seulement six caractéristiques alors que la DCT en
utilise 169.
4.4 Conclusion
Plusieurs méthodes existantes dans le traitement de l'information texturelle agissent
directement sur l'image originelle ou sur des images filtrées. La méthode d'investigation
développée ici est le codage de textures à niveaux de gris.
Dans ce chapitre, nous avons présenté une série d’expérimentations en utilisant deux
méthodes d’extraction de texture à savoir les matrices de cooccurrence et de corrélogramme.
Nous avons appliqué la méthode de codage au niveau du calcul du corrélogramme. Nous
avons montré sa pertinence, qui a été évaluée au moyen d’une procédure de classification
appliquée à des imagettes. Les résultats de classification sont nettement supérieurs à ceux
obtenus à partir du corrélogramme sans codage. Le but était de montrer l’efficacité du
corrélogramme avec la nouvelle approche du codage. Ce dernier met en évidence
l’information texturelle recherchée et donne des résultats satisfaisants de la classification , la
chose que la quantification ne permet pas, et supprime l’information superflue de façon à
diminuer la quantité de données à analyser et donc diminuer les temps de calcul.
Nous avons présenté ensuite, une comparaison entre le corrélogramme et la matrice de
cooccurrence qui représentent des outils de caractérisation de texture
Avant d’utiliser la matrice de cooccurrence, on lui a appliqué l’approche de codage. On a
commencé, tout d’abord, par le premier codage, puis ensuite, on a effectué le codage de rang.
La classification par SVM sera réalisée à la fois sur le corrélogramme avec quantification et la
matrice de cooccurrence avec codage, pour prouver l’efficacité de ce dernier par rapport à
l’autre.
L’objectif était donc de mettre en valeur l’efficacité de la matrice de cooccurrence avec la
nouvelle approche du codage comparée avec le corrélogramme.
85
Finalement, une comparaison avec la DCT a été effectuée, grâce au classifieur SVM. La
qualité et la performance des deux méthodes ont été montrées à travers les graphes présentés
dans le dernier paragraphe.
86
V. Conclusion L’analyse d’images englobe une multitude de domaines; ici nous en avons abordé un qui est
l’analyse de textures. C’est un problème difficile, dû essentiellement au fait qu’il n’existe pas
de définition précise et rigoureuse permettant de caractériser complètement la notion de
texture.
Le but de ce travail n’a pas été de proposer une nouvelle définition, néanmoins l’idée a été
d’extraire, dans les images satellitaires à niveaux de gris, une certaine information
caractéristique de la texture. La contribution principale de cette thèse a été de développer des
méthodes de codages d’images dont le but est de faire ressortir l’information texturelle.
Des premiers travaux ont été menés dans le but d’utiliser les extremums de gris pour
caractériser cette notion de texture. Pour ce faire nous avons introduit la notion d’extremum
pour montrer qu’elle constitue une bonne caractérisation de la texture.
Les résultats ont montré clairement que cette simple information permet de mettre en
évidence certaines caractéristiques des textures originelles.
Néanmoins, on s’est aperçue des limites de cette méthode car la structure de la texture
originelle n’est pas toujours bien conservée. Il existe trop de pixels non extremum qui
n’apportent pas d’information, et des pixels presque maximum ou minimum qui ne sont pas
considérés et qui apporteraient certainement une information intéressante.
Dans le but de mieux faire ressortir la structure des textures, il nous a semblé intéressant
d’étendre la notion d’extrémalité à tous les pixels de l’image (pas seulement aux extremums)
afin de leur affecter une valeur d’extrémalité pour qu’ils nous apportent tous une information.
Autrement dit, si un pixel a la plus grande valeur, on lui affecte une très forte valeur
d’extrémalité, s’il a la plus faible valeur, on lui attribue une faible valeur, et dans les autres
cas, on lui donne une valeur fonction du nombre de niveaux de gris voisin.
Nous avons donc présenté un premier codage basé sur ce principe ; Il affecte à chaque pixel
de l’image une valeur de code résumant une certaine information locale autour de ce dernier.
C’est ensuite à partir de codage que l’extraction de texture est réalisée.
Nous avons montré que ce codage est un bon résumé de l’information texturelle, les résultats
de classification obtenus à l’aide de ce dernier sont meilleurs que ceux obtenus directement à
partir des textures non codées.
87
Il est important de s’apercevoir que quel que soit le nombre de niveaux de gris dans l’image
initiale, son codage ne comporte que 9 valeurs entières comprises entre 0 et 8. Cette réduction
est intéressante vis-à-vis du stockage de l’image codée et de son analyse.
Néanmoins, ce codage dégrade la qualité de l’image en perdant l’information d’amplitude ;
d’où l’appel au deuxième codage qui permet d’augmenter le nombre de niveau de gris de 9 à
16. Il permet d’améliorer la qualité d’image, en rajoutant l’information d’amplitude perdue au
premier codage.
Les résultats de classification obtenus sont beaucoup plus révélateurs de l’efficacité et de la
pertinence de ce deuxième codage.
Mis à part ces très bons résultats, la création de ces codages permet de diminuer de façon non
arbitraire le nombre des valeurs associées à chaque pixel d’une image (9 pour le premier
codage, et 16 pour le deuxième codage). Ceci est un atout algorithmique et un gain de place
mémoire très intéressant lors des analyses d’images, en particulier, lors des calculs des
matrices de cooccurrence et de corrélogramme.
Il existe plusieurs méthodes permettant de coder ou de compresser les images, nous en avons
choisi celle la plus utilisée et la plus classique, DCT, pour la comparer avec nos deux
méthodes de codage.
Nous avons remarqué que pour les trois méthodes de compression, on obtient des résultats
meilleurs pour les grandes valeurs de C.
En tenant compte des résultats de classification obtenus, nous avons constaté clairement que
le codage de rang donne de bons résultats pour les petites et les grandes valeurs de C, alors
que pour la DCT, le taux de la classification est élevé seulement pour les grandes valeurs du
paramètre C.
L’ensemble de cette thèse a donc permis de montrer que la méthode de codage est une
meilleure façon pour compresser une image sans toutefois perdre de l’information texturelle.
Il permet de réduire la taille des données, ce qui réduira le temps de calcul des
caractéristiques.
Comme ces codages correspondent à un prétraitement des textures, ils peuvent donc être
utilisés avant n’importe quel type d’analyse, afin d’améliorer les performances et les résultats.
88
L’inconvénient de ces codages est qu’il y a une perte d’information générale, car nous ne
pouvons pas reconstruire l’image originale. Mais, on s’aperçoit qu’en terme de texture, on fait
ressortir l’information demandée.
Au vue de toutes ces remarques, il serait intéressant que chaque personne teste ses propres
méthodes d’analyses de textures sur ces codages, afin peut-être d’améliorer à la fois ses
performances et ses résultats.
A l’issue des travaux menés dans le cadre de cette thèse, nous citons quelques perspectives
qui peuvent être réalisées à court et à moyen terme :
� Le faible nombre de codes permet l’usage de nouveaux attributs. La recherche
d’attributs spécifiques à ces codages est aussi une piste à exploiter plus profondément.
� Dans notre travail, la discrimination de textures est réalisée à partir des vecteurs
d’attributs caractéristiques par la méthode SVM. Or, en perspective de recherche, il
serait intéressant d’utiliser d’autres méthodes de classements comme les méthodes
classiques (distance minimum, K plus proche voisins) et d’essayer de construire une
distance ou un indice de comparaison directement entre les images codées.
89
Bibliographie
[1] R.M. Haralick. Statistical and structural approachs to texture. Proceedings of the IEEE In
Proceedings of the IEEE, Vol. 67, No. 5, pages 786–804, may 1979.
[2] F. Tomita, Y., and S. Tsuji. Description of textures by a structural analysis. IEEE
Transactions on Pattern Analysis and Machine Intelligence, 4(2):183–191, march 1982.
[3] T. Matsuyama, S.-I. Miura, and M. Shirai Nagao. Structural analysis of natural textures by
fourier transformation. Computer Vision, Graph. and Image Proc., 24:347–362, 1983.
[4] F.M. Vilnrotter, R. Nevatia, and K.E. Price. Structural analysis of natural textures. IEEE
Trans. on Pat. Anal. and Mach. Intel., 8(1):76–89, january 1986.
[5] H-B. Kim and R-H. Park. Extracting spatial arrangement of structural textures using
projection information. Pattern Recognition, 25(3):237–245, 1992.
[6] V.V. Starovoitov, S.-Y. Jeong, and R.-H. Park. Investigation of texture periodicity
extraction. In Visual Communications and Image Processing, pages 870–881, 1995.
[7] V.V. Starovoitov. Simplified technique of structure extraction from textural images. In
5th Int. Conf. Comput. Anal. of Images and Patterns, pages 259–266, september 1993.
[8] H.H.S. Ip and S.W.C. Lam. Three-dimensional structural texture modeling and
segmentation. Pattern Recognition, 28(9):1299–1319, 1995.
[9] A. Gagalowicz. Vers un modèle de textures. PhD thesis, Université Pierre et Marie Curie
Paris VI, mai 1983.
[10] Sg. Ferryanto. A kolmogorov-smirnov type statistic for detecting structural changes of
textures. Pattern Recognition Letters, 16:247–256, march 1995.
90
[11] W.K. Pratt, O.D. Faugeras, and A. Gagalowicz. Applications of stochastic texture field
models to image processing. IEEE Proceedings, Vol. 69, pages 542–550, may 1981.
[12] T.E. Radjab. Détection de défauts de surface par analyse de texture en temps réel. PhD
thesis, INP de Grenoble, novembre 1985.
[13] L. Van Gool, P. Dewaele, and A. Oosterlinck. Texture analysis. Computer Vision,
Graphics, and Image Processing, 29:336–357, 1985.
[14] J.S. Weszka, C.R. Dyer, and A. Rosenfeld. A comparative study of texture measures for
terrain classification. IEEE Trans. on Sys., Man and Cyber., 6(4):269–285, april 1976.
[15] R.W. Conners and C.A. Harlow. A theoretical comparaison of texture algorithms. IEEE
Transactions on Pattern Analysis and Machine Intelligence, 2(3):323–341, may 1980.
[16] A. Pikaz and A. Averbuch. An efficient topological characterization of gray-levels
textures, using a multiresolution representation. Graphical Models and Image Processing,
59(1):1–17, january 1997.
[17] M. Unser. Sum and difference histograms for texture classification. IEEE Transactions
on Pattern Analysis and Machine Intelligence, 8(1):118–125, january 1986.
[18] Z. Wang, A. Guerriero, and M. De Sario. Comparison of several approaches for the
segmentation of texture images. Pattern Recognition Letters, 17:509–521, may 1996.
[19] V. Atalay, E. Gelenbe, and N. Yalabik. Texture generation with the random neural
network model. In Artificial Neural Networks, pages 111–116, june 1991.
[20] S.W. Zucker and D. Terzopoulos. Finding structure cooccurrence matrices for texture
analysis. Computer Vision Graphics and Image Processing, 12:286–308, 1980.
[21] A. Baraldi and F. Parmiggiani. An investigation of the textural characteristics associated
with gray level cooccurrence matrix statistical parameters. IEEE Transactions on Geoscience
and Remote Sensing, 33(2):293–304, march 1995.
91
[22] R.M. Haralick, K. Shanmugan, and Dinstein. Textural features for image classification.
IEEE Transactions on Systems, Man and Cybernetics, 3(6):610–621, november 1973.
[23] J. Parkkinen, K. Selk inaho, and E. Oja. Detecting texture periodicity from the
cooccurrence matrix. Pattern Recognition Letters, Vol. 11, pages 43–50, 1990.
[24] C.C. Gotlieb and H.E. Kreyszig. Texture descriptors based on co-occurence matrices.
Computer Vision, Graphics, and Image Processing, Vol. 1, pages 70–86, 1990.
[25] G. Lohmann. Analysis and synthesis of textures: a co-occurrence-based approach.
Computers & Graphics, Vol. 19, Issue 1, pages 29-36, January-February 1995.
[26] I.M. Elfadel and R.W. Picard. Gibbs random fields, cooccurrences, and texture modeling.
IEEE Trans. on Pat. Anal. and Mach. Intel., Vol. 16, Issue 1, pages 24–37, january 1994.
[27] L.S. Davis, S.A. Johns, and J.K. Aggarwal. Texture analysis using generalized
cooccurrence matrices. IEEE Trans. on PAMI, 1(3):251–259, july 1979.
[28] Michael J. Swain and Dana H. Ballard. Color indexing. International Journal of
Computer Vision, Vol. 2, pages 11-32, 1991.
[29] A. K. Jain and A. Vailaya. Image retrival using color and shape. Pattern Recognition
Journal, Vol. 29, pages 1233-1244, August 1996.
[30] J.S. De Bonet, P. Viola, and J.W. Fisher. Flexible histograms: A multiresolution target
discrimination model. SPIE Proceedings series , Vol. 3371, pages 519-530, 1998.
[31] Giridharan Iyengar and Andrew B. Lippman. Clustering images using relative entropy
for efficient retrieval. In Workshop on Very Low bitrate Video Coding, University of Illinois-
Urbana Champaign, October 1998.
[32] Nozha Boujemaa. On competitive unsupervised. 15th Ithernational Conference on
Pattern Recognition, 1:631—634, 3-7 September 2000.
92
[33] Beito Li, Edward Chang, and Yi Wu. Discovery of a perceptual distance function for
measuring image similarity. ACM Communications on Multimedia Systems, VIII:512—522,
April 2003.
[34] Greg Pass and Ramin Zabih. Histogram refinement for contentbased image retrieval.
IEEE Workshop on Application of Computer Vision, pages 96—102, December 1996.
[35] J. Huang, S. Ravi Kumer, M. Mitra, W-J Zhu, and R. Zabih. Image indexing using color
correlograms. IEEE International Conference on Computer Vision and Pattern Recognition,
pages 726— 768, June 1997.
[36] Nicholas R. Howe. Percentile blobs for image similarity. IEEE Workshop on Content-
Based Access of Image and Video Librairies, pages 78—83, 21 June 1998.
[37] J. Huang, S.R. Kumar, M. Mitra, W-J. Zhu, et R. Zabih. Image indexing using color
correlograms. In IEEE Conf. on Computer Vision and Pattern Recognition, pages 762–768,
1997.
[38] P.P. Ohanian and R.C. Dubes. Performance evaluation for four classes of textural
features. Pattern Recognition, 25(8):819–833, 1992.
[39] C.G. Sun and W.G. Wee. Neighboring gray level dependence matrix for texture
classification. Computer Vision, Graph. and Image Proc., 23(3):341–352, september 1983.
[40] S. Bothorel. Utilisation de la logique floue dans l’analyse d’image par arbre de décision.
PhD thesis, Université de Paris VI, décembre 1996.
[41] S. Beucher. Extrema of grey-tone functions and mathematical morphology. Rapport du
Centre de Géostatistique et de Morphologie Mathématique, january 1983.
[42] C.R. Dyer, T-H. Hong, and A. Rosenfeld. Textural classification using gray level
cooccurrence based on edge maxima. IEEE Transactions on Systems, Man and Cybernetics,
Vol. 10, issue 3, pages 158–163, march 1990.
93
[43] L.S. Davis and A. Mitiche. Edge detection in textures - maxima selection. Computer
Graphics and Image Processing, Vol. 16, pages 158–165, 1981.
[44] I. Dinstein and A.C. Fong-Lochovsky. Computing local minima and maxima of digital
images in pipeline image processing systems equipped with hardwxare comparators. In
Proceeding of the IEEE, pages 286–287, march 1988.
[45] D. Bi. Segmentation d’images basée sur les statistiques de rangs des niveaux de gris.
PhD thesis, Université de Tours, janvier 1997.
[46] D. Patel and T.J. Stonham. Texture image classification and segmentation using rank
order dustering. In Pattern Recognition, 11th international conference, Vol. 3, pages 92–95,
august 1992.
[47] R. M. Haralick, K. Shanmugam, I. Dinstein. Textural features for image classification.
IEEE Transactions on System Man and Cybernetic, Vol. 3, No. 6, pages 610-621, 1973.
[48] Karthanassi, V., Iossifidis, C. and Rokos, D. A texturebased classification method for
classifying build areas according to their density. International Journal of Remote Sensing,
Vol. 21, No. 9, pages 1807-1823, 2000.
[49] Kayitakire, F. Giot, P. et Defourny, P. Discrimination automatique de peuplements
forestiers à partir d’orthophotos numériques couleur : un cas d’étude en Belgique. Journal
canadien de télédétection, vol. 28, n° 5, pages 629-640, 2002.
[50] Carr, J.R. and Fernando, P.M. The semivariogram in comparison to the co-occurrence
matrix for classification of image texture. IEEE Transactions on Geoscience and Remote
Sensing, Vol. 36, No. 6, pages 1945-1952, 1998.
[51] Prasad, T. S. and Gupta, R. K. Texture based classification of multidate SAR images – A
case study. Geocarto International, Vol. 13, No. 3, pages 53-61, 1998.
94
[52] Baraldi, A. and Parmiggiani, F. An investigation of the textural characteristics associated
with grey-level cooccurrence matrix statistical parameters. IEEE Transactions on Geoscience
and Remote Sensing, Vol. 33, No. 2, pages 293-304, 1995.
[53] Sali, E. and Wolfson, H. Texture classification in aerial photographs and satellite data.
International Journal of Remote Sensing, Vol. 13, No. 18, pages 3395-3408, 1992.
[54] C. Germain, P. Baylou. Multiscale characterisation of texture anisotropy. Proceedings of
ICIP, Vol. 3, pages 193–196, October 1997.
[55] S. Baheerathan, F. Albregtsen, H.E. Danielsen. New texture features based on the
complexity curve. Pattern Recognition, Vol. 32, No. 4, pages 605–618, April 1999.
[56] R.M. Haralick. Statistical and structural approaches to textures. Proceedings of the IEEE,
Vol. 67, No. 5, pages 786–804, May 1979.
[57] L.S. Davis, S. Johns, J.K. Aggarwal. Texture analysis using generalized cooccurrence
matrices. IEEE Transactions on Pattern Analysis and Machine Intelligence, Austin, USA,
Vol.1, pages 251-259, 1978.
[58] C.C. Gotlieb, H.E. Kreyszig. Texture desciptors based on co-occurence matrices.
Computer Vision, Graphics and Image Processing, Vol. 51, pages 70–86, 1990.
[59] LOHMANN G. Analysis and Synthesis of Textures: a Co-occurrence-Based Approach.
Computer and Graphics, Vol. 19, No. 1, pages 29-36, 1995.
[60] OHANIAN P.P., DUBES R.C. Performance evaluation for four classes of textural
features. Pattern Recognition, Vol. 25, No. 8, pages 819-833, 1992.
[61] PARKKINEN J., SELKÄINAHO T.J., OJA E. Detecting texture periodicity from the
cooccurrence matrix. Pattern Recognition Letters, Vol. 11, pages 43-50, 1990.
95
[62] SUN C.G., WEE W.G. Neighboring Gray Level Dependence Matrix for Texture
Classification. Computer Vision, Graphics and Image Proceedings, Vol. 23, No. 3, pages 341-
352, Septembre 1983.
[63] S.W. Zucker, D. Terzopoulos. Finding structures in co-occurence matrices for texture
analysis. Computer Graphics and Image Processing, Vol. 12, pages 286–308, 1980.
[64] P. Brodatz, "Textures : a photographic album for artists and designers", Dover, 1966.
[65] L. Bottou, C. Cortes, J. Denker, H.s Drucker, I. Guyon, L. Jackel, Y. Le Cun, U. Muller,
E. Sackinger, P. Simard, and V. Vapnik. Comparison of classifier methods: A case study in
handwritten digit recognition. In Proceedingd of the 13th International Conference on Pattern
Recognition, Vol. 2, pages 77-82, Octobre 1994.
[66] J.Friedman. Another approach to polychotomous classification. Technical report,
Department of Statistics, Stanford University, 1996.
[67] Y. Guermeur and A. Elisseeff and H. Paugam-Moisy. A new multi-class SVM based on
a uniform onvergence result. In International Joint Conference on Neural Networks, volume
IV, pages 183-188, 2000.
[68] J. Weston and C. Watkins. Multiclass support vector machines. In proceedings of
ESANN99, Brussels. D. Facto Press, 1999.
[69] J.-O. Moussafir. Analyse de données, l’état de l’art, Lettre n°51 de l’AFEDE, Paris,
Novembre 2004.
[70] O.R. Mitchell and S.G. Carlton, "Image segmentation using a local extrema texture
measure", Pattern Recognition, Vol. 10, 1978, pp. 205-210.
[71] C.R. Dyer and T-H. Hong and A. Rosenfeld, "Textural classification using gray level
cooccurrence based on edge maxima", IEEE Trans. on Systems, Man and Cybernetics, Vol.
10, N°3, March 1990, pp. 158-163.
96
[72] Haralick R.M. Statistical and structural approaches to texture, Proceedings of the IEEE,
pages 786-804, mai 1979.
[73] M. Hanifi, F. Sedes, D. Aboutajdine, A. Lasfar. Extraction de caractéristiques de texture
d'images satellites pour la classification. 2èmes Rencontres Inter associations(RIAs2006) sur
la classification et ses applications, Laboratoire ERIC, Université Lumière Lyon2, pages 50-
51, 20-21 Mars 2006.
http://eric.univ-lyon2.fr/~rias2006/index.php?page=programme.html
[74] M. Hanifi, F. Sedes, D. Aboutajdine, A. Lasfar. Double codage de texture pour la
classification d'images satellites. Systèmes Electroniques-Informatiques & Traitement de
l'information (SEI&TI07), Faculté des sciences Mohammedia, pages 111-116, 25-26 Janvier
2007.
[75] Hanifi M., Sedes F., Aboutajdine D., Lasfar A. Multi-class Support Vector Machine: A
new approach to characterize a texture. International Symposium on Industrial Electronics
IEEE (ISIE), Spain, June 2007.
[76] M. Hanifi, F. Sedes, D. Aboutajdine, A. Lasfar. Double codage des niveaux de gris:
Application au corrélogramme. 21e Colloque GRETSI sur le traitement du signal et des
images, Troyes, pages 1177-1180, Septembre 2007.
[77] Hanifi M., Sedes F., Aboutajdine D., Lasfar A. Double codage : application à la matrice
de cooccurrence. 5ème Colloque VSST sur la veille stratégie scientifique et technologique,
Marrakech, 21- 25 Octobre 2007.
[78] Hanifi M., Sedes F., Aboutajdine D., Lasfar A. A new approach for coding Satellite
Images : Rank coding. International Journal of Computational Science. Vol. 3, No. 1, 2009.
[79] kenel. EH. K. and Stiefelhagen. R.: Analysis of Local Appearance-Based Face
Recognition: Effects of Feature Selection and Feature Normalization. IEEE Computer Society
CVPR’W’06 (2006) 34-40.
97
Résumé : Cette thèse s’inscrit dans le cadre général du traitement des données multimédias. Nous avons plus particulièrement exploité les images satellitaires pour la mise en application de ces traitements. Nous nous sommes intéressés à l’extraction de variables et de caractéristiques texturelles ; nous avons proposé une nouvelle méthode de pré-traitement des textures afin d’améliorer l’extraction de ces attributs caractéristiques. L’augmentation de la résolution des satellites récents a, paradoxalement, perturbé les chercheurs lors des premières classifications sur des données à haute résolution. Les cartes très homogènes, obtenues jusqu’alors en moyenne résolution, devenaient très fragmentées et difficiles à utiliser avec les mêmes algorithmes de classification. Une façon de remédier à ce problème consiste à caractériser le pixel en cours de classification par des paramètres mesurant l’organisation spatiale des pixels de son voisinage. Il existe plusieurs approches à l’analyse de texture dans les images. Dans le cadre des images satellitaires, l’approche statistique semble être habituellement retenue, ainsi que les méthodes des matrices de cooccurrences et du corrélogramme, basées sur l’analyse statistique au deuxième ordre (au sens des probabilités sur des couples de pixels). Et ce sont les deux dernières méthodes sur lesquelles nous allons se baser pour en extraire l’information texturelle sous forme d’un vecteur. Ces matrices présentent des inconvénients, tels que la taille mémoire nécessaire et le temps de calcul des paramètres élevé. Pour contourner ce problème, nous avons cherché une méthode de réduction du nombre de niveaux de gris appelée codage de rang (permettant de passer, dans un premier temps de 256 niveaux à 9 niveaux de gris, puis ensuite pour améliorer la qualité de l’image, passer de 9 à 16 niveaux de gris), tout en conservant la structure et la texture de l’image. L’ensemble de cette thèse a donc permis de montrer que la méthode de codage est une meilleure façon pour compresser une image sans toutefois perdre de l’information texturelle. Il permet de réduire la taille des données, ce qui réduira le temps de calcul des caractéristiques. Mots-clefs (6) : Image satellite, Caractéristiques, Texture, Matrice de cooccurrence,
Classification, codage de rang