Exportar datos de formación para aprendizaje profundo (Spatial Analyst)

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 profundoPDF de 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ámetroExplicaciónTipo 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.

  • TIFFSe utilizará el formato TIFF.
  • PNGSe utilizará el formato PNG.
  • JPEGSe utilizará el formato JPEG.
  • MRFSe utilizará el Formato metarráster (MRF)
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.

  • ALL_TILESSe exportarán todos los chips de imagen, incluidos aquellos que no capturen muestras de entrenamiento.
  • ONLY_TILES_WITH_FEATURESSolo se exportarán los chips de imagen que capturen muestras de entrenamiento. Esta es la opción predeterminada.
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.

  • KITTI_rectanglesLos metadatos siguen el mismo formato que el dataset de evaluación de detección de objetos del Instituto Tecnológico de Karlsruhe y el Instituto Tecnológico de Toyota (KITTI). El dataset KITTI es un conjunto de referencia de visión. Los archivos de etiquetas son archivos de texto plano. Todos los valores, tanto numéricos como de cadena de caracteres, se separan con espacios y cada fila se corresponde con un objeto.Este formato se utiliza para la detección de objetos.
  • PASCAL_VOC_rectanglesLos metadatos siguen el mismo formato que el dataset Pattern Analysis, Statistical Modeling and Computational Learning, Visual Object Classes (PASCAL_VOC). El dataset PASCAL VOC es un dataset de imágenes estandarizado para el reconocimiento de clases de objetos. Los archivos de etiquetas están en formato XML y contienen información sobre el nombre de la imagen, el valor de clase y los cuadros de delimitación.Este formato se utiliza para la detección de objetos. Es el valor predeterminado.
  • Classified_TilesLa salida será chip de imagen clasificado por cada chip de imagen de entrada. No se utiliza ningún otro metadato para cada chip de imagen. Solo el resultado de las estadísticas tiene más información sobre las clases, como los nombres de las clases, los valores de las clases y las estadísticas de salida.Este formato se utiliza para la clasificación de píxeles.
  • RCNN_MasksLa salida serán chips de imágenes de salida con una máscara en las áreas donde existe la muestra. El modelo genera cuadros de delimitación y máscaras de segmentación para cada instancia de un objeto de la imagen. Se basa en Feature Pyramid Network (FPN) y una base ResNet101 en el modelo de marco de aprendizaje profundo.Este formato se utiliza para la detección de objetos.
  • Labeled_TilesCada tesela de salida se etiqueta con una clase específica.Este formato se utiliza para la clasificación de objetos.
  • MultiLabeled_TilesCada tesela de salida se etiqueta con una o varias clases. Por ejemplo, una tesela puede etiquetarse como agricultura y también como nublado.Este formato se utiliza para la clasificación de objetos.
  • Export_TilesLa salida serán chips de imagen sin etiqueta.Este formato se utiliza para técnicas de mejora de imágenes, como Superresolución.

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:

<?xml version=”1.0”?>
- <layout>
      <image>000000000</image>
      <object>1</object>
    - <part>
         <class>1</class>
       - <bndbox>
            <xmin>31.85</xmin>
            <ymin>101.52</ymin>
            <xmax>256.00</xmax>
            <ymax>256.00</ymax>
         </bndbox>
      </part>
  </layout>

Para obtener más información, consulte PASCAL Visual Object ClassesPASCAL 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.

  • MAP_SPACESe utilizará un sistema de coordenadas basado en mapa. Esta es la opción predeterminada.
  • PIXEL_SPACESe utilizará el espacio de imagen, sin giro ni distorsión.
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.

  • PROCESS_AS_MOSAICKED_IMAGESe creará un mosaico con todos los elementos de ráster del dataset de mosaico o del servicio de imágenes y se procesarán. Esta es la opción predeterminada.
  • PROCESS_ITEMS_SEPARATELYTodos los elementos de ráster del dataset de mosaico o del servicio de imágenes se procesarán como imágenes separadas.
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.

  • NO_BLACKENLos píxeles que rodean a los objetos o entidades no se ocultan. Esta es la opción predeterminada.
  • BLACKEN_AROUND_FEATURELos píxeles que rodean a los objetos o entidades se ocultan.
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.

  • FIXED_SIZELas teselas exportadas se recortarán con el mismo tamaño y se centrarán en la entidad. Esta es la opción predeterminada.
  • BOUNDING_BOXLas teselas exportadas se recortarán de forma que la geometría de delimitación rodee solo a la entidad en la tesela.
String

Muestra de código

Ejemplo 1 de ExportTrainingDataForDeepLearning (ventana de Python)

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")
Ejemplo 2 de ExportTrainingDataForDeepLearning (script independiente)

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

Temas relacionados