Ocena szkód przy użyciu możliwości geoprzestrzennych Amazon SageMaker i niestandardowych modeli SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Ocena szkód przy użyciu funkcji geoprzestrzennych Amazon SageMaker i niestandardowych modeli SageMaker

W tym poście pokazujemy, jak szkolić, wdrażać i przewidywać szkody spowodowane klęskami żywiołowymi Amazon SageMaker z funkcjami geoprzestrzennymi. Używamy nowych możliwości geoprzestrzennych SageMaker do generowania nowych danych wnioskowania w celu przetestowania modelu. Wiele organizacji rządowych i humanitarnych potrzebuje szybkiej i dokładnej świadomości sytuacyjnej w przypadku katastrofy. Znajomość powagi, przyczyny i lokalizacji uszkodzenia może pomóc w opracowaniu strategii reagowania i podejmowaniu decyzji przez ratownika. Brak dokładnych i aktualnych informacji może przyczynić się do niepełnej lub źle ukierunkowanej pomocy.

Wraz ze wzrostem częstotliwości i dotkliwości klęsk żywiołowych ważne jest, abyśmy wyposażali decydentów i osoby udzielające pierwszej pomocy w szybką i dokładną ocenę szkód. W tym przykładzie używamy obrazów geoprzestrzennych do przewidywania szkód spowodowanych klęskami żywiołowymi. Dane geoprzestrzenne można wykorzystać bezpośrednio po klęsce żywiołowej, aby szybko zidentyfikować uszkodzenia budynków, dróg lub innej infrastruktury krytycznej. W tym poście pokazujemy, jak trenować i wdrażać model segmentacji geoprzestrzennej, który ma być używany do klasyfikacji szkód spowodowanych klęskami żywiołowymi. Aplikację dzielimy na trzy tematy: szkolenie modeli, wdrażanie modelu i wnioskowanie.

Szkolenie modelowe

W tym przypadku użycia zbudowaliśmy niestandardowy model PyTorch przy użyciu Amazon Sage Maker do segmentacji obrazu uszkodzeń budynków. Możliwości geoprzestrzenne w SageMaker obejmują przeszkolone modele do wykorzystania. Te wbudowane modele obejmują segmentację i usuwanie chmur oraz segmentację pokrycia terenu. W tym poście szkolimy niestandardowy model segmentacji uszkodzeń. Najpierw trenowaliśmy model SegFormer na danych z konkursu xView2. SegFormer to architektura oparta na transformatorze, która została wprowadzona w artykule z 2021 r SegFormer: Prosty i wydajny projekt segmentacji semantycznej za pomocą transformatorów. Opiera się na architekturach transformatora, które są dość popularne w przypadku obciążeń związanych z przetwarzaniem języka naturalnego; jednak architektura SegFormer jest zbudowana z myślą o segmentacji semantycznej. Łączy w sobie zarówno koder oparty na transformatorze, jak i lekki dekoder. Pozwala to na lepszą wydajność niż poprzednie metody, przy jednoczesnym zapewnieniu znacznie mniejszych rozmiarów modeli niż poprzednie metody. Zarówno wstępnie wytrenowane, jak i niewytrenowane modele SegFormer są dostępne w popularnej bibliotece transformatorów Hugging Face. W tym przypadku pobieramy wstępnie wytrenowaną architekturę SegFormer i trenujemy ją na nowym zbiorze danych.

Zestaw danych użyty w tym przykładzie pochodzi z Konkurs nauki o danych xView2. Ten konkurs wydał zbiór danych xBD, jeden z największych i najwyższej jakości publicznie dostępnych zestawów danych zawierających zdjęcia satelitarne w wysokiej rozdzielczości z adnotacjami dotyczącymi lokalizacji budynków i ocen uszkodzeń (klas) przed i po klęskach żywiołowych. Zbiór danych zawiera dane z 15 krajów, w tym 6 rodzajów katastrof (trzęsienie ziemi/tsunami, powódź, erupcja wulkanu, pożar, wiatr) z danymi geoprzestrzennymi zawierającymi 850,736 45,362 adnotacji budynków na 2 XNUMX km^XNUMX zdjęć. Poniższy obraz przedstawia przykład zestawu danych. Ten obraz przedstawia obraz po katastrofie z nałożoną maską segmentacji uszkodzeń budynku. Każdy obraz zawiera następujące elementy: zdjęcie satelitarne sprzed katastrofy, maskę segmentacji budynku przed katastrofą, zdjęcie satelitarne po katastrofie i maskę segmentacji budynku po katastrofie z klasami uszkodzeń.

