Evaluación de daños utilizando las capacidades geoespaciales de Amazon SageMaker y los modelos personalizados de SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Evaluación de daños mediante capacidades geoespaciales de Amazon SageMaker y modelos personalizados de SageMaker

En esta publicación, mostramos cómo entrenar, implementar y predecir daños por desastres naturales con Amazon SageMaker con capacidades geoespaciales. Usamos las nuevas capacidades geoespaciales de SageMaker para generar nuevos datos de inferencia para probar el modelo. Muchas organizaciones gubernamentales y humanitarias necesitan un conocimiento de la situación rápido y preciso cuando ocurre un desastre. Conocer la gravedad, la causa y la ubicación del daño puede ayudar en la estrategia de respuesta y la toma de decisiones del socorrista. La falta de información precisa y oportuna puede contribuir a un esfuerzo de socorro incompleto o mal dirigido.

A medida que aumenta la frecuencia y la gravedad de los desastres naturales, es importante que proporcionemos a los encargados de la toma de decisiones y al personal de primeros auxilios una evaluación de daños rápida y precisa. En este ejemplo, usamos imágenes geoespaciales para predecir daños por desastres naturales. Los datos geoespaciales se pueden utilizar inmediatamente después de un desastre natural para identificar rápidamente los daños a edificios, carreteras u otra infraestructura crítica. En esta publicación, le mostramos cómo entrenar e implementar un modelo de segmentación geoespacial para usar en la clasificación de daños por desastres. Dividimos la aplicación en tres temas: entrenamiento de modelos, implementación de modelos e inferencia.

Entrenamiento modelo

En este caso de uso, construimos un modelo PyTorch personalizado usando Amazon SageMaker para la segmentación de imágenes de daños en edificios. Las capacidades geoespaciales de SageMaker incluyen modelos entrenados para su uso. Estos modelos integrados incluyen la segmentación y eliminación de nubes y la segmentación de la cobertura terrestre. Para esta publicación, entrenamos un modelo personalizado para la segmentación de daños. Primero entrenamos el modelo SegFormer con datos de la competencia xView2. SegFormer es una arquitectura basada en transformadores que se presentó en el documento de 2021 SegFormer: Diseño Simple y Eficiente para Segmentación Semántica con Transformadores. Se basa en las arquitecturas de transformadores que son bastante populares entre las cargas de trabajo de procesamiento de lenguaje natural; sin embargo, la arquitectura de SegFormer está diseñada para la segmentación semántica. Combina el codificador basado en transformador y un decodificador liviano. Esto permite un mejor rendimiento que los métodos anteriores, al tiempo que proporciona tamaños de modelo significativamente más pequeños que los métodos anteriores. Tanto los modelos SegFormer pre-entrenados como los no entrenados están disponibles en la popular biblioteca de transformadores Hugging Face. Para este caso de uso, descargamos una arquitectura SegFormer previamente entrenada y la entrenamos en un nuevo conjunto de datos.

El conjunto de datos utilizado en este ejemplo proviene de la concurso de ciencia de datos xView2. Esta competencia lanzó la conjunto de datos xBD, uno de los conjuntos de datos de imágenes satelitales de alta resolución más grandes y de mayor calidad disponibles públicamente anotados con la ubicación del edificio y las puntuaciones (clases) de daños antes y después de los desastres naturales. El conjunto de datos contiene datos de 15 países que incluyen 6 tipos de desastres (terremoto/tsunami, inundación, erupción volcánica, incendio forestal, viento) con datos geoespaciales que contienen 850,736 45,362 anotaciones de edificios en 2 XNUMX km^XNUMX de imágenes. La siguiente imagen muestra un ejemplo del conjunto de datos. Esta imagen muestra la imagen posterior al desastre con la máscara de segmentación de daños en edificios superpuesta. Cada imagen incluye lo siguiente: imagen de satélite anterior al desastre, máscara de segmentación de edificios anterior al desastre, imagen de satélite posterior al desastre y máscara de segmentación de edificios posterior al desastre con clases de daños.

En este ejemplo, solo utilizamos las imágenes previas y posteriores al desastre para predecir la clasificación de los daños posteriores al desastre (máscara de segmentación). No utilizamos las máscaras de segmentación de edificios anteriores al desastre. Este enfoque fue seleccionado por su simplicidad. Hay otras opciones para abordar este conjunto de datos. Varios de los enfoques ganadores de la competencia xView2 utilizaron una solución de dos pasos: primero, predecir la máscara de segmentación del contorno del edificio antes del desastre. Los contornos del edificio y las imágenes posteriores al daño se utilizan como entrada para predecir la clasificación del daño. Dejamos esto para que el lector explore otros enfoques de modelado para mejorar el rendimiento de clasificación y detección.

La arquitectura SegFormer preentrenada está diseñada para aceptar una sola imagen de canal de tres colores como entrada y genera una máscara de segmentación. Hay varias formas en que podríamos haber modificado el modelo para aceptar las imágenes anteriores y posteriores al satélite como entrada, sin embargo, utilizamos una técnica de apilamiento simple para apilar ambas imágenes juntas en una imagen de canal de seis colores. Entrenamos el modelo utilizando técnicas de aumento estándar en el conjunto de datos de entrenamiento xView2 para predecir la máscara de segmentación posterior al desastre. Tenga en cuenta que cambiamos el tamaño de todas las imágenes de entrada de 1024 a 512 píxeles. Esto fue para reducir aún más la resolución espacial de los datos de entrenamiento. El modelo se entrenó con SageMaker utilizando una sola instancia basada en GPU p3.2xlarge. En las siguientes figuras se muestra un ejemplo de la salida del modelo entrenado. El primer conjunto de imágenes son las imágenes previas y posteriores al daño del conjunto de validación.
imágenes previas y posteriores al daño del conjunto de validación

Las siguientes figuras muestran la máscara de daño pronosticada y la máscara de daño real en tierra.
Las siguientes figuras muestran la máscara de daño pronosticada y la máscara de daño real en tierra.

A primera vista, parece que el modelo no funciona bien en comparación con los datos reales del terreno. Muchos de los edificios están clasificados incorrectamente, confundiendo daños menores con ningún daño y mostrando múltiples clasificaciones para un solo contorno de edificio. Sin embargo, un hallazgo interesante al revisar el rendimiento del modelo es que parece haber aprendido a localizar la clasificación de daños en edificios. Cada edificio se puede clasificar en No Damage, Minor Damage, Major Damageo Destroyed. La máscara de daños pronosticada muestra que el modelo ha clasificado el edificio grande en el medio en su mayoría No Damage, pero la esquina superior derecha se clasifica como Destroyed. Esta localización de daños en subedificios puede ayudar aún más a los socorristas al mostrar los daños localizados por edificio.

Despliegue del modelo

Luego, el modelo entrenado se implementó en un extremo de inferencia asíncrono de SageMaker. Tenga en cuenta que elegimos un punto final asíncrono para permitir tiempos de inferencia más largos, tamaños de entrada de carga útil más grandes y la capacidad de escalar el punto final a cero instancias (sin cargos) cuando no está en uso. La siguiente figura muestra el código de alto nivel para la implementación asincrónica de puntos finales. Primero comprimimos el diccionario de estado PyTorch guardado y cargamos los artefactos del modelo comprimido a Servicio de almacenamiento simple de Amazon (Amazon S3). Creamos un modelo SageMaker PyTorch que apunta a nuestro código de inferencia y artefactos del modelo. Se requiere el código de inferencia para cargar y servir nuestro modelo. Para obtener más detalles sobre el código de inferencia personalizado requerido para un modelo PyTorch de SageMaker, consulte Utilice PyTorch con el SDK de SageMaker Python.
código de alto nivel para la implementación asíncrona de puntos finales

La siguiente figura muestra el código de la política de escalado automático para el extremo de inferencia asincrónica.
La siguiente figura muestra el código de la política de escalado automático para el extremo de inferencia asincrónica.

Tenga en cuenta que hay otras opciones de punto final, como en tiempo real, por lotes y sin servidor, que podrían usarse para su aplicación. Deberá elegir la opción que mejor se adapte al caso de uso y recordar que Recomendador de inferencia de Amazon SageMaker está disponible para ayudar a recomendar configuraciones de punto final de aprendizaje automático (ML).

inferencia del modelo

Con el modelo entrenado implementado, ahora podemos usar Capacidades geoespaciales de SageMaker para recopilar datos para la inferencia. Con las capacidades geoespaciales de SageMaker, varios modelos integrados están disponibles listos para usar. En este ejemplo, usamos la operación de apilamiento de bandas para apilar los canales de color rojo, verde y azul para nuestro trabajo de observación de la tierra. El trabajo recopila los datos del conjunto de datos de Sentinel-2. Para configurar un trabajo de observación de la tierra, primero necesitamos las coordenadas de la ubicación de interés. Segundo, necesitamos el rango de tiempo de la observación. Con esto, ahora podemos enviar un trabajo de observación de la tierra utilizando la función de apilamiento. Aquí apilamos las bandas roja, verde y azul para producir una imagen en color. La siguiente figura muestra la configuración del trabajo utilizada para generar datos de las inundaciones en Rochester, Australia, a mediados de octubre de 2022. Utilizamos imágenes de antes y después del desastre como entrada para nuestro modelo de aprendizaje automático entrenado.

Después de definir la configuración del trabajo, podemos enviar el trabajo. Cuando se completa el trabajo, exportamos los resultados a Amazon S3. Tenga en cuenta que solo podemos exportar los resultados después de que se haya completado el trabajo. Los resultados del trabajo se pueden exportar a una ubicación de Amazon S3 especificada por el usuario en la configuración del trabajo de exportación. Ahora, con nuestros nuevos datos en Amazon S3, podemos obtener predicciones de daños utilizando el modelo implementado. Primero leemos los datos en la memoria y apilamos las imágenes previas y posteriores al desastre.
Primero leemos los datos en la memoria y apilamos las imágenes previas y posteriores al desastre.

Los resultados de la máscara de segmentación para las inundaciones de Rochester se muestran en las siguientes imágenes. Aquí podemos ver que el modelo ha identificado ubicaciones dentro de la región inundada como probablemente dañadas. Tenga en cuenta también que la resolución espacial de la imagen de inferencia es diferente a la de los datos de entrenamiento. Aumentar la resolución espacial podría ayudar al rendimiento del modelo; sin embargo, esto es un problema menor para el modelo SegFormer que para otros modelos debido a la arquitectura del modelo multiescala.

pre-post inundación

resultados de la máscara de segmentación para las inundaciones de Rochester

Evaluación de daños

Conclusión

En esta publicación, mostramos cómo entrenar, implementar y predecir daños por desastres naturales con SageMaker con capacidades geoespaciales. Usamos las nuevas capacidades geoespaciales de SageMaker para generar nuevos datos de inferencia para probar el modelo. El código de esta publicación está en proceso de publicación y se actualizará con vínculos al código completo de capacitación, implementación e inferencia. Esta aplicación permite que los socorristas, los gobiernos y las organizaciones humanitarias optimicen su respuesta, brindando conocimiento de la situación crítica inmediatamente después de un desastre natural. Esta aplicación es solo un ejemplo de lo que es posible con las herramientas modernas de ML como SageMaker.

Pruebe las capacidades geoespaciales de SageMaker hoy utilizando sus propios modelos; Esperamos ver lo que construyas a continuación.


Acerca del autor.

Evaluación de daños utilizando las capacidades geoespaciales de Amazon SageMaker y los modelos personalizados de SageMaker PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Aaron Sengstacken es un arquitecto de soluciones especialista en aprendizaje automático en Amazon Web Services. Aaron trabaja en estrecha colaboración con clientes del sector público de todos los tamaños para desarrollar e implementar aplicaciones de aprendizaje automático de producción. Está interesado en todo lo relacionado con el aprendizaje automático, la tecnología y la exploración espacial.

Sello de tiempo:

Mas de Aprendizaje automático de AWS