Calculer la précision pour la classification des pixels (Image Analyst)

Disponible avec une licence Image Analyst.

Synthèse

Calcule une matrice de confusion en fonction des erreurs d’omission et de commission, et le score d’intersection sur union (IoU). La précision est calculée entre la sortie de l’outil Classer des pixels à l’aide du Deep Learning et les données de réalité de terrain.

L’outil est valide uniquement pour les modèles de classification des pixels et non pour les autres modèles utilisés avec l’outil Classifier des pixels à l’aide du Deep Learning.

Utilisation

  • L’outil calcule la précision des utilisateurs et des producteurs de chaque classe, ainsi qu’un indice Kappa d’accord global. Ces taux de précision sont compris entre 0 et 1, 1 représentant une précision de 100 pour cent. Voici un exemple de matrice de confusion :

    c_1c_2c_3TotalU_AccuracyKappa

    c_1

    49

    4

    4

    57

    0.8594

    0

    c_2

    2

    40

    2

    44

    0.9091

    0

    c_3

    3

    3

    59

    65

    0.9077

    0

    Total

    54

    47

    65

    166

    0

    0

    P_Accuracy

    0.9074

    0.8511

    0.9077

    0

    0.8916

    0

    Kappa

    0

    0

    0

    0

    0

    0.8357

    Exemple de matrice de confusion

  • La précision des utilisateurs est une mesure des pixels correctement classés parmi tous les pixels classés d’une classe donnée. Les autres pixels classés de cette classe appartiennent à une classe différente, ou sont identifiés comme une classe différente, d’après les informations de référence ; ce sont des faux positifs.

    La précision des utilisateurs est également désignée sous le nom d’erreurs de commission ou d’erreur de type 1. Les données qui permettent de calculer ce taux d’erreur sont lues à partir des lignes de la table.

    La ligne Total montre le nombre de points qui devraient être identifiés comme une classe donnée d’après les données de référence.

  • La précision des producteurs est un faux négatif, où les pixels d’une classe connue sont classés ailleurs que dans cette classe. Cela est le cas par exemple lorsque l’image classée identifie un pixel comme une forêt, alors qu’il devrait être imperméable. Dans ce cas, la classe imperméable ne comporte pas les pixels qui devraient être présents d’après les données de référence.

    La précision des producteurs est également désignée sous le nom d’erreurs d’omission ou d’erreur de type 2. Les données qui permettent de calculer ce taux d’erreur sont lues à partir des colonnes de la table.

    La colonne Total montre le nombre de points qui ont été identifiés comme une classe donnée d’après la carte classée.

  • L’indice Kappa d’accord offre une évaluation globale de la précision de la classification.

  • L’intersection sur union (IoU) est la surface de superposition entre la segmentation prévue et la réalité du terrain divisée par la surface d’union entre la segmentation prévue et la réalité du terrain. La valeur IoU est calculée pour chaque classe.

Paramètres

ÉtiquetteExplicationType de données
Raster en entrée

Raster classé en entrée.

Mosaic Layer; Raster Layer; Image Service; String; Raster Dataset; Mosaic Dataset
Données de réalité de terrain

Image de classification en entrée ou autres données de référence de données SIG thématiques. L’entrée peut être un raster ou une classe d’entités.

Les données standard sont une image de classification (monocanal, type de données numériques entières).

Si vous utilisez des polygones en entrée, recourez uniquement à ceux qui ne sont pas utilisés comme échantillons d’apprentissage. Il peut également s’agir de données d’occupation du sol SIG au format de fichier de formes ou de classe d’entités.

Mosaic Layer; Raster Layer; Feature Layer
Matrice de confusion en sortie

Le nom du fichier en sortie de la matrice de confusion au format tabulaire.

Le format de la table est déterminé par l’emplacement et le chemin d’accès en sortie. Par défaut, la sortie sera une table de géodatabase. Si le chemin ne se trouve pas dans une géodatabase, spécifiez l’extension .dbf pour l’enregistrer au format dBASE.

Table
Nombre de points aléatoires
(Facultatif)

Le nombre total de points aléatoires qui vont être générés.

Le nombre réel peut être supérieur, mais ne doit jamais être inférieur à ce nombre, selon la stratégie d’échantillonnage et le nombre de classes. Le nombre pas défaut de points générés de façon aléatoire est de 500.

