Evaluar modelo de clasificación de nube de puntos (3D Analyst)

Resumen

Evalúa la calidad de uno o varios modelos de clasificación de nube de puntos utilizando una nube de puntos bien clasificada como línea base para comparar los resultados de clasificación obtenidos en cada modelo.

Uso

  • Para obtener los mejores resultados de evaluación, la nube de puntos de referencia debe estar bien clasificada para los objetos de interés que se están evaluando.

  • Todos los modelos de entrada que se están evaluando deben tener los mismos códigos de clasificación. Si la nube de puntos de referencia no tiene códigos de clase cuyos valores o significado coincidan con las clases de los modelos que se están evaluando, utilice el parámetro Reasignación de clase de nube de puntos para designar la clasificación de la nube de puntos de referencia con los códigos en los modelos entrenados.

  • La arquitectura de aprendizaje profundo PointCNN se utiliza para crear el modelo de clasificación de nube de puntos. Esta arquitectura puede generar resultados ligeramente diferentes cuando se procesa el mismo conjunto de datos de entrada. Puede especificar el mismo modelo como entrada varias veces para evaluar la coherencia del resultado de clasificación a partir de la nube de puntos. Consulte PointCNN: convolución en los puntos transformados X para obtener más información sobre la posible variabilidad de los resultados de clasificación.

  • El proceso de evaluación creará varios archivos de salida en el valor del parámetro Carpeta de destino. El nombre de cada archivo empezará por el texto especificado en el valor del parámetro Nombre de base.

    • <base name>_ModelStatistics.csv: tabla en la que figura la exactitud general, la precisión, la recuperación y la puntuación F1 de cada modelo.
    • <base name>_ClassCodeStatistics.csv: tabla que resume los resultados de la evaluación correspondientes a exactitud, precisión, recuperación y puntuación F1 del código de clase.
    • <base name>_ConfusionMatrices.csv: tabla que resume cómo cada punto de cada código de clase en la nube de puntos de referencia se clasificó por los modelos de entrada. Además del número de positivos verdaderos y falsos positivos, esta tabla también identifica las clases en las que se produjeron los falsos positivos.
    • <base name>_ConfusionMatrix_<model number>.png: imagen que muestra un gráfico que proporciona una representación fácil de leer de la matriz de confusión para un modelo determinado.
  • 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.

  • Al utilizar un modelo de clasificación entrenado con ciertas clases que se excluyeron del modelo, utilice el parámetro Códigos de clase excluidos para asegurarse de omitir esos mismos puntos del conjunto de puntos que el modelo evalúa. Significa que la nube de puntos que se clasifica o evalúa debe tener los puntos excluidos clasificados antes de ejecutar esta herramienta. La ventaja de excluir clases que no ofrecen un contexto útil para inferir la clasificación de objetos de interés es que puede mejorar la velocidad del proceso de entrenamiento e inferencia al reducir el número de puntos que se evalúan. Por ejemplo, los puntos clasificados de edificios suelen ser irrelevantes para entrenar un modelo de clasificación para objetos como semáforos, líneas eléctricas o diversos activos de ferrocarril. Los puntos de edificios también se pueden clasificar con la herramienta Clasificar edificio de LAS. Si se excluyeron puntos con la clase 6, que representan edificios, al entrenar el modelo, debe clasificar los puntos de edificios en las nubes de puntos que utilizarán este modelo para clasificar otros objetos de interés.

Parámetros

EtiquetaExplicaciónTipo de datos
Definición de modelo de entrada

Los modelos de clasificación de nube de puntos y los tamaños de lote que se utilizarán durante el proceso de evaluación.

Value Table
Nube de puntos de referencia

Nube de puntos que se usará para evaluar los modelos de clasificación.

LAS Dataset Layer; File
Carpeta de destino

El directorio en el que se almacenarán los archivos que resumen los resultados de la evaluación.

Folder
Nombre base

El prefijo del nombre de archivo que se utilizará para cada uno de los archivos de salida que resumen los resultados de evaluación.

String
Límite de procesamiento
(Opcional)

Entidad poligonal que delinea las partes de la nube de puntos de referencia que se utilizarán para evaluar los modelos de clasificación.

Feature Layer
Nueva representación cartográfica de clase de nube de puntos
(Opcional)

Los códigos de clase de la nube de puntos de referencia deben coincidir con los códigos de clase de los modelos que se están evaluando. Cuando los códigos de clase no coincidan, utilice este parámetro para asociar los códigos de clase diferentes en la nube de puntos a las clases que son compatibles con los modelos que se están evaluando.

Value Table
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

Salida derivada

EtiquetaExplicaciónTipo de datos
Matrices de confusión de salida

Tabla de formato CSV que almacena la matriz de confusión de cada código de clase en cada modelo de entrada.

Text File
Estadísticas de modelo de salida

Tabla de formato CSV que resume las estadísticas generales de los modelos de entrada.

Text File
Estadísticas de código de clase de salida

Tabla de formato CSV que resume las estadísticas de cada código de clase en cada modelo de entrada.

Text File

arcpy.ddd.EvaluatePointCloudClassificationModel(in_trained_model, in_point_cloud, target_folder, base_name, {boundary}, {class_remap}, {reference_height}, {excluded_class_codes})
NombreExplicaciónTipo de datos
in_trained_model
[in_trained_model,...]

Los modelos de clasificación de nube de puntos y los tamaños de lote que se utilizarán durante el proceso de evaluación.

Value Table
in_point_cloud

Nube de puntos que se usará para evaluar los modelos de clasificación.

LAS Dataset Layer; File
target_folder

El directorio en el que se almacenarán los archivos que resumen los resultados de la evaluación.

Folder
base_name

El prefijo del nombre de archivo que se utilizará para cada uno de los archivos de salida que resumen los resultados de evaluación.

String
boundary
(Opcional)

Entidad poligonal que delinea las partes de la nube de puntos de referencia que se utilizarán para evaluar los modelos de clasificación.

Feature Layer
class_remap
[class_remap,...]
(Opcional)

Los códigos de clase de la nube de puntos de referencia deben coincidir con los códigos de clase de los modelos que se están evaluando. Cuando los códigos de clase no coincidan, utilice este parámetro para asociar los códigos de clase diferentes en la nube de puntos a las clases que son compatibles con los modelos que se están evaluando.

Value Table
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

Salida derivada

NombreExplicaciónTipo de datos
out_confusion_matrices

Tabla de formato CSV que almacena la matriz de confusión de cada código de clase en cada modelo de entrada.

Text File
out_model_statistics

Tabla de formato CSV que resume las estadísticas generales de los modelos de entrada.

Text File
out_class_code_statistics

Tabla de formato CSV que resume las estadísticas de cada código de clase en cada modelo de entrada.

Text File

Muestra de código

Ejemplo de EvaluatePointCloudUsingTrainedModel (ventana de Python)

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.EvaluatePointCloudUsingTrainedModel(
        ['Transmission_Power_Lines.dlpk', 'Distribution_Power_Lines.dlpk'], 
        'Classified_Power_Lines.lasd', 'D:/Evaluate_PointCNN_Models', 
        'Power_Line_Results_', 'test_boundary.shp', [[18, 14], [20, 14]])

Información de licenciamiento

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

Temas relacionados