Clasificar píxeles

Disponible con licencia de Image Analyst.

Utilice la herramienta Clasificar píxeles con aprendizaje profundo para clasificar píxeles de imágenes. La herramienta ejecuta un modelo de aprendizaje profundo entrenado en un ráster de entrada para generar un ráster clasificado, donde cada píxel tiene una etiqueta de clase asignada. La clasificación de la cobertura de suelo es una aplicación típica de la clasificación de píxeles. La imagen siguiente es un ejemplo de clasificación de la cobertura de suelo.

Ejemplo de clasificación de píxeles

Un flujo de trabajo típico de clasificación de píxeles con aprendizaje profundo consta de tres pasos principales:

  1. 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.
  2. 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.
  3. Realizar inferencias. Utilice la herramienta Clasificar píxeles 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.

  1. Cree un esquema de entrenamiento.
    1. Agregue a un mapa la imagen que se utilizará para generar las muestras de entrenamiento.
    2. En el panel Contenido, seleccione la imagen que ha agregado.
    3. Haga clic en la pestaña Imágenes.
    4. 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.

    5. En el panel Clasificación de imagen, haga clic con el botón derecho en Nuevo esquema y haga clic en Editar propiedades.

      Editar nuevo esquema

    6. Proporcione un nombre para el esquema.

      Editar el nombre del esquema

    7. Haga clic en Guardar.
  2. Agregar una nueva clase al esquema.
    1. Haga clic con el botón derecho en el esquema creado y seleccione Agregar nueva clase.
    2. Proporcione un nombre para la clase.

      Panel Agregar nueva clase

    3. Proporcione un valor para la clase.

      El valor no puede ser 0.

    4. Opcionalmente, elija un color para la clase.
    5. Haga clic en Aceptar.

      La clase se agrega al esquema en el panel Clasificación de imágenes.

    6. Opcionalmente, repita los pasos 2a a 2e para agregar más clases.
  3. Cree muestras de entrenamiento.
    1. En el panel Clasificación de imágenes, seleccione la clase para la que desea crear una muestra de entrenamiento.
    2. Elija una herramienta de dibujo, como Polígono.

      Herramienta polígono

    3. Dibuje un polígono alrededor de los píxeles que desea que representen la clase que ha creado.

      Polígonos de muestra

      Se agrega un nuevo registro al grupo Objetos etiquetados del panel Clasificación de imágenes.

    4. Repita los pasos 3a a 3c para crear muestras de entrenamiento para todas las clases del esquema.

      Ejemplos de formación

  4. Cuando termine de crear las muestras, haga clic en Guardar en el panel Clasificación de imágenes.

    Botón Guardar

    1. En la ventana Guardar muestra de entrenamiento actual, navegue hasta la geodatabase.
    2. 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.

  5. En el panel Clasificación de imagen, haga clic en la pestaña Exportar datos de entrenamiento.
    1. 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.

    2. Si lo desea, elija el valor de Formato de metadatos.

      La opción Mosaicos clasificados es el mejor formato para la entrada de ráster multibanda. Si la entrada es un ráster multidimensional y desea utilizar la arquitectura del modelo PSETAE, especifique la opción Máscaras RCNN.

    3. Haga clic en Ejecutar para exportar los datos de entrenamiento.

Pestaña Exportar datos de entrenamiento

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.

Cuando se introducen los datos de entrenamiento, se determina un valor apropiado de Tipo de modelo basado en el valor de Formato de metadatos. Por ejemplo, si se especifica el formato de metadatos Mosaicos clasificados, se especifica la opción U-Net 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 clasificados.

Lista desplegable Tipo de modelo

Para entrenar un modelo de aprendizaje profundo, complete los siguientes pasos:

  1. Abra la herramienta Entrenar modelo de aprendizaje profundo.
  2. 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.
  3. 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.
  4. 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.

  5. Si lo desea, cambie el valor del parámetro Tipo de modelo en la lista desplegable.

    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 U-Net. Para obtener más información sobre los modelos, consulte Modelos de aprendizaje profundo en ArcGIS. Para ver ejemplos de documentación, metadatos compatibles y detalles de la arquitectura del modelo, consulte Arquitecturas de modelos de aprendizaje profundo.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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.

  11. 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.

  12. 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.

  13. 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.

  14. Haga clic en Ejecutar para iniciar el entrenamiento.

Herramienta Entrenar modelo de aprendizaje profundo

Realizar inferencias

Utilice el modelo de aprendizaje profundo resultante para realizar la clasificación de píxeles en una imagen. La inferencia es el proceso en el que la información aprendida durante el proceso de entrenamiento de aprendizaje profundo se utiliza para clasificar píxeles similares en la imagen. Utilice la herramienta Clasificar píxeles con aprendizaje profundo, ya que está realizando un flujo de trabajo de clasificación de píxeles.

  1. Abra la herramienta Clasificar píxeles con aprendizaje profundo.
  2. 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.

  3. Para el parámetro Dataset ráster de salida, proporcione un nombre para el dataset de salida.

    El dataset de salida contendrá cada píxel válido que tenga una etiqueta de clase asignada en la imagen de entrada.

  4. 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.

  5. 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 U-Net, por lo que se completan los siguientes argumentos.

    1. padding: el número de píxeles en el borde de las teselas de imágenes desde los cuales se combinarán las predicciones de las teselas adyacentes. Aumente el valor para suavizar la salida, lo que reduce los artefactos. El valor máximo del relleno puede ser la mitad del valor del tamaño de tesela.
    2. batch_size: el número de teselas de imágenes procesadas en cada paso de la inferencia del modelo. Este valor depende del tamaño de la memoria de la tarjeta gráfica.
    3. predict_background: especifique si el fondo está clasificado. Si está definido como true, también se clasifica la clase de fondo.
    4. 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.
  6. Haga clic en Ejecutar para iniciar la inferencia.

    Herramienta Clasificar píxeles con aprendizaje profundo

El ráster clasificado resultante se muestra a continuación.

Resultado de la clasificación de píxeles

Temas relacionados