Disponible con una licencia de Spatial Analyst.
Disponible con licencia de Image Analyst.
Resumen
Convierte los datos de vectores o datos ráster etiquetados en datasets de entrenamiento de aprendizaje profundo utilizando imágenes de teledetección. La salida es una carpeta de chips de imagen y una carpeta de archivos de metadatos en el formato especificado.
Uso
Esta herramienta crea datasets de entrenamiento para admitir aplicaciones de aprendizaje profundo de terceros, como Google TensorFlow, Keras, PyTorch y Microsoft CNTK.
Las muestras de entrenamiento de aprendizaje profundo se basan en pequeñas subimágenes que contienen la entidad o clase de interés, llamadas chips de imagen.
Utilice sus datos de muestras de entrenamiento de clasificación existentes o datos de clase de entidad SIG, como, por ejemplo, una capa de huellas de edificios, para generar chips de imagen que contengan la muestra de clase de la imagen de origen. Los chips de imagen con frecuencia son filas de 256 píxeles por columnas de 256 píxeles, a menos que el tamaño de la muestra de entrenamiento sea más grande. Cada chip de imagen puede contener uno o varios objetos. Si se utiliza el formato de metadatos Teselas etiquetadas, solo puede haber un objeto por cada chip de imagen.
Al especificar el parámetro Sistema de referencia, los datos de entrenamiento se pueden exportar al espacio de mapa o espacio de píxeles (espacio de imagen sin formato) que se desea utilizar para el entrenamiento del modelo de aprendizaje profundo.
Esta herramienta admite la exportación de datos de entrenamiento desde una colección de imágenes. Es posible agregar una carpeta de imágenes como Ráster de entrada. Si el Ráster de entrada es un dataset de mosaico o un servicio de imágenes, también puede especificar que el parámetro Modo de procesamiento procese el mosaico como una entrada o cada elemento de ráster por separado.
El tamaño de celda y la extensión se pueden ajustar con la configuración del entorno de geoprocesamiento.
Para obtener información sobre los requisitos para ejecutar esta herramienta y los problemas que pueden presentarse, consulte Preguntas frecuentes sobre el aprendizaje profundo.
Sintaxis
ExportTrainingDataForDeepLearning(in_raster, out_folder, in_class_data, image_chip_format, {tile_size_x}, {tile_size_y}, {stride_x}, {stride_y}, {output_nofeature_tiles}, {metadata_format}, {start_index}, {class_value_field}, {buffer_radius}, {in_mask_polygons}, {rotation_angle}, {reference_system}, {processing_mode}, {blacken_around_feature}, {crop_mode})
Parámetro | Explicación | Tipo de datos |
in_raster | Las imágenes de origen de entrada, normalmente imágenes multiespectrales. Ejemplos del tipo de imagen de origen de entrada son: satélite, tomada por drones, aérea o del Programa Nacional de Imágenes Agrícolas (NAIP), todas ellas multiespectrales. La entrada puede ser una carpeta de imágenes. | Raster Dataset; Raster Layer; Mosaic Layer; Image Service; MapServer; Map Server Layer; Internet Tiled Layer; Folder |
out_folder | La carpeta en la que se almacenarán los chips de imagen de salida y los metadatos. La carpeta también puede ser una URL de carpeta que utiliza un archivo de conexión a un almacenamiento en la nube (*.acs). | Folder |
in_class_data | Los datos de muestra de entrenamiento en formato vectorial o ráster. Las entradas vectoriales deben seguir un formato de muestra de entrenamiento como el generado por el Administrador de muestras de entrenamiento. Las entradas de ráster deben seguir un formato de ráster clasificado como el generado por la herramienta Clasificar ráster. Al seguir un formato de muestra de entrenamiento adecuado, se obtienen resultados óptimos con la información estadística; sin embargo, la entrada también puede ser una clase de entidad de puntos que no tiene un campo de valor de clase, o bien un ráster entero sin ninguna información de clase. | Feature Class; Feature Layer; Raster Dataset; Raster Layer; Mosaic Layer; Image Service |
image_chip_format | Especifica el formato de ráster que se utilizará para las salidas de chips de imagen. PNG y JPEG admiten hasta tres bandas.
| String |
tile_size_x (Opcional) | El tamaño de los chips de imagen para la dimensión x. | Long |
tile_size_y (Opcional) | El tamaño de los chips de imagen para la dimensión y. | Long |
stride_x (Opcional) | La distancia a la que se desplaza la dirección x al crear los siguientes chips de imagen. Cuando el paso equivale al tamaño de la tesela, no habrá ninguna superposición. Cuando el paso equivale a la mitad del tamaño de la tesela, habrá una superposición del 50 por ciento. | Long |
stride_y (Opcional) | La distancia a la que se desplaza la dirección y al crear los siguientes chips de imagen. Cuando el paso equivale al tamaño de la tesela, no habrá ninguna superposición. Cuando el paso equivale a la mitad del tamaño de la tesela, habrá una superposición del 50 por ciento. | Long |
output_nofeature_tiles (Opcional) | Especifica si se exportarán los chips de imagen que no capturen muestras de entrenamiento.
| Boolean |
metadata_format (Opcional) | Especifica el formato de las etiquetas de metadatos de salida. Las opciones para las etiquetas de metadatos de salida de datos de entrenamiento son: rectángulos KITTI, rectángulos PASCAL VOC, teselas clasificadas (un mapa de clase), máscaras RCNN, teselas etiquetadas, teselas multietiquetas y teselas exportadas. Si los datos de muestra de entrenamiento de entrada son una capa de clase de entidad, como, por ejemplo, una capa de edificios o un archivo de muestra de entrenamiento de clasificación estándar, utilice la opción de rectángulos KITTI o PASCAL VOC. Los metadatos de salida son un archivo .txt o un archivo .xml que contiene los datos de muestra de entrenamiento incluidos en el rectángulo mínimo de delimitación. El nombre del archivo de metadatos coincide con el nombre de la imagen de origen de entrada. Si los datos de muestra de entrenamiento de entrada son un mapa de clase, utilice la opción Teselas clasificadas como formato de metadatos de salida.
El formato de metadatos KITTI permite 15 columnas, pero solo se utilizan 5 de ellas en la herramienta. La primera columna es el valor de clase. Las siguientes 3 columnas se omiten. Las columnas 5-8 definen el rectángulo mínimo de delimitación, que consta de cuatro ubicaciones de coordenada de imagen: píxeles izquierdo, superior, derecho e inferior. El rectángulo mínimo de delimitación comprende el chip de formación utilizado en el clasificador de aprendizaje profundo. Las columnas restantes no se utilizan. A continuación, encontrará un ejemplo de opción PASCAL VOC: Para obtener más información, consulte PASCAL Visual Object Classes. | String |
start_index (Opcional) | Heredado:Este parámetro ha quedado obsoleto. Utilice un valor de 0 o # en Python. | Long |
class_value_field (Opcional) | El campo que contiene los valores de clase. Si no se especifica ningún campo, el sistema busca un campo value o classvalue. Si la entidad no contiene un campo de clase, el sistema determina que todos los registros pertenecen a una clase. | Field |
buffer_radius (Opcional) | El radio para la zona de influencia alrededor de cada muestra de entrenamiento para delinear un área de muestra de entrenamiento. Le permite crear muestras de entrenamiento poligonales circulares a partir de puntos. Se utiliza la unidad lineal de la referencia espacial in_class_data. | Double |
in_mask_polygons (Opcional) | Una clase de entidad poligonal que delinea el área en la que se crearán los chips de imagen. Solo se crean los chips de imagen que recaen completamente dentro de los polígonos. | Feature Layer |
rotation_angle (Opcional) | El ángulo de rotación que se utilizará para generar chips de imagen adicionales. Se genera un chip de imagen con un ángulo de rotación de 0, lo que significa ninguna rotación. A continuación, se girará en el ángulo especificado para crear un chip de imagen adicional. Las mismas muestras de entrenamiento se capturan en varios ángulos de varios chips de imágenes para el aumento de datos. El ángulo de rotación predeterminado es 0. | Double |
reference_system (Opcional) | Especifica el tipo de sistema de referencia que se desea usar para interpretar la imagen de entrada. El sistema de referencia especificado debe coincidir con el sistema de referencia utilizado para entrenar el modelo de aprendizaje profundo.
| String |
processing_mode (Opcional) |
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 |
blacken_around_feature (Opcional) | Especifica si se ocultarán los píxeles situados alrededor de cada objeto o entidad de cada tesela de imagen. Este parámetro solo se aplica si el formato de metadatos establecido es Labeled_Tiles y se ha especificado una clase de entidad de entrada o un ráster clasificado.
| Boolean |
crop_mode (Opcional) | Especifica si las teselas exportadas se deben recortar de forma que todas tengan el mismo tamaño. Este parámetro solo se aplica si el formato de metadatos establecido es Labeled_Tiles y se ha especificado una clase de entidad de entrada o un ráster clasificado.
| String |
Muestra de código
En este ejemplo se crean muestras de entrenamiento para aprendizaje profundo.
# Import system modules
import arcpy
from arcpy.sa import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("spatialAnalyst")
ExportTrainingDataForDeepLearning("c:/test/image.tif", "c:/test/outfolder",
"c:/test/training.shp", "TIFF", "256", "256", "128", "128",
"ONLY_TILES_WITH_FEATURES", "Labeled_Tiles", 0, "Classvalue", 0,
None, 0, "MAP_SPACE", "PROCESS_AS_MOSAICKED_IMAGE", "NO_BLACKEN",
"FIXED_SIZE")
En este ejemplo se crean muestras de entrenamiento para aprendizaje profundo.
# Import system modules and check out ArcGIS Image Analyst extension license
import arcpy
arcpy.CheckOutExtension("SpatialAnalyst")
from arcpy.sa import *
# Set local variables
inRaster = "C:/test/InputRaster.tif"
out_folder = "c:/test/OutputFolder"
in_training = "c:/test/TrainingData.shp"
image_chip_format = "TIFF"
tile_size_x = "256"
tile_size_y = "256"
stride_x="128"
stride_y="128"
output_nofeature_tiles="ONLY_TILES_WITH_FEATURES"
metadata_format="Labeled_Tiles"
start_index = 0
classvalue_field = "Classvalue"
buffer_radius = 0
in_mask_polygons = "MaskPolygon"
rotation_angle = 0
reference_system = "MAP_SPACE"
processing_mode = "PROCESS_AS_MOSAICKED_IMAGE"
blacken_around_feature = "NO_BLACKEN"
crop_mode = "FIXED_SIZE"
# Execute
ExportTrainingDataForDeepLearning(inRaster, out_folder, in_training,
image_chip_format,tile_size_x, tile_size_y, stride_x,
stride_y,output_nofeature_tiles, metadata_format, start_index,
classvalue_field, buffer_radius, in_mask_polygons, rotation_angle,
reference_system, processing_mode, blacken_around_feature, crop_mode)
Información de licenciamiento
- Basic: Requiere Spatial Analyst o Image Analyst
- Standard: Requiere Spatial Analyst o Image Analyst
- Advanced: Requiere Spatial Analyst o Image Analyst