Préparer les données d’entraînement du nuage de points (3D Analyst)

Synthèse

Génère les données destinées à être utilisées pour l’entraînement et la validation d’un modèle de classification du nuage de points.

Utilisation

  • Examinez le nuage de points en entrée afin de vérifier que ses points sont correctement classés pour les objets d’intérêt. La qualité du modèle de classification dépend de la qualité des données utilisées pour l’entraînement et la validation. Si vous devez affiner la classification du nuage de points, vous pouvez envisager de mettre à jour la classification des points de manière interactive.

    En savoir plus sur la mise à jour interactive de la classification LAS

  • Les données d’entraînement du nuage de points sont définies par un répertoire doté d’une extension .pctd et de deux sous-répertoires, un contenant les données qui seront utilisées pour l’entraînement du modèle de classification et l’autre incluant les données qui seront utilisées pour la validation du modèle entraîné. Un nuage de points en entrée doit toujours être spécifié car il indique la source des données utilisées pour l’entraînement. Vous pouvez définir la limite d’entraînement afin de limiter les points exportés pour l’entraînement. Les données de validation sont également requises et peuvent être spécifiées en procédant de l’une des manières suivantes :

    • Indiquez un nuage de points de validation. Ce jeu de données doit référencer un ensemble de points différent du nuage de points en entrée.
    • Indiquez un nuage de points de validation avec une limite de validation. Cela entraîne la création des données de validation à partir de la portion du nuage de points de validation superposée à la limite de validation.
    • Indiquez une limite d’entraînement et une limite de validation sans nuage de points de validation. Les données d’entraînement sont alors créées à partir des portions du nuage de points en entrée qui intersectent la limite d’entraînement et le nuage de points de validation est créé à partir des portions du nuage de points en entrée qui intersectent la limite de validation. Les entités de limite ne doivent pas se chevaucher.
  • Le nuage de points en entrée doit présenter une densité de points relativement homogène. Évaluez le nuage de points pour déterminer s’il contient des emplacements avec une densité de points plus élevée, par exemple les zones collectées par des levés de lignes de vol superposées ou des scanners terrestres inactifs. Pour le lidar aéroporté avec des lignes de vol superposées, l’outil Classer la superposition LAS permet de signaler les points superposés et de parvenir à une distribution plus homogène des points. D’autres types de nuages de points avec des points chauds sur-échantillonnés peuvent être affinés en distribution régulière à l’aide de l’outil LAS fin.

  • Des points du nuage de points peuvent être exclus des données d’entraînement en fonction de leurs codes de classe afin d’améliorer les performances d’entraînement du modèle en réduisant le nombre de points qui doivent être traités. Les points exclus doivent appartenir à des classes qui peuvent être facilement classées et qui n’offrent pas nécessairement le contexte approprié aux objets pour lesquels le modèle est entraîné. Vous pouvez éliminer les points classés comme superposés ou bruit. Les points classés comme terrestres peuvent également être éliminés si la hauteur à partir du sol est calculée au cours de la génération des données d’entraînement.

  • Il est possible d’intégrer des informations de hauteur de référence dans les données d’entraînement afin de fournir un attribut supplémentaire au processus d’entraînement. Pour ce faire, spécifiez un raster dans le paramètre Surface de référence. Ce raster permet de 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. L’intégration de ces informations permet de différencier les objets qui ont une plage distincte de hauteur relative par rapport à la surface raster. Cela fournit également une autre base au réseau neuronal pour la déduction des relations directionnelles. Ainsi, dans le cas d’un entraînement concernant des lignes à haute tension, si vous utilisez un raster d’élévation du sol comme surface de référence, les points des lignes à haute tension sont susceptibles de figurer dans une plage particulière de hauteurs relatives situées au-dessus du sol. De plus, lorsque la hauteur de référence est supposée être basée sur l’élévation du sol, elle peut offrir un prétexte à l’élimination de l’inclusion des points terrestres dans les données d’entraînement lorsque leur présence ne fournit pas un contexte suffisant à l’identification des objets d’intérêt. Le réseau neuronal tente d’apprendre la classification de toutes les données qui lui sont fournies pendant l’entraînement. Puisqu’il est possible d’obtenir une classification du sol de haute qualité avec l’outil Classer le sol LAS, il n’est pas nécessaire d’entraîner le réseau neuronal pour identifier et distinguer les points terrestres des autres classes. Vous pouvez exclure les points terrestres, généralement représentés par la classe 2 et parfois par les classes 8 et 20, en les indiquant dans le paramètre Codes de classe exclus. Une fois cette opération terminée, le réseau neuronal traite les données plus rapidement, car les points terrestres constituent généralement environ la moitié du nombre total de points capturés dans un levé lidar.

  • La surface raster utilisée en entrée pour le paramètre Surface de référence peut être générée à partir d’un sous-ensemble de points LAS, tels que des points classés comme terrestres, en filtrant le jeu de données LAS et en utilisant l’outil Jeu de données LAS vers raster. Le sous-ensemble souhaité de points provenant du jeu de données LAS peut être filtré à l’aide d’une combinaison de codes de classification, de valeurs renvoyées et d’indicateurs de classification. Les filtres de points peuvent être appliqués par l'intermédiaire de la boîte de dialogue des propriétés de la couche du jeu de données LAS ou de l’outil Créer une couche de jeu de données LAS. Il est également possible de générer une surface raster à partir d’une couche de scène de nuage de points à l’aide de l’outil Nuage de points vers raster.

  • Vous pouvez utiliser le paramètre Codes de classe exclus pour omettre les points associés à des codes de classe qui ne fournissent pas de contexte utile pour la déduction du mode d’identification des objets d’intérêt. Leur omission permet d’accélérer le processus d’entraînement en réduisant le nombre de points évalués. Par exemple, les points classés en tant que bâtiments ne sont généralement pas pertinents pour entraîner un modèle de classification relatif à des objets tels que les feux de circulation, les lignes électriques et d’autres ressources. Il est également possible de classer avec fiabilité les points de bâtiment à l’aide de l’outil Classer des bâtiments LAS. Si vous spécifiez la classe 6, qui représente des bâtiments, comme étant une classe exclue, les points de bâtiment sont omis des données d’entraînement. Les classes exclues utilisées pour l’entraînement d’un modèle doivent être classées pour tous les nuages de points avant l’application du modèle. Ces classes doivent également être indiquées dans le paramètre Codes de classe exclus des outils Classer le nuage de points à l’aide du modèle entraîné et Évaluer les données d’entraînement du nuage de points pour que le modèle puisse déduire sa classification avec un nuage de points qui correspond aux caractéristiques des données utilisées pour l’entraînement du modèle.

  • La limite de points de bloc doit refléter la taille de bloc et l’espacement moyen des points des données. Il est possible d’obtenir une approximation du nombre de points dans un bloc donné à l’aide de l’outil Statistiques de points LAS en tant que raster avec l’option Nombre de points du paramètre Méthode et de la taille de bloc souhaitée comme taille de cellule du raster en sortie. Un histogramme d’image de ce raster peut illustrer la distribution des points par bloc dans le jeu de données. Si l’histogramme indique un grand nombre de blocs avec une variance élevée, cela peut indiquer la présence de données échantillonnées irrégulièrement contenant des points chauds potentiels de collections de points denses. Si un bloc contient un nombre de points supérieur à la limite de points du bloc, ce bloc sera créé plusieurs fois pour s’assurer que tous ses points sont représentés dans les données d’entraînement. Par exemple, si la limite de points est de 10 000 et qu’un bloc donné contient 22 000 points, trois blocs de 10 000 points sont créés, garantissant ainsi l’échantillonnage uniforme dans chaque bloc. Il convient également d’éviter une limite de points de bloc qui est beaucoup plus élevée que le nombre nominal de points dans la plupart des blocs. Dans certaines architectures, les données sont sur-échantillonnées pour parvenir à la limite de points. Utilisez par conséquent une taille de bloc et une limite de points de bloc qui soient proches du nombre de points anticipé couvrant la majeure partie des blocs dans les données d’entraînement. Une fois les données d’entraînement créées, un histogramme s’affiche dans la fenêtre de message de l’outil et une image le représentant est stockée dans le dossier contenant les données d’entraînement et de validation. Vous pouvez examiner cet histogramme pour déterminer si une combinaison de taille de bloc et de limite de points appropriée a été spécifiée. Si les valeurs indiquent une limite de points qui n’est pas optimale, relancez l’outil avec une valeur plus appropriée pour le paramètre Limite de points de bloc.

  • Vérifiez que la sortie est écrite à un emplacement disposant de suffisamment d’espace disque pour tenir compte des données d’entraînement. Cet outil crée des blocs partiellement superposés de fichiers HDF5 décompressés qui répliquent chaque point dans quatre blocs. Dans les blocs qui dépassent la limite de points maximale, certains points peuvent être dupliqués plus de quatre fois. Les données d’entraînement résultantes peuvent occuper au moins trois fois plus d’espace disque que les données de nuage de points sources.

