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

Temas relacionados