Entrenar un modelo
La clasificación del uso y la cobertura del suelo (LULC) proporciona una visión general de las categorías generales de uso y cobertura del suelo para amplias áreas geográficas, basándose en imágenes obtenidas por teledetección. Desempeña una función vital en diversos aspectos como la vigilancia medioambiental, la gestión de recursos, la conservación de la biodiversidad, la reducción del riesgo de catástrofes y el análisis del cambio climático. Facilita el seguimiento sistemático de los cambios en el uso del suelo, la asignación eficiente de recursos, la preservación de los hábitats, la identificación de áreas propensas a las catástrofes y la evaluación de los impactos del cambio climático.
Utilizará la herramienta Entrenar con AutoDL para entrenar varios modelos e identificar el de mejor rendimiento para clasificar la cobertura de suelo de imágenes de radar de apertura sintética (SAR).
Descargar y explorar los datos
Para empezar, descargará un proyecto que contiene los datos de entrenamiento que utilizará.
- Descargue el paquete AutoDL_tutorial.ppkx.
El archivo AutoDL_tutorial.ppkx se descarga en su equipo.
Nota:
Un archivo .ppkx es un paquete de proyecto de ArcGIS Pro y puede contener mapas, datos y otros archivos que puede abrir en ArcGIS Pro. Más información sobre la administración de archivos .ppkx en esta guía.
El paquete del proyecto ocupa unos 4,3 GB, por lo que puede tardar un poco en descargarse.
- Busque el archivo descargado en su equipo.
Nota:
Dependiendo de su navegador web, puede que se le pida que elija la ubicación del archivo antes de iniciar la descarga. La mayoría de los navegadores descargan los archivos de manera predeterminada en la carpeta Descargas del equipo.
- Haga doble clic en el paquete de proyecto AutoDL_tutorial.ppkx.
Nota:
El proyecto empaquetado se extrae en su carpeta Documentos. Este proceso extrae el proyecto comprimido y los datos a una nueva ubicación y puede tardar un poco. La ruta del proyecto será similar a C:\Users\username\Documents\ArcGIS\Packages\AutoDL_tutorial_7bd31e. Los últimos dígitos del nombre de la última carpeta se generan aleatoriamente.
Si desea empezar desde el estado original del proyecto, puede renombrar o borrar esta carpeta y hacer doble clic en el archivo de paquete de proyecto AutoDL_tutorial.ppkx para crear una copia del proyecto.
Nota:
Si no tiene acceso a ArcGIS Pro o una cuenta de organización de ArcGIS, consulte las opciones de acceso a software.
Se requiere la versión 3.2 o posterior de ArcGIS Pro para la herramienta Entrenar con AutoDL.
- Si se le solicita, inicie sesión con su cuenta de organización de ArcGIS Online.
Aparece un mapa que muestra parte de Alemania. Sobre el mapa base topográfico se despliega la capa de imágenes LULCRaster2018.tif.
La capa LULCRaster.tif es un ráster clasificado que muestra clases LULC de nivel 1. Este sistema de clasificación proporciona una amplia categorización de la superficie terrestre en tipos generales de uso y cobertura del suelo, como áreas urbanas, suelo agrícola, bosques, masas de agua y humedales. Funciona como el nivel más básico de clasificación y ofrece una visión general de las principales categorías de suelo para un análisis a gran escala.
- En la cinta, en la pestaña Mapa, en la sección Navegar, haga clic en Marcadores y elija el marcador Speyer.
El mapa se acerca a la parte suroeste de la capa LULCRaster2018.tif.
La capa muestra un área urbanizada cerca de un río, con zonas forestales y agrícolas.
- En el panel Contenido, desactive la capa LULCRaster2018.tif y active la capa SARImagery2018.tif.
La capa SARImagery2018.tif se deriva de imágenes SAR de teledetección Sentinel-1 Ground Range Detected (GRD) de 2018. Esta capa tiene una resolución de 10 metros y se almacena en formato TIFF con tres bandas.
Nota:
Las imágenes SAR originales se descargaron y procesaron para prepararlas para el análisis. Compuestas originalmente por dos bandas de polarización, VV y VH, se descargaron y, utilizando la función ráster Aritmética de banda, se creó la banda derivada VV/VH. Esta banda está formada por la banda VV dividida por la banda VH. Esta combinación de bandas es útil porque resalta las diferencias en el comportamiento de la dispersión, lo que le permite hacer deducciones sobre las características de la superficie. Tras este procesamiento, se utilizó la herramienta de geoprocesamiento Bandas compuestas para crear una composición de VV, VH y VV/VH con una profundidad de píxel sin signo de 8 bits.
Uno de los sitios web donde puede descargar gratuitamente datos GRD de Sentinel-1 de cualquier lugar de la Tierra es el sitio web ASF Data Search Vertex.
Los datos de Sentinel-1 se recogen con regularidad, lo que permite comparar diferentes imágenes para detectar cambios a lo largo del tiempo.
Clasificar manualmente todos los píxeles de estas imágenes en clases LULC de nivel 1 sería un proceso largo y tedioso. Un modelo de aprendizaje profundo puede automatizar la clasificación de LULC en imágenes, lo que puede ayudarle a obtener regularmente nuevos datos, clasificarlos y detectar cambios en comparación con imágenes más antiguas. En este tutorial, está probando el proceso para determinar si puede utilizar este flujo de trabajo para actualizar anualmente sus datos de uso y cobertura del suelo y poder identificar e informar de los cambios a lo largo del tiempo.
Explorar los datos de entrenamiento
El paquete de proyecto contiene las muestras de entrenamiento que utilizará para entrenar e identificar el modelo de mejor rendimiento. Estas muestras se crearon utilizando la herramienta Exportar datos de entrenamiento para aprendizaje profundo. Los pasos para preparar estos datos quedan fuera del alcance de este tutorial. Puede obtener más información sobre cómo se hace.
- En la cinta, haga clic en la pestaña Vista. En la sección Ventanas, haga clic en Panel Catálogo.
- En el panel Catálogo, expanda Carpetas, expanda la carpeta AutoDL_tutorial y expanda la carpeta trainingdata.
La carpeta trainingdata contiene los datos de entrenamiento que utilizará.
La carpeta images contiene chips de imagen, extraídos de la capa SARImagery2018.tif mediante la herramienta Exportar datos de entrenamiento para aprendizaje profundo.
La carpeta labels contiene imágenes de etiquetas que muestran los tipos de cobertura de suelo clasificados.
Entrenar un modelo de aprendizaje profundo para clasificar estas imágenes implica darle al modelo los chips de imagen y las etiquetas correspondientes, lo que permite al modelo aprender qué clases están asociadas a qué combinaciones de bandas SAR.
Entrenar varios modelos
Uno de los retos del aprendizaje profundo es determinar qué arquitectura de modelo utilizar. Este proceso de elección y entrenamiento de un modelo puede ser largo y confuso, ya que los modelos tienen diferentes puntos fuertes y débiles, y requieren diferentes entradas y parámetros. La herramienta Entrenar con AutoDL le permitirá seleccionar un conjunto de arquitecturas de modelo para entrenar. A continuación, los entrenará y probará e informará de qué modelo ha obtenido mejores resultados.
La herramienta Entrenar con AutoDL entrena el conjunto de modelos de aprendizaje profundo creando tuberías de entrenamiento y automatizando gran parte del proceso de entrenamiento. Esto incluye el aumento de datos, la selección de modelos, el ajuste de hiperparámetros y la deducción del tamaño del lote. Sus resultados son métricas de rendimiento del mejor modelo sobre los datos de entrenamiento y un paquete (archivo .dlpk) de modelos de aprendizaje profundo entrenados que pueden utilizarse en las herramientas Extraer entidades con modelos de IA o Clasificar píxeles con aprendizaje profundo para clasificar otras imágenes.
Nota:
Para utilizar las herramientas de aprendizaje profundo en ArcGIS Pro es necesario tener instaladas en el equipo las bibliotecas de aprendizaje profundo correctas. Si no tiene instalados estos archivos, guarde el proyecto, cierre ArcGIS Pro y siga los pasos descritos en las instrucciones Prepararse para el aprendizaje profundo en ArcGIS Pro. En estas instrucciones, también aprenderá a comprobar si el hardware y el software de su equipo pueden ejecutar flujos de trabajo de aprendizaje profundo y otros consejos útiles. Cuando haya terminado, puede volver a abrir su proyecto y continuar con el tutorial.
- En la cinta, en la pestaña Análisis, en la sección Geoprocesamiento, haga clic en Herramientas.
- En el panel Geoprocesamiento, en el cuadro de búsqueda, escriba entrenar con autodl. En los resultados de búsqueda, haga clic en la herramienta Entrenar con AutoDL.
- En el panel de la herramienta Entrenar con AutoDL, en Datos de entrenamiento de entrada, haga clic en el botón Examinar. Vaya a Carpetas y a la carpeta AutoDL_tutorial, haga clic en la carpeta trainingdata y haga clic en Aceptar.
- En Modelo de salida, haga clic en el botón Examinar. Vaya a la carpeta AutoDL_tutorial, escriba ClassifiedSARLULC y haga clic en Guardar.
Se crea una nueva carpeta que contiene el modelo o modelos entrenados de salida.
A continuación, especificará el tiempo que la herramienta debe dedicar a entrenar los modelos.
- En Límite de tiempo total (en horas), escriba 4.
La herramienta trabajará en la tarea durante un máximo de cuatro horas. Dependiendo de la GPU de su equipo, es posible que utilice todo el tiempo o que complete la tarea en menos tiempo.
En función del formato de los datos de entrenamiento, verá una lista de redes neuronales compatibles específicas de clasificación de píxeles.
- Expanda la sección Opciones avanzadas.
- En Redes neuronales, haga clic en Agregar muchos.
Aparece la lista Redes neuronales.
- Active las siguientes redes neuronales:
- HRNet
- PSPNetClassifier
- UnetClassifier
- Haga clic en Agregar.
Las redes neuronales se agregan a la lista de redes que se entrenarán y evaluarán con la herramienta Entrenar con AutoDL.
Se trata de redes neuronales que clasifican los píxeles de un ráster mediante segmentación semántica. Se utilizan habitualmente para la clasificación de la cobertura del suelo.
- Active la casilla de verificación Guardar modelos evaluados.
Ha especificado que la herramienta Entrenar con AutoDL se debe ejecutar durante cuatro horas para entrenar y evaluar los tres modelos.
Nota:
Si tiene un equipo con una GPU adecuada, puede ejecutar la herramienta para entrenar y evaluar los tres modelos durante las siguientes cuatro horas. Para obtener más información sobre las GPU y cómo se utilizan en los procesos de aprendizaje profundo, consulte la sección Comprobar la disponibilidad de GPU en el tutorial Prepárese para el aprendizaje profundo en ArcGIS Pro. Opcionalmente, puede saltarse el paso de entrenamiento y revisar una carpeta que se le ha preparado con todas las salidas de la herramienta. Si no va a ejecutar el proceso de entrenamiento del modelo, lea los cuatro pasos siguientes y empiece a trabajar de nuevo en la siguiente sección, Revisar los resultados de entrenamiento del modelo.
- Haga clic en la pestaña Entornos.
- En la sección Tipo de procesador, en Id. de GPU, escriba 0.
Si su GPU habilitada para CUDA tiene un Id. de GPU diferente, utilice ese número de Id. Esto puede ser necesario si su equipo tiene más de una GPU.
- Opcionalmente, haga clic en Ejecutar.
El proceso se ejecutará durante un máximo de cuatro horas.
Puede ver mensajes sobre el estado del proceso mientras se ejecuta la herramienta.
- En la parte inferior del panel Entrenar con AutoDL, haga clic en Ver detalles.
- Haga clic en la pestaña Mensajes.
Cuando el proceso haya finalizado, podrá ver los resultados en el panel Mensajes.
En el proceso de entrenamiento, la herramienta selecciona aleatoriamente el 10 por ciento del dataset de entrenamiento para reservarlo para la validación y entrena los modelos en el 90 por ciento restante. A medida que avanza el entrenamiento, el modelo calcula en qué medida los valores predichos coinciden con los valores del dataset de validación. La tabla resume qué tal ha funcionado cada modelo. En parte debido a esta selección aleatoria de muestras de validación, el entrenamiento de modelos con esta herramienta no es determinista. La herramienta también establece aleatoriamente algunas condiciones iniciales cada vez que se ejecuta. Para obtener más información, consulte la ayuda de la herramienta. Ante un mismo conjunto de datos de entrenamiento, diferentes modelos pueden resultar elegidos como el mejor modelo y aparecerán diferentes valores en esta tabla.
La tabla incluye columnas de pérdida de entrenamiento y validación. La pérdida de entrenamiento muestra el grado de aprendizaje del modelo. La pérdida de validación muestra en qué medida ha funcionado en el conjunto de validación lo que ha aprendido el modelo, y muestra, en efecto, el grado de generalización del aprendizaje. Unos valores bajos en estas dos medidas indican un mayor rendimiento del entrenamiento, por lo que, en este caso, el modelo UnetClassifier obtuvo los mejores resultados en términos de Pérdida de entrenamiento y Pérdida de validación.
El modelo PSPNetClassifier obtuvo un valor de Precisión superior al del resto de modelos. En el caso de la precisión, los valores altos son mejores.
La precisión y subdividir son medidas del grado en que el modelo ha clasificado correctamente los píxeles. El modelo PSPNetClassifier también obtuvo un valor de Precisión superior al del resto de modelos.
La tasa de aprendizaje es un hiperparámetro utilizado en el entrenamiento de las redes neuronales. Si no especifica el valor, será calculado por la herramienta de formación. La herramienta intenta optimizar la tasa de aprendizaje, sopesando la velocidad frente a la calidad. El valor resultante de la tasa de aprendizaje que aparece en la tabla es de interés principalmente si, como usuario avanzado, desea seguir entrenando el modelo y necesita orientación para elegir el valor de Tasa de aprendizaje para ese entrenamiento adicional.
La columna Tiempo indica el tiempo que se tarda en entrenar cada modelo. Observará que el tiempo es mayor para el primer modelo que para los demás. Se debe a que hay cierta sobrecarga de procesamiento de datos que se realiza para el primer modelo y que luego es reutilizada por los modelos que le siguen.
Base es el modelo base predeterminado. Si establece el parámetro Modo AutoDL en Avanzado en lugar de Básico, es posible que se prueben varios modelos base.
- Cierre el panel Mensajes.
Revisar los resultados de entrenamiento del modelo
El paquete de proyecto que descargó incluye una carpeta comprimida con los resultados de la herramienta Entrenar con AutoDL. Ahora los revisará.
- En el panel Catálogo, vaya a Carpetas y a la carpeta AutoDL_tutorial. Haga clic con el botón derecho en la carpeta userdata y seleccione Copiar ruta.
- En el Microsoft File Explorer, pegue la ruta en el cuadro de ruta.
La ruta será similar a: C:\Users\username\Documents\ArcGIS\Packages\AutoDL_tutorial_7bd31e\userdata
Dentro de esta carpeta hay dos archivos zip. El archivo LULCClassifierModel.zip contiene los resultados creados al ejecutar la herramienta Entrenar con AutoDL con los ajustes especificados anteriormente.
El archivo TrainingData.zip contiene los datos utilizados para crear los datos de entrenamiento.
- Haga clic con el botón derecho en el archivo LULCClassifierModel.zip y elija Extraer todo.
- Haga clic en Extraer.
- Abra la carpeta LULCClassifierModel.
Esta carpeta contiene varias salidas de la ejecución de la herramienta. Estas incluyen lo siguiente:
- ModelCharacteristics es una carpeta que contiene imágenes utilizadas en el archivo README.html.
- models es una carpeta que contiene todos los modelos entrenados que se evaluaron en el subconjunto de datos de entrenamiento.
- ArcGISImageClassifier es un script de Python con código utilizado en la clasificación de imágenes para el proceso de entrenamiento.
- ClassifiedSARLULC.dlpk es un paquete completo de todos los archivos almacenados en la carpeta de salida del modelo, que incluye el modelo entrenado, el archivo de definición del modelo y el archivo de métricas del modelo. Este paquete se puede compartir en ArcGIS Online y ArcGIS Enterprise como un elemento de modelo entrenado para que otros lo utilicen.
- ClassifiedSARLULC.emd es un archivo de definición de modelo que contiene información sobre el tamaño de tesela, las clases, el tipo de modelo, etc.
- ClassifiedSARLULC.pth es un archivo de ponderaciones preentrenadas, normalmente guardado en formato PyTorch.
- model_metrics.html es una página HTML con detalles sobre la tasa de aprendizaje utilizada y la precisión del modelo entrenado.
- README.html es una página HTML con detalles sobre la evaluación de los modelos y la precisión del modelo de mejor rendimiento.
- Haga doble clic en el archivo README.html.
La página se abre en una pestaña del navegador. Esta página muestra información sobre el modelo con mejor rendimiento, cómo se comparó con los demás modelos y en qué medida fue capaz de clasificar los LULC a partir de sus datos de entrenamiento de entrada.
La sección Pérdidas de entrenamiento y validación muestra un gráfico con la cantidad de error que estaba presente a medida que el modelo se entrenó a lo largo del tiempo. Cuando se ejecutó la herramienta, el noventa por ciento de sus datos de entrada se utilizaron para entrenar el modelo, y el diez por ciento, para validarlo y determinar su precisión. Lo ideal sería ver que estos valores de pérdida disminuyen y convergen a medida que aumenta el número de imágenes (lotes) procesadas a lo largo del tiempo disponible.
Nota:
Debido a que las muestras de validación se seleccionan aleatoriamente del conjunto de chips de imagen de entrenamiento y a que algunos hiperparámetros se establecen aleatoriamente para iniciar el entrenamiento, las métricas de Pérdida de entrenamiento y Pérdida de validación pueden ser diferentes cada vez que se ejecuta la herramienta, incluso en el mismo dataset de entrenamiento.
En este gráfico, puede ver que, para los primeros 60 lotes de imágenes procesadas, el error mostrado por la línea de Validación es alto, pero varía bastante para cada lote. Después de 60 lotes, la cantidad de error en el proceso de Validación disminuye y varía menos, excepto por un pico a los 120. La línea de Entrenamiento muestra una cantidad de error que disminuye de forma más constante.
La sección Análisis del modelo muestra la precisión de las clases de datos. Técnicamente, su modelo tenía cinco clases: cuatro para la cobertura de suelo y una para NoData. Un valor de mayor precisión significa que el modelo tiene más confianza en los resultados. Puede obtener más información sobre cómo interpretar las estadísticas de precisión y exactitud de las herramientas de aprendizaje profundo.
Por último, esta página muestra algunos chips de muestra que comparan los datos de entrenamiento originales de LULC: Realidad del terreno a la izquierda y las Predicciones del modelo a la derecha. Idealmente, la predicción debería coincidir exactamente con la realidad del terreno original.
- Cierre la página README en su navegador web.
- En la Barra de herramientas de acceso rápido, haga clic en el botón Guardar proyecto.
Ha entrenado un modelo de aprendizaje profundo para la clasificación LULC en imágenes Sentinel 1 tomadas en 2018 y ha descubierto que el modelo con mejor rendimiento para esa tarea se basa en la arquitectura UnetClassifier. A continuación, utilizará este modelo para clasificar automáticamente la cobertura de suelo en las imágenes de Sentinel 1 tomadas en 2024.
Aplicar el modelo
Una vez creado un modelo de aprendizaje profundo, se puede utilizar para clasificar rápidamente la cobertura de suelo en datos similares capturados en diferentes fechas. De este modo, es posible supervisar el cambio en la cobertura de suelo a lo largo del tiempo. A modo de ejemplo, tomará el modelo que ha creado y lo utilizará para clasificar las imágenes de Sentinel-1 captadas en 2024 en la misma área geográfica.
Usar el modelo entrenado para clasificar nuevas imágenes
A continuación, utilizará el modelo de aprendizaje profundo para clasificar imágenes de Sentinel-1 capturadas en 2024 con la herramienta Clasificar píxeles con aprendizaje profundo.
- En ArcGIS Pro, haga clic en la pestaña de mapa Deploy model (Implementar modelo).
El mapa Deploy model muestra la capa SARImagery2024.tif.
- En el panel Geoprocesamiento, haga clic en el botón Atrás.
- En el cuadro de búsqueda, escriba clasificar píxeles con aprendizaje profundo. En los resultados de búsqueda, haga clic en la herramienta Clasificar píxeles con aprendizaje profundo.
- En la herramienta Clasificar píxeles con aprendizaje profundo, en el parámetro Ráster de entrada, elija SARImagery2024.tif.
- En Dataset ráster de salida, escriba ClassifiedLULC2024.
- En Definición de modelo, haga clic en el botón Examinar y busque la carpeta ClassifiedSARLULC. Haga clic en el paquete de aprendizaje profundo ClassifiedSARLULC.dlpk.
Nota:
Si no ha entrenado el modelo en su equipo, puede utilizar el modelo entrenado que se proporciona con el proyecto. En la estructura de carpetas del proyecto, busque la carpeta userdata\ClassifiedSARLULC\ClassifiedSARLULC y haga clic en el paquete de aprendizaje profundo ClassifiedSARLULC.dlpk.
Una vez que la herramienta ha cargado el paquete de aprendizaje profundo, aparece la tabla Argumentos del modelo. Aceptará los valores predeterminados. Puede reducir el tiempo de procesamiento aumentando el tamaño del lote a 8 o 16, si dispone de un equipo con una GPU con al menos 8 GB de VRAM dedicada. Si su GPU tiene menos de 8 GB de VRAM, puede que tenga que disminuir el tamaño del lote a 2.
- Haga clic en la pestaña Entornos.
- En la sección Análisis de ráster, en Tamaño de celda, escriba 10.
El tamaño de celda de los datos SAR no coincide exactamente con el tamaño de celda con el que se entrenó el modelo, por lo que puede especificar que la salida tenga un tamaño de celda de 10.
- En Tipo de procesador, elija GPU.
El proceso de clasificación de esta imagen puede durar 40 minutos o más. Opcionalmente, puede omitir la ejecución de la herramienta y ver la salida de esta, que se proporciona en el paquete de proyecto.
- En la sección Tipo de procesador, en Id. de GPU, escriba 0.
Si su GPU habilitada para CUDA tiene un Id. de GPU diferente, utilice ese número de Id. Esto puede ser necesario si su equipo tiene más de una GPU.
- Opcionalmente, haga clic en Ejecutar.
Si ejecuta la herramienta, cuando termine, visualice los resultados en el mapa.
Nota:
Los colores de clase de imagen se asignarán aleatoriamente. Puede cambiarlos para adaptarlos a sus preferencias. Haga clic con el botón derecho en un símbolo de clase y, en la paleta de colores, elija el color que prefiera.
- Si no ha ejecutado la herramienta, haga clic en la pestaña de mapa Results para ver los resultados de la herramienta.
Aparecen las imágenes clasificadas.
Nota:
El aprendizaje profundo no es un proceso determinista, por lo que los resultados que obtenga pueden ser ligeramente diferentes.
Puede comparar el ráster de 2024 con el de 2018 para detectar cambios a gran escala en el uso del suelo a lo largo del tiempo. Ahora que ya se ha entrenado el modelo de aprendizaje profundo, puede aplicarlo a nuevas imágenes SAR cada año o con mayor frecuencia. Este modelo entrenado puede formar parte de un flujo de trabajo eficaz para supervisar el cambio en la cobertura de suelo a lo largo del tiempo.
- Pulse Ctrl+S para guardar el proyecto.
En este tutorial, ha utilizado la herramienta Entrenar con AutoDL para entrenar varios modelos para clasificar la cobertura de suelo a partir de imágenes SAR de Sentinel-1 e identificar automáticamente cuál funcionó mejor. A continuación, ha aplicado el modelo entrenado con mejor rendimiento a imágenes más recientes.
Nota:
Esri proporciona más de 60 modelos preentrenados en ArcGIS Living Atlas para agilizar el proceso de clasificación de imágenes y detección de objetos. Estos modelos se pueden descargar de forma gratuita y puede implementarlos directamente en las entradas de imágenes compatibles. También puede ajustar con precisión estos modelos previamente entrenados en sus propios datos de entrenamiento; por lo general, esto lleva menos tiempo que entrenar un modelo desde cero. Por ejemplo, consulte los tutoriales Detectar objetos con un modelo preentrenado de aprendizaje profundo y Representación cartográfica de inundaciones con datos SAR y aprendizaje profundo.Visite esta serie de tutoriales para ver más tutoriales sobre aprendizaje profundo.
Para obtener más información sobre la preparación de imágenes SAR para flujos de trabajo de aprendizaje profundo, consulte este tutorial.