Skip to Content

Classification d'images multispectrales sous GRASS (par SMAP)


Méthodologie de classification d'image sous GRASS : contextes d'utilisation des fonctions i.group, v.digit, v.to.rast, i.gensigset, i.smap



Avant toute utilisation des fonctions de classifications, il faut au préalable avoir rassemblé ses images de télédétection dans un groupe (par exemple, images_Landsat) et spécifiquement les bandes sur lesquelles on souhaite procéder à la classification dans un sous-groupe (par exemple, Landsat_2002_infrarouge). La création du groupe et du sous-groupe se fait à travers la fonction i.group.
Par exemple :

i.group name=images_Landsat subgroup=Landsat_2002_infrarouge name=L_MIR, L_PIR

La classification opérée par le module i.smap peut reposer sur l'algorithme Sequential Maximum a Posteriori (SMAP) ou plus simplement sur un algorithme de Maximum de Ressemblance (Maximum Likelihood - ML) pour laquelle existe aussi le module GRASS

i.maxlik

Maximum Likelihood repose sur la seule reconnaissance des signatures spectrales des pixels de l'image.

Par conséquent, une classification obtenue par SMAP est souvent reconnue plus fine en ce que l'algorithme tient compte des voisinages des pixels dans la classification : des pixels voisins auront ainsi davantage de chances d'être répertoriés dans la même catégorie.

A la différence de i.maxlik, cet algorithme de classification est obligatoirement supervisé.
Vous devrez d'abord :
1. dessiner des zones d'apprentissage à l'aide de la fonction v.digit
2. convertir le résultat à l'aide de la fonction v.to.rast afin de fournir à i.gensigset le raster d'apprentissage dont il a besoin pour travailler

Rappels

Vectorisation de zones d'apprentissage dans l'image : v.digit
Lorsque l'on trace le contour d'une région d'apprentissage, il est plus spécialement recommandé :

  • de choisir des régions d'apprentissage suffisamment étendues (c'est-à-dire pas une poignée de pixels qui se battent en duel...),
  • ces régions d'apprentissage comporteront autant que possible des pixels de la même classe donnant des réponses spectrales différentes (par exemple, prairie sèche et prairie humide) afin que l'apprentissage soit aussi utile que possible,
  • de se méfier des pixels en limite de deux zones d'occupation du sol, dont la réponse spectrale est mêlée et qui ne doivent pas être inclus dans les régions d'apprentissage. Ces pixels mixtes sont d'autant plus nombreux que la résolution des images est faible et que les pixels couvrent une plus grande surface et ont des chances de comprendre des classes très diverses sur le plan spectral.

La valeur ajoutée déterminante de cette méthodologie est dans l'interprétation de l'image par l'opérateur humain.

Une classification supervisée à partir de classes d'apprentissage fournies par un humain pourra ainsi donner de bien meilleurs résultats qu'une classification automatique pour autant que l'interprète ait une bonne connaissance de la vérité-terrain étudiée (reconnaître tel ou tel type de couvert végétal), et soit en mesure de bien définir les régions d'apprentissage pour l'algorithme de classification.

Classification d'image supervisée (dirigée) à partir d'un raster d'apprentissage : i.gensigset

La commande se passe de la façon suivante :

i.gensigset trainingmap=mon_raster_de_base group=images_Landsat   subgroup=Landsat_2002_infrarouge signaturefile=fichier_de_signatures_resultat
maxsig=25


où l'on indique simplement le nom du raster d'apprentissage fourni en entrée et du fichier de signatures spectrales obtenu en sortie.
A noter, la variable facultative maxsig qui permet d'indiquer le nombre de signatures spectrales distinctes qu'il est possible de rencontrer au sein d'une même catégorie de couverture du sol. Par exemple dans le cas du couvert végétal, il est possible de trouver des réponses spectrales variées en fonction des conditions locales (humidité du sol, exposition au soleil). Pour palier un éventuel raté de classification, on aura toujours comme précaution de soigner lors de la préparation du raster le choix des régions d'apprentissage.
Par défaut, la valeur utilisé par maxsig est 10, il s'agit du nombre initial de sous-signatures spectrales pris en compte par l'algorithme, au fur et à mesure de la convergence, l'algorithme ne conservera plus qu'une réponse spectrale par classe.
Il est possible de lui fixer une valeur plus haute afin qu'il ne converge pas trop rapidement, et que la classification de certains pixels dont la réponse spectrale est "limite" puisse être réévaluée. Attention : ceci aura notamment pour effet indirect de rallonger le temps de calcul.

Enfin, on aura toujours avantage à préparer plusieurs fichiers de signatures spectrales à fournir en entrée à l'algorithme final de classification, en faisant varier ce paramètre (maxsig), ceci permettra lorsque l'on voudra affiner la classification de pouvoir procéder par dichotomie afin de se rapprocher d'un nombre optimal de sous-signatures par classes.

Algorithme de classification par Sequential Maximum a Posteriori : i.smap

Cette algorithme de classification a pour caractéristique on l'a dit de prendre en compte la classification des pixels voisins et de l'utiliser pour décider dans quelle classe il doit ranger le pixel courant (en plus de sa réponse spectrale). Cette méthode a pour avantage de lisser la classification et d'éviter les classifications aberrantes (pixel classé comme "forêt de feuillus" au milieu d'une étendue de pixels classés comme "maïs" en raison d'une réponse spectrale inhabituelle à cet endroit de l'image).


Elle s'utilise de la manière suivante :

i.smap group=images_Landsat subgroup=Landsat_2002_infrarouge   signaturefile=fichier_de_signatures_resultat blocksize=128 output=classif_obtenue

Ici, le paramètre névralgique pour influencer la qualité de la classification est blocksize qui désigne la taille de la fenêtre flottante de voisinage. Par défaut, sa valeur est fixée à 128 (afin de préserver les ressources mémoire de l'ordinateur). Si vous cherchez à classifier des images présentant de grandes parcelles homogènes, vous pourrez obtenir de bons résultats avec une telle taille de fenêtre. Cependant, si l'image/les images que vous traitez tiennent davantage du patchwork (parcelles variées de petites dimensions), vous gagnerez à réduire la taille de votre fenêtre afin de l'adapter à celle des éléments à classifier.
Attention : la méthode SMAP a aussi ses limites, et en-dehors d'images à haute résolution, elle donne souvent des résultats bien piètres sur les zones urbaines où les éléments à classifier sont de petites dimensions.

i.smap peut également utiliser une méthode de classification traditionnelle de type "plus grande ressemblance" (Maximum Likelihood), c'est-à-dire ne pas prendre en compte la classification des pixels voisins mais uniquement la réponse spectrale du pixel concerné.
Pour cela, faire suivre la commande i.smap de -m.
On a intérêt à faire toujours tourner l'algorithme de classification par plus grande ressemblance puis à comparer avec le résultat de la classification a posteriori car si les résultats obtenus sont très similaires, cela signifie que l'influence de leur voisinage sur la classification des pixels est quasi-nul.Il y a alors fort à parier que vous obtiendrez une classification SMAP plus pertinente en choisissant une fenêtre de travail plus réduite.


Site officiel : GRASS GIS


GNU FDL Copyright (C) Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

Commentaires

Poster un nouveau commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.