Skadebedömning med hjälp av Amazon SageMakers geospatiala funktioner och anpassade SageMaker-modeller PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Skadebedömning med Amazon SageMaker geospatiala funktioner och anpassade SageMaker-modeller

I det här inlägget visar vi hur man tränar, distribuerar och förutsäger skador på naturkatastrofer med Amazon SageMaker med geospatiala funktioner. Vi använder de nya SageMakers geospatiala funktioner för att generera ny slutledningsdata för att testa modellen. Många statliga och humanitära organisationer behöver snabb och exakt situationsmedvetenhet när en katastrof inträffar. Att känna till skadans svårighetsgrad, orsak och plats kan hjälpa till med den första räddningspersonalens reaktionsstrategi och beslutsfattande. Bristen på korrekt och aktuell information kan bidra till en ofullständig eller missriktad hjälpinsats.

När frekvensen och svårighetsgraden av naturkatastrofer ökar, är det viktigt att vi utrustar beslutsfattare och första responders med snabb och noggrann skadebedömning. I det här exemplet använder vi geospatiala bilder för att förutsäga skador på naturkatastrofer. Geospatial data kan användas omedelbart efter en naturkatastrof för att snabbt identifiera skador på byggnader, vägar eller annan kritisk infrastruktur. I det här inlägget visar vi dig hur du tränar och distribuerar en geospatial segmenteringsmodell som ska användas för klassificering av katastrofskador. Vi delar upp applikationen i tre ämnen: modellträning, modellimplementering och slutledning.

Modellutbildning

I det här användningsfallet byggde vi en anpassad PyTorch-modell med hjälp av Amazon SageMaker för bildsegmentering av byggnadsskador. De geospatiala funktionerna i SageMaker inkluderar utbildade modeller som du kan använda. Dessa inbyggda modeller inkluderar segmentering och borttagning av moln och segmentering av marktäcke. Till detta inlägg utbildar vi en anpassad modell för skadesegmentering. Vi tränade först SegFormer-modellen på data från xView2-tävlingen. SegFormer är en transformatorbaserad arkitektur som introducerades i 2021-tidningen SegFormer: Enkel och effektiv design för semantisk segmentering med transformatorer. Den är baserad på transformatorarkitekturerna som är ganska populära med arbetsbelastningar för naturlig språkbehandling; dock är SegFormer-arkitekturen byggd för semantisk segmentering. Den kombinerar både den transformatorbaserade kodaren och en lättviktsdekoder. Detta möjliggör bättre prestanda än tidigare metoder, samtidigt som det ger betydligt mindre modellstorlekar än tidigare metoder. Både förtränade och otränade SegFormer-modeller finns tillgängliga från det populära transformatorbiblioteket Hugging Face. För detta användningsfall laddar vi ner en förtränad SegFormer-arkitektur och tränar den på en ny datamängd.

Datauppsättningen som används i det här exemplet kommer från xView2 datavetenskapstävling. Denna tävling släppte xBD-datauppsättning, en av de största och högkvalitativa offentligt tillgängliga datamängderna med högupplösta satellitbilder kommenterade med byggnadsplats och skadepoäng (klasser) före och efter naturkatastrofer. Datauppsättningen innehåller data från 15 länder inklusive 6 typer av katastrofer (jordbävning/tsunami, översvämning, vulkanutbrott, skogsbrand, vind) med geospatial data som innehåller 850,736 45,362 byggnadskommentarer över 2 XNUMX km^XNUMX bilder. Följande bild visar ett exempel på datasetet. Den här bilden visar bilden efter en katastrof med segmenteringsmasken för byggnadsskador överlagrad. Varje bild innehåller följande: satellitbild före katastrof, segmenteringsmask för byggnad före katastrof, satellitbild efter katastrof och segmenteringsmask för byggnad efter katastrof med skadeklasser.