Long
Stratégie d’échantillonnage
(Facultatif)

Spécifie la structure d’échantillonnage qui sera utilisée.

  • Aléatoire stratifiéDes points répartis de manière aléatoire seront créés au sein de chaque classe, où chaque classe dispose d’un nombre de points proportionnel à sa zone relative. Il s’agit du paramètre par défaut.
  • Aléatoire stratifié égaliséDes points répartis de manière aléatoire seront créés au sein de chaque classe, où chaque classe dispose du même nombre de points.
  • AléatoireDes points répartis de manière aléatoire seront créés dans toute l’image.
String
Distance minimale entre les points
(Facultatif)

Distance minimale entre les points de références. La valeur par défaut est 0.

Double

ComputeAccuracyForPixelClassification(in_raster, in_ground_truth_data, out_confusion_matrix, {num_random_points}, {sampling}, {min_point_distance})
NomExplicationType de données
in_raster

Raster classé en entrée.

Mosaic Layer; Raster Layer; Image Service; String; Raster Dataset; Mosaic Dataset
in_ground_truth_data

Image de classification en entrée ou autres données de référence de données SIG thématiques. L’entrée peut être un raster ou une classe d’entités.

Les données standard sont une image de classification (monocanal, type de données numériques entières).

Si vous utilisez des polygones en entrée, recourez uniquement à ceux qui ne sont pas utilisés comme échantillons d’apprentissage. Il peut également s’agir de données d’occupation du sol SIG au format de fichier de formes ou de classe d’entités.

Mosaic Layer; Raster Layer; Feature Layer
out_confusion_matrix

Le nom du fichier en sortie de la matrice de confusion au format tabulaire.

Le format de la table est déterminé par l’emplacement et le chemin d’accès en sortie. Par défaut, la sortie sera une table de géodatabase. Si le chemin ne se trouve pas dans une géodatabase, spécifiez l’extension .dbf pour l’enregistrer au format dBASE.

Table
num_random_points
(Facultatif)

Le nombre total de points aléatoires qui vont être générés.

Le nombre réel peut être supérieur, mais ne doit jamais être inférieur à ce nombre, selon la stratégie d’échantillonnage et le nombre de classes. Le nombre pas défaut de points générés de façon aléatoire est de 500.

Long
sampling
(Facultatif)

Spécifie la structure d’échantillonnage qui sera utilisée.

  • STRATIFIED_RANDOMDes points répartis de manière aléatoire seront créés au sein de chaque classe, où chaque classe dispose d’un nombre de points proportionnel à sa zone relative. Il s’agit du paramètre par défaut.
  • EQUALIZED_STRATIFIED_RANDOMDes points répartis de manière aléatoire seront créés au sein de chaque classe, où chaque classe dispose du même nombre de points.
  • RANDOMDes points répartis de manière aléatoire seront créés dans toute l’image.
String
min_point_distance
(Facultatif)

Distance minimale entre les points de références. La valeur par défaut est 0.

Double

Exemple de code

Exemple 1 d’utilisation de la fonction ComputeAccuracyForPixelClassification (fenêtre Python)

Cet exemple génère une matrice de confusion à l’aide de 500 points aléatoires stratifiés.

import arcpy
arcpy.env.workspace = r"C:\Data\MyProject.gdb"

arcpy.ia.ComputeAccuracyForPixelClassification("BGYRre_ps16_ClassifyPixel", 
    "Classified_202412301648436631322", "BGYNIR_ps16_ComputeAccura", 500, 
    "STRATIFIED_RANDOM", 0)
Exemple 2 d’utilisation de la fonction ComputeAccuracyForPixelClassification (srcript autonome)

Cet exemple génère une matrice de confusion à l’aide de 500 points aléatoires.

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Set local variables
in_raster=r"C:\DL\MyProject.gdb\BGYClassifyPixel"
in_ground_truth=r"C:\DL\MyProject.gdb\Classified_2024"
out__matrix=r"C:\DL\MyProject.gdb\BGYN_ComputeAccura" 
num_random_points=500
sampling="RANDOM"
min_point_distance=10

# Execute 
arcpy.ia.ComputeAccuracyForPixelClassification(in_raster, in_ground_truth, 
    out__matrix, num_random_points, sampling, min_point_distance)

Rubriques connexes