Classification d'image

Introduction

Une tâche très courante est la classification d'images. Pour pouvoir utiliser les images pour la cartographie ou pour des analyses complémentaires, il est souvent important de traduire l'information de fréquence contenue dans les images en information thématique portant sur l'occupation du sol ou la couverture végétale. Vous avez généralement le choix entre deux approches : la classification supervisée et non-supervisée.

Classification non-supervisée

La classification non-supervisée consiste à laisser l'ordinateur calculer automatiquement les classes sur la base de plusieurs (en tout cas plus d'une) bandes de fréquences de votre image. Cela vous laisse la tâche d'identifier le bon nombre et la nature réelle des classes obtenues. Pour une classification non supervisée, suivez les étapes suivantes :

création d'un groupe et d'un sous-groupe

Si ce n'est pas déjà fait, vous devez créer un groupe et d'un sous-groupe contenant les fichiers que vous devez classifier. Utilisez i.group pour cela.

clustering

Utilisez i.cluster pour créer les classes à partir de vos images. La page du manuel explique les paramètres. Vous pouvez fournir de façon optionelle un fichier source de signatures spectrales à i.cluster qui contient les définitions de classes obtenues l'un clustering antérieur ou lors d'une procédure supervisée. Le fichier source devrait vous aider à optimiser les frontières des classes du cluster.

classification

Maintenant que vous avez créer vos définitions de classes, vous aurez à refaire la classification de votre image originale pour décider à quelle classe appartient chaque pixel. Comme toujours (enfin, comme presque toujours...) GRASS a une solution pour vous i.maxlik, un classifieur discriminant de type "maximum-likelihood" (plus grande ressemblance). Il prend d'une part le fichier de signatures spectrales ("sigfile") généré par i.cluster pour assigner chaque pixel à une classe sur la base de sa probabilité de ressemblance à une classe. La carte obtenue vous montrera les classes de votre couche originale. Le paramètre optionnel de « rejet » ("reject") vous permet de créer une nouvelle couche raster basée sur les niveaux de confiance pour chaque pixel.

Classification supervisée

En classification supervisée, vous ne laissez pas l'ordinateur créer les classes, vous les créez vous-mêmes et laissez à l'ordinateur l'étape suivante, c'est-à-dire l'assignation des pixels aux classes. Cela signifie que vous devez d'abord déterminer le nombre et la nature des classes que vous voulez utiliser. Suivez les étapes suivantes pour une classification supervisée :

créer les classes

GRASS vous permet de créer les classes en déterminant ce que l'on appelle des « zones d'apprentissages » dans les cartes existantes. De telles « zones d'apprentissage » représentent un échantillon homogène pour lancer la classification. Le module i.class vous aide à définir ces zones. Il vous permet d'afficher une image (comme par exemple une image composite couleur avec i.composite) et identifier des zones homogènes dans l'image. Les signatures spectrales de ces zones seront sauvegardées et peuvent être utilisées comme classes dans i.maxlik.

classification

De la même manière que pour une classification non-supervisée, servez-vous de i.maxlik pour cette étape.

Classification partiellement supervisée

Une solution intermédiaire entre les deux options citées ci-dessus est l'utilisation du module i.gensig. Ce module crée les signatures spectrales automatiquement à votre place, à partir de la couche d'apprentissage que vous lui fournissez. Cette couche d'apprentissage devrait déjà contenir des zones d'apprentissage pré-classifiées. Vous pouvez créer une couche d'apprentissage avec v.digit ou r.digit ou en extrayant des objets intéressants avec v.extract ou r.mapcalc.