I det här exemplet använder vi bara bilderna före och efter en katastrof för att förutsäga skadeklassificeringen efter katastrofen (segmenteringsmask). Vi använder inte segmenteringsmaskerna före katastrofen. Detta tillvägagångssätt valdes för enkelhetens skull. Det finns andra alternativ för att närma sig denna datauppsättning. Ett antal av de vinnande tillvägagångssätten för xView2-tävlingen använde en tvåstegslösning: först, förutsäg segmenteringsmasken för byggnadskonturerna före katastrofen. Byggnadskonturerna och efterskadebilderna används sedan som indata för att förutsäga skadeklassificeringen. Vi överlåter detta till läsaren för att utforska andra modelleringsmetoder för att förbättra klassificerings- och detekteringsprestanda.

Den förtränade SegFormer-arkitekturen är byggd för att acceptera en enda trefärgskanalbild som ingång och matar ut en segmenteringsmask. Det finns ett antal sätt vi kunde ha modifierat modellen för att acceptera både pre- och post-satellitbilder som indata, men vi använde en enkel staplingsteknik för att stapla ihop båda bilderna till en sexfärgskanalbild. Vi tränade modellen med hjälp av standardförstärkningstekniker på xView2 träningsdataset för att förutsäga segmenteringsmasken efter katastrof. Observera att vi ändrade storleken på alla ingående bilder från 1024 till 512 pixlar. Detta var för att ytterligare minska den rumsliga upplösningen av träningsdata. Modellen tränades med SageMaker med en enda p3.2xlarge GPU-baserad instans. Ett exempel på utbildad modell visas i följande figurer. Den första uppsättningen bilder är bilderna före och efter skadan från valideringsuppsättningen.
bilder före och efter skada från valideringsuppsättningen

Följande figurer visar masken för förutspådd skada och masken för jordsäkring.
Följande figurer visar masken för förutspådd skada och masken för jordsäkring.

Vid första anblicken verkar det som om modellen inte fungerar bra jämfört med data från grunden. Många av byggnaderna är felaktigt klassificerade, vilket blandar ihop mindre skador utan skador och visar flera klassificeringar för en enda byggnadskontur. Ett intressant fynd när man granskar modellens prestanda är dock att den verkar ha lärt sig att lokalisera byggnadsskadeklassificeringen. Varje byggnad kan klassificeras i No Damage, Minor Damage, Major Damage, eller Destroyed. Den förutsedda skademasken visar att modellen har klassificerat den stora byggnaden i mitten till det mesta No Damage, men det övre högra hörnet klassificeras som Destroyed. Denna lokalisering av underbyggnadsskador kan ytterligare hjälpa räddningspersonal genom att visa de lokala skadorna per byggnad.

Modelldistribution

Den tränade modellen distribuerades sedan till en asynkron SageMaker slutpunkt. Observera att vi valde en asynkron slutpunkt för att möjliggöra längre slutledningstider, större indatastorlekar för nyttolast och möjligheten att skala ner slutpunkten till noll instanser (inga avgifter) när den inte används. Följande bild visar högnivåkoden för asynkron slutpunktsdistribution. Vi komprimerar först den sparade PyTorch-tillståndsordboken och laddar upp de komprimerade modellartefakterna till Amazon enkel lagringstjänst (Amazon S3). Vi skapar en SageMaker PyTorch-modell som pekar på vår slutledningskod och modellartefakter. Slutledningskoden krävs för att ladda och betjäna vår modell. För mer information om den nödvändiga anpassade slutledningskoden för en SageMaker PyTorch-modell, se Använd PyTorch med SageMaker Python SDK.
högnivåkod för asynkron slutpunktsdistribution

Följande figur visar koden för den automatiska skalningsprincipen för den asynkrona slutpunkten.
Följande figur visar koden för den automatiska skalningsprincipen för den asynkrona slutpunkten.

