Classer le nuage de points à l’aide du modèle entraîné (3D Analyst)

Synthèse

Classe un nuage de points à l’aide d’un modèle de Deep Learning.

Utilisation

  • Cet outil requiert l’installation des structures de Deep Learning.

    Pour configurer votre machine afin d’utiliser des structures d’apprentissage profond dans ArcGIS Pro, consultez la rubrique Installer les structures d’apprentissage profond pour ArcGIS.

  • L’outil classe par défaut tous les points du nuage de points en entrée. Si des codes de classe existants dans le nuage de points en entrée sont correctement classés, excluez ces points de la modification en indiquant les codes de classe à mettre à jour ou à conserver à l’aide des paramètres Gestion des codes de classe existants et Codes de classe existants.

    En savoir plus sur la classification d’un nuage de points avec le Deep Learning

  • Le nuage de points en entrée doit avoir les mêmes attributs que les données d’entraînement utilisées pour développer le modèle de classification. Par exemple, si le modèle entraîné utilisait l’attribut d’intensité, le nuage de points en cours de traitement doit également posséder des valeurs d’intensité. La densité et la distribution des points doivent également être similaires par rapport aux données utilisées lors de l’entraînement du modèle.

  • Si la référence spatiale du nuage de points en entrée n’utilise pas de système de coordonnées projetées, l’environnement Système de coordonnées en sortie peut être utilisé pour définir un système de coordonnées projetées qui sera utilisé pour la classification de ses points.

  • Le modèle est entraîné à traiter les données du nuage de points en blocs d’une taille donnée, qui contiennent un certain nombre de points et un ensemble d’attributs spécifique. Le nuage de points en entrée est traité en le divisant en blocs définis par le modèle. Plusieurs blocs peuvent être traités à tout moment. L’ensemble de blocs traités ensemble constitue un lot. La taille du lot contrôle la quantité de ressources informatiques utilisées au cours de l’inférence. Bien que le CPU puisse être utilisé pour traiter le nuage de points, l’inférence fonctionne plus efficacement avec un GPU NVIDIA compatible CUDA. Vous pouvez contrôler le nombre de blocs traités simultanément afin de limiter la quantité de mémoire du GPU consommée. Pour cela, spécifiez une valeur pour le paramètre Taille de lot. Évitez de fournir une taille de lot qui dépasse les ressources de l’ordinateur. La mémoire du GPU disponible avant et pendant l’exécution de l’outil est disponible dans l’utilitaire NVIDIA SMI (System Management Interface). Il s’agit d’un utilitaire de ligne de commande qui est automatiquement installé avec le pilote NVIDIA pour votre GPU. Cette application suit l’utilisation du GPU. Pour contrôler la quantité de mémoire qui reste disponible lors de l’exécution de l’outil, envisagez d’évaluer un sous-ensemble des données du nuage de points avec une petite taille de lot et d’augmenter de façon incrémentielle cette valeur jusqu’à ce que l’utilisation souhaitée soit atteinte. Vous pouvez également laisser l’outil optimiser automatiquement l’utilisation de la mémoire du GPU.

  • 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
Nuage de points cible

Nuage de points qui sera classé.

LAS Dataset Layer
Définition de modèle en entrée

Fichier de définition de modèle Esri en entrée (*.emd) ou paquetage de Deep Learning (*.dlpk) qui sera utilisé pour classer le nuage de points. Une URL peut également être utilisée pour un paquetage de Deep Learning publié sur ArcGIS Online ou sur ArcGIS Living Atlas.

File; String
Classification cible

Codes de classe issus du modèle entraîné qui seront utilisés pour classer le nuage de points en entrée. Toutes les classes du modèle en entrée seront utilisées par défaut sauf si un sous-ensemble est spécifié.

String
Gestion des codes de classe existants
(Facultatif)

Indique comment les points modifiables du nuage de points en entrée seront définis.

  • Mettre à jour tous les points
  • Mettre à jour les points sélectionnés
  • Conserver les points sélectionnés
