É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 si vous utilisez un modèle de classification qui a été entraîné avec des informations de hauteur de référence. Le raster fourni pour ce paramètre est utilisé pour déduire l’attribut de hauteur relative pour chaque point superposé. L’attribut est calculé en prenant la valeur z de chaque point et en soustrayant la hauteur obtenue à partir du raster grâce à l’interpolation bilinéaire. Ces informations vous permettent de différencier plus facilement les objets associés à des classes dotées de plages distinctes de hauteurs relatives par rapport à la surface raster. Lorsque le modèle est entraîné avec des informations de hauteur relative, la surface raster fournie en entrée pour la classification doit être basée sur le même type de point. Si le raster utilisé pour l’intégration de la hauteur relative au cours de l’entraînement est basé sur des points classés comme terrestres, indiquez le même type de raster pour cet outil. Dans le cas de jeux de données LAS représentant des arpentages extérieurs, la source standard des informations de hauteur relative est composée de points classés comme terrestres provenant du même nuage de points. Une surface raster peut être générée à partir des points classés comme terrestres en filtrant le jeu de données LAS à partir de ses propriétés de couche et à l’aide de l’outil Jeu de données LAS vers raster. Si l’outil est utilisé dans Python, vous pouvez faire appel à l’outil Créer une couche de jeu de données LAS pour filtrer les points souhaités avant de créer le 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.

  • Si vous utilisez un modèle de classification entraîné avec certaines classes exclues du modèle, utilisez le paramètre Codes de classe exclus pour faire en sorte que ces mêmes points soient omis de l’ensemble de points évalués par le modèle. Cela signifie que les points exclus doivent être classés ou évalués dans le nuage de points avant l’exécution de cet outil. L’exclusion des classes qui n’apportent pas de contexte utile pour la déduction de la classification des objets d’intérêt permet d’accélérer l’entraînement et le processus de déduction en réduisant le nombre de points évalués. Par exemple, les points classés en tant que bâtiments sont généralement sans importance lors de l’entraînement d’un modèle de classification pour des objets tels que des feux de signalisations, des lignes haute tension ou des ressources de voies ferrées. Il est également possible de classer 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 lors de l’entraînement du modèle, vous devez classer les points de bâtiment dans les nuages de points qui utilisent ce modèle pour classer d’autres objets d’intérêt.

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]])

Informations de licence

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

Rubriques connexes