W tym przykładzie używamy tylko obrazów sprzed i po katastrofie, aby przewidzieć klasyfikację szkód po katastrofie (maska ​​segmentacji). Nie używamy masek segmentacji budynków sprzed katastrofy. To podejście zostało wybrane ze względu na prostotę. Istnieją inne możliwości podejścia do tego zestawu danych. Szereg zwycięskich podejść w konkursie xView2 wykorzystywało rozwiązanie dwuetapowe: najpierw należy przewidzieć maskę segmentacji obrysu budynku sprzed katastrofy. Zarysy budynków i zdjęcia po uszkodzeniu są następnie wykorzystywane jako dane wejściowe do przewidywania klasyfikacji uszkodzeń. Pozostawiamy to czytelnikowi do zbadania innych podejść do modelowania w celu poprawy wydajności klasyfikacji i wykrywania.

Wstępnie wytrenowana architektura SegFormer jest zbudowana tak, aby akceptować pojedynczy trójkolorowy obraz kanału jako dane wejściowe i wyprowadzać maskę segmentacji. Istnieje wiele sposobów, w jakie mogliśmy zmodyfikować model, aby zaakceptować zarówno zdjęcia przed, jak i po satelicie jako dane wejściowe, jednak użyliśmy prostej techniki układania w stos, aby połączyć oba obrazy w sześciokolorowy obraz kanałowy. Przeszkoliliśmy model przy użyciu standardowych technik augmentacji na zestawie danych szkoleniowych xView2, aby przewidzieć maskę segmentacji po katastrofie. Zauważ, że zmieniliśmy rozmiar wszystkich obrazów wejściowych z 1024 na 512 pikseli. Miało to na celu dalsze zmniejszenie rozdzielczości przestrzennej danych treningowych. Model został przeszkolony w SageMaker przy użyciu pojedynczej instancji opartej na procesorze graficznym p3.2xlarge. Przykład danych wyjściowych przeszkolonego modelu pokazano na poniższych rysunkach. Pierwszy zestaw obrazów to obrazy przed i po uszkodzeniu z zestawu sprawdzania poprawności.
obrazy przed i po uszkodzeniu ze zbioru walidacyjnego

Poniższe rysunki przedstawiają przewidywaną maskę uszkodzeń i maskę uszkodzeń naziemnych.
Poniższe rysunki przedstawiają przewidywaną maskę uszkodzeń i maskę uszkodzeń naziemnych.

Na pierwszy rzut oka wydaje się, że model nie radzi sobie dobrze w porównaniu z podstawowymi danymi. Wiele budynków jest błędnie sklasyfikowanych, myląc drobne uszkodzenia z brakiem uszkodzeń i wyświetlając wiele klasyfikacji dla pojedynczego zarysu budynku. Jednak jednym z interesujących odkryć podczas przeglądu wydajności modelu jest to, że wydaje się, że nauczył się on lokalizować klasyfikację uszkodzeń budynków. Każdy budynek można podzielić na No Damage, Minor Damage, Major Damagelub Destroyed. Przewidywana maska ​​uszkodzeń pokazuje, że model sklasyfikował duży budynek pośrodku jako większość No Damage, ale prawy górny róg jest klasyfikowany jako Destroyed. Ta lokalizacja uszkodzeń podbudynków może dodatkowo pomóc ratownikom, pokazując zlokalizowane uszkodzenia na budynek.

Wdrożenie modelu

Wyszkolony model został następnie wdrożony w asynchronicznym punkcie końcowym wnioskowania SageMaker. Zwróć uwagę, że wybraliśmy asynchroniczny punkt końcowy, aby umożliwić dłuższe czasy wnioskowania, większe rozmiary danych wejściowych ładunku i możliwość skalowania punktu końcowego do zera wystąpień (bez opłat), gdy nie jest używany. Na poniższym rysunku przedstawiono kod wysokiego poziomu dla asynchronicznego wdrażania punktów końcowych. Najpierw kompresujemy zapisany słownik stanu PyTorch i przesyłamy do niego skompresowane artefakty modelu Usługa Amazon Simple Storage (Amazon S3). Tworzymy model SageMaker PyTorch wskazujący na nasz kod wnioskowania i artefakty modelu. Kod wnioskowania jest wymagany do załadowania i obsługi naszego modelu. Aby uzyskać więcej informacji na temat wymaganego niestandardowego kodu wnioskowania dla modelu SageMaker PyTorch, zobacz Używaj PyTorch z pakietem SageMaker Python SDK.
kod wysokiego poziomu do asynchronicznego wdrażania punktów końcowych

Na poniższym rysunku przedstawiono kod zasad automatycznego skalowania dla punktu końcowego wnioskowania asynchronicznego.
Na poniższym rysunku przedstawiono kod zasad automatycznego skalowania dla punktu końcowego wnioskowania asynchronicznego.