String
Codes de classe existants
(Facultatif)

Classes dont les points sont mis à jour ou dont la désignation de code de classe d’origine est conservée en fonction de la valeur du paramètre Gestion des codes de classe existants.

Long
Calculer les statistiques
(Facultatif)

Détermine si des statistiques seront calculées pour les fichiers .las référencés par le jeu de données LAS. Le calcul des statistiques fournit un index spatial pour chaque fichier .las, ce qui améliore les performances d’analyse et d’affichage. Les statistiques améliorent également l’expérience de filtrage et de symbologie en limitant l’affichage des attributs LAS (par exemple, les codes de classification et les informations renvoyées) aux valeurs présentes dans le fichier .las.

  • Activé : les statistiques sont calculées. Il s’agit de l’option par défaut.
  • Désactivé : les statistiques ne sont pas calculées.
Boolean
Limite de traitement

Limite de polygone qui définit le sous-ensemble de points à traiter à partir du nuage de points en entrée. Les points situés en dehors des entités de limite ne seront pas évalués.

Feature Layer
Mettre à jour la pyramide
(Facultatif)

Détermine si la pyramide du jeu de données LAS sera mise à jour après la modification des codes de classe.

  • Activé : la pyramide de jeu de données LAS sera mise à jour. Il s’agit de l’option par défaut.
  • Désactivé : la pyramide de jeu de données LAS ne sera pas mise à jour.
Boolean
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
Taille de lot
(Facultatif)

Nombre de blocs de données du nuage de points qui sont traités simultanément lors de l’inférence. Généralement, plus la taille du lot est grande, plus le traitement des données est rapide. Évitez néanmoins d’utiliser une taille de lot trop grande pour les ressources de l’ordinateur. Lorsque vous utilisez le GPU, la mémoire du GPU disponible est la contrainte la plus courante en matière de taille de lot que l’ordinateur peut gérer. La mémoire utilisée par un bloc donné dépend des attributs de limite de points de bloc du modèle et de ses attributs de points requis. Pour connaître la mémoire du GPU disponible et pour en savoir plus sur l’évaluation de l’utilisation de la mémoire du GPU, utilisez l’utilitaire de ligne de commande NVIDIA SMI décrit à la section Utilisations.

Pour certaines architectures, une taille de lot optimale est calculée si la taille de lot n’est pas spécifiée. Lorsque vous utilisez le GPU, la taille de lot optimale est basée sur la quantité de mémoire consommée par un bloc de données spécifique et sur la quantité de mémoire du GPU disponible lors de l’exécution de l’outil. Lorsque le processeur est utilisé pour l’inférence, chaque bloc est traité sur un thread du processeur et la taille de lot optimale est calculée pour correspondre à la moitié des threads de processeur non utilisés et disponibles.

Long

Sortie obtenue

ÉtiquetteExplicationType de données
Nuage de points en sortie

Nuage de points classé par le modèle de Deep Learning.

Feature Layer

arcpy.ddd.ClassifyPointCloudUsingTrainedModel(in_point_cloud, in_trained_model, output_classes, {in_class_mode}, {target_classes}, {compute_stats}, boundary, {update_pyramid}, {reference_height}, {excluded_class_codes}, {batch_size})
NomExplicationType de données
in_point_cloud

Nuage de points qui sera classé.

LAS Dataset Layer
in_trained_model

Fichier de définition de modèle Esri en entrée (*.emd) ou paquetage de Deep Learning (*.dlpk) qui sera utilisé pour classer le nuage de points. Une URL peut également être utilisée pour un paquetage de Deep Learning publié sur ArcGIS Online ou sur ArcGIS Living Atlas.

File; String
output_classes
[output_classes,...]

Codes de classe issus du modèle entraîné qui seront utilisés pour classer le nuage de points en entrée. Toutes les classes du modèle en entrée seront utilisées par défaut sauf si un sous-ensemble est spécifié.

String
in_class_mode
(Facultatif)

