Évaluer le modèle de classification du nuage de points (3D Analyst)

Synthèse

Évalue la qualité d’un ou de plusieurs modèles de classification de nuage de points à l’aide d’un nuage de points correctement classé, faisant office de point de comparaison pour les résultats de la classification obtenus à partir de chaque modèle.

Utilisation

  • Pour obtenir les meilleurs résultats d’évaluation possibles, le nuage de points de référence doit être correctement classé pour les objets d’intérêt à évaluer.

  • Les codes de classification doivent être les mêmes pour tous les modèles en entrée à évaluer. Si le nuage de points de référence ne contient aucun code de classe dont les valeurs ou la signification correspondent aux classes des modèles à évaluer, utilisez le paramètre Réappariement de classes du nuage de points pour indiquer la classification du nuage de points de référence avec les codes des modèles entraînés.

  • L’architecture de Deep Learning PointCNN permet de créer le modèle de classification du nuage de points. Cette architecture peut générer des résultats légèrement différents lors du traitement du même jeu de données en entrée. Vous pouvez spécifier le même modèle en entrée plusieurs fois pour évaluer la cohérence du résultat de classification du nuage de points. Consultez l’article PointCNN: Convolution On X-Transformed Points pour en savoir plus sur la variation potentielle des résultats de classification.

  • Le processus d’évaluation crée plusieurs fichiers en sortie dans la valeur de paramètre Dossier cible. Le nom de chaque fichier commence par le texte spécifié dans la valeur de paramètre Nom de base.

    • <nom de base>_ModelStatistics.csv : table qui répertorie l’exactitude, la précision, le rappel et le score F1 de chaque modèle.
    • <nom de base>_ClassCodeStatistics.csv : table qui récapitule les résultats de l’évaluation pour l’exactitude, la précision, le rappel et le score F1 de chaque code de classe.
    • <nom de base>_ConfusionMatrices.csv : table qui récapitule la manière dont les modèles en entrée ont classé chaque point de chaque code de classe du nuage de points de référence. Outre le nombre de vrais positifs et de faux positifs, cette table identifie également les classes dans lesquelles les faux positifs se sont produits.
    • <nom de base>_ConfusionMatrix_<numéro de modèle>.png : image qui présente un diagramme donnant une représentation facile à lire de la matrice de confusion d’un modèle donné.
  • Le paramètre Reference Surface (Surface de référence) est requis si le modèle en entrée a été entraîné avec des attributs de hauteur relative. La surface raster est utilisée comme hauteur de référence à partir de laquelle des hauteurs relatives sont interpolées pour chaque point. Cela offre au modèle des informations supplémentaires qui peuvent être utilisées pour différencier plus facilement les objets. La surface raster fournie pour ce paramètre doit représenter le même type de données que le raster utilisé dans les données d’entraînement ayant créé le modèle. Dans la plupart des cas, il s’agit d’un raster créé à partir des points classés comme terrestres. Une surface raster peut être générée à partir des points classés comme terrestres du jeu de données LAS en appliquant un filtre de sol et en utilisant l’outil LAS Dataset To Raster (eu de données LAS vers raster). Une surface au sol peut également être générée à partir d’une couche de scène de nuage de points avec l’outil Nuage de points vers raster. Les surfaces raster qui ne proviennent pas du nuage de points en entrée peuvent également être utilisées, mais vous devez vous assurer que les valeurs z dans le raster correspondent correctement aux valeurs z dans le nuage de points.

  • Si le modèle en entrée a été entraîné avec des points de certaines classes exclues des données d’entraînement, utilisez le paramètre Excluded Class Codes (Codes de classe exclus) pour vous assurer que ces points sont omis de l’ensemble des points évalués par ce modèle. Exclure les classes qui ne fournissent pas de contexte utile pour les objectifs d’un modèle donné permet de réduire le nombre de points évalués, ce qui améliore la vitesse d’entraînement et l’application du modèle. Par exemple, les points représentant des bâtiments ne sont généralement pas pertinents pour les points qui représentent des objets tels que les feux de circulation, les lignes électriques ou les voitures. Les points de bâtiments peuvent également être classés de manière fiable à l’aide de l’outil Classify LAS Building (Classer des bâtiments LAS). Si des points de classe 6, qui représentent des bâtiments, ont été exclus des données d’entraînement utilisées pour créer le modèle, le nuage de points en entrée doit également classer les points de bâtiments et ces derniers doivent être exclus de cet outil.

Paramètres

ÉtiquetteExplicationType de données
Définition de modèle en entrée

Modèles de classification de nuage de points et tailles de lot utilisés pendant l’évaluation.

Value Table
Nuage de points de référence

