Clasificar nube de puntos con modelo entrenado (3D Analyst)

Resumen

Clasifica una nube de puntos mediante un modelo de clasificación PointCNN.

Uso

  • Esta herramienta utiliza la implementación PointCNN utilizando marcos de aprendizaje profundo.

    Para configurar su equipo para usar marcos de aprendizaje profundo en ArcGIS Pro, consulte Instalar marcos de aprendizaje profundo para ArcGIS.

  • La herramienta clasifica de forma predeterminada todos los puntos de la nube de puntos de entrada. Si alguno de los códigos de clase existentes en la nube de puntos de entrada está clasificado correctamente, excluya esos puntos para que no se modifiquen indicando qué códigos de clase se deben editar o conservar utilizando los parámetros Manejo de códigos de clase existentes y Códigos de clase existentes.

    Más información sobre la clasificación de una nube de puntos con aprendizaje profundo

  • La nube de puntos de entrada debe tener los mismos atributos con rangos de valores similares a los datos de entrenamiento utilizados para desarrollar el modelo de clasificación. Por ejemplo, si el modelo entrenado utilizó el atributo de intensidad con un rango de valores específico, la nube de puntos debe tener valores de intensidad en el mismo rango. La densidad y la distribución de puntos también deben ser similares a los datos que se utilizaron al entrenar el modelo.

  • Si la referencia espacial de la nube de puntos de entrada no utiliza un sistema de coordenadas proyectadas, se puede utilizar el entorno Sistema de coordenadas de salida para definir un sistema de coordenadas proyectadas que se utilizará al clasificar sus puntos.

  • El parámetro Superficie de referencia es una entrada necesaria cuando se utiliza un modelo de clasificación entrenado con información de altura de referencia. El ráster proporcionado para este parámetro se utiliza para obtener el atributo de altura relativa de cada punto superpuesto. El atributo se calcula tomando el valor z de cada punto y restando la altura obtenida del ráster mediante la interpolación bilineal. Esta información ayuda a diferenciar los objetos asociados con clases que tienen un rango distintivo de alturas relativas de la superficie ráster, lo que permite diferenciarlos con mayor facilidad. Cuando se entrena el modelo con información de altura relativa, la superficie ráster que se proporciona como entrada para la clasificación se debe basar en el mismo tipo de puntos. Si el ráster que se utilizó para incorporar la altura relativa durante el entrenamiento se basó en puntos clasificados del suelo, proporcione el mismo tipo de ráster para esta herramienta. Para los datasets LAS que representan levantamientos topográficos exteriores, la fuente de información de altura relativa más habitual será puntos clasificados del suelo de la misma nube de puntos. Es posible generar una superficie ráster a partir de puntos clasificados del suelo filtrando el dataset LAS de sus propiedades de capa y utilizando la herramienta De dataset LAS a ráster. Si la herramienta se utiliza en Python, se puede utilizar Crear capa de dataset LAS para filtrar por los puntos deseados antes de crear el ráster. También es posible generar una superficie de suelo a partir de una capa de escena de nube de puntos con la herramienta De nube de puntos a ráster. Las superficies ráster que no proceden de la nube de puntos de entrada también se pueden utilizar, pero debe asegurarse de que los valores z del ráster correspondan correctamente con los valores z de la nube de puntos.

Parámetros

EtiquetaExplicaciónTipo de datos
Nube de puntos de destino

La nube de puntos que se clasificará.

LAS Dataset Layer
Definición de modelo de entrada

El archivo de definición de modelo de Esri (*.emd) o el paquete de aprendizaje profundo (*.dlpk) de entrada que se utilizará para clasificar la nube de puntos. También se puede utilizar una dirección web para un paquete de aprendizaje profundo publicado en ArcGIS Online o ArcGIS Living Atlas.

File; String
Clasificación de destino

Los códigos de clase del modelo entrenado que se usarán para clasificar la nube de puntos de entrada. Todas las clases del modelo de entrada se utilizarán de forma predeterminada a menos que se especifique un subconjunto.

String
Manejo de códigos de clase existentes
(Opcional)

Especifica cómo se definirán los puntos editables de la nube de puntos de entrada.

  • Editar todos los puntos
  • Editar puntos seleccionados
  • Conservar puntos seleccionados
String
Códigos de clase existentes
(Opcional)

Las clases para las que se editarán los puntos o se conservará su designación de código de clase original en función del valor del parámetro Manejo de códigos de clase existentes.

Long
Calcular estadísticas
(Opcional)

Especifica si las estadísticas se calcularán para los archivos .las a los que hace referencia el dataset LAS. Calcular estadísticas proporciona un índice espacial para cada archivo .las, lo que mejora el análisis y el rendimiento de la visualización. Las estadísticas también mejoran la experiencia de filtrado y simbología al limitar la visualización de los atributos LAS, como los códigos de clasificación y la información de retorno, a los valores presentes en el archivo .las.

  • Activado: se calcularán las estadísticas. Esta es la opción predeterminada.
  • Desactivada: no se calcularán las estadísticas.
Boolean
Límite de procesamiento

El límite del polígono que define el subconjunto de puntos que se van a procesar de la nube de puntos de entrada. Los puntos que queden fuera de las entidades de límite no se evaluarán.

Feature Layer
Actualizar pirámide
(Opcional)

Especifica si la pirámide de dataset LAS se actualizará después de modificar los códigos de clase.

  • Activado: se actualizará la pirámide de dataset LAS. Esta es la opción predeterminada.
  • Desactivado: no se actualizará la pirámide de dataset LAS.
Boolean
Superficie de referencia
(Opcional)

La superficie ráster que se utilizará para proporcionar valores de altura relativa para cada punto en los datos de nube de puntos. Los puntos que no se superpongan con el ráster se omitirán del análisis.

Raster Layer
Códigos de clase excluidos
(Opcional)

Los códigos de clase que se excluirán del procesamiento. Se puede especificar cualquier valor del rango de 0 a 255.

Long
Tamaño de lote
(Opcional)

Los bloques de datos de nube de puntos que procesará simultáneamente la red neuronal durante la operación de inferencia. Cuando no se especifica ningún valor, el tamaño de lote óptimo se calculará en función de la memoria de GPU disponible. La cantidad de memoria de GPU utilizada por un bloque determinado depende del límite de puntos de bloque y de los atributos de nube de puntos requeridos por el modelo.

Long

Salida derivada

EtiquetaExplicaciónTipo de datos
Nube de puntos de salida

La nube de puntos que clasificó el modelo de aprendizaje profundo.

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})
NombreExplicaciónTipo de datos
in_point_cloud

La nube de puntos que se clasificará.

LAS Dataset Layer
in_trained_model

El archivo de definición de modelo de Esri (*.emd) o el paquete de aprendizaje profundo (*.dlpk) de entrada que se utilizará para clasificar la nube de puntos. También se puede utilizar una dirección web para un paquete de aprendizaje profundo publicado en ArcGIS Online o ArcGIS Living Atlas.

File; String
output_classes
[output_classes,...]

Los códigos de clase del modelo entrenado que se usarán para clasificar la nube de puntos de entrada. Todas las clases del modelo de entrada se utilizarán de forma predeterminada a menos que se especifique un subconjunto.

String
in_class_mode
(Opcional)

Especifica cómo se definirán los puntos editables de la nube de puntos de entrada.

  • EDIT_ALLSe editarán todos los puntos de la nube de puntos de entrada. Esta es la opción predeterminada.
  • EDIT_SELECTEDSolo se editarán los puntos con códigos de clase especificados en el parámetro target_classes; el resto de puntos permanecerán sin cambios.
  • PRESERVE_SELECTEDLos puntos con códigos de clase especificados en el parámetro target_classes se conservarán; el resto de puntos se editarán.
String
target_classes
[target_classes,...]
(Opcional)

Las clases para las que se editarán los puntos o se conservará su designación de código de clase original en función del valor del parámetro in_class_mode.

Long
compute_stats
(Opcional)

Especifica si las estadísticas se calcularán para los archivos .las a los que hace referencia el dataset LAS. Calcular estadísticas proporciona un índice espacial para cada archivo .las, lo que mejora el análisis y el rendimiento de la visualización. Las estadísticas también mejoran la experiencia de filtrado y simbología al limitar la visualización de los atributos LAS, como los códigos de clasificación y la información de retorno, a los valores presentes en el archivo .las.

  • COMPUTE_STATSSe calcularán las estadísticas. Esta es la opción predeterminada.
  • NO_COMPUTE_STATSNo se calcularán las estadísticas.
Boolean
boundary

El límite del polígono que define el subconjunto de puntos que se van a procesar de la nube de puntos de entrada. Los puntos que queden fuera de las entidades de límite no se evaluarán.

Feature Layer
update_pyramid
(Opcional)

Especifica si la pirámide de dataset LAS se actualizará después de modificar los códigos de clase.

  • UPDATE_PYRAMIDSe actualizará la pirámide de dataset LAS. Esta es la opción predeterminada.
  • NO_UPDATE_PYRAMIDNo se actualizará la pirámide de dataset LAS.
Boolean
reference_height
(Opcional)

La superficie ráster que se utilizará para proporcionar valores de altura relativa para cada punto en los datos de nube de puntos. Los puntos que no se superpongan con el ráster se omitirán del análisis.

Raster Layer
excluded_class_codes
[excluded_class_codes,...]
(Opcional)

Los códigos de clase que se excluirán del procesamiento. Se puede especificar cualquier valor del rango de 0 a 255.

Long
batch_size
(Opcional)

Los bloques de datos de nube de puntos que procesará simultáneamente la red neuronal durante la operación de inferencia. Cuando no se especifica ningún valor, el tamaño de lote óptimo se calculará en función de la memoria de GPU disponible. La cantidad de memoria de GPU utilizada por un bloque determinado depende del límite de puntos de bloque y de los atributos de nube de puntos requeridos por el modelo.

Long

Salida derivada

NombreExplicaciónTipo de datos
out_point_cloud

La nube de puntos que clasificó el modelo de aprendizaje profundo.

Feature Layer

Muestra de código

Ejemplo de ClassifyPointCloudUsingTrainedModel (script independiente)

En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.

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

Información de licenciamiento

  • Basic: Requiere 3D Analyst
  • Standard: Requiere 3D Analyst
  • Advanced: Requiere 3D Analyst

Temas relacionados