Évaluation des dommages à l'aide des capacités géospatiales d'Amazon SageMaker et des modèles SageMaker personnalisés PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Évaluation des dommages à l'aide des capacités géospatiales d'Amazon SageMaker et des modèles SageMaker personnalisés

Dans cet article, nous montrons comment former, déployer et prévoir les dommages causés par les catastrophes naturelles avec Amazon SageMaker avec des fonctionnalités géospatiales. Nous utilisons les nouvelles fonctionnalités géospatiales de SageMaker pour générer de nouvelles données d'inférence afin de tester le modèle. De nombreuses organisations gouvernementales et humanitaires ont besoin d'une connaissance rapide et précise de la situation en cas de catastrophe. Connaître la gravité, la cause et l'emplacement des dommages peut aider à la stratégie d'intervention et à la prise de décision du premier intervenant. Le manque d'informations précises et opportunes peut contribuer à un effort de secours incomplet ou mal orienté.

Alors que la fréquence et la gravité des catastrophes naturelles augmentent, il est important que nous dotions les décideurs et les premiers intervenants d'une évaluation rapide et précise des dommages. Dans cet exemple, nous utilisons l'imagerie géospatiale pour prédire les dommages causés par une catastrophe naturelle. Les données géospatiales peuvent être utilisées immédiatement après une catastrophe naturelle pour identifier rapidement les dommages aux bâtiments, aux routes ou à d'autres infrastructures critiques. Dans cet article, nous vous montrons comment entraîner et déployer un modèle de segmentation géospatiale à utiliser pour la classification des dommages causés par une catastrophe. Nous décomposons l'application en trois sujets : la formation de modèles, le déploiement de modèles et l'inférence.

Formation de modèle

Dans ce cas d'utilisation, nous avons construit un modèle PyTorch personnalisé en utilisant Amazon Sage Maker pour la segmentation d'image des dommages aux bâtiments. Les fonctionnalités géospatiales de SageMaker incluent des modèles entraînés que vous pouvez utiliser. Ces modèles intégrés incluent la segmentation et la suppression des nuages, ainsi que la segmentation de la couverture terrestre. Pour cet article, nous entraînons un modèle personnalisé pour la segmentation des dommages. Nous avons d'abord formé le modèle SegFormer sur les données de la compétition xView2. Le SegFormer est une architecture basée sur un transformateur qui a été introduite dans l'article de 2021 SegFormer : conception simple et efficace pour la segmentation sémantique avec des transformateurs. Il est basé sur les architectures de transformateur qui sont très populaires avec les charges de travail de traitement du langage naturel ; cependant, l'architecture SegFormer est conçue pour la segmentation sémantique. Il combine à la fois l'encodeur basé sur un transformateur et un décodeur léger. Cela permet de meilleures performances que les méthodes précédentes, tout en fournissant des tailles de modèle nettement plus petites que les méthodes précédentes. Les modèles SegFormer pré-formés et non-formés sont disponibles dans la célèbre bibliothèque de transformateurs Hugging Face. Pour ce cas d'utilisation, nous téléchargeons une architecture SegFormer pré-formée et la formons sur un nouvel ensemble de données.

Le jeu de données utilisé dans cet exemple provient du Concours de science des données xView2. Ce concours a libéré le Jeu de données xBD, l'un des ensembles de données d'images satellite haute résolution les plus vastes et de la plus haute qualité accessibles au public, annoté avec l'emplacement des bâtiments et les scores de dommages (classes) avant et après les catastrophes naturelles. L'ensemble de données contient des données de 15 pays, dont 6 types de catastrophes (tremblement de terre/tsunami, inondation, éruption volcanique, incendie de forêt, vent) avec des données géospatiales contenant 850,736 45,362 annotations de construction sur 2 XNUMX km^XNUMX d'images. L'image suivante montre un exemple du jeu de données. Cette image montre l'image post-catastrophe avec le masque de segmentation des dommages au bâtiment superposé. Chaque image comprend les éléments suivants : image satellite pré-catastrophe, masque de segmentation des bâtiments pré-catastrophe, image satellite post-catastrophe et masque de segmentation des bâtiments post-catastrophe avec classes de dommages.

Dans cet exemple, nous n'utilisons que l'imagerie pré- et post-catastrophe pour prédire la classification des dommages post-catastrophe (masque de segmentation). Nous n'utilisons pas les masques de segmentation des bâtiments pré-catastrophe. Cette approche a été choisie pour sa simplicité. Il existe d'autres options pour aborder cet ensemble de données. Un certain nombre des approches gagnantes du concours xView2 ont utilisé une solution en deux étapes : premièrement, prédire le masque de segmentation du contour du bâtiment avant la catastrophe. Les contours du bâtiment et les images post-dommages sont ensuite utilisés comme données d'entrée pour prédire la classification des dommages. Nous laissons au lecteur le soin d'explorer d'autres approches de modélisation pour améliorer les performances de classification et de détection.

L'architecture SegFormer pré-formée est conçue pour accepter une seule image de canal tricolore en entrée et génère un masque de segmentation. Nous aurions pu modifier le modèle de plusieurs manières pour accepter à la fois les images pré et post-satellite en entrée, cependant, nous avons utilisé une technique d'empilement simple pour empiler les deux images ensemble dans une image de canal à six couleurs. Nous avons formé le modèle à l'aide de techniques d'augmentation standard sur l'ensemble de données de formation xView2 pour prédire le masque de segmentation post-catastrophe. Notez que nous avons redimensionné toutes les images d'entrée de 1024 à 512 pixels. Il s'agissait de réduire davantage la résolution spatiale des données d'entraînement. Le modèle a été formé avec SageMaker à l'aide d'une seule instance basée sur le GPU p3.2xlarge. Un exemple de la sortie du modèle formé est illustré dans les figures suivantes. Le premier ensemble d'images sont les images avant et après l'endommagement de l'ensemble de validation.
images pré- et post-dommage de l'ensemble de validation

Les figures suivantes montrent le masque de dommages prédits et le masque de dommages de vérité terrain.
Les figures suivantes montrent le masque de dommages prédits et le masque de dommages de vérité terrain.

À première vue, il semble que le modèle ne fonctionne pas bien par rapport aux données de vérité terrain. De nombreux bâtiments sont classés de manière incorrecte, confondant des dommages mineurs avec aucun dommage et montrant plusieurs classifications pour un seul contour de bâtiment. Cependant, une découverte intéressante lors de l'examen des performances du modèle est qu'il semble avoir appris à localiser la classification des dommages aux bâtiments. Chaque bâtiment peut être classé en No Damage, Minor Damage, Major Damageou Destroyed. Le masque de dommages prédit montre que le modèle a classé le grand bâtiment au milieu en No Damage, mais le coin supérieur droit est classé comme Destroyed. Cette localisation des dommages aux sous-bâtiments peut aider davantage les intervenants en montrant les dommages localisés par bâtiment.

Déploiement de modèle

Le modèle formé a ensuite été déployé sur un point de terminaison d'inférence SageMaker asynchrone. Notez que nous avons choisi un point de terminaison asynchrone pour permettre des temps d'inférence plus longs, des tailles d'entrée de charge utile plus importantes et la possibilité de réduire le point de terminaison à zéro instance (sans frais) lorsqu'il n'est pas utilisé. La figure suivante montre le code de haut niveau pour le déploiement de point de terminaison asynchrone. Nous compressons d'abord le dictionnaire d'état PyTorch enregistré et téléchargeons les artefacts de modèle compressés vers Service de stockage simple Amazon (Amazon S3). Nous créons un modèle SageMaker PyTorch pointant vers notre code d'inférence et nos artefacts de modèle. Le code d'inférence est nécessaire pour charger et servir notre modèle. Pour plus de détails sur le code d'inférence personnalisé requis pour un modèle SageMaker PyTorch, reportez-vous à Utiliser PyTorch avec le SDK Python SageMaker.
code de haut niveau pour le déploiement asynchrone des terminaux

La figure suivante montre le code de la stratégie de mise à l'échelle automatique pour le point de terminaison d'inférence asynchrone.
La figure suivante montre le code de la stratégie de mise à l'échelle automatique pour le point de terminaison d'inférence asynchrone.

Notez qu'il existe d'autres options de point de terminaison, telles que le temps réel, le traitement par lots et sans serveur, qui pourraient être utilisées pour votre application. Vous voudrez choisir l'option qui convient le mieux au cas d'utilisation et rappelez-vous que Outil de recommandation d'inférence Amazon SageMaker est disponible pour aider à recommander des configurations de point de terminaison d'apprentissage automatique (ML).

Inférence de modèle

Avec le modèle formé déployé, nous pouvons maintenant utiliser Capacités géospatiales de SageMaker pour recueillir des données pour l'inférence. Avec les capacités géospatiales de SageMaker, plusieurs modèles intégrés sont disponibles prêts à l'emploi. Dans cet exemple, nous utilisons l'opération d'empilement de bandes pour empiler les canaux de couleur rouge, vert et bleu pour notre tâche d'observation de la Terre. La tâche rassemble les données de l'ensemble de données Sentinel-2. Pour configurer une tâche d'observation de la Terre, nous avons d'abord besoin des coordonnées de l'emplacement d'intérêt. Deuxièmement, nous avons besoin de la plage de temps de l'observation. Avec cela, nous pouvons maintenant soumettre un travail d'observation de la Terre en utilisant la fonction d'empilement. Ici, nous empilons les bandes rouges, vertes et bleues pour produire une image en couleur. La figure suivante montre la configuration de travail utilisée pour générer des données à partir des inondations à Rochester, en Australie, à la mi-octobre 2022. Nous utilisons des images d'avant et d'après la catastrophe comme données d'entrée dans notre modèle ML entraîné.

Une fois la configuration du travail définie, nous pouvons soumettre le travail. Lorsque le travail est terminé, nous exportons les résultats vers Amazon S3. Notez que nous ne pouvons exporter les résultats qu'une fois le travail terminé. Les résultats de la tâche peuvent être exportés vers un emplacement Amazon S3 spécifié par l'utilisateur dans la configuration de la tâche d'exportation. Désormais, avec nos nouvelles données dans Amazon S3, nous pouvons obtenir des prévisions de dommages à l'aide du modèle déployé. Nous lisons d'abord les données dans la mémoire et empilons ensemble les images pré et post-catastrophe.
Nous lisons d'abord les données dans la mémoire et empilons ensemble les images pré et post-catastrophe.

Les résultats du masque de segmentation pour les inondations de Rochester sont présentés dans les images suivantes. Ici, nous pouvons voir que le modèle a identifié des emplacements dans la région inondée comme probablement endommagés. Notez également que la résolution spatiale de l'image d'inférence est différente de celle des données d'apprentissage. L'augmentation de la résolution spatiale pourrait aider à modéliser les performances ; cependant, c'est moins un problème pour le modèle SegFormer que pour les autres modèles en raison de l'architecture du modèle multi-échelle.

pré-post inondation

résultats du masque de segmentation pour les crues de Rochester

Évaluation des dommages

Conclusion

Dans cet article, nous avons montré comment former, déployer et prévoir les dommages causés par les catastrophes naturelles avec SageMaker avec des capacités géospatiales. Nous avons utilisé les nouvelles fonctionnalités géospatiales de SageMaker pour générer de nouvelles données d'inférence afin de tester le modèle. Le code de cet article est en cours de publication, et cet article sera mis à jour avec des liens vers le code complet de formation, de déploiement et d'inférence. Cette application permet aux premiers intervenants, aux gouvernements et aux organisations humanitaires d'optimiser leur réponse, en fournissant une connaissance critique de la situation immédiatement après une catastrophe naturelle. Cette application n'est qu'un exemple de ce qui est possible avec les outils ML modernes tels que SageMaker.

Essayez dès aujourd'hui les fonctionnalités géospatiales de SageMaker en utilisant vos propres modèles ; nous avons hâte de voir ce que vous construisez ensuite.


A propos de l'auteure

Évaluation des dommages à l'aide des capacités géospatiales d'Amazon SageMaker et des modèles SageMaker personnalisés PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Aaron Sengstaken est architecte de solutions spécialisées en machine learning chez Amazon Web Services. Aaron travaille en étroite collaboration avec des clients du secteur public de toutes tailles pour développer et déployer des applications d'apprentissage automatique de production. Il s'intéresse à tout ce qui concerne l'apprentissage automatique, la technologie et l'exploration spatiale.

Horodatage:

Plus de Apprentissage automatique AWS