É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 spécifié. Dans ce cas, vous devez définir la limite d’entraînement et la limite de validation. | LAS Dataset Layer; File |
Taille de bloc | Taille du diamètre de chaque tuile HDF5 circulaire 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 entraînement données en sortie (*.pctd). | File |
Entités de limite d’entraînement (Facultatif) | Les polygones de limite allant délimiter le sous-ensemble de points à partir du nuage de points en entrée seront utilisés pour entraîner le modèle d’apprentissage profond. | 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 spécifié, 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élimitent le sous-ensemble de points à utiliser pour la validation du modèle lors de l’entraînement. Si aucun nuage de points de validation n’est spécifié, les points sont issus du nuage de points en entrée. | 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. | 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 |
Synthèse
Génère les données destinées à être utilisées pour l’entraînement et la validation d’un modèle PointCNN dans le cadre de la classification d’un 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 éventuellement 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.
Lorsque vous entraînez le modèle de classification du nuage de points, créez les données d’entraînement en utilisant une taille de bloc qui capture suffisamment l’objet classé et les données pertinentes pour la capture du contexte associé environnant. Il n’est pas nécessaire que la taille de bloc capture la totalité de l’objet, à condition que les données environnantes soient suffisantes pour déduire de manière adéquate une stratégie de classification. Si un bloc contient un nombre de points supérieur à la limite de points du bloc, plusieurs blocs sont créés pour le même emplacement. Par exemple, si la valeur du paramètre Limite de points de bloc 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. Certains points sont répétés dans deux blocs, mais tous les points sont stockés au moins dans un bloc.
Évitez d’utiliser une limite de taille de bloc et de points de bloc qui entraîne la création de nombreux blocs dépassant la limite de points. Il est possible d’obtenir une approximation du nombre de points dans une taille de bloc donnée à l’aide de l’outil Statistiques de points LAS sous forme de raster en générant un raster en sortie qui utilise l’option Nombre de points du paramètre Méthode. Ce raster doit avoir une taille de cellule qui correspond à la taille de bloc souhaitée. Vous pouvez examiner l’histogramme d’image de ce raster pour avoir une approximation du nombre de blocs correspondant à une taille de bloc spécifique et ajuster la limite de points en conséquence.
La valeur du paramètre Limite de points de bloc doit également être un facteur de la capacité de mémoire GPU dédiée de l’ordinateur qui sera utilisé pour entraîner le modèle de Deep Learning. L’allocation de mémoire pendant l’entraînement dépend du nombre d’attributs utilisés, du nombre de points dans un bloc donné et du nombre total de blocs traités dans un lot d’itérations donné. Si une taille de bloc plus élevée et une limite de points plus importante sont nécessaires pour un entraînement efficace du modèle, il est possible de réduire la taille du lot lors de l’entraînement pour faire en sorte que davantage de points puissent être traités.
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.
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.
Une surface raster pouvant être utilisée en entrée du 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 à 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.
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. Cela 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 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 et 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 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.
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.
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 spécifié. Dans ce cas, vous devez définir la limite d’entraînement et la limite de validation. | LAS Dataset Layer; File |
block_size | Taille du diamètre de chaque tuile HDF5 circulaire 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 entraînement données en sortie (*.pctd). | File |
training_boundary (Facultatif) | Les polygones de limite allant délimiter le sous-ensemble de points à partir du nuage de points en entrée seront utilisés pour entraîner le modèle d’apprentissage profond. | 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 spécifié, 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élimitent le sous-ensemble de points à utiliser pour la validation du modèle lors de l’entraînement. Si aucun nuage de points de validation n’est spécifié, les points sont issus du nuage de points en entrée. | 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. | 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
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 ?