Disponible con licencia de Image Analyst.
Utilice la herramienta Clasificar objetos con aprendizaje profundo para clasificar objetos en imágenes. La herramienta ejecuta un modelo de aprendizaje profundo entrenado en un ráster de entrada y cada entidad de entrada tiene una etiqueta de clase asignada. La siguiente imagen es un ejemplo de clasificación de objetos con herramientas de aprendizaje profundo.
Un flujo de trabajo típico de clasificación de objetos con aprendizaje profundo consta de tres pasos principales:
- Cree y exporte muestras de entrenamiento. Cree muestras de entrenamiento usando el panel Etiquetar objetos para aprendizaje profundo y use la herramienta Exportar datos de entrenamiento para aprendizaje profundo para convertir las muestras en datos de entrenamiento de aprendizaje profundo.
- Entrene el modelo de aprendizaje profundo. Utilice la herramienta Entrenar modelo de aprendizaje profundo para entrenar un modelo utilizando las muestras de entrenamiento que creó en el paso anterior.
- Realizar inferencias. Utilice la herramienta Clasificar objetos con aprendizaje profundo. Utilizará el modelo que ha creado en el paso 2.
Para ver más ejemplos, formatos de metadatos compatibles y arquitecturas de tipos de modelos, consulte Arquitecturas de modelos de aprendizaje profundo.
Crear y exportar muestras de entrenamiento
Cree un esquema de entrenamiento y muestras de entrenamiento, y exporte los datos de entrenamiento.
Si tiene muestras de entrenamiento existentes en un conjunto de datos ráster o una clase de entidades, puede utilizar la herramienta Exportar datos de entrenamiento para aprendizaje profundo y pasar a la sección Entrenar un modelo de aprendizaje profundo a continuación.
- Cree un esquema de entrenamiento.
- Agregue a un mapa la imagen que se utilizará para generar las muestras de entrenamiento.
- En el panel Contenido, seleccione la imagen que ha agregado.
- Haga clic en la pestaña Imágenes.
- Haga clic en Herramientas de aprendizaje profundo y, a continuación, en Etiquetar objetos para aprendizaje profundo.
Aparece el panel Clasificación de imagen con un esquema en blanco.
- En el panel Clasificación de imagen, haga clic con el botón derecho en Nuevo esquema y haga clic en Editar propiedades.
- Proporcione un nombre para el esquema.
- Haga clic en Guardar.
- Agregar una nueva clase al esquema.
- Haga clic con el botón derecho en el esquema creado y seleccione Agregar nueva clase.
- Proporcione un nombre para la clase.
- Proporcione un valor para la clase.
El valor no puede ser 0.
- Opcionalmente, elija un color para la clase.
- Haga clic en Aceptar.
La clase se agrega al esquema en el panel Clasificación de imágenes.
- Opcionalmente, repita los pasos 2a a 2e para agregar más clases.
- Haga clic con el botón derecho en el esquema creado y seleccione Agregar nueva clase.
- Cree muestras de entrenamiento.
- En el panel Clasificación de imágenes, seleccione la clase para la que desea crear una muestra de entrenamiento.
- Elija una herramienta de dibujo, como Polígono.
- Dibuje un polígono alrededor de los píxeles que desea clasificar.
Se agrega un nuevo registro al grupo Objetos etiquetados del panel Clasificación de imágenes.
- Repita los pasos 3a a 3c para crear muestras de entrenamiento para todas las clases.
Como el modelo final tendrá en cuenta el tamaño de los objetos que identifique, puedes seleccionar objetos de varios tamaños.
- Cuando termine de crear las muestras, haga clic en Guardar en el panel Clasificación de imágenes.
- En la ventana Guardar muestra de entrenamiento actual, navegue hasta la geodatabase.
- Introduzca un nombre para la clase de rasgo y haga clic en Guardar.
Antes de poder entrenar el modelo, debe exportar las muestras de entrenamiento como chips de imagen. Un chip de imagen es una pequeña imagen que contiene uno o varios objetos que deben detectarse. Se crea una ficha de imagen y se etiqueta para cada muestra de entrenamiento para las clases del esquema.
- En el panel Clasificación de imagen, haga clic en la pestaña Exportar datos de entrenamiento.
- Proporcione el valor de Carpeta de salida.
Es la ruta y el nombre de la carpeta donde se almacenarán los chips de imagen de salida y los metadatos.
- Si lo desea, elija el valor de Formato de metadatos.
Los formatos de metadatos admitidos para el tipo de modelo de clasificador de entidades son Teselas etiquetadas, Imagenet y Mosaicos multietiquetados.
- Haga clic en Ejecutar para exportar los datos de entrenamiento.
- Proporcione el valor de Carpeta de salida.
Entrenar un modelo de aprendizaje profundo
La herramienta Entrenar un modelo de aprendizaje profundo utiliza los chips de imágenes etiquetadas para determinar las combinaciones de píxeles en cada imagen para representar el objeto. Utilizarás estas muestras de entrenamiento para entrenar un modelo de aprendizaje profundo. En la herramienta, solo se requieren los parámetros Datos de entrenamiento de entrada y Modelo de salida.
Dado que los datos de entrenamiento de entrada se basan en el valor de Formato de metadatos, se determina un valor predeterminado de Tipo de modelo adecuado. Por ejemplo, si ha especificado el formato de metadatos de Mosaicos etiquetados en el proceso de exportación, la opción Clasificador de entidades se especifica para el parámetro Tipo de modelo. La lista desplegable Tipo de modelo también se actualiza con los tipos de modelo que admiten el formato de metadatos Mosaicos etiquetados. Los parámetros Tamaño de lote, Argumentos del modelo y Modelo central también se completan en función del valor del parámetro Tipo de modelo.
- Abra la herramienta Entrenar modelo de aprendizaje profundo.
- En el parámetro Datos de entrenamiento de entrada, busque y seleccione la carpeta de datos de entrenamiento en la que están almacenados los chips de imagen.
- Para el parámetro Modelo de salida, proporcione la ruta del archivo y el nombre de la carpeta donde se guardará el modelo de salida después del entrenamiento.
- Opcionalmente, especifique un valor para el parámetro Máximo de épocas.
Una época es un ciclo completo a través del dataset de entrenamiento. Durante cada época, el dataset de entrenamiento que almacenó en la carpeta imagechips se pasa hacia delante y hacia atrás por la red neuronal una vez. En general, se utilizan entre 20 y 50 épocas para la revisión inicial. El valor predeterminado es 20. Si el modelo puede mejorarse aún más, puede volver a entrenarlo utilizando la misma herramienta.
- Asegúrese de que el valor Clasificador de entidades (clasificación de objetos) está seleccionado en la lista desplegable del parámetro Tipo de modelo.
El tipo de modelo determina el algoritmo de aprendizaje profundo y la red neuronal que se utilizará para entrenar el modelo, como la arquitectura del modelo Clasificador de entidades. Para obtener más información sobre los modelos, los metadatos admitidos y los detalles de la arquitectura de los modelos, consulte Arquitecturas de modelos de aprendizaje profundo y Modelos de aprendizaje profundo en ArcGIS .
- Opcionalmente, cambie el valor del parámetro Argumentos del modelo.
El parámetro Argumentos del modelo se completa con información de la definición del modelo. Estos argumentos varían en función de la arquitectura del modelo que se haya especificado. En el parámetro Argumentos del modelo se ofrece una lista de los argumentos del modelo que admite la herramienta.
- Opcionalmente, establezca el valor del parámetro Tamaño de lote.
Este parámetro determina el número de muestras de entrenamiento que se entrenarán a la vez. El valor del tamaño del lote puede venir determinado por varios factores, como el número de chips de imagen, la memoria de la GPU (si se utiliza GPU) y la tasa de aprendizaje, si se utiliza un valor personalizado. Normalmente, el tamaño de lote por defecto produce buenos resultados.
- Opcionalmente, proporcione el valor del parámetro Tasa de aprendizaje.
Si no se proporciona ningún valor, la tasa de aprendizaje óptima se extrae de la curva de aprendizaje durante el proceso de entrenamiento.
- Opcionalmente, especifique el valor del parámetro Modelo base.
El valor por defecto se basa en la arquitectura del modelo. Puede cambiar el modelo base por defecto utilizando la lista desplegable.
- Opcionalmente, proporcione el valor del parámetro Modelo preentrenado.
Puede ajustarse un modelo previamente entrenado con clases similares para adaptarse al nuevo modelo. El modelo previamente entrenado debe haber sido entrenado con el mismo tipo de modelo y modelo base que se usará para entrenar el nuevo modelo.
- Opcionalmente, cambie el valor del parámetro Validación %.
Es el porcentaje de muestras de entrenamiento que se utilizarán para validar el modelo. Este valor depende de varios factores, como el número de muestras de entrenamiento y la arquitectura del modelo. Generalmente, con una pequeña cantidad de datos de entrenamiento, entre el 10% y el 20% es adecuado para la validación. Si hay una gran cantidad de datos de entrenamiento, como varios miles de muestras, un porcentaje más bajo, como del 2 al 5 por ciento de los datos, es adecuado para la validación. El valor predeterminado es 10.
- Opcionalmente, marque el parámetro Detener cuando el modelo deje de mejorar.
Cuando está marcada, el entrenamiento del modelo se detiene cuando el modelo ya no mejora, independientemente del valor de Máximo de épocas especificado. El valor predeterminado está activado.
- Opcionalmente, compruebe el parámetro Modelo de congelación.
Este parámetro especifica si las capas base del modelo previamente entrenado se congelarán, de modo que los pesos y sesgos sigan tal como se diseñaron originalmente. Si activa este parámetro, las capas base se congelan y los pesos y sesgos predefinidos no se modifican en el parámetro Modelo base. Si desmarca esta opción, las capas base no se congelan y los pesos y sesgos del valor del parámetro Modelo base pueden modificarse para ajustarse a las muestras de entrenamiento. Esto conlleva más tiempo de procesamiento, pero suele producir mejores resultados. El valor predeterminado está activado.
- Haga clic en Ejecutar para iniciar el entrenamiento.
Realizar inferencias
La inferencia es el proceso en el que la información aprendida durante el proceso de entrenamiento de aprendizaje profundo se utiliza para asignar clases o etiquetas de categoría a cada uno de los objetos detectados en la imagen de entrada. Utilice la herramienta Clasificar objetos con aprendizaje profundo, ya que está realizando un flujo de trabajo de clasificación de objetos.
- Abra la herramienta Clasificar objetos con aprendizaje profundo.
- Para el parámetro Ráster de entrada, busque y seleccione los datos del ráster de entrada que desea clasificar.
La entrada puede ser un solo dataset ráster, varios rásteres de un dataset de mosaico, un servicio de imágenes, una carpeta de imágenes o una clase de entidad con imágenes adjuntas.
- Para el parámetro Clase de entidad de objetos clasificados de salida, proporcione un nombre para la clase de entidad de salida.
La clase de entidades de salida contendrá las geometrías que rodean a los objetos detectados en la imagen de entrada, así como un campo para almacenar la etiqueta de categorización.
- Especifique el valor de Definición de modelo (*.emd o *.dlpk).
Es el fichero modelo que contiene el resultado del entrenamiento. Este es el resultado de la sección de aprendizaje profundo.
- Para el parámetro Argumentos, acepte los valores por defecto o modifíquelos.
El parámetro Argumentos se completa con la información del parámetro Definición del modelo. Estos argumentos varían en función de la arquitectura del modelo que se haya especificado. En este ejemplo, se utiliza el modelo Clasificador de entidades, por lo que se completan los siguientes argumentos.
- batch_size: el número de teselas de imágenes procesadas en cada paso de la inferencia del modelo. Esto depende del tamaño de la memoria de la tarjeta gráfica.
- test_time_augmentation: el aumento del tiempo de prueba se realiza al predecir. Si es true, las predicciones de variantes rotadas y volteadas de la imagen de entrada se fusionan en la salida final.
- Haga clic en Ejecutar para iniciar la inferencia.