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

Resumen

Clasifica una nube de puntos con un modelo de aprendizaje profundo.

Uso

  • Esta herramienta requiere la instalación de 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 que los datos de entrenamiento utilizados para desarrollar el modelo de clasificación. Por ejemplo, si el modelo entrenado utilizó el atributo de intensidad, la nube de puntos que se está procesando también debe tener valores de intensidad. La densidad y la distribución de puntos también deben ser similares a los datos utilizados 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 modelo se entrena para procesar datos de nubes de puntos en bloques de un tamaño particular que contienen un determinado número de puntos y un conjunto dado de atributos. La nube de puntos de entrada se procesa dividiéndola en bloques definidos por el modelo. Se pueden procesar varios bloques en un momento dado. El conjunto de bloques que se procesan juntos se denomina lote. El tamaño del lote controla la cantidad de recursos informáticos que se utilizarán durante la operación de inferencia. Aunque la CPU puede utilizarse para procesar la nube de puntos, la inferencia se ejecuta de forma más eficiente con una GPU NVIDIA con capacidad CUDA. Puede controlar el número de bloques que se procesan simultáneamente para limitar la cantidad de memoria de la GPU que se consume especificando un valor en el parámetro Tamaño de lote. Evite especificar un tamaño de lote que exceda los recursos del equipo. La memoria disponible en la GPU antes y durante la ejecución de la herramienta puede observarse a través de la utilidad de interfaz de administración del sistema (SMI) de NVIDIA. Se trata de una utilidad de línea de comandos que se instala automáticamente con el controlador NVIDIA para su GPU. Esta aplicación realizará un seguimiento del uso de la GPU. Para controlar cuánta memoria queda disponible mientras se ejecuta la herramienta, considere la posibilidad de evaluar un subconjunto de los datos de la nube de puntos con un tamaño de lote pequeño y aumente progresivamente este valor hasta alcanzar el uso deseado. De lo contrario, puede dejar que la herramienta maximice automáticamente el uso de la memoria de la GPU.

  • El parámetro Superficie de referencia es necesario cuando el modelo de entrada se entrenó con atributos de altura relativa. La superficie ráster se utiliza como altura de referencia a partir de la cual se interpolan las alturas relativas para cada punto. Esto proporciona información adicional para el modelo que se puede utilizar para diferenciar objetos más fácilmente. La superficie ráster proporcionada para este parámetro debe representar el mismo tipo de datos que el ráster que se utilizó en los datos de entrenamiento que crearon el modelo. En la mayoría de los casos, será un ráster creado a partir de puntos clasificados de suelo. Se puede generar una superficie ráster a partir de los puntos clasificados de suelo en el dataset LAS aplicando un filtro de suelo y utilizando la herramienta De dataset LAS a 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.

  • Cuando el modelo de entrada ha sido entrenado con ciertas clases que se excluyeron de los datos de entrenamiento, utilice el parámetro Códigos de clase excluidos para asegurarse de omitir esos puntos del conjunto de puntos evaluados por este modelo. Excluir clases que no proporcionen un contexto útil para los objetivos de un modelo determinado reducirá la cantidad de puntos evaluados, lo que mejorará la velocidad de entrenamiento y aplicación del modelo. Por ejemplo, los puntos que representan edificios normalmente no tendrán relevancia para los puntos que representan objetos como semáforos, líneas eléctricas o automóviles. Los puntos de edificios también se pueden clasificar de forma fiable con la herramienta Clasificar edificio de LAS. Si los puntos con clase 6, que representan edificios, se excluyeron en los datos de entrenamiento que se utilizaron para crear el modelo, la nube de puntos de entrada también debe clasificar los puntos de construcción y excluirlos en esta herramienta.

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

El número de bloques de datos de nube de puntos que se procesará simultáneamente durante la operación de inferencia. Generalmente, un tamaño de lote mayor provocará un procesamiento más rápido de los datos, pero evite utilizar un tamaño de lote demasiado grande para los recursos del equipo. Cuando se utiliza la GPU, la memoria disponible en la GPU es la limitación más común del tamaño de lote que puede manipular el equipo. La memoria utilizada por un bloque determinado depende del límite de puntos del bloque del modelo y de los atributos de puntos requeridos. Para conocer la memoria disponible en la GPU y obtener más información sobre la evaluación del uso de la memoria de la GPU, utilice la utilidad de línea de comandos NVIDIA SMI descrita en la sección Usos.

Para determinadas arquitecturas, se calculará un tamaño de lote óptimo si no se especifica ninguno. Cuando se utiliza la GPU, el tamaño de lote óptimo se basará en la cantidad de memoria que consuma un bloque de datos determinado y en la cantidad de memoria de la GPU disponible libremente cuando se ejecute la herramienta. Cuando se utiliza la CPU para la inferencia, cada bloque se procesa en un hilo de la CPU, y se calcula que el tamaño óptimo del lote es la mitad de los hilos de la CPU disponibles y sin utilizar.

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

El número de bloques de datos de nube de puntos que se procesará simultáneamente durante la operación de inferencia. Generalmente, un tamaño de lote mayor provocará un procesamiento más rápido de los datos, pero evite utilizar un tamaño de lote demasiado grande para los recursos del equipo. Cuando se utiliza la GPU, la memoria disponible en la GPU es la limitación más común del tamaño de lote que puede manipular el equipo. La memoria utilizada por un bloque determinado depende del límite de puntos del bloque del modelo y de los atributos de puntos requeridos. Para conocer la memoria disponible en la GPU y obtener más información sobre la evaluación del uso de la memoria de la GPU, utilice la utilidad de línea de comandos NVIDIA SMI descrita en la sección Usos.

Para determinadas arquitecturas, se calculará un tamaño de lote óptimo si no se especifica ninguno. Cuando se utiliza la GPU, el tamaño de lote óptimo se basará en la cantidad de memoria que consuma un bloque de datos determinado y en la cantidad de memoria de la GPU disponible libremente cuando se ejecute la herramienta. Cuando se utiliza la CPU para la inferencia, cada bloque se procesa en un hilo de la CPU, y se calcula que el tamaño óptimo del lote es la mitad de los hilos de la CPU disponibles y sin utilizar.

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