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

Spécifie si des statistiques seront calculées pour les fichiers .las référencés par le jeu de données LAS. Les statistiques de calcul fournissent un index spatial pour chaque fichier .las, ce qui contribue à améliorer 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)

Spécifie si la pyramide du jeu de données LAS est mise à jour après la modification des codes de classe.

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

Spécifie si des statistiques seront calculées pour les fichiers .las référencés par le jeu de données LAS. Les statistiques de calcul fournissent un index spatial pour chaque fichier .las, ce qui contribue à améliorer 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)

Spécifie si la pyramide du jeu de données LAS est mise à jour après la modification des codes de classe.

  • UPDATE_PYRAMIDLa pyramide du jeu de données LAS est mise à jour. Il s’agit de l’option par défaut.
  • NO_UPDATE_PYRAMIDLa pyramide du jeu de données LAS n’est pas mise à jour.
Boolean
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
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