Disponible con licencia de Image Analyst.
Este flujo de trabajo detecta los cambios entre dos imágenes que pertenecen a dos periodos de tiempo diferentes. El resultado final es un ráster binario con uno de dos valores: cambio o sin cambio. El gráfico que aparece a continuación muestra tres imágenes: una imagen del periodo de tiempo uno, una imagen del periodo de tiempo dos y el cambio entre ellas.
Para entrenar un modelo detector de cambios, necesita una imagen del periodo de tiempo uno, una imagen del periodo de tiempo dos y una clase de entidad o un ráster que identifique los cambios entre los dos periodos de tiempo. A continuación, se muestra un ejemplo de dos rásteres y una muestra de entrenamiento:
Un flujo de trabajo típico de detección de cambios 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 Detectar cambio utilizando 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.
Este esquema se utilizará como leyenda, por lo que debe incluir todas las clases del flujo de trabajo de aprendizaje profundo.
- 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.
- Escriba un nombre para el esquema en el cuadro de texto Nombre.
- 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.
- Escriba un nombre para la clase en el cuadro de texto Nombre.
- 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.
- Cree muestras de entrenamiento.
Estas muestras de entrenamiento muestran las áreas de cambio que se produjeron entre las dos imágenes, por lo que puede entrenar el modelo de aprendizaje profundo.
- En el panel Clasificación de imágenes, elija 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 que representen la clase.
Los polígonos pueden solaparse; sin embargo, si no está seguro de un objeto, no lo incluya en las muestras de entrenamiento. Se agrega un nuevo registro en el grupo Objetos etiquetados del panel Clasificación de imagen.
- Repita los pasos 3a a 3c para crear muestras de entrenamiento para cada clase del esquema.
Se recomienda recoger un número estadísticamente significativo de muestras de entrenamiento para representar cada clase del esquema.
- Cuando termine de crear las muestras de entrenamiento, 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.
- Cierre el panel Clasificación de imagen.
- Abra la herramienta Exportar datos de formación para aprendizaje profundo para poder 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. Los chips de imágenes se utilizan para entrenar el modelo de aprendizaje profundo.
- Proporcione el valor del Raster de entrada.
Por lo general, se trata de la imagen más antigua antes de cualquier cambio.
- Proporcione el valor del Raster de entrada adicional.
En general, esta es la última imagen después de los cambios.
- Proporcione el valor de Clase de entidad de entrada o ráster clasificado o tabla.
Se trata del archivo de muestras de entrenamiento de objetos etiquetados que ha creado.
- Proporcione el valor del Campo de valor de clase.
Es la clase de etiqueta especificada para los cambios. La clase de entidad contiene un campo llamado ClassValue que puede utilizar.
- 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, especifique un valor para el parámetro Formato de metadatos.
El formato de metadatos más adecuado para la detección de cambios es Teselas clasificadas.
- Haga clic en Ejecutar para exportar los datos de entrenamiento.
- Proporcione el valor del Raster de entrada.
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 asignará por defecto un valor de Tipo de modelo adecuado. La herramienta también actualizará la lista desplegable de valores de Tipo de modelo con los tipos de modelo adecuados que admitan el formato de metadatos especificado. Los parámetros Tamaño de lote, Argumentos del modelo y Modelo central se completan en función del valor Tipo de modelo. El modelo de salida se utilizará entonces para inferir el cambio entre las dos imágenes.
- 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.
- Si lo desea, cambie el valor de Tipo de modelo en la lista desplegable.
El tipo de modelo determina el algoritmo de aprendizaje profundo y la red neuronal que utilizará para entrenar el modelo, como la arquitectura del modelo Detector de cambios. 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.
- 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 clasificar píxeles y objetos similares en la imagen. Utilizará el modelo de aprendizaje profundo resultante para realizar la detección de cambios entre dos imágenes de ráster. Utilice la herramienta Detectar cambios con aprendizaje profundo, ya que está realizando un flujo de trabajo de detección de cambios.
- Abra la herramienta Detectar cambios con aprendizaje profundo.
- Para el parámetro Ráster inicial, busque y proporcione la imagen del periodo de tiempo uno, la imagen de referencia.
- Para el parámetro Ráster final, busque y proporcione la imagen del periodo de tiempo dos, la imagen más actual.
- Para el parámetro Ráster clasificado de salida, escriba el nombre del ráster de salida.
El ráster clasificado de salida contendrá valores de píxel de 0 y 1 en los que 0 significa sin cambios y 1 significa con cambios.
El parámetro Argumentos se completa a partir de la información del valor Definición del modelo. Estos argumentos varían en función de la arquitectura del modelo. En este ejemplo, se utiliza la arquitectura del modelo Detector de cambios, por lo que se completan los argumentos padding y batch_size.
- Acepte los valores predeterminados del parámetro Argumentos o modifíquelos.
- 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.
- 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.
- Haga clic en Ejecutar para iniciar la inferencia.