Indique comment les points modifiables du nuage de points en entrée seront définis.

  • EDIT_ALLTous les points du nuage de points en entrée sont mis à jour. Il s’agit de l’option par défaut.
  • EDIT_SELECTEDSeuls les points dont les codes de classe sont spécifiés dans le paramètre target_classes sont mis à jour. Tous les autres points restent inchangés.
  • PRESERVE_SELECTEDLes points dont les codes de classe sont spécifiés dans le paramètre target_classes sont conservés. Les points restants sont mis à jour.
String
target_classes
[target_classes,...]
(Facultatif)

Classes dont les points sont mis à jour ou dont la désignation de code de classe d’origine est conservée en fonction de la valeur du paramètre in_class_mode.

Long
compute_stats
(Facultatif)

Détermine si des statistiques seront calculées pour les fichiers .las référencés par le jeu de données LAS. Le calcul des statistiques fournit un index spatial pour chaque fichier .las, ce qui améliore les performances d’analyse et d’affichage. Les statistiques améliorent également l’expérience de filtrage et de symbologie en limitant l’affichage des attributs LAS (par exemple, les codes de classification et les informations renvoyées) aux valeurs présentes dans le fichier .las.

  • COMPUTE_STATSLes statistiques sont calculées. Il s’agit de l’option par défaut.
  • NO_COMPUTE_STATSLes statistiques ne sont pas calculées.
Boolean
boundary

Limite de polygone qui définit le sous-ensemble de points à traiter à partir du nuage de points en entrée. Les points situés en dehors des entités de limite ne seront pas évalués.

Feature Layer
update_pyramid
(Facultatif)

Détermine si la pyramide du jeu de données LAS sera mise à jour après la modification des codes de classe.

  • UPDATE_PYRAMIDLa pyramide de jeu de données LAS sera mise à jour. Il s’agit de l’option par défaut.
  • NO_UPDATE_PYRAMIDLa pyramide de jeu de données LAS ne sera pas mise à jour.
Boolean
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
batch_size
(Facultatif)

Nombre de blocs de données du nuage de points qui sont traités simultanément lors de l’inférence. Généralement, plus la taille du lot est grande, plus le traitement des données est rapide. Évitez néanmoins d’utiliser une taille de lot trop grande pour les ressources de l’ordinateur. Lorsque vous utilisez le GPU, la mémoire du GPU disponible est la contrainte la plus courante en matière de taille de lot que l’ordinateur peut gérer. La mémoire utilisée par un bloc donné dépend des attributs de limite de points de bloc du modèle et de ses attributs de points requis. Pour connaître la mémoire du GPU disponible et pour en savoir plus sur l’évaluation de l’utilisation de la mémoire du GPU, utilisez l’utilitaire de ligne de commande NVIDIA SMI décrit à la section Utilisations.

Pour certaines architectures, une taille de lot optimale est calculée si la taille de lot n’est pas spécifiée. Lorsque vous utilisez le GPU, la taille de lot optimale est basée sur la quantité de mémoire consommée par un bloc de données spécifique et sur la quantité de mémoire du GPU disponible lors de l’exécution de l’outil. Lorsque le processeur est utilisé pour l’inférence, chaque bloc est traité sur un thread du processeur et la taille de lot optimale est calculée pour correspondre à la moitié des threads de processeur non utilisés et disponibles.

Long

Sortie obtenue

NomExplicationType de données
out_point_cloud

Nuage de points classé par le modèle de Deep Learning.

Feature Layer

Exemple de code

Exemple d’utilisation de la fonction ClassifyPointCloudUsingTrainedModel (script autonome)

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

import arcpy
arcpy.env.workspace = 'C:/data/'
arcpy.ddd.ClassifyPointCloudUsingTrainedModel(
    '2018_survey.lasd', 'electrical_infrastructure_classification.emd',
    [14, 15], 'EDIT_SELECTED', [0,1]
)

Informations de licence

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

Rubriques connexes