Nuage de points utilisé pour évaluer les modèles de classification.

LAS Dataset Layer; File
Dossier cible

Répertoire contenant les fichiers qui récapitulent les résultats de l’évaluation.

Folder
Nom de base

Préfixe de nom de fichier utilisé pour chacun des fichiers en sortie récapitulant les résultats de l’évaluation.

String
Limite de traitement
(Facultatif)

Entité surfacique qui délimite les parties du nuage de points de référence à utiliser pour évaluer les modèles de classification.

Feature Layer
Réappariement de classes du nuage de points
(Facultatif)

Les codes de classe provenant du nuage de points de référence doivent correspondre aux codes de classe des modèles à évaluer. Lorsque les codes de classe ne correspondent pas, utilisez ce paramètre pour associer les codes de classe qui diffèrent dans le nuage de points aux classes prises en charge dans les modèles à évaluer.

Value Table
Surface de référence
(Facultatif)

La surface raster sera utilisée pour attribuer des valeurs de hauteur relative à chaque point dans les données du nuage de points. Les points qui ne sont pas superposés au raster seront exclus de l’analyse.

Raster Layer
Codes de classe exclus
(Facultatif)

Codes de classe qui seront exclus du traitement. Vous pouvez spécifier n’importe quelle valeur comprise entre 0 et 255.

Long

Sortie obtenue

ÉtiquetteExplicationType de données
Matrices de confusion en sortie

Table au format CSV qui contient la matrice de confusion pour chaque code de classe de chaque modèle en entrée.

Text File
Statistiques de modèle en sortie

Table au format CSV qui récapitule les statistiques globales des modèles en entrée.

Text File
Statistiques de code de classe en sortie

Table au format CSV qui récapitule les statistiques pour chaque code de classe de chaque modèle en entrée.

Text File

arcpy.ddd.EvaluatePointCloudClassificationModel(in_trained_model, in_point_cloud, target_folder, base_name, {boundary}, {class_remap}, {reference_height}, {excluded_class_codes})
NomExplicationType de données
in_trained_model
[in_trained_model,...]

Modèles de classification de nuage de points et tailles de lot utilisés pendant l’évaluation.

Value Table
in_point_cloud

Nuage de points utilisé pour évaluer les modèles de classification.

LAS Dataset Layer; File
target_folder

Répertoire contenant les fichiers qui récapitulent les résultats de l’évaluation.

Folder
base_name

Préfixe de nom de fichier utilisé pour chacun des fichiers en sortie récapitulant les résultats de l’évaluation.

String
boundary
(Facultatif)

Entité surfacique qui délimite les parties du nuage de points de référence à utiliser pour évaluer les modèles de classification.

Feature Layer
class_remap
[class_remap,...]
(Facultatif)

Les codes de classe provenant du nuage de points de référence doivent correspondre aux codes de classe des modèles à évaluer. Lorsque les codes de classe ne correspondent pas, utilisez ce paramètre pour associer les codes de classe qui diffèrent dans le nuage de points aux classes prises en charge dans les modèles à évaluer.

Value Table
reference_height
(Facultatif)

La surface raster sera utilisée pour attribuer des valeurs de hauteur relative à chaque point dans les données du nuage de points. Les points qui ne sont pas superposés au raster seront exclus de l’analyse.

Raster Layer
excluded_class_codes
[excluded_class_codes,...]
(Facultatif)

Codes de classe qui seront exclus du traitement. Vous pouvez spécifier n’importe quelle valeur comprise entre 0 et 255.

Long

Sortie obtenue

NomExplicationType de données
out_confusion_matrices

Table au format CSV qui contient la matrice de confusion pour chaque code de classe de chaque modèle en entrée.

Text File
out_model_statistics

Table au format CSV qui récapitule les statistiques globales des modèles en entrée.

Text File
out_class_code_statistics

Table au format CSV qui récapitule les statistiques pour chaque code de classe de chaque modèle en entrée.

Text File

Exemple de code

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

L’exemple suivant illustre l’utilisation de cet outil dans la fenêtre Python :

import arcpy
arcpy.env.workspace = 'C:/data'
arcpy.ddd.EvaluatePointCloudUsingTrainedModel(
        ['Transmission_Power_Lines.dlpk', 'Distribution_Power_Lines.dlpk'], 
        'Classified_Power_Lines.lasd', 'D:/Evaluate_PointCNN_Models', 
        'Power_Line_Results_', 'test_boundary.shp', [[18, 14], [20, 14]])

Informations de licence

  • Basic: Nécessite 3D Analyst
  • Standard: Nécessite 3D Analyst
  • Advanced: Nécessite 3D Analyst

Rubriques connexes