Tutoriel SCP:Post-traitement de la classification

Dans cette série d’articles nous avons vu un tutoriel qui aborde la classification d’images aériennes de drone en milieu littoral. Il utilise QGis dans sa version 3.20 et le plugin SCP dans sa version 7.3.

Pour compléter ce tutoriel, nous verrons ici comment traiter les sorties d’une classification supervisée pour intégrer les résultats dans un SIG.

Mesure de la précision de classification

Après le processus de classification, il est utile d’évaluer l’exactitude de la classification de la couverture, afin d’identifier et de mesurer les erreurs cartographiques.  Habituellement, l’évaluation de l’exactitude est effectuée au moyen du calcul d’une matrice d’erreurs, qui est un tableau qui compare le résultat de la classification avec des données de référence (c.-à-d. les données de la vérité terrain.

La classification est comparée à une matrice de référence ou à un vecteur de référence (qui est automatiquement converti en matrice). Si le vecteur est sélectionné comme référence, il est possible de choisir un champ décrivant les valeurs de classe.

Plusieurs statistiques sont calculées telles que la précision globale, la précision de l’utilisateur, la précision du producteur et le coefficient Kappa. En particulier, ces statistiques sont calculées selon la matrice d’erreur basée sur la superficie, où chaque élément représente la proportion estimée de la superficie de chaque classe. Ceci permet d’estimer loa précision de l’utilisateur sans biais et la précision du producteur, la zone sans biais des classes selon les données de référence, et l’erreur type des estimations de surface. où les valeurs de pixels représentent les catégories de comparaison (c.-à-d. les combinaisons identifiées par le code de matrice d’erreurs dans la matrice d’erreurs) entre la classification et la référence. De plus, un fichier texte contenant la matrice d’erreurs (i.e. un fichier.csv séparé par tabulation) est créé avec le même nom défini pour le fichier .tif.

La couche de « réalité terrain » peut donc être une couche raster ou une couche vecteur. La seule condition à respecter est que les codes des classes soient les mêmes entre la couche réalité terrain et le résultat de la classification que nous souhaitons évaluer.

Cette couche peut être construite manuellement en numérisant des polygones à partir des images sources de la classification.

Le plugin SCP va construire une matrice d’erreurs en comparant les classes des pixels communs aux deux couches : la couche de classification et la couche réalité terrain.

Les cellules diagonales de la matrice contiennent le nombre de pixels de chaque classe qui ont été bien classés. Le reste des cellules de la matrice contiennent les pixels mal classés.

Exemple

Prenons un exemple de sortie de classification :

Le résultat contient 4 classes, codées 0 – 2 – 3 – 4.

Nous utiliserons une couche vecteur de réalité terrain sur une partie de l’image :

Nous exécutons la commande « Précision » du menu « Post-traitement »

Le résultat s’affiche sous forme de couche

Mais pour comprendre cette couche il est- indispensable de se référer au tableau de sortie. Ce tableau s’affiche dans la fenêtre SCP dans l’onglet Sortie de « Précision » mais il est aussi disponible au format csv avec le même nom que la couche de résultat.

Le premier pavé donne les informations nécessaires à l’interprétation de la couche géographique :

La première colonne indique l’étiquette utilisée pour la couche géographique. Les deux colonnes suivantes indiquent la classe de référence et la classe de classement, puis, la dernière colonne, le nombre de pixels pour cette combinaison.

Dans cet exemple, la première ligne indique que la classe de couleur 5 indique les pixels de classe 2 sur le terrain (spartine) qui sont non classés dans notre sortie de classification, et qu’il y a 2191 pixels dans ce cas.

La deuxième ligne indique que la classe de couleur 6 indique les pixels de classe 2 sur le terrain (spartine) qui sont bien classés (2) dans notre sortie de classification, et qu’il y a 13619 pixels dans ce cas.

Le deuxième pavé donne ces résultats sous forme de matrice, indiquant pour chaque cellule de la matrice le nombre de pixels correspondants.

Le troisième pavé converti le nombre de pixels en surface, en utilisant la taille des pixels et les unités du SCR.
Mais les indicateurs importants pour aider à l’évaluation sont les indicateurs suivants :

Précision utilisateur et précision producteur

Ces termes un peu barbares recouvrent un calcul très simple.

Pour chaque classe on fait le rapport des pixels bien classés par rapport au total de la ligne et au total de la colonne de la matrice d’erreur.

Le total de chaque ligne correspond au nombre total de pixels de la classe dans notre sortie de classification.

Le total de chaque colonne correspond au nombre total de pixels de la classe dans notre réalité terrain.

On appelle »Précision utilisateur » le rapport nombre de pixels de la classe/nombre total de pixels par ligne, c’est-à-dire le nombre total de pixels de la classe dans notre sortie de classification.

On appelle »Précision producteur » le rapport nombre de pixels de la classe/nombre total de pixels par colonne, c’est-à-dire le nombre total de pixels de la classe dans notre réalité terrain.

Indice Kappa

Sans rentrer dans trop de considérations techniques, disons que ce coefficient nous indique dans quelle mesure on aurait pu obtenir le même résultat de classification en faisant cette classification au hasard.

Geodesia et Descriptio Terrarum 13 (1-2) 2014

Précision globale

A partir de la matrice d’erreur , il est possible de calculer la précision globale comme le rapport entre le nombre d’échantillons correctement classés (la somme de la diagonale principale) et le nombre total d’unités d’échantillonnage n.

Élimination du bruit

Suite à la procédure de classification, il subsiste généralement un faible taux de pixels isolés, généralement mal classés ou non classés, souvent situés à la limite entre deux plages d’affectations distinctes. Ceux-ci donnent un aspect « pointilliste » à l’image qui peut s’avérer gênant pour une représentation cartographique. Il est alors souhaitable d’homogénéiser la classification en réaffectant ces pixels à l’une ou l’autre classe. Pour ce faire, on utilise également des techniques de filtrage.

Le filtre majoritaire consiste à affecter un pixel isolé à la classe dominante au sein de laquelle il se trouve. Pour chaque pixel, l’image est analysée au moyen d’une fenêtre mobile de 3×3 pixels afin de déterminer la classe la plus représentée autour du pixel central. Celle classe est alors attribuée au pixel central. L’inconvénient majeur du filtrage majoritaire est de trop favoriser les classes dominantes, particulièrement aux frontières entre deux classes, aux dépens des classes moins représentées ou des classes présentant des structures linéaires comme le réseau routier ou encore des classes représentant l’habitat dispersé.

Le plugin SCP inclue une autre façon de réduire le bruit , l’option « Cribler la classification (sieve). Cette commande supprime les polygones matriciels inférieurs à une taille de seuil fournie (en pixels) et les remplace par la valeur de pixel du plus grand polygone voisin. Il est utile si vous avez une grande quantité de petites zones sur votre carte matricielle. L’algorithme est dérivé de l’utilitaire GDAL sieve.

On peut définir un nombre quelconque de pixels connectés, contrairement au filtre qui ne prend que les pixels isolés. On peut aussi définir le type de voisinage souhaité :

4 : dans une fenêtre 3×3, les pixels diagonaux ne sont pas considérés comme connectés ;

8 : dans une fenêtre 3×3, les pixels diagonaux sont considérés comme connectés

Attention à ne pas confondre le bruit avec les petits patchs isolés. Ces derniers peuvent être éliminés à la fin du post-traitement en définissant une taille minimale de zone. Par définition, le bruit correspond à des pixels isolés ou à des petits groupes de pixels isolés, surtout dans le cas où la taille réelle du pixel est petite.

Il ne faut pas oublier que la plupart de ces traitements d’image ont été conçus pour des applications satellitaires avec des pixels qui étaient de l’ordre de 5 à 10 mètres. Des images de drone pouvant produire des pixels de quelques millimètres, la notion de bruit doit aussi s’adapter à l’échelle.

Exemple

Nous pouvons voir un exemple d’utilisation du criblage SCP sur une zone de notre image classée.

Image en sortie de la classification SCP

Image résultante du criblage SCP avec un seuil de taille de 10 pixels et un voisinage de 8.

Image résultante du traitement Filtre majoritaire avec ArcMap

On observe que le « nettoyage » du bruit est bien plus net avec le criblage qu’avec le filtre majoritaire.

Si cet article vous a intéressé et que vous pensez qu'il pourrait bénéficier à d'autres personnes, n'hésitez pas à le partager sur vos réseaux sociaux en utilisant les boutons ci-dessous. Votre partage est apprécié !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *