Crear muestras de entrenamiento
Un inventario y una evaluación de la salud de cada palmera en la plantación de Kolovai, Tonga, llevaría mucho tiempo y un personal considerable. Para simplificar el proceso, utilizará un modelo de aprendizaje profundo en ArcGIS Pro para identificar árboles y, luego, calculará su salud basándose en la medición del verde de la vegetación. El primer paso es encontrar imágenes que muestren Kolovai, Tonga, y tengan una resolución espacial y espectral lo suficientemente fina como para identificar árboles. Una vez que tenga las imágenes, creará muestras de entrenamiento y las convertirá a un formato que pueda ser utilizado por un modelo de aprendizaje profundo. Para que el modelo reconozca lo que se le encarga encontrar, deberá definir imágenes de palmeras para que pueda identificar píxeles similares y tamaños de árboles.
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, asegúrese de que ArcGIS Pro está cerrado y siga los pasos descritos en las instrucciones Prepararse para el aprendizaje profundo en ArcGIS Pro. En estas instrucciones, también aprenderá cómo comprobar si el hardware y el software de su ordenador son capaces de ejecutar flujos de trabajo de aprendizaje profundo y otros consejos útiles. Una vez hecho, puede continuar con este tutorial.
Descargar las imágenes
Las imágenes precisas y de alta resolución son esenciales cuando se extraen entidades. El modelo solo podrá identificar las palmeras si el tamaño de píxel es lo suficientemente pequeño como para distinguir las copas de las palmeras. Además, para calcular la salud del árbol, necesitará una imagen con bandas espectrales que permitan generar un índice de salud de la vegetación. Encontrará y descargará las imágenes para este estudio de OpenAerialMap, un repositorio de código abierto de imágenes multiespectrales de alta resolución.
- Vaya al sitio web de OpenAerialMap.
- Haga clic en Iniciar exploración.
En la vista de mapa interactivo, puede hacer zoom, desplazarse y buscar imágenes disponibles en cualquier lugar del planeta. El mapa está dividido en cuadrículas. Al apuntar a un cuadro de la cuadrícula, aparece un número. Este número indica el número de imágenes disponibles para ese cuadro.
- En el cuadro de búsqueda, escriba Kolovai y pulse Intro. En la lista de resultados, haga clic en Kolovai.
El mapa se acerca a Kolovai. Esta es una ciudad en la isla principal de Tongatapu con una plantación de cocoteros.
- En caso necesario, aléjese hasta que vea la etiqueta de Kolovai en el mapa. Haga clic en el cuadro de la cuadrícula directamente sobre Kolovai.
- En el panel lateral, haga clic en Kolovai UAV4R Subset (OSM-Fit) de Cristiano Giovando.
- Haga clic en el botón de descarga para descargar el archivo .tif sin procesar. Guarde la imagen en la ubicación que desee.
Debido al tamaño del archivo, la descarga puede durar unos minutos.
El nombre predeterminado del archivo es 5b1b6fb2-5024-4681-a175-9b667174f48c.
Explorar los datos
Para comenzar el proceso de clasificación, descargará un proyecto de ArcGIS Pro que contiene algunos marcadores para guiarle por el proceso de creación de muestras de entrenamiento.
- Descargue el archivo Palm_Tree_Detection .zip y extraiga su contenido en una ubicación adecuada de su equipo.
Debido al tamaño del archivo, la descarga puede durar unos minutos.
- Si es necesario, abra la carpeta Palm_Tree_Detection extraída. Abra la carpeta Kolovai. Haga doble clic en el archivo de proyecto de ArcGIS Kolovai.
Si se le solicita, inicie sesión en su cuenta de ArcGIS Online o ArcGIS Enterprise.
Nota:
Si no tiene una cuenta de organización, consulte las opciones de acceso a software.
El proyecto se abre con un mapa en blanco; agregará las imágenes que descargó.
- En la cinta, en la pestaña Mapa del grupo Capa, haga clic en Agregar datos.
Aparece la ventana Agregar datos.
- En la ventana Agregar datos, en Equipo, vaya a la imagen de Kolovai (recuerde que el archivo se llama 5b1b6fb2-5024-4681-a175-9b667174f48c) que descargó de OpenAerialMap. Seleccione el archivo .tif y haga clic en Aceptar.
Nota:
Si aparece la ventana Calcular estadísticas, haga clic en Sí.
La imagen de Kolovai se agrega a su mapa. La capa se enumera en el panel Contenido por su identificador único, que no es significativo. Es buena práctica cambiar el nombre de la capa a algo que se entienda.
- En el panel Contenido, haga clic dos veces en el nombre de la capa actual y escriba Imágenes. Pulse Intro.
- Desplácese y haga zoom en el mapa para tener una idea de cómo es la plantación de palmeras.
En esta imagen se encuentra una gran cantidad de cocoteros. Contarlos individualmente, en el campo o inspeccionando visualmente la imagen, llevaría días. Para que un modelo de aprendizaje profundo haga este trabajo, creará una muestra de palmeras para el entrenamiento de su modelo.
Crear esquema de entrenamiento
Crear buenas muestras de entrenamiento es esencial al realizar el entrenamiento de un modelo de aprendizaje profundo o de cualquier modelo de clasificación de imágenes. También es a menudo el paso que más tiempo consume del proceso. Para proporcionar al modelo de aprendizaje profundo la información que necesita para extraer todas las palmeras de la imagen, creará entidades para que varias palmeras enseñen al modelo el tamaño, la forma y la firma espectral de las palmeras de coco o cocoteros. Estas muestras de entrenamiento se crean y administran mediante la herramienta Etiquetar objetos para aprendizaje profundo.
Nota:
Crear un dataset de entrenamiento conlleva digitalizar cientos de entidades y puede llevar mucho tiempo. Si no desea crear las muestras de entrenamiento, se proporciona un dataset en la geodatabase Results, dentro de la carpeta Provided Results. Puede avanzar a la sección Crear chips de imagen.
- En el panel Contenido, asegúrese de que la capa Imágenes esté seleccionada.
- En la cinta, haga clic en la pestaña Imágenes. En el grupo Clasificación de imagen, haga clic en Herramientas de clasificación y elija Etiquetar objetos para aprendizaje profundo.
Aparece el panel Clasificación de imagen con un esquema en blanco. Creará un esquema con una sola clase porque solo le interesa extraer los cocoteros de las imágenes.
- En el panel Clasificación de imagen, haga clic con el botón derecho en Nuevo esquema y elija Editar propiedades.
- En Nombre, escriba Cocoteros.
- Haga clic en Guardar.
Se cambia el nombre del esquema en el panel Clasificación de imagen. Ahora ya puede agregarle clases.
- Haga clic con el botón derecho en Cocoteros y seleccione Agregar nueva clase.
Aparece el panel Agregar nueva clase. Definirá algunos parámetros de la clase que entrenará el modelo.
- En Nombre, escriba Palmera.
El siguiente es el valor, o el código utilizado por el equipo al entrenar un modelo. Las palmeras recibirán un valor de 1.
- En Valor, escriba 1.
Por último, elegirá el color utilizado al identificar entidades. El color seleccionado es arbitrario, pero, como va a digitalizar entidades en imágenes que son principalmente verdes, el amarillo resultará muy visible.
- En Color, elija un amarillo intenso, por ejemplo, Amarillo solar.
Sugerencia:
Para ver el nombre de un color, apunte al cuadrado de color.
- Haga clic en Aceptar.
La clase Palmera se agrega al esquema Cocoteros en el panel Clasificación de imagen. Creará entidades con la clase Palmera para entrenar el modelo de aprendizaje profundo.
Crear muestras de entrenamiento
Para asegurarse de que está capturando una muestra representativa de los árboles del área, digitalizará las entidades de toda la imagen. Estas entidades se leen en el modelo de aprendizaje profundo en un formato específico llamado chips de imagen. Los chips de imagen son pequeños bloques de imágenes cortados de la imagen de origen. Una vez creado un número suficiente de entidades en el panel Clasificación de imagen, las exportará como chips de imagen con metadatos.
- En la cinta, haga clic en la pestaña Mapa. En el grupo Navegar, haga clic en Marcadores y elija Ubicación de entrenamiento 1.
El mapa se acerca a la primera área de palmeras de muestra que identificará.
- En el panel Clasificación de imagen, seleccione la clase Palmera y haga clic en la herramienta Círculo.
Utilizará esta herramienta para dibujar círculos alrededor de cada palmera en su visualización actual. Los círculos se dibujan desde el centro de la entidad hacia fuera, midiendo el radio de la entidad.
- En el mapa, haga clic en el centro de una palmera y dibuje un círculo alrededor de un solo árbol.
Se agrega un nuevo registro de palmera en el grupo Objetos etiquetados del panel Clasificación de imagen. Creará un registro de palmeras para cada árbol que pueda para asegurarse de que haya muchos chips de imagen con todas las palmeras marcadas.
- Dibuje círculos alrededor de cada árbol en la visualización del mapa.
Nota:
Si desea una guía adicional para ayudarle a entender cómo dibujar estos círculos o si desea omitir la digitalización de los árboles, hay un dataset de muestras de entrenamiento disponible en la carpeta que descargó. En la cinta, en la pestaña Mapa del grupo Capa, haga clic en Agregar datos. Vaya a la carpeta Bases de datos y haga doble clic en la geodatabase Results. Haga clic en PalmTraining y después en Aceptar.
Cuando termine con la extensión de este primer marcador, tendrá aproximadamente 180 muestras registradas en el panel Administrador de muestras de entrenamiento.
Estos son algunos detalles que le ayudarán a identificar los árboles:
- Puede hacer zoom y desplazamiento panorámico por el mapa para facilitar la digitalización, pero asegúrese de digitalizar tantos árboles dentro de la extensión del marcador como pueda.
- Si no conoce con certeza la ubicación exacta de un árbol, puede omitirlo. Quiere asegurarse de crear muestras de entrenamiento precisas.
- No hay problema si los círculos que dibuja se superponen.
- Su modelo final tendrá en cuenta el tamaño de los árboles que identifique, así que asegúrese de marcar tanto las palmeras pequeñas como las grandes.
- Cree muestras de entrenamiento para cada palmera en cada uno de los seis marcadores de Ubicación de entrenamiento restantes.
La digitalización de muestras de entrenamiento puede llevar mucho tiempo, pero merece la pena disponer de una gran cantidad de ejemplos. Cuantas más muestras proporcione al modelo como datos de entrenamiento, más precisos serán los resultados.
Como ejemplo, el dataset de entrenamiento utilizado para entrenar el modelo proporcionado con este tutorial tenía más de 600 muestras.
- Cuando termine de crear muestras, en el panel Clasificación de imagen, haga clic en Guardar.
- En la ventana Guardar muestras de entrenamiento actuales, bajo Proyecto, haga clic en Bases de datos y haga doble clic en la geodatabase predeterminada del proyecto, Kolovai.gdb.
- Asigne a la clase de entidad el nombre PalmTraining y haga clic en Guardar.
- Cierre el panel Clasificación de imagen. Si aparece la ventana Etiquetar objetos, haga clic en Sí.
Aunque ha guardado las muestras de entrenamiento en una geodatabase, debe refrescar la geodatabase para poder acceder a este dataset.
- En la cinta, haga clic en la pestaña Vista. En el grupo Ventanas, haga clic en panel Catálogo.
Aparece el panel Catálogo.
- Expanda Bases de datos. Haga clic con el botón derecho en Kolovai y seleccione Refrescar.
Su clase de entidad PalmTraining ahora está visible.
- En la barra de acceso rápido, haga clic en Guardar.
Crear chips de imagen
El último paso antes de realizar el entrenamiento del modelo es exportar sus muestras de entrenamiento al formato correcto como chips de imagen.
- En la parte superior de la ventana de la aplicación ArcGIS Pro, en Búsqueda de comandos, escriba Exportar datos de entrenamiento para aprendizaje profundo. Haga clic en Exportar datos de entrenamiento para aprendizaje profundo.
Se abre el panel Geoprocesamiento.
Definirá los parámetros para crear chips de imagen. En primer lugar, elegirá las imágenes que se usarán para el entrenamiento.
- En Ráster de entrada, elija Imágenes.
A continuación, creará una carpeta para almacenar los chips de imagen.
- En Carpeta de salida, escriba imagechips.
A continuación, seleccionará la clase de entidad que contiene las muestras de entrenamiento que ha creado.
- En Clase de entidad de entrada o ráster clasificado o tabla, busque la geodatabase Kolovai. Haga clic en PalmTraining y después en Aceptar.
Nota:
Si no dibujó las muestras de entrenamiento, se proporciona un dataset para que lo use. Vaya a Bases de datos y abra la geodatabase Results. Seleccione PalmTraining y haga clic en Aceptar.
A continuación, seleccionará el campo de sus datos de entrenamiento que contiene el valor de clase de cada entidad que dibujó. Recuerde que el valor de su clase Palmera era 1.
- En Campo de valor de clase, elija Classvalue.
A continuación, elegirá el formato de salida para sus chips. El formato que elija se basa en el tipo de modelo de aprendizaje profundo que desea entrenar.
- En Formato de imagen, elija Formato JPEG.
A continuación, definirá el tamaño, en píxeles, de cada chip de imagen. El tamaño del chip de imagen viene determinado por el tamaño de las entidades que trata de detectar. Si la entidad es más grande que las dimensiones x e y de las teselas, el modelo no proporcionará buenos resultados.
- En Tamaño de tesela X y Tamaño de tesela Y, escriba 448.
Ahora se asegurará de que el formato de salida sea correcto. Esto también depende del tipo de modelo de aprendizaje profundo que esté creando.
- En Formato de metadatos, asegúrese de que PASCAL Visual Object Classes esté seleccionado.
Antes de ejecutar la herramienta y crear chips de imagen, definirá los entornos de la herramienta. En concreto, debe conocer la resolución de las imágenes. Se recomienda crear chips de imagen con la misma resolución que sus imágenes de entrada.
- Haga clic en la pestaña Entornos.
- En Análisis de ráster, para Tamaño de celda, elija Igual que la capa Imágenes.
- Haga clic en Ejecutar.
Dependiendo del hardware de su equipo, la herramienta tardará unos minutos en ejecutarse.
Los chips de imágenes se crean y están listos para su uso para entrenar un modelo de aprendizaje profundo.
- Guarde el proyecto.
En este módulo, descargó y agregó imágenes de código abierto a un proyecto, creó muestras de entrenamiento utilizando el panel del Administrador de muestras de entrenamiento y las exportó a un formato compatible con un modelo de aprendizaje profundo para entrenamiento. A continuación, creará un modelo de aprendizaje profundo e identificará todos los árboles de la plantación.
Detectar palmeras con un modelo de aprendizaje profundo
Para poder empezar a detectar palmeras, debe entrenar un modelo. Entrenar un modelo implica tomar sus datos de muestras de entrenamiento y procesarlos repetidamente a través de una red neuronal. Este proceso con gran potencia de cómputo lo gestionará una herramienta de geoprocesamiento, pero así es como el modelo aprenderá qué es y qué no es una palmera. Una vez que tenga un modelo, lo aplicará a sus imágenes para identificar automáticamente los árboles.
Entrenar un modelo de aprendizaje profundo
La herramienta de geoprocesamiento Entrenar un modelo de aprendizaje profundo utiliza los chips de imagen que etiquetó para determinar las combinaciones de píxeles de una imagen determinada que representan palmeras. Usará estas muestras de entrenamiento para entrenar un modelo de aprendizaje profundo Single Shot Detector (SSD).
En función del hardware de su equipo, el entrenamiento del modelo puede tardar más de una hora. Se recomienda que su equipo incorpore una unidad de procesamiento de gráficos (GPU) dedicada. Si no desea entrenar el modelo, se le ha proporcionado un modelo de aprendizaje profundo en la carpeta Resultados proporcionados del proyecto. Si lo desea, puede continuar en la sección Detección de palmeras de este tutorial.
- En la cinta, en Búsqueda de comandos, escriba Entrenar un modelo de aprendizaje profundo. Seleccione Entrenar un modelo de aprendizaje profundo.
Se abre el panel Geoprocesamiento.
Primero, configurará la herramienta para que utilice sus muestras de entrenamiento.
- En el panel Geoprocesamiento, en Datos de entrenamiento de entrada, vaya a la carpeta de proyecto Kolovai. Seleccione la carpeta imagechips y haga clic en Aceptar.
La carpeta puede tardar unos segundos en cargarse.
La carpeta imagechips contiene dos carpetas, dos archivos de texto, un archivo .json y un archivo .emd creados con la herramienta Exportar datos de entrenamiento para aprendizaje profundo. El archivo esri_model_definition.emd es una plantilla que rellenará el científico de datos que realizó el entrenamiento del modelo, con información como el marco de aprendizaje profundo, la ruta del archivo al modelo entrenado, los nombres de clase, el tipo de modelo y las especificaciones de imagen de la imagen utilizada en el entrenamiento. El archivo .emd es el puente entre el modelo entrenado y ArcGIS Pro.
A continuación, creará una carpeta para almacenar el modelo.
- En Modelo de salida, escriba classify_palms.
A continuación, definirá el número de épocas que ejecutará su modelo. 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 Máximo de épocas, escriba 50.
A continuación, se asegurará de estar entrenando el tipo de modelo correcto para detectar objetos en imágenes. El tipo de modelo determinará el algoritmo de aprendizaje profundo y la red neuronal que usará para entrenar su modelo. En este caso, utilizará el método Single Shot Detector porque está optimizado para la detección de objetos.
- Expanda Parámetros de modelo y asegúrese de que Tipo de modelo esté definido como Single Shot Detector (Detección de objetos).
A continuación, definirá el tamaño de lote. Este parámetro determina el número de muestras de entrenamiento que se entrenarán a la vez.
- En Tamaño de lote, escriba 8.
A continuación, se asegurará de que el modelo se ejecute para las 100 épocas.
- Expanda Avanzado y desactive la casilla Detener cuando el modelo deje de mejorar.
- Acepte el resto de los parámetros predeterminados.
Los argumentos de modelo, los valores de parámetro utilizados para entrenar el modelo, varían en función del tipo de modelo que elija y se pueden personalizar. Para obtener más información sobre la elección de argumentos de modelo, consulte la documentación de Entrenar un modelo de aprendizaje profundo.
Por último, si tiene una GPU, configurará esta herramienta para que se ejecute en la GPU de su equipo para un procesamiento más rápido. De lo contrario, omita el siguiente paso.
- Opcionalmente, si su equipo tiene una GPU, haga clic en la pestaña Entornos. Debajo de Tipo de procesador, para Tipo de procesador, elija GPU.
- Haga clic en Ejecutar.
Nota:
Esta herramienta puede tardar más de una hora en ejecutarse.
Si el modelo no se ejecuta, puede resultar útil reducir el parámetro Tamaño de lote. Puede que tenga que establecer este parámetro en 4 o 2 y volver a ejecutar la herramienta. Sin embargo, la calidad de los resultados de su modelo entrenado puede verse reducida.
Detección de palmeras
La mayor parte del trabajo de extraer entidades de las imágenes consiste en preparar los datos, crear las muestras de entrenamiento y realizar el entrenamiento del modelo. Ahora que se han completado estos pasos, usará un modelo entrenado para detectar las palmeras de todas sus imágenes. La detección de objetos es un proceso que suele requerir varias pruebas para lograr los mejores resultados. Hay varios parámetros que puede modificar para que su modelo rinda mejor. Para probar estos parámetros rápidamente, pruebe a detectar árboles en una sección pequeña de la imagen. Cuando esté conforme con los resultados, extienda las herramientas de detección a toda la imagen.
Nota:
Si no entrenó un modelo en la sección anterior, se proporciona un paquete de aprendizaje profundo en la carpeta Provided Results.
La clasificación de entidades es un proceso que consume muchos recursos de GPU y que puede tardar tiempo en completarse dependiendo del hardware del equipo. Si opta por no clasificar las palmeras, se proporcionan los resultados y puede ir directamente a la sección Perfeccionar las entidades detectadas.
- En la cinta, haga clic en la pestaña Mapa. En el grupo Navegar, haga clic en Marcadores. Elija Área de detección.
- En la cinta, en Búsqueda de comandos, escriba Detectar objetos con aprendizaje profundo. Elija Detectar objetos con aprendizaje profundo.
Primero, definirá las imágenes en las que desea detectar entidades.
- En la herramienta Detectar objetos con aprendizaje profundo, para Ráster de entrada, elija Imágenes.
A continuación, asignará un nombre a la clase de entidad de los objetos detectados.
- En Objetos de salida detectados, escriba DetectedPalms.
A continuación, elegirá el modelo que creó para detectar las palmeras.
- En Definición de modelo, busque la carpeta classify_palms. Haga clic en el archivo de paquete de modelo de aprendizaje profundo classify_palms.dlpk. Haga clic en Aceptar.
Nota:
Si no entrenó un modelo de aprendizaje profundo, examine la carpeta del proyecto. Abra Resultados proporcionados. Abra classify_palms. Haga clic en el archivo de paquete de modelo de aprendizaje profundo classify_palms.dlpk. Haga clic en Aceptar.
A continuación, definirá algunos de los argumentos del modelo. Los argumentos se utilizan para ajustar cómo se ejecuta el modelo para obtener unos resultados óptimos.
Al realizar la convolución de imágenes en el modelado de redes neuronales convolucionales, esencialmente está reduciendo los datos, y los píxeles del borde de la imagen se usan mucho menos durante el análisis, en comparación con los píxeles internos. El parámetro padding agrega un límite adicional de píxeles a los bordes exteriores de la imagen. Con ello se reduce la pérdida de información por los píxeles de borde válidos y la contracción. Dejará este parámetro en la opción predeterminada.
El argumento threshold es el umbral de confianza: ¿cuánta confianza es aceptable para etiquetar un objeto como palmera? Este número puede ajustarse para lograr la precisión deseada.
- En threshold, escriba 0,2.
A continuación, definirá el argumento nms_overlap. Controla cuánto se puede intersecar una entidad. Un número inferior de este argumento especificaría que los objetos no se pueden superponer y se consideran entidades individuales.
- En nms_overlap, mantenga el valor predeterminado 0,1.
A continuación, definirá el tamaño de lote.
- En batch_size, escriba 8.
Antes de ejecutar la herramienta, configurará algunos entornos.
- Haga clic en la pestaña Entornos.
A continuación, definirá una extensión de procesamiento. Este parámetro obliga a la herramienta a procesar únicamente las imágenes que están dentro de la extensión de mapa actual. Dado que el proceso de detección de objetos hace un uso intensivo de hardware, es mejor ejecutar la herramienta en un área más pequeña para probar los parámetros antes de ejecutarla en un dataset de imágenes completo.
- En Extensión de procesamiento, defina Extensión como Extensión de visualización actual.
Después de elegir Extensión de visualización actual, se muestran las coordenadas del cuadro de delimitación geográfico de la extensión.
- En Análisis de ráster, para Tamaño de celda, elija Igual que la capa Imágenes.
- Opcionalmente, si su equipo tiene una GPU, debajo de Tipo de procesador, para Tipo de procesador, elija GPU.
- Haga clic en Ejecutar.
La herramienta tardará varios minutos en ejecutarse, dependiendo del hardware y de si se está ejecutando en la CPU, la GPU o la RAM.
Observe los resultados. Puede probar a experimentar con los argumentos para ver cómo afecta a sus resultados.
Cuando tenga unos argumentos que produzcan buenos resultados, detectará palmeras en toda la imagen.
- En la pestaña Entornos, en Extensión de procesamiento, elija Predeterminado.
- Haga clic en Ejecutar.
Dado que la herramienta se ejecuta en todo el dataset de imágenes, el tiempo de procesamiento aumentará en función del hardware del equipo.
Nota:
Si no ejecuta el modelo para detectar las palmeras, se proporciona un dataset de palmeras. Para agregar la clase de entidad DetectedPalms al mapa, en la cinta, en la pestaña Mapa, en el grupo Capa, haga clic en Agregar datos. Busque la carpeta Kolovai y la carpeta Provided Results, abra la geodatabase Results y haga doble clic en la clase de entidad DetectedPalms.
Cuando la herramienta termine, observe los resultados. El color de los resultados finales puede diferir del de la imagen proporcionada.
Notará que algunas de sus palmeras tienen entidades superpuestas. Significa que muchos árboles se han identificado varias veces, lo cual genera un recuento erróneo del número total de árboles. Después de cambiar la simbología para que este problema resulte más claro, eliminará estas entidades superpuestas con una herramienta de geoprocesamiento.
- En el panel Contenido, haga doble clic en el símbolo de la capa DetectedPalms.
Aparece el panel Simbología.
- Haga clic en la pestaña Propiedades.
- En Apariencia, defina lo siguiente:
- En Color, elija Sin color.
- En Color del contorno, elija Amarillo solar.
- En Ancho del contorno, escriba 1,5.
- Haga clic en Aplicar.
Observe de nuevo los resultados ahora que se ha cambiado la simbología.
A continuación, eliminará los polígonos duplicados.
- Guarde el proyecto.
Perfeccionar las entidades detectadas
Es importante garantizar un recuento preciso de palmeras. Dado que muchos árboles se han contado varias veces, usará la herramienta Supresión no máxima para resolver este problema. Sin embargo, debe tener cuidado, ya que las copas de las palmeras podrían superponerse. Así pues, eliminará las entidades que sean claramente duplicados del mismo árbol y se asegurará al mismo tiempo de que los árboles separados que estén superpuestos parcialmente no se eliminen.
- En la cinta, en Búsqueda de comandos, escriba Supresión no máxima. Seleccione Supresión no máxima.
Primero, elegirá la capa de palmeras creada por el modelo.
- En Clase de entidad de entrada, elija DetectedPalms.
Nota:
Si omitió la sección anterior, se proporciona un dataset de palmeras. Para agregar la clase de entidad DetectedPalms al mapa, en la cinta, en la pestaña Mapa, en el grupo Capa, haga clic en Agregar datos. Busque la carpeta Kolovai y la carpeta Provided Results, abra la geodatabase Results y haga doble clic en la clase de entidad DetectedPalms.
Cada palmera de este dataset tiene una puntuación de confianza que representa la precisión con la que el modelo identificó cada entidad. Introducirá este campo en la herramienta.
- En Campo de puntuación de confianza, elija Confianza.
Cada entidad detectada también se ha marcado con su clase adecuada. Recuerde que este modelo tenía una clase, Palmera. Se registró cuando utilizó el modelo.
- En Campo de valor de clase, elija Class.
- En Clase de entidad de salida, escriba DetectedPalms_NMS.
Máx. ratio de superposición determina cuánta superposición puede haber entre dos entidades antes de que se consideren la misma entidad. Un valor más alto indica que puede haber más superposición entre dos entidades. Se eliminará la entidad con la confianza más baja. Configurará la herramienta para eliminar los árboles con más de un 50 por ciento de superposición.
- En Máx. ratio de superposición, escriba 0,5.
- Haga clic en Ejecutar.
Se agrega una nueva capa al panel Contenido. Tiene la misma simbología que la capa DetectedPalms.
- En el panel Contenido, desactive la capa DetectedPalms.
Verá que hay menos árboles superpuestos en la nueva capa.
Puede volver a ejecutar la herramienta según sea necesario con diferentes valores de Máx. ratio de superposición para obtener unos resultados óptimos.
- Quite la capa DetectedPalms del mapa.
- En el panel Contenido, haga clic en DetectedPalms_NMS dos veces y cámbiele el nombre a Palmeras detectadas.
- Desactive la capa Palmeras detectadas.
- Guarde el proyecto.
Acaba de entrenar y utilizar un modelo para detectar palmeras. A continuación, utilizará funciones ráster para obtener una estimación de la salud de la vegetación para cada árbol detectado en su área de estudio.
Nota:
Es importante tener en cuenta que los resultados de su modelo pueden no ser perfectos la primera vez. Entrenar e implementar un modelo de aprendizaje profundo es un proceso que puede requerir varias iteraciones para que proporcione los mejores resultados. Se pueden obtener mejores resultados haciendo lo siguiente:
- Aumentar el tamaño de muestra inicial de las entidades
- Asegurarse de que las muestras de entrenamiento capturen con precisión las entidades que desea detectar
- Asegurarse de que sus muestras de entrenamiento incluyan entidades de diferentes tamaños
- Ajustar los parámetros de las herramientas de geoprocesamiento
- Volver a entrenar un modelo existente con los parámetros avanzados de la herramienta Entrenar un modelo de aprendizaje profundo
Estimar la salud de la vegetación
En la lección anterior utilizó un modelo de aprendizaje profundo para extraer cocoteros de las imágenes. En este módulo, usará las mismas imágenes para estimar la salud de la vegetación calculando un índice de salud de la vegetación.
Para evaluar la salud de la vegetación, calculará el Índice de resistencia atmosférica visible (VARI), que se desarrolló como una medición indirecta del índice de área con follaje (LAI) y la fracción de vegetación (VF) utilizando solo los valores de reflectancia de la longitud de onda visible:
(Rg - Rr) / (Rg + Rr - R(Rg - Rb))
donde Rr, Rg y Rb son los valores de reflectancia de las bandas roja, verde y azul, respectivamente (Gitelson et al. 2002).
Normalmente, usaría los valores de reflectancia en ambas bandas de longitud de onda, la visible y la de infrarrojo cercano (NIR), para estimar la salud de la vegetación, como con el Índice de vegetación con diferencia normalizada (NDVI). Sin embargo, las imágenes que descargó de OpenAerialMap son una imagen multibanda con tres bandas, todas en el espectro electromagnético visible, por lo que usará el VARI en su lugar.
Calcular el VARI
La medición del VARI requiere la entrada de las tres bandas dentro de las imágenes de OpenAerialMap. Para calcular el VARI usará la función ráster Aritmética de banda. Las funciones ráster son más rápidas que las herramientas de geoprocesamiento ya que no crean un nuevo dataset ráster. En su lugar, realizan análisis en tiempo real en los píxeles a medida que se desplaza y se acerca.
- En la cinta, haga clic en la pestaña Imágenes. En el grupo Análisis, haga clic en Funciones de ráster.
Aparece el panel Funciones ráster.
- En el panel Funciones ráster busque y seleccione la función ráster Aritmética de banda.
- En la función Propiedades de Aritmética de banda, configure los siguientes parámetros:
- En Ráster, elija la capa ráster Imágenes.
- En Método, elija VARI. La función requiere que proporcione el número de índice de banda que corresponde a las bandas de entrada para la fórmula. La entrada bajo el parámetro Índices de banda muestra Rojo Verde Azul, por lo que deberá proporcionar los números de índice de banda que corresponden a las bandas de Rojo, Verde y Azul, en ese orden. Asegúrese de poner un solo espacio entre cada banda.
- En Índices de banda, escriba 1 2 3.
- Haga clic en Crear capa nueva.
La capa del VARI se agrega al panel Contenido como Aritmética de banda_Imágenes. Al hacer zoom y desplazarse por el área, podrá ver entidades como la línea de costa, carreteras, edificios y campos.
- En el panel Contenido, asegúrese de que la capa Aritmética de banda_Imágenes esté seleccionada.
A continuación, cambiará la forma en que el ráster se dibuja en el mapa para que la simbología del VARI resulte más clara.
- En la cinta, haga clic en la pestaña Capa ráster.
- En el grupo Representación en pantalla, haga clic en el menú desplegable Tipo de extensión y elija Desviación estándar.
- En el panel Contenido, cambie el nombre de Aritmética de banda_Imágenes a VARI.
Extraer el VARI de los cocoteros
Disponer de una capa ráster que muestre el VARI es útil, pero no es necesariamente procesable. Para averiguar qué árboles necesitan atención, deberá conocer el VARI promedio de cada árbol individual. Para conocer el valor del VARI de cada árbol, extraerá el valor del VARI promedio subyacente y lo simbolizará para mostrar qué árboles están en buen estado y cuáles necesitan mantenimiento.
Primero, convertirá las entidades poligonales en puntos.
- En la cinta, en Búsqueda de comandos, escriba De entidad a punto. Elija De entidad a punto.
- En la herramienta De entidad a punto, introduzca los siguientes parámetros:
- En Entidades de entrada, seleccione la capa Palmeras detectadas.
- En Clase de entidad de salida, escriba PalmTree_Points.
- Haga clic en Ejecutar.
Tiene una clase de entidad de punto en el centroide de cada polígono detectado. Si hace zoom en varias ubicaciones y usa la herramienta Medición, verá que las palmeras tienen un radio promedio de aproximadamente 3 metros. En el siguiente paso, creará una capa de polígonos con una zona de influencia de 3 metros alrededor de cada punto.
Nota:
La herramienta Medir se encuentra en la cinta, en la pestaña Mapa, en el grupo Consulta.
- En la cinta, en Búsqueda de comandos, escriba Zona de influencia por pares. Elija Zona de influencia por pares.
- En la herramienta Zona de influencia por pares, introduzca los siguientes parámetros:
- En Entidades de entrada, elija PalmTree_Points.
- En Clase de entidad de salida, escriba PalmTreeBuffer.
- En Distancia, escriba 3 y elija Metros.
- Haga clic en Ejecutar.
Tiene una clase de entidad poligonal que representa la ubicación y la forma general de cada copa de palmera.
- En el panel Contenido, desactive las capas VARI y PalmTree_Points.
Su mapa muestra las copas estimadas de las palmeras en las imágenes.
A continuación, extraerá el valor del VARI promedio para cada polígono. La herramienta Estadísticas zonales como tabla recorre de uno en uno cada polígono que creó, encuentra todos los píxeles VARI que se encuentren dentro del polígono y calcula el valor del VARI promedio para ese polígono.
- En la cinta, en Búsqueda de comandos, escriba Estadísticas zonales como tabla. Elija Estadísticas zonales como tabla.
- En la herramienta Estadísticas zonales como tabla, introduzca los siguientes parámetros:
- En Datos de zonas de entidad o ráster de entrada, elija PalmTreeBuffer.
- En Campo de zona, elija ORIG_FID.
- En Ráster de valor de entrada, elija VARI.
- En Tabla de salida, escriba VARImedio_por_palmera.
- Asegúrese de que Ignorar NoData en los cálculos esté activado.
- En Tipo de estadística, elija Valor medio.
Al establecer el Campo de zona en ORIG_FID se asegura de obtener estadísticas para cada árbol por separado. Este atributo es el Id. único de la capa DetectPalms original.
- Haga clic en Ejecutar.
La tabla de salida se agrega a la parte inferior del panel Contenido. Si la abre, verá el valor FID original y una columna denominada MEAN que contiene el valor del VARI promedio. Unirá esta tabla a la capa PalmTreeBuffer para obtener una clase de entidad con el VARI promedio de cada palmera detectada.
- En la cinta, en Búsqueda de comandos, escriba Campo de unión. Elija Campo de unión.
- En la herramienta Campo de unión, introduzca los siguientes parámetros:
- En Tabla de entrada, elija PalmTreeBuffer.
- En Campo de unión de entrada, elija ORIG_FID.
- En Tabla de unión, elija VARImedio_por_palmera.
- En Campo de tabla de unión, elija ORIG_FID.
- En Campos de transferencia, elija MEAN.
- Haga clic en Ejecutar.
La capa PalmTreeBuffer tiene ahora un campo llamado MEAN agregado a ella. Cambiará el nombre de esta capa y la simbolizará para una mejor comprensión de los datos.
- En el panel Contenido, cambie el nombre de PalmTreeBuffer a VARI de palmeras.
- En el panel Contenido, compruebe que la imagen VARI de palmeras esté seleccionada. En la cinta, en la pestaña Capa de entidades, en el grupo Dibujo, haga clic en Simbología.
Aparece el panel Simbología.
- En Simbología principal, elija Colores graduados.
- En Campo, elija MEAN.
- Si fuera necesario, en Método elija Cortes naturales (Jenks) y configure Clases en 4.
- En Esquema de color, haga clic en el menú desplegable y active Mostrar todo y Mostrar nombres. Desplácese y seleccione el esquema de color Rojo-Amarillo-Verde (4 clases).
- En Clases, haga clic en cada etiqueta y cambie el nombre de las clases de arriba a abajo de la siguiente manera: Necesita inspección, Salud en declive, Moderado y Sano.
Ahora dispone de un mapa con una clase de entidad que muestra la ubicación y el estado de cada palmera de la imagen.
- Guarde el proyecto.
Opcional: Asignar tareas de campo y supervisar el progreso del proyecto
Uno de los mayores beneficios de usar ArcGIS Pro para la extracción de entidades y el análisis de imágenes es que se puede integrar con toda la plataforma ArcGIS. En el último tutorial usó las herramientas de aprendizaje profundo de ArcGIS Pro para identificar los cocoteros en las imágenes. Las palmeras se pueden almacenar como entidades en una clase de entidad que se puede usar en un SIG. Para ampliar el flujo de trabajo, puede publicar sus resultados en la nube, configurar una plantilla de aplicación web para garantizar la calidad, asignar tareas de inspección de árbol a los trabajadores de campo y supervisar el progreso del proyecto utilizando un cuadro de mando.
Publicar en ArcGIS Online
Para usar aplicaciones configurables para trabajar con sus datos, necesita publicar las palmeras como un servicio de entidades en ArcGIS Online oArcGIS Enterprise. En ArcGIS Pro, haga clic con el botón derecho en la capa PalmTreesVARI del panel Contenido y seleccione Compartir y, a continuación, seleccione Compartir como capa web. Se publicará en su cuenta de ArcGIS Online.
Más información sobre la publicación de un servicio de entidades
Usar plantillas de aplicaciones para revisar la precisión del aprendizaje profundo
Las herramientas de aprendizaje profundo proporcionan resultados con una precisión proporcional a la precisión de las muestras de entrenamiento y la calidad del modelo entrenado. En otras palabras, los resultados no siempre son perfectos. Puede evaluar la calidad de los resultados del modelo comprobando los árboles en los que la puntuación de Confianza, almacenada en el resultado del aprendizaje profundo, sea inferior a un valor dado. En lugar de acercarse a cada registro utilizando un filtro de atributos en ArcGIS Pro, la plantilla de aplicación web configurable Image Visit permite revisar rápidamente la precisión de los resultados en una aplicación web.
Más información sobre la aplicación Image Visit
Usar ArcGIS Workforce para realizar la verificación de campo
ArcGIS Workforce es una solución de aplicación móvil que utiliza la ubicación de entidades para coordinar al personal de campo. Puede usar la aplicación Workforce para asignar tareas a los miembros de su organización para que todos los árboles con una puntuación del VARI que figura como Necesidades de inspección se puedan asignar a alguien en el campo, verificarse y marcarse con un tratamiento sugerido.
Más información sobre ArcGIS Workforce
Usar ArcGIS Dashboards para supervisar el progreso del proyecto
Por último, puede supervisar el progreso de las asignaciones enviadas en su proyecto de ArcGIS Workforce utilizando ArcGIS Dashboards. ArcGIS Dashboards es una aplicación web configurable que proporciona visualización y análisis para una vista operativa en tiempo real de personas, servicios y tareas.
Más información sobre cómo empezar a utilizar ArcGIS Dashboards
En este tutorial, obtuvo imágenes de drones de código abierto y creó muestras de entrenamiento de las palmeras de la imagen. Esos chips de imagen se proporcionaron a un científico de datos y fueron utilizados por un modelo de aprendizaje profundo entrenado para extraer más de 11.000 palmeras de la imagen.
Aprendió sobre el aprendizaje profundo y el análisis de imágenes, así como sobre las aplicaciones configurables del sistema ArcGIS. Puede usar este flujo de trabajo para cualquier número de tareas, si tiene las imágenes y el conocimiento de los modelos de aprendizaje profundo. Por ejemplo, puede usar estas herramientas para evaluar el daño estructural provocado por desastres naturales, para contar vehículos en un área urbana o para encontrar estructuras próximas a zonas de peligro geológico.
Encontrará más tutoriales en la galería de tutoriales.