Observera att det finns andra slutpunktsalternativ, såsom realtid, batch och serverlös, som kan användas för din applikation. Du vill välja det alternativ som är bäst lämpat för användningsfallet och komma ihåg det Amazon SageMaker Inference Recommender är tillgänglig för att rekommendera maskininlärning (ML) slutpunktskonfigurationer.

Modell slutledning

Med den utbildade modellen utplacerad kan vi nu använda SageMaker geospatiala möjligheter att samla in data för slutledning. Med SageMaker geospatiala möjligheter finns flera inbyggda modeller tillgängliga direkt. I det här exemplet använder vi bandstaplingsoperationen för att stapla de röda, gröna och blå färgkanalerna för vårt jordobservationsjobb. Jobbet samlar in data från Sentinel-2-datauppsättningen. För att konfigurera ett jordobservationsjobb behöver vi först koordinaterna för platsen av intresse. För det andra behöver vi tidsintervallet för observationen. Med detta kan vi nu skicka in ett jordobservationsjobb med hjälp av staplingsfunktionen. Här staplar vi de röda, gröna och blå banden för att producera en färgbild. Följande figur visar jobbkonfigurationen som användes för att generera data från översvämningarna i Rochester, Australien, i mitten av oktober 2022. Vi använder bilder från före och efter katastrofen som input till vår utbildade ML-modell.

Efter att jobbkonfigurationen har definierats kan vi skicka in jobbet. När jobbet är klart exporterar vi resultaten till Amazon S3. Observera att vi bara kan exportera resultaten efter att jobbet har slutförts. Resultaten av jobbet kan exporteras till en Amazon S3-plats som anges av användaren i exportjobbkonfigurationen. Nu med våra nya data i Amazon S3 kan vi få skadeförutsägelser med hjälp av den utplacerade modellen. Vi läser först in data i minnet och staplar bilderna före och efter en katastrof tillsammans.
Vi läser först in data i minnet och staplar bilderna före och efter en katastrof tillsammans.

Resultaten av segmenteringsmasken för översvämningarna i Rochester visas i följande bilder. Här kan vi se att modellen har identifierat platser inom den översvämmade regionen som sannolikt skadade. Observera också att den rumsliga upplösningen för slutledningsbilden skiljer sig från träningsdata. Att öka den rumsliga upplösningen kan hjälpa modellens prestanda; Detta är dock ett mindre problem för SegFormer-modellen som det är för andra modeller på grund av flerskalig modellarkitektur.

före efter översvämning

resultat av segmenteringsmasken för översvämningarna i Rochester

Skadebedömning

Slutsats

I det här inlägget visade vi hur man tränar, distribuerar och förutsäger skador på naturkatastrofer med SageMaker med geospatiala möjligheter. Vi använde SageMakers nya geospatiala funktioner för att generera ny slutledningsdata för att testa modellen. Koden för det här inlägget håller på att släppas, och det här inlägget kommer att uppdateras med länkar till den fullständiga utbildnings-, implementerings- och slutledningskoden. Denna applikation gör det möjligt för första responders, regeringar och humanitära organisationer att optimera sina svar och ge kritisk situationsmedvetenhet omedelbart efter en naturkatastrof. Denna applikation är bara ett exempel på vad som är möjligt med moderna ML-verktyg som SageMaker.

Prova SageMakers geospatiala funktioner idag med dina egna modeller; vi ser fram emot att se vad du bygger härnäst.


Om författaren

Skadebedömning med hjälp av Amazon SageMakers geospatiala funktioner och anpassade SageMaker-modeller PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Aaron Sengstacken är en lösningsarkitekt för maskininlärning på Amazon Web Services. Aaron arbetar nära offentliga kunder av alla storlekar för att utveckla och distribuera produktionsapplikationer för maskininlärning. Han är intresserad av allt som rör maskininlärning, teknik och rymdutforskning.

Tidsstämpel:

Mer från AWS maskininlärning