Należy pamiętać, że istnieją inne opcje punktu końcowego, takie jak czas rzeczywisty, wsadowy i bezserwerowy, których można użyć w przypadku aplikacji. Będziesz chciał wybrać opcję, która najlepiej pasuje do przypadku użycia i zapamiętaj to Polecający wnioskowanie Amazon SageMaker jest dostępna, aby pomóc w zalecaniu konfiguracji punktów końcowych uczenia maszynowego (ML).

Wnioskowanie o modelu

Po wdrożeniu przeszkolonego modelu możemy teraz używać Możliwości geoprzestrzenne SageMaker aby zebrać dane do wnioskowania. Dzięki możliwościom geoprzestrzennym SageMaker dostępnych jest kilka wbudowanych modeli. W tym przykładzie używamy operacji układania pasm w celu ułożenia kanałów kolorów czerwonego, zielonego i niebieskiego w naszej pracy związanej z obserwacją Ziemi. Zadanie zbiera dane ze zbioru danych Sentinel-2. Aby skonfigurować zadanie obserwacji Ziemi, potrzebujemy najpierw współrzędnych interesującej nas lokalizacji. Po drugie, potrzebujemy przedziału czasowego obserwacji. Dzięki temu możemy teraz przesłać zadanie obserwacji Ziemi za pomocą funkcji układania. Tutaj układamy czerwone, zielone i niebieskie paski, aby uzyskać kolorowy obraz. Poniższy rysunek przedstawia konfigurację zadania używaną do generowania danych z powodzi w Rochester w Australii w połowie października 2022 r. Wykorzystujemy obrazy sprzed i po katastrofie jako dane wejściowe do naszego przeszkolonego modelu uczenia maszynowego.

Po zdefiniowaniu konfiguracji zadania możemy przesłać zlecenie. Po zakończeniu zadania eksportujemy wyniki do Amazon S3. Pamiętaj, że możemy wyeksportować wyniki dopiero po zakończeniu zadania. Wyniki zadania można wyeksportować do lokalizacji Amazon S3 określonej przez użytkownika w konfiguracji zadania eksportu. Teraz dzięki naszym nowym danym w Amazon S3 możemy uzyskać prognozy szkód przy użyciu wdrożonego modelu. Najpierw wczytujemy dane do pamięci i układamy razem zdjęcia sprzed i po katastrofie.
Najpierw wczytujemy dane do pamięci i układamy razem zdjęcia sprzed i po katastrofie.

Wyniki maski segmentacji dla powodzi w Rochester pokazano na poniższych obrazach. Tutaj widzimy, że model zidentyfikował lokalizacje w zalanym regionie jako prawdopodobnie uszkodzone. Należy również zauważyć, że rozdzielczość przestrzenna obrazu wnioskowania jest inna niż w przypadku danych treningowych. Zwiększenie rozdzielczości przestrzennej może pomóc w modelowaniu wydajności; jest to jednak mniejszy problem w przypadku modelu SegFormer, podobnie jak w przypadku innych modeli, ze względu na architekturę modelu wieloskalowego.

przed powodzią

wyniki maski segmentacji dla powodzi w Rochester

Oszacowanie szkód

Wnioski

W tym poście pokazaliśmy, jak szkolić, wdrażać i przewidywać szkody spowodowane klęskami żywiołowymi SageMaker z funkcjami geoprzestrzennymi. Wykorzystaliśmy nowe możliwości geoprzestrzenne SageMaker do wygenerowania nowych danych wnioskowania w celu przetestowania modelu. Kod dla tego wpisu jest w trakcie publikowania, a ten wpis zostanie zaktualizowany o łącza do pełnego kodu szkolenia, wdrożenia i wnioskowania. Ta aplikacja umożliwia służbom ratowniczym, rządom i organizacjom humanitarnym optymalizację reakcji, zapewniając krytyczną świadomość sytuacyjną natychmiast po klęsce żywiołowej. Ta aplikacja to tylko jeden przykład tego, co jest możliwe dzięki nowoczesnym narzędziom ML, takim jak SageMaker.

Wypróbuj możliwości geoprzestrzenne SageMaker już dziś, korzystając z własnych modeli; nie możemy się doczekać, aby zobaczyć, co zbudujesz dalej.


O autorze

Ocena szkód przy użyciu możliwości geoprzestrzennych Amazon SageMaker i niestandardowych modeli SageMaker PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Aarona Sengstackena jest architektem rozwiązań specjalizujących się w uczeniu maszynowym w Amazon Web Services. Aaron ściśle współpracuje z klientami z sektora publicznego różnej wielkości, aby opracowywać i wdrażać produkcyjne aplikacje uczenia maszynowego. Interesuje się uczeniem maszynowym, technologią i eksploracją kosmosu.

Znak czasu:

Więcej z Uczenie maszynowe AWS