É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 Surface de référence est requis lorsque 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 les hauteurs relatives sont interpolées pour chaque point. Cela fournit des informations complémentaires pour le modèle qui permettent de distinguer plus rapidement les objets. La surface raster fournie pour ce paramètre doit représenter le même type de données que le raster qui a été utilisé dans les données d’entraînement à l’origine du modèle. Dans la plupart des cas, il s’agit d’un raster créé à partir de points classés comme terrestres. Une surface raster peut être générée à partir de points classés comme terrestres dans le jeu de données LAS en appliquant un filtre terrestre et en utilisant l’outil Jeu de données LAS vers raster. Il est également possible de générer une surface au sol à partir d’une couche de scène de nuage de points à l’aide de l’outil Nuage de points vers raster. Vous pouvez aussi utiliser des surfaces raster qui n’ont pas pour source le nuage de points en entrée, mais vous devez dans ce cas vous assurer que les valeurs z dans le raster correspondent aux valeurs z dans le nuage de points.

  • Lorsque le modèle en entrée a été entraîné avec des points issus de certaines classes exclues des données d’entraînement, utilisez le paramètre Codes de classe exclus pour faire en sorte que ces points soient omis de l’ensemble de points évalués par ce modèle. L’exclusion des classes qui n’apportent pas de contexte utile pour les objectifs d’un modèle donné réduit le nombre de points qui sont é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 représentant des objets tels que les feux de circulation, les lignes électriques ou les voitures. Il est également possible de classer avec fiabilité les points de bâtiment à l’aide de l’outil Classer des bâtiments LAS. Si des points de la classe 6, qui représente 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âtiment et les exclure dans 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)

Surface raster utilisée pour fournir des valeurs de hauteur relative pour chaque point dans les données de nuage de points. Les points qui ne sont pas superposés au raster sont exclus de l’analyse.

Raster Layer
Codes de classe exclus
(Facultatif)

Codes de classe 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)

Surface raster utilisée pour fournir des valeurs de hauteur relative pour chaque point dans les données de nuage de points. Les points qui ne sont pas superposés au raster sont exclus de l’analyse.

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

Codes de classe 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]])

Rubriques connexes