Paramètres

ÉtiquetteExplicationType de données
Nuage de points en entrée

Nuage de points qui sera utilisé pour créer les données d’entraînement et éventuellement les données de validation si aucun nuage de points de validation n’est fourni. Dans ce cas, vous devez définir la limite d’entraînement et la limite de validation.

LAS Dataset Layer; File
Taille de bloc

Diamètre de chaque bloc de données d’entraînement qui sera créée à partir du nuage de points en entrée. En règle générale, la taille de bloc doit être assez grande pour capturer les objets d’intérêt et leur contexte environnant.

Linear Unit
Données d’entraînement en sortie

Emplacement et nom des données d’entraînement en sortie (fichier *.pctd).

File
Entités de limite d’entraînement
(Facultatif)

Entités surfaciques qui délimiteront le sous-ensemble de points à partir du nuage de points en entrée qui sera utilisé pour entraîner le modèle. Ce paramètre est requis lorsque la valeur du paramètre Nuage de points de validation n’est pas fournie.

Feature Layer
Nuage de points de validation
(Facultatif)

Nuage de points utilisé pour la validation du modèle de Deep Learning pendant l’entraînement. Ce jeu de données doit référencer un ensemble de points différent du nuage de points en entrée pour garantir la qualité du modèle entraîné. Si aucun nuage de points de validation n’est fourni, vous pouvez utiliser le nuage de points en entrée pour définir les jeux de données d’entraînement et de validation en indiquant des classes d’entités surfaciques dans les paramètres Entités de limite d’entraînement et Entités de limite de validation.

LAS Dataset Layer; File
Entités de limite de validation
(Facultatif)

Entités surfaciques qui délimiteront le sous-ensemble de points à utiliser pour valider le modèle lors de l’entraînement. Si aucun nuage de points de validation n’est fourni, les points sont issus du nuage de points en entrée et un polygone est requis pour le paramètre Entités de limite d’entraînement.

Feature Layer
Filtrer les blocs par code de classes
(Facultatif)

Codes de classe utilisés pour limiter les blocs de données d’entraînement exportés. Tous les points situés dans les blocs qui contiennent au moins l’une des valeurs répertoriées pour ce paramètre sont exportés, à l’exception des classes spécifiées dans le paramètre Codes de classe exclus ou des points marqués comme Retenus. Vous pouvez spécifier n’importe quelle valeur comprise entre 0 et 255.

Value Table
Limite de points de bloc
(Facultatif)

Nombre maximal de points autorisés dans chaque bloc des données d’entraînement. Lorsqu’un bloc contient un nombre de points supérieur à cette valeur, plusieurs blocs sont créés pour le même emplacement, garantissant ainsi l’utilisation de tous les points lors de l’entraînement. La valeur par défaut est de 8,192.

Long
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 des données d’entraînement. Vous pouvez spécifier n’importe quelle valeur comprise entre 0 et 255.

Long

arcpy.ddd.PreparePointCloudTrainingData(in_point_cloud, block_size, out_training_data, {training_boundary}, {validation_point_cloud}, {validation_boundary}, {class_codes_of_interest}, {block_point_limit}, {reference_height}, {excluded_class_codes})
NomExplicationType de données
in_point_cloud

Nuage de points qui sera utilisé pour créer les données d’entraînement et éventuellement les données de validation si aucun nuage de points de validation n’est fourni. Dans ce cas, vous devez définir la limite d’entraînement et la limite de validation.

LAS Dataset Layer; File
block_size

Diamètre de chaque bloc de données d’entraînement qui sera créée à partir du nuage de points en entrée. En règle générale, la taille de bloc doit être assez grande pour capturer les objets d’intérêt et leur contexte environnant.

Linear Unit
out_training_data

Emplacement et nom des données d’entraînement en sortie (fichier *.pctd).

File
training_boundary
(Facultatif)

Entités surfaciques qui délimiteront le sous-ensemble de points à partir du nuage de points en entrée qui sera utilisé pour entraîner le modèle. Ce paramètre est requis lorsque la valeur du paramètre validation_point_cloud n’est pas fournie.

Feature Layer
validation_point_cloud
(Facultatif)

Source du nuage de points qui sera utilisé pour valider le modèle de Deep Learning. Ce jeu de données doit référencer un ensemble de points différent du nuage de points en entrée pour garantir la qualité du modèle entraîné. Si aucun nuage de points de validation n’est fourni, vous pouvez utiliser le nuage de points en entrée pour définir les jeux de données d’entraînement et de validation en indiquant des classes d’entités surfaciques dans les paramètres training_boundary et validation_boundary.

LAS Dataset Layer; File
validation_boundary
(Facultatif)

Entités surfaciques qui délimiteront le sous-ensemble de points à utiliser pour valider le modèle lors de l’entraînement. Si aucun nuage de points de validation n’est fourni, les points sont issus du nuage de points en entrée et un polygone est requis pour le paramètre training_boundary.

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

Codes de classe utilisés pour limiter les blocs de données d’entraînement exportés. Tous les points situés dans les blocs qui contiennent au moins l’une des valeurs répertoriées pour ce paramètre sont exportés, à l’exception des classes spécifiées dans le paramètre excluded_class_codes ou des points marqués comme Retenus. Vous pouvez spécifier n’importe quelle valeur comprise entre 0 et 255.

Value Table
block_point_limit
(Facultatif)

Nombre maximal de points autorisés dans chaque bloc des données d’entraînement. Lorsqu’un bloc contient un nombre de points supérieur à cette valeur, plusieurs blocs sont créés pour le même emplacement, garantissant ainsi l’utilisation de tous les points lors de l’entraînement. La valeur par défaut est de 8,192.

Long
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 des données d’entraînement. Vous pouvez spécifier n’importe quelle valeur comprise entre 0 et 255.

Long

Exemple de code

Exemple d’utilisation de l’outil PreparePointCloudTrainingData (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.PreparePointCloudTrainingData('training_source.lasd', '35 Meters', 'vegetation_training.pctd', 
                                        validation_point_cloud='validation_source.lasd', 
                                        class_codes_of_interest=[14, 15], block_point_limit=12000,
                                        reference_height='Ground_Elevation.tif', 
                                        excluded_class_codes=[2, 6, 8, 9, 20])

Informations de licence

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

Rubriques connexes