Avaliação de danos usando recursos geoespaciais do Amazon SageMaker e modelos personalizados do SageMaker PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Avaliação de danos usando recursos geoespaciais do Amazon SageMaker e modelos personalizados do SageMaker

Nesta postagem, mostramos como treinar, implantar e prever danos causados ​​por desastres naturais com Amazon SageMaker com recursos geoespaciais. Usamos os novos recursos geoespaciais do SageMaker para gerar novos dados de inferência para testar o modelo. Muitas organizações governamentais e humanitárias precisam de uma percepção situacional rápida e precisa quando ocorre um desastre. Conhecer a gravidade, a causa e a localização do dano pode ajudar na estratégia de resposta e na tomada de decisão do socorrista. A falta de informações precisas e oportunas pode contribuir para um esforço de socorro incompleto ou mal direcionado.

À medida que a frequência e a gravidade dos desastres naturais aumentam, é importante equiparmos os tomadores de decisão e os socorristas com uma avaliação de danos rápida e precisa. Neste exemplo, usamos imagens geoespaciais para prever danos causados ​​por desastres naturais. Os dados geoespaciais podem ser usados ​​imediatamente após um desastre natural para identificar rapidamente danos a edifícios, estradas ou outras infraestruturas críticas. Neste post, mostramos como treinar e implantar um modelo de segmentação geoespacial para ser usado na classificação de danos causados ​​por desastres. Dividimos o aplicativo em três tópicos: treinamento de modelo, implantação de modelo e inferência.

Treinamento de modelo

Neste caso de uso, criamos um modelo PyTorch personalizado usando Amazon Sage Maker para segmentação de imagens de danos em edifícios. Os recursos geoespaciais do SageMaker incluem modelos treinados para você utilizar. Esses modelos integrados incluem segmentação e remoção de nuvens e segmentação da cobertura do solo. Para esta postagem, treinamos um modelo personalizado para segmentação de danos. Primeiro treinamos o modelo SegFormer em dados da competição xView2. O SegFormer é uma arquitetura baseada em transformador que foi introduzida no artigo de 2021 SegFormer: Design Simples e Eficiente para Segmentação Semântica com Transformers. Baseia-se nas arquiteturas de transformador que são bastante populares com cargas de trabalho de processamento de linguagem natural; no entanto, a arquitetura SegFormer é construída para segmentação semântica. Ele combina o codificador baseado em transformador e um decodificador leve. Isso permite um melhor desempenho do que os métodos anteriores, enquanto fornece tamanhos de modelo significativamente menores do que os métodos anteriores. Os modelos SegFormer pré-treinados e não treinados estão disponíveis na popular biblioteca de transformadores Hugging Face. Para este caso de uso, baixamos uma arquitetura SegFormer pré-treinada e a treinamos em um novo conjunto de dados.

O conjunto de dados usado neste exemplo vem do competição de ciência de dados xView2. Esta competição lançou o conjunto de dados xBD, um dos maiores e de mais alta qualidade conjuntos de dados publicamente disponíveis de imagens de satélite de alta resolução anotadas com localização de construção e pontuações de danos (classes) antes e depois de desastres naturais. O conjunto de dados contém dados de 15 países, incluindo 6 tipos de desastres (terremoto/tsunami, inundação, erupção vulcânica, incêndio florestal, vento) com dados geoespaciais contendo 850,736 anotações de construção em 45,362 km^2 de imagens. A imagem a seguir mostra um exemplo do conjunto de dados. Esta imagem mostra a imagem pós-desastre com a máscara de segmentação de danos ao edifício sobreposta. Cada imagem inclui o seguinte: imagem de satélite pré-desastre, máscara de segmentação de construção pré-desastre, imagem de satélite pós-desastre e máscara de segmentação de construção pós-desastre com classes de danos.

Neste exemplo, usamos apenas as imagens pré e pós-desastre para prever a classificação de danos pós-desastre (máscara de segmentação). Não usamos as máscaras de segmentação de edifícios pré-desastre. Essa abordagem foi escolhida por simplicidade. Existem outras opções para abordar esse conjunto de dados. Várias das abordagens vencedoras para a competição xView2 usaram uma solução em duas etapas: primeiro, preveja a máscara de segmentação do contorno da construção pré-desastre. Os contornos do edifício e as imagens pós-dano são então usados ​​como entrada para prever a classificação do dano. Deixamos isso para o leitor explorar outras abordagens de modelagem para melhorar o desempenho de classificação e detecção.

A arquitetura SegFormer pré-treinada é construída para aceitar uma única imagem de canal de três cores como entrada e saída de uma máscara de segmentação. Há várias maneiras de modificar o modelo para aceitar as imagens pré e pós-satélite como entrada; no entanto, usamos uma técnica de empilhamento simples para empilhar as duas imagens em uma imagem de canal de seis cores. Treinamos o modelo usando técnicas de aumento padrão no conjunto de dados de treinamento xView2 para prever a máscara de segmentação pós-desastre. Observe que redimensionamos todas as imagens de entrada de 1024 a 512 pixels. Isso foi para reduzir ainda mais a resolução espacial dos dados de treinamento. O modelo foi treinado com o SageMaker usando uma única instância baseada em GPU p3.2xlarge. Um exemplo da saída do modelo treinado é mostrado nas figuras a seguir. O primeiro conjunto de imagens são as imagens pré e pós-dano do conjunto de validação.
imagens pré e pós-dano do conjunto de validação

As figuras a seguir mostram a máscara de dano prevista e a máscara de dano de base.
As figuras a seguir mostram a máscara de dano prevista e a máscara de dano de base.

À primeira vista, parece que o modelo não funciona bem em comparação com os dados reais. Muitos dos edifícios são classificados incorretamente, confundindo danos menores com nenhum dano e mostrando várias classificações para um único contorno de edifício. No entanto, uma descoberta interessante ao revisar o desempenho do modelo é que ele parece ter aprendido a localizar a classificação de danos do edifício. Cada edifício pode ser classificado em No Damage, Minor Damage, Major Damageou Destroyed. A máscara de dano prevista mostra que o modelo classificou o grande edifício no meio em sua maioria No Damage, mas o canto superior direito é classificado como Destroyed. Esta localização de dano de subconstrução pode ajudar ainda mais os respondentes, mostrando o dano localizado por construção.

Implantação de modelo

O modelo treinado foi implantado em um ponto de extremidade de inferência assíncrono do SageMaker. Observe que escolhemos um endpoint assíncrono para permitir tempos de inferência mais longos, tamanhos de entrada de carga útil maiores e a capacidade de dimensionar o endpoint para zero instâncias (sem cobranças) quando não estiver em uso. A figura a seguir mostra o código de alto nível para implantação de endpoint assíncrono. Primeiro, compactamos o dicionário de estado salvo do PyTorch e carregamos os artefatos do modelo compactado para Serviço de armazenamento simples da Amazon (Amazônia S3). Criamos um modelo SageMaker PyTorch apontando para nosso código de inferência e artefatos de modelo. O código de inferência é necessário para carregar e exibir nosso modelo. Para obter mais detalhes sobre o código de inferência personalizado necessário para um modelo SageMaker PyTorch, consulte Use PyTorch com o SageMaker Python SDK.
código de alto nível para implantação de endpoint assíncrono

A figura a seguir mostra o código da política de escalabilidade automática para o endpoint de inferência assíncrona.
A figura a seguir mostra o código da política de escalabilidade automática para o endpoint de inferência assíncrona.

Observe que existem outras opções de ponto de extremidade, como tempo real, lote e sem servidor, que podem ser usadas para seu aplicativo. Você deve escolher a opção mais adequada para o caso de uso e lembrar que Recomendador de inferência do Amazon SageMaker está disponível para ajudar a recomendar configurações de terminal de aprendizado de máquina (ML).

Inferência do modelo

Com o modelo treinado implantado, agora podemos usar Recursos geoespaciais do SageMaker coletar dados para inferência. Com os recursos geoespaciais do SageMaker, vários modelos integrados estão disponíveis imediatamente. Neste exemplo, usamos a operação de empilhamento de banda para empilhar os canais de cores vermelho, verde e azul para nosso trabalho de observação da Terra. O trabalho reúne os dados do conjunto de dados do Sentinel-2. Para configurar um trabalho de observação terrestre, primeiro precisamos das coordenadas do local de interesse. Em segundo lugar, precisamos do intervalo de tempo da observação. Com isso, agora podemos enviar um trabalho de observação da Terra usando o recurso de empilhamento. Aqui empilhamos as bandas vermelha, verde e azul para produzir uma imagem colorida. A figura a seguir mostra a configuração de trabalho usada para gerar dados das enchentes em Rochester, Austrália, em meados de outubro de 2022. Utilizamos imagens de antes e depois do desastre como entrada para nosso modelo de ML treinado.

Depois que a configuração do trabalho é definida, podemos enviar o trabalho. Quando o trabalho estiver concluído, exportamos os resultados para o Amazon S3. Observe que só podemos exportar os resultados após a conclusão do trabalho. Os resultados do trabalho podem ser exportados para um local do Amazon S3 especificado pelo usuário na configuração do trabalho de exportação. Agora, com nossos novos dados no Amazon S3, podemos obter previsões de danos usando o modelo implantado. Primeiro lemos os dados na memória e juntamos as imagens pré e pós-desastre.
Primeiro lemos os dados na memória e juntamos as imagens pré e pós-desastre.

Os resultados da máscara de segmentação para as inundações de Rochester são mostrados nas imagens a seguir. Aqui podemos ver que o modelo identificou locais dentro da região inundada como provavelmente danificados. Observe também que a resolução espacial da imagem de inferência é diferente dos dados de treinamento. Aumentar a resolução espacial pode ajudar no desempenho do modelo; no entanto, isso é menos problemático para o modelo SegFormer do que para outros modelos devido à arquitetura do modelo multiescala.

pré-pós inundação

resultados da máscara de segmentação para as inundações de Rochester

Avaliação de danos

Conclusão

Nesta postagem, mostramos como treinar, implantar e prever danos causados ​​por desastres naturais com SageMaker com recursos geoespaciais. Usamos os novos recursos geoespaciais do SageMaker para gerar novos dados de inferência para testar o modelo. O código desta postagem está em processo de lançamento e esta postagem será atualizada com links para o código completo de treinamento, implantação e inferência. Este aplicativo permite que socorristas, governos e organizações humanitárias otimizem sua resposta, fornecendo consciência situacional crítica imediatamente após um desastre natural. Este aplicativo é apenas um exemplo do que é possível com ferramentas modernas de ML, como o SageMaker.

Experimente hoje os recursos geoespaciais do SageMaker usando seus próprios modelos; estamos ansiosos para ver o que você construirá a seguir.


Sobre o autor

Avaliação de danos usando recursos geoespaciais do Amazon SageMaker e modelos personalizados do SageMaker PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Aaron Sengstacken é um arquiteto de soluções especializado em aprendizado de máquina da Amazon Web Services. Aaron trabalha em estreita colaboração com clientes do setor público de todos os tamanhos para desenvolver e implantar aplicativos de aprendizado de máquina de produção. Ele está interessado em tudo relacionado a aprendizado de máquina, tecnologia e exploração espacial.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS