Valutazione dei danni utilizzando le funzionalità geospaziali di Amazon SageMaker e modelli SageMaker personalizzati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Valutazione dei danni utilizzando le funzionalità geospaziali di Amazon SageMaker e i modelli SageMaker personalizzati

In questo post, mostriamo come addestrare, schierare e prevedere i danni da calamità naturali con Amazon SageMaker con funzionalità geospaziali. Utilizziamo le nuove funzionalità geospaziali di SageMaker per generare nuovi dati di inferenza per testare il modello. Molte organizzazioni governative e umanitarie hanno bisogno di una consapevolezza situazionale rapida e accurata quando si verifica un disastro. Conoscere la gravità, la causa e la posizione del danno può aiutare nella strategia di risposta e nel processo decisionale del primo soccorritore. La mancanza di informazioni accurate e tempestive può contribuire a uno sforzo di soccorso incompleto o mal indirizzato.

Con l'aumentare della frequenza e della gravità dei disastri naturali, è importante fornire ai responsabili delle decisioni e ai primi soccorritori una valutazione dei danni rapida e accurata. In questo esempio, utilizziamo immagini geospaziali per prevedere i danni causati da calamità naturali. I dati geospaziali possono essere utilizzati immediatamente dopo un disastro naturale per identificare rapidamente danni a edifici, strade o altre infrastrutture critiche. In questo post, ti mostriamo come addestrare e implementare un modello di segmentazione geospaziale da utilizzare per la classificazione dei danni da disastro. Suddividiamo l'applicazione in tre argomenti: addestramento del modello, distribuzione del modello e inferenza.

Allenamento modello

In questo caso d'uso, abbiamo creato un modello PyTorch personalizzato utilizzando Amazon Sage Maker per la segmentazione dell'immagine dei danni all'edificio. Le funzionalità geospaziali di SageMaker includono modelli addestrati da utilizzare. Questi modelli integrati includono la segmentazione e la rimozione del cloud e la segmentazione della copertura del suolo. Per questo post, addestriamo un modello personalizzato per la segmentazione del danno. Per prima cosa abbiamo addestrato il modello SegFormer sui dati della competizione xView2. Il SegFormer è un'architettura basata su trasformatore che è stata introdotta nel documento del 2021 SegFormer: design semplice ed efficiente per la segmentazione semantica con trasformatori. Si basa sulle architetture del trasformatore che sono molto popolari con i carichi di lavoro di elaborazione del linguaggio naturale; tuttavia, l'architettura SegFormer è costruita per la segmentazione semantica. Combina sia l'encoder basato su trasformatore che un decoder leggero. Ciò consente prestazioni migliori rispetto ai metodi precedenti, fornendo al contempo dimensioni del modello notevolmente inferiori rispetto ai metodi precedenti. Sia i modelli SegFormer pre-addestrati che quelli non addestrati sono disponibili nella popolare libreria di trasformatori Hugging Face. Per questo caso d'uso, scarichiamo un'architettura SegFormer pre-addestrata e la addestriamo su un nuovo set di dati.

Il set di dati utilizzato in questo esempio proviene da Concorso di scienza dei dati xView2. Questa competizione ha rilasciato il file set di dati xBD, uno dei set di dati di immagini satellitari ad alta risoluzione disponibili al pubblico più grandi e di più alta qualità annotati con l'ubicazione dell'edificio e i punteggi (classi) dei danni prima e dopo i disastri naturali. Il set di dati contiene dati provenienti da 15 paesi, tra cui 6 tipi di disastri (terremoto/tsunami, inondazioni, eruzioni vulcaniche, incendi boschivi, vento) con dati geospaziali contenenti 850,736 annotazioni di edifici su 45,362 km^2 di immagini. L'immagine seguente mostra un esempio del set di dati. Questa immagine mostra l'immagine post-disastro con la maschera di segmentazione dei danni all'edificio sovrapposta. Ogni immagine include quanto segue: immagine satellitare pre-disastro, maschera di segmentazione dell'edificio pre-disastro, immagine satellitare post-disastro e maschera di segmentazione dell'edificio post-disastro con classi di danno.

In questo esempio, utilizziamo solo le immagini pre e post disastro per prevedere la classificazione del danno post disastro (maschera di segmentazione). Non usiamo le maschere di segmentazione degli edifici pre-disastro. Questo approccio è stato scelto per semplicità. Esistono altre opzioni per avvicinarsi a questo set di dati. Alcuni degli approcci vincenti per il concorso xView2 hanno utilizzato una soluzione in due fasi: in primo luogo, prevedere la maschera di segmentazione del profilo dell'edificio pre-disastro. I contorni dell'edificio e le immagini post-danno vengono quindi utilizzate come input per prevedere la classificazione del danno. Lasciamo questo al lettore per esplorare altri approcci di modellazione per migliorare le prestazioni di classificazione e rilevamento.

L'architettura SegFormer pre-addestrata è costruita per accettare una singola immagine di canale a tre colori come input ed emettere una maschera di segmentazione. Esistono diversi modi in cui avremmo potuto modificare il modello per accettare come input sia le immagini pre che post-satellite, tuttavia, abbiamo utilizzato una semplice tecnica di impilamento per impilare entrambe le immagini insieme in un'immagine a sei colori. Abbiamo addestrato il modello utilizzando tecniche di aumento standard sul set di dati di addestramento xView2 per prevedere la maschera di segmentazione post-disastro. Si noti che abbiamo ridimensionato tutte le immagini di input da 1024 a 512 pixel. Questo per ridurre ulteriormente la risoluzione spaziale dei dati di addestramento. Il modello è stato addestrato con SageMaker utilizzando una singola istanza basata su GPU p3.2xlarge. Un esempio dell'output del modello addestrato è mostrato nelle figure seguenti. Il primo set di immagini sono le immagini pre e post danno dal set di convalida.
immagini pre e post danno dal set di convalida

Le figure seguenti mostrano la maschera del danno previsto e la maschera del danno della verità al suolo.
Le figure seguenti mostrano la maschera del danno previsto e la maschera del danno della verità al suolo.

A prima vista, sembra che il modello non funzioni bene rispetto ai dati di verità di base. Molti degli edifici sono classificati in modo errato, confondendo i danni minori con nessun danno e mostrando più classificazioni per un singolo profilo dell'edificio. Tuttavia, una scoperta interessante quando si esaminano le prestazioni del modello è che sembra aver imparato a localizzare la classificazione dei danni all'edificio. Ogni edificio può essere classificato in No Damage, Minor Damage, Major Damage, o Destroyed. La maschera del danno previsto mostra che il modello ha classificato il grande edificio al centro in principalmente No Damage, ma l'angolo in alto a destra è classificato come Destroyed. Questa localizzazione dei danni sub-edificio può aiutare ulteriormente i soccorritori mostrando il danno localizzato per edificio.

Distribuzione del modello

Il modello addestrato è stato quindi distribuito a un endpoint di inferenza SageMaker asincrono. Tieni presente che abbiamo scelto un endpoint asincrono per consentire tempi di inferenza più lunghi, dimensioni di input del payload maggiori e la possibilità di ridimensionare l'endpoint fino a zero istanze (senza addebiti) quando non è in uso. La figura seguente mostra il codice di alto livello per la distribuzione dell'endpoint asincrono. Per prima cosa comprimiamo il dizionario di stato PyTorch salvato e carichiamo gli artefatti del modello compresso Servizio di archiviazione semplice Amazon (Amazon S3). Creiamo un modello SageMaker PyTorch che punta al nostro codice di inferenza e agli artefatti del modello. Il codice di inferenza è necessario per caricare e servire il nostro modello. Per maggiori dettagli sul codice di inferenza personalizzato richiesto per un modello SageMaker PyTorch, fare riferimento a Usa PyTorch con SageMaker Python SDK.
codice di alto livello per la distribuzione di endpoint asincrona

La figura seguente mostra il codice per la policy di dimensionamento automatico per l'endpoint di inferenza asincrona.
La figura seguente mostra il codice per la policy di dimensionamento automatico per l'endpoint di inferenza asincrona.

Tieni presente che esistono altre opzioni di endpoint, ad esempio tempo reale, batch e serverless, che potrebbero essere utilizzate per la tua applicazione. Ti consigliamo di scegliere l'opzione più adatta per il caso d'uso e ricordarla Raccomandatore di inferenza Amazon SageMaker è disponibile per consigliare le configurazioni degli endpoint di machine learning (ML).

Inferenza del modello

Con il modello addestrato distribuito, ora possiamo usare Funzionalità geospaziali di SageMaker per raccogliere dati per l'inferenza. Con le funzionalità geospaziali di SageMaker, sono disponibili diversi modelli integrati pronti all'uso. In questo esempio, utilizziamo l'operazione di impilamento delle bande per impilare i canali di colore rosso, verde e blu per il nostro lavoro di osservazione della terra. Il processo raccoglie i dati dal set di dati Sentinel-2. Per configurare un lavoro di osservazione della terra, abbiamo prima bisogno delle coordinate del luogo di interesse. In secondo luogo, abbiamo bisogno dell'intervallo di tempo dell'osservazione. Con questo ora possiamo inviare un lavoro di osservazione della terra utilizzando la funzione di impilamento. Qui impiliamo le bande rosse, verdi e blu per produrre un'immagine a colori. La figura seguente mostra la configurazione del lavoro utilizzata per generare dati dalle inondazioni a Rochester, in Australia, a metà ottobre 2022. Utilizziamo immagini prima e dopo il disastro come input per il nostro modello ML addestrato.

Dopo aver definito la configurazione del lavoro, possiamo inviare il lavoro. Quando il lavoro è completo, esportiamo i risultati in Amazon S3. Tieni presente che possiamo esportare i risultati solo dopo che il lavoro è stato completato. I risultati del processo possono essere esportati in una posizione Amazon S3 specificata dall'utente nella configurazione del processo di esportazione. Ora, con i nostri nuovi dati in Amazon S3, possiamo ottenere previsioni sui danni utilizzando il modello distribuito. Per prima cosa leggiamo i dati nella memoria e impiliamo insieme le immagini pre e post disastro.
Per prima cosa leggiamo i dati nella memoria e impiliamo insieme le immagini pre e post disastro.

I risultati della maschera di segmentazione per le inondazioni di Rochester sono mostrati nelle immagini seguenti. Qui possiamo vedere che il modello ha identificato le posizioni all'interno della regione allagata come probabilmente danneggiate. Si noti inoltre che la risoluzione spaziale dell'immagine di inferenza è diversa dai dati di addestramento. L'aumento della risoluzione spaziale potrebbe aiutare a modellare le prestazioni; tuttavia, questo è meno un problema per il modello SegFormer come lo è per altri modelli a causa dell'architettura del modello multiscala.

pre-post alluvione

risultati della maschera di segmentazione per le inondazioni di Rochester

Valutazione del danno

Conclusione

In questo post, abbiamo mostrato come addestrare, schierare e prevedere i danni da calamità naturali con SageMaker con funzionalità geospaziali. Abbiamo utilizzato le nuove funzionalità geospaziali di SageMaker per generare nuovi dati di inferenza per testare il modello. Il codice per questo post è in fase di rilascio e questo post verrà aggiornato con collegamenti al codice completo di formazione, distribuzione e inferenza. Questa applicazione consente ai primi soccorritori, ai governi e alle organizzazioni umanitarie di ottimizzare la loro risposta, fornendo consapevolezza della situazione critica immediatamente dopo un disastro naturale. Questa applicazione è solo un esempio di ciò che è possibile fare con i moderni strumenti ML come SageMaker.

Prova oggi stesso le funzionalità geospaziali di SageMaker utilizzando i tuoi modelli; non vediamo l'ora di vedere cosa costruirai dopo.


Circa l'autore

Valutazione dei danni utilizzando le funzionalità geospaziali di Amazon SageMaker e modelli SageMaker personalizzati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Aaron SengStacken è un architetto di soluzioni specializzato in machine learning presso Amazon Web Services. Aaron lavora a stretto contatto con clienti del settore pubblico di tutte le dimensioni per sviluppare e distribuire applicazioni di machine learning di produzione. È interessato a tutto ciò che riguarda l'apprendimento automatico, la tecnologia e l'esplorazione dello spazio.

Timestamp:

Di più da Apprendimento automatico di AWS