Disponible con licencia de Image Analyst.
Resumen
Ejecuta un modelo de aprendizaje profundo entrenado en un ráster de entrada para generar un ráster clasificado, donde cada píxel válido tiene una etiqueta de clase asignada.
Esta herramienta requiere un archivo de definición de modelo que contenga información del modelo entrenado. El modelo puede entrenarse usando la herramienta Entrenar un modelo de aprendizaje profundo o mediante software de entrenamiento de terceros como, por ejemplo, TensorFlow, PyTorch o Keras. El archivo de definición de modelo puede ser un archivo JSON de definición de modelo de Esri (.emd) o un paquete de modelo de aprendizaje profundo, y debe contener la ruta a la función ráster de Python que se llamará para procesar cada objeto y la ruta al archivo de modelo de aprendizaje profundo binario entrenado.
Uso
Debe instalar la API de Python de marco de aprendizaje profundo adecuada (como TensorFlow o PyTorch) en el entorno de Python de ArcGIS Pro; de lo contrario, se producirá un error al agregar el archivo de definición de modelo de Esri a la herramienta. La información de marco adecuada se obtiene del creador del archivo de definición de modelo de Esri.
Para configurar su equipo para usar marcos de aprendizaje profundo en ArcGIS Pro, consulte Instalar marcos de aprendizaje profundo para ArcGIS.
Esta herramienta llama a una API de Python de aprendizaje profundo de terceros (como TensorFlow, PyTorch o Keras) y usa la función ráster de Python especificada para procesar cada objeto.
Ejemplos de casos de uso de esta herramienta se encuentran en la página de GitHub sobre la función ráster de Python de Esri. También puede escribir módulos de Python personalizados con los siguientes ejemplos e instrucciones del repositorio de GitHub.
El valor del parámetro definición de modelo de Esri puede ser un archivo JSON de definición de modelo de Esri (.emd), una cadena de caracteres JSON o un paquete de modelo de aprendizaje profundo (.dlpk). Una cadena de caracteres JSON es útil cuando esta herramienta se utiliza en el servidor para pegar la cadena de caracteres JSON, en lugar de cargar el archivo .emd. El archivo .dlpk debe almacenarse localmente.
Para obtener más información sobre el aprendizaje profundo, consulte Aprendizaje profundo en ArcGIS Pro.
The following code sample uses the Esri model definition file (.emd):
{ "Framework":"TensorFlow", "ModelConfiguration":"deeplab", "ModelFile":"\\Data\\ImgClassification\\TF\\froz_inf_graph.pb", "ModelType":"ImageClassification", "ExtractBands":[0,1,2], "ImageHeight":513, "ImageWidth":513, "Classes" : [ { "Value":0, "Name":"Evergreen Forest", "Color":[0, 51, 0] }, { "Value":1, "Name":"Grassland/Herbaceous", "Color":[241, 185, 137] }, { "Value":2, "Name":"Bare Land", "Color":[236, 236, 0] }, { "Value":3, "Name":"Open Water", "Color":[0, 0, 117] }, { "Value":4, "Name":"Scrub/Shrub", "Color":[102, 102, 0] }, { "Value":5, "Name":"Impervious Surface", "Color":[236, 236, 236] } ] }
Para obtener información sobre los requisitos para ejecutar esta herramienta y problemas que puede encontrarse, consulte Preguntas más frecuentes sobre aprendizaje profundo.
Sintaxis
ClassifyPixelsUsingDeepLearning(in_raster, in_model_definition, {arguments}, processing_mode)
Parámetro | Explicación | Tipo de datos |
in_raster | Los datasets ráster de entrada que se desea clasificar. La entrada puede ser un solo ráster o varios rásteres de un dataset de mosaico, un servicio de imágenes o una carpeta de imágenes. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; MapServer; Map Server Layer; Internet Tiled Layer; Folder |
in_model_definition | El valor del parámetro in_model_definition puede ser un archivo JSON de definición de modelo de Esri (.emd), una cadena de caracteres JSON o un paquete de modelo de aprendizaje profundo (.dlpk). Una cadena de caracteres JSON es útil cuando esta herramienta se utiliza en el servidor para pegar la cadena de caracteres JSON, en lugar de cargar el archivo .emd. El archivo .dlpk debe almacenarse localmente. Contiene la ruta al archivo de modelo binario de aprendizaje profundo, la ruta a la función ráster de Python que se va a usar y otros parámetros, como el tamaño de tesela preferido o el relleno. | File; String |
arguments [arguments,...] (Opcional) | Los argumentos de función se definen en la clase de función ráster de Python. Aquí es donde enumera los argumentos y parámetros de aprendizaje profundo adicionales para experimentos y refinamiento, como un umbral de confianza para ajustar la sensibilidad. Los nombres de los argumentos se rellenan a partir de la lectura del módulo de Python. | Value Table |
processing_mode | Especifica cómo se procesarán todos los elementos de ráster en un dataset de mosaico o un servicio de imágenes. Este parámetro se aplica si el ráster de entrada es un dataset de mosaico o un servicio de imágenes.
| String |
Valor de retorno
Nombre | Explicación | Tipo de datos |
out_classified_raster | The classified image. Each valid pixel has a class value. The raster has an attribute table with class names, values, and colors. | Raster |
Muestra de código
This example classifies a raster based on a custom pixel classification using the ClassifyPixelsUsingDeepLearning tool.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
out_classified_raster = ClassifyPixelsUsingDeepLearning
("c:\\classifydata\\moncton_seg.tif", "c:\\classifydata\\moncton_sig.emd",
"padding 0; batch_size 16", "PROCESS_AS_MOSAICKED_IMAGE")
Out_classified_raster.save("c:\\classifydata\\classified_moncton.tif")
This example classifies a raster based on a custom pixel classification using the ClassifyPixelsUsingDeepLearning tool.
# Import system modules
import arcpy
from arcpy.ia import *
"""
Usage: ClassifyPixelsUsingDeepLearning(in_raster,out_classified_raster,
in_classifier_definition, {arguments}, {processing_mode})
"""
# Set local variables
in_raster = "c:\\classifydata\\moncton_seg.tif"
in_model_definition = "c:\\classifydata\\moncton_sig.emd"
model_arguments = "padding 0; batch_size 16"
processing_mode = "PROCESS_AS_MOSAICKED_IMAGE"
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Execute
Out_classified_raster = ClassifyPixelsUsingDeepLearning(in_raster,
in_model_definition, model_arguments, processing_mode)
Out_classified_raster.save("c:\\classifydata\\classified_moncton.tif")
Entornos
Información de licenciamiento
- Basic: Requiere Image Analyst
- Standard: Requiere Image Analyst
- Advanced: Requiere Image Analyst