| Étiquette | Explication | Type 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 créé à partir du nuage de points en entrée. En règle générale, la taille du bloc doit être suffisante pour capturer les objets qui vous intéressent et leur contexte. | Linear Unit |
Données d’entraînement en sortie | Emplacement et nom des données d’entraînement en sortie (fichier *.pctd). | File |
Training Boundary Features (Entités de limite d’entraînement) (Facultatif) | Entités surfaciques qui délimitent le sous-ensemble de points du nuage de points en entrée utilisé pour entraîner le modèle. Ce paramètre est requis si la valeur du paramètre Validation Point Cloud (Nuage de points de validation) n’est pas fournie. | Feature Layer |
Validation Point Cloud (Nuage de points de validation) (Facultatif) | Nuage de points utilisé pour valider le modèle de Deep Learning lors de l’entraînement. Ce jeu de données doit faire référence à un ensemble de points autre que le 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, le nuage de points en entrée peut être utilisé pour définir les jeux de données d’entraînement et de validation en fournissant des classes d’entités surfaciques pour les paramètres Training Boundary Features (Entités de limite d’entraînement) et Validation Boundary Features (Entités de limite de validation). | LAS Dataset Layer; File |
Validation Boundary Features (Entités de limite de validation) (Facultatif) | Entités surfaciques qui délimitent 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 proviennent du nuage de points en entrée et un polygone est requis pour le paramètre Training Boundary Features (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) | 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 exclus des données d’entraînement. Vous pouvez spécifier n’importe quelle valeur comprise entre 0 et 255. | Long |
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.
La densité des points du nuage de points en entrée doit être assez cohérente. Évaluez le nuage de points pour déterminer s’il contient des emplacements avec une plus forte densité de points (par exemple, les zones collectées par les enquêtes de lignes de vol superposées ou les scanners terrestres inactifs). Pour un lidar aéroporté avec des lignes de vol superposées, l’outil Classify LAS Overlap (Classer LAS par superposition) permet de marquer les points superposés et d’obtenir une distribution des points plus cohérente. Les autres types de nuages de points avec des points chauds suréchantillonnés peuvent être affinés dans une distribution standard à l’aide de l’outil Thin LAS (LAS fin).
Des points du nuage de points peuvent être exclus des données d’entraînement en fonction de leurs codes de classe pour améliorer les performances d’entraînement du modèle en réduisant le nombre de points à traiter. Les points exclus doivent appartenir à des classes qui peuvent être facilement classées et ne fournissent pas nécessairement un contexte adéquat aux objets pour lesquels le modèle est entraîné. Envisagez d’éliminer les points classés comme superposition ou bruit. Les points classés comme terrestres peuvent également être éliminés si la hauteur par rapport au sol est calculée lors 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 également refléter la taille de bloc et l’espacement moyen des points des données. Le nombre de points dans un bloc donné peut être estimé par approximation à l’aide de l’outil LAS Point Statistics As Raster (Statistiques de point LAS en tant que raster) avec l’option Point Count (Nombre de points) du paramètre Method (Méthode) et 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 transmet un grand nombre de blocs de variance étendue, cela peut indiquer la présence de données échantillonnées de manière irrégulière contenant des points chauds potentiels de collections de points de forte densité. Si un bloc contient plus de points que la limite de points de bloc, ce bloc est créé plusieurs fois pour que tous ses points soient 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 pour garantir un échantillonnage uniforme dans chaque bloc. Il faut également éviter une limite de points de bloc considérablement 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 atteindre la limite de points. Pour ces raisons, utilisez une taille de bloc et une limite de points de bloc proches du nombre de points anticipé qui couvre la plupart des blocs dans les données d’entraînement. Une fois que les données d’entraînement ont été créées, un histogramme est affiché dans la fenêtre des messages de l’outil et une image de cet histogramme est stockée dans le dossier contenant les données d’entraînement et de validation. Cet histogramme peut être examiné pour déterminer si une combinaison appropriée de taille de bloc et de limite de points a été spécifiée. Si les valeurs indiquent une limite de points non optimale, exécutez à nouveau l’outil avec une valeur plus appropriée pour le paramètre Block Point Limit (Limite de points de bloc).
-
Vérifiez que la sortie est enregistrée dans un emplacement disposant d’un espace disque suffisant pour contenir les données d’entraînement. Cet outil crée des blocs partiellement superposés de fichiers HDF5 non compressés qui répliquent chaque point dans quatre blocs. Dans les blocs qui dépassent la limite de points de bloc, 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 source du nuage de points.
Paramètres
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})| Nom | Explication | Type 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 créé à partir du nuage de points en entrée. En règle générale, la taille du bloc doit être suffisante pour capturer les objets qui vous intéressent et leur contexte. | 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élimitent le sous-ensemble de points du nuage de points en entrée utilisé pour entraîner le modèle. Ce paramètre est requis si la valeur du paramètre validation_point_cloud n’est pas fournie. | Feature Layer |
validation_point_cloud (Facultatif) | Source du nuage de points utilisée pour valider le modèle de Deep Learning. Ce jeu de données doit faire référence à un ensemble de points autre que le 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, le nuage de points en entrée peut être utilisé pour définir les jeux de données d’entraînement et de validation en fournissant des classes d’entités surfaciques pour les paramètres training_boundary et validation_boundary. | LAS Dataset Layer; File |
validation_boundary (Facultatif) | Entités surfaciques qui délimitent 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 proviennent 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) | 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 exclus des données d’entraînement. Vous pouvez spécifier n’importe quelle valeur comprise entre 0 et 255. | Long |
Exemple de code
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])Environnements
Informations de licence
- Basic: Nécessite 3D Analyst
- Standard: Nécessite 3D Analyst
- Advanced: Nécessite 3D Analyst
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?