W dzisiejszym dynamicznym świecie, w którym dane geoprzestrzenne odgrywają kluczową rolę w podejmowaniu decyzji oraz analizach środowiskowych, narzędzia umożliwiające efektywne przetwarzanie tych danych stają się niezwykle cenne. Jednym z nich jest wtyczka Deepness (Deep Neural Remote Sensing) która jest przeznaczona do przetwarzania danych geoprzestrzennych w środowisku QGIS. Jej głównym celem jest umożliwienie użytkownikom przetwarzania dowolnej warstwy rastrowej, włączając w to niestandardowe ortofotomapy pobierane z plików lub dostarczane przez różnych dostawców internetowych, takie jak np. Google Satellite.
Wtyczka QGIS Deepness
Tradycyjnie narzędzia do przetwarzania obrazów były zarezerwowane dla specjalistów w dziedzinie uczenia maszynowego lub programistów, co tworzyło pewne ograniczenia w dostępie do tych technologii. Wprowadzenie wtyczki Deepness znacząco przekształca tę dynamikę, umożliwiając użytkownikom o niespecjalistycznym wykształceniu w dziedzinie uczenia maszynowego korzystanie z zaawansowanych technik przetwarzania obrazów.
Wtyczka została zaprojektowana z myślą o obsłudze głównych typów modeli uczenia maszynowego:
- Segmentacja wykorzystuje modele głębokiego uczenia, takie jak U-Net, aby dokładnie przypisać każdy piksel na obrazie do konkretnej klasy na podstawie analizy zarówno lokalnego, jak i globalnego kontekstu obrazu
- Regresja – dla każdego piksela na obrazie wejściowym model sieci neuronowej przewiduje jedną ciągłą wartość zmiennej. Dla regresji logistycznej model przypisuje danym wejściowym prawdopodobieństwo przynależności do jednej z dwóch klas.
- Detekcja – wykrywanie obiektów reprezentowanych jako prostokątne obszary, wraz z przypisaniem kategorii. Single Shot Detector (SSD), You Only Look Once (YOLO) oraz Region-based Fully Convolutional Networks (R-FCN) to tylko kilka przykładów podstawowych architektur detekcji obiektów.
Znaczącym osiągnięciem w ramach wspomnianej wtyczki jest możliwość integracji wyników badań z zakresu przetwarzania obrazów, opartych na technologii głębokiego uczenia maszynowego, z otwartym oprogramowaniem geoinformacyjnym QGIS. Ponadto dostępny jest rejestr, który oferuje gotowe do użycia modele, co umożliwia użytkownikom korzystanie z technik głębokiego uczenia bez konieczności tworzenia własnych modeli czy algorytmów. Szczegółowe informacje na temat dostępnych modeli można przeczytać na stronie autorów wtyczki: https://qgis-plugin-deepness.readthedocs.io/en/latest/main/main_model_zoo.html
Instalacja
Procedura instalacji wtyczki odbywa się za pośrednictwem narzędzi dostępnych w interfejsie programu QGIS. W celu rozpoczęcia tego procesu, należy najpierw otworzyć przeglądarkę wtyczek, co można zrealizować poprzez wybór opcji „Wtyczki” w menu głównym, a następnie wybranie „Zarządzaj wtyczkami”. W obszarze przeznaczonym do wyszukiwania, należy wprowadzić nazwę „Deepness: Deep Neutral Remote Sensing”. Po odnalezieniu wtyczki, należy kliknąć na przycisk „Zainstaluj wtyczkę”.
W trakcie procesu instalacji zostaniemy poinformowani o konieczności spełnienia wymagań dotyczących paczki Python. Aby wtyczka funkcjonowała poprawnie, pamiętaj o sprawdzeniu wersji na swoim komputerze. Jeśli spełniamy to wymaganie, możemy kontynuować proces instalacji, klikając na przycisk „Install packages”. Na koniec zostaniemy poinformowani o zakończeniu instalacji oraz o ewentualnych problemach, które mogły pojawić się podczas tego procesu.
Po pomyślnej instalacji, wtyczka zostanie dodana w zakładce „Wtyczki” programu QGIS. Po jej uruchomieniu, po prawej stronie interfejsu użytkownika pojawi się intuicyjny panel główny, w którym znajdziemy istotne opcje i narzędzia. W celu uzyskania bardziej szczegółowych informacji na temat parametrów oraz ich wykorzystania, dostępny jest opis pod adresem:
https://qgis-plugin-deepness.readthedocs.io/en/latest/main/main_ui_explanation.html
Wczytanie mapy
Quick Map Services
Popularnym źródłem map w programie QGIS jest wtyczka Quick Map Services (QMS), łatwa do pobrania i instalacji za pośrednictwem zakładki Wtyczki -> Zarządzaj wtyczkami. W oknie wyszukiwania wpisz nazwę i kliknij “Zainstaluj wtyczkę”
- Na pasku programu pojawią się trzy nowe ikony zainstalowanej przez nas wtyczki
- W celu wczytania mapy kliknij na ikonkę z lupą (pierwsza od prawej)
- Po prawej stronie wyświetli się okno wtyczki gdzie można wyszukać dostępne mapy. Gdy znajdziesz odpowiednią, wystarczy kliknąć lewym przyciskiem myszy by dodać ją do projektu. Po dodaniu, zostanie wyświetlona w oknie warstw
Semi-Automatic Classification Plugin
W przypadku projektów związanych z modelami uczenia maszynowego, często konieczne jest korzystanie z map, które uwzględniają szerszy zakres pasm widmowych. Jednym z przykładów takich map, są zdjęcia satelitarne pochodzące z satelitów programu Copernicus Sentinel, który korzysta z trzynastu pasm widmowych. Z tego cztery pasma oferują rozdzielczość przestrzenną na poziomie 10 metrów, sześć pasm ma rozdzielczość wynoszącą 20 metrów, a pozostałe trzy pasma charakteryzują się rozdzielczością przestrzenną na poziomie 60 metrów. Dane te są udostępniane bezpłatnie i można je pobrać do programu QGIS za pomocą wtyczki Semi-Automatic Classification Plugin.
Instalacja wtyczki tak jak w przypadku Deepness czy Quick Map Services odbywa się przez zakładkę Wtyczki -> Zarządzaj wtyczkami
Pierwsze uruchomienie
1. Na pasku menu programu pojawi się zakładka „SCP” wybierz „Download products’, co spowoduje otwarcie okna wtyczki.
2. Zacznij od wyboru obszaru, dla którego szukasz obrazu. Kliknij czerwony plus w prawym rogu i zaznaczając prawym przyciskiem myszy prawy dolny róg i lewym przyciskiem myszy lewy górny róg wyznacz pożądany obszar
3. Wybierz interesujący produkt, w tym przypadku jest to Sentinel-2. Dodatkowo można ustalić okres czasu, z jakiego chcemy obrazy oraz pokrycie chmur.
4. Kliknij przycisk „Znajdź”. W okienku „Product list” pojawią się dostępne zdjęcia. Wybierz ten, który najlepiej odpowiada twoim potrzebom. W tym przypadku wybrano zdjęcie o najmniejszym zachmurzeniu. Warto zaznaczyć, że niektóre produkty mogą być oznaczone kolorem szarym, co świadczy o tym, że są niedostępne.
5. Wyświetl podgląd obrazu na mapie
6. Po wybraniu odpowiedniego produktu, kliknij przycisk „Run” i wybierz folder, w którym zostaną zapisane warstwy. Następnie w oknie QGIS pojawi się pasek postępu informujący o procesie pobierania. Po jego zakończeniu, warstwy zostaną wyświetlone w zakładce „Warstwy” w standardowy sposób.
Każde pasmo zapisywane jest na oddzielnej warstwie. Istnieje możliwość połączenia warstw w programie QGIS w zakładce Raster -> Różne -> Połącz.
Uruchomienie
Przejdźmy krok po kroku przykładowy proces wykrywania obiektów za pomocą wtyczki Deepness.
1. Załaduj odpowiedni podkład mapowy w zależności od wymagań modelu. W tym przypadku, dla modelu Land Cover Segmentation ze zbioru Model ZOO wybieramy podkład satelitarny np. Google Satellite.
2. Powiększ obszar to rozmiarów, które chcesz badać. Możesz również wybrać zbadanie całej warstwy lub przygotowanego poligonu.
3. Wybierz ścieżkę do pliku z modelem, z którego chcesz skorzystać.
4. Załaduj domyślne parametry modelu. Program powinien automatycznie przypisać typ modelu oraz parametry przetwarzania. Jeśli jest taka potrzeba, zmodyfikuj je ręcznie.
5. Uruchom przetwarzanie obrazu.
Gdy obraz zostanie przetworzony wyświetlą się ogólne statystyki. W panelu „Warstwy” pojawi się nowa grupa z utworzoną osobną warstwą dla każdej kategorii. Można je następnie wyeksportować lub zapisać w popularnych formatach oferowanych przez QGIS.
Przykładowe zastosowanie – wykrywanie pojazdów
Poniżej przedstawiono przykład zastosowania modelu Aerial Cars Detection, dostępnego w Model ZOO, do wykrywania samochodów na zdjęciach lotniczych. Należy zaznaczyć, że kluczowym czynnikiem wpływającym na skuteczność działania tego modelu jest rodzaj podkładu mapowego, z którego korzystamy. W naszych eksperymentach użyliśmy trzech różnych źródeł danych: zdjęć satelitarnych Google Satellite z obszarów Płocka i San Francisco oraz Poznań 2022 aerial ortophoto high resolution. W każdym przypadku parametry przetwarzania obrazów były takie same, zgodne z ustawieniami domyślnymi dla modelu, jednak wyniki uzyskane na tych obszarach okazały się różne, co sugeruje wpływ jakości danych źródłowych na efektywność modelu detekcji pojazdów.
W kontekście urbanistyki oraz inżynierii ruchu drogowego, zdolność do wykrywania pojazdów na lotniczych zdjęciach stanowi wartościowe narzędzie. Obrazy satelitarne pozyskiwane, na przykład, z platformy Google Satellite, mogą służyć, jako źródło informacji dotyczących istniejącej infrastruktury drogowej i transportowej. Te dane są pomocne podczas planowania rozbudowy dróg, optymalizacji transportu oraz innych projektów infrastrukturalnych, co pozwala na bardziej precyzyjne i efektywne zarządzanie zasobami miejskimi. Ponadto, analiza obrazów satelitarnych może wspomagać procesy zarządzania parkingami w centrach handlowych, co ma istotne znaczenie dla zarządzania przepływem pojazdów i ułatwiania dostępu do usług.
Machine Learning: Zastosowania w Analizach Przestrzennych
Dzięki wtyczką, które umożliwiają korzystanie z modeli uczenia maszynowego w programie QGIS stały się one dostępnymi i użytecznymi narzędziami dla szerokiego grona użytkowników. Otwiera to nowe horyzonty w dziedzinie analiz geoprzestrzennych, umożliwiając wykonywanie bardziej zaawansowanych i precyzyjnych badań. Jednak czy wiesz, do czego są one wykorzystywane? Pokażemy, w jaki sposób te nowoczesne technologie przekształcają tradycyjne podejście do analiz przestrzennych i jakie potencjalne korzyści wynikają z ich zastosowania.
Nielegalne wylesienia
Wylesianie od dawna jest kwestią, która stanowi wyzwanie dla środowiska naturalnego, a jego rozmiar i wpływ na naszą planetę stają się coraz bardziej alarmujące. Szczególnie niepokojący jest wzrost nielegalnej wycinki drzew w obszarach lasów deszczowych Puszczy Amazońskiej. Ogromne terytoria są trudne do nadzorowania, a jednocześnie mają fundamentalne znaczenie dla globalnego ekosystemu.
Celem badania była prezentacja zdolności głębokich sieci neuronowych do nauki wzorców przestrzennych i czasowych wylesiania na podstawie ograniczonego zestawu dostępnych bezpłatnie globalnych warstw danych, w tym wielospektralnych obrazów satelitarnych, map historycznego wylesiania Hansen (2001-2020) oraz cyfrowego modelu powierzchni ALOS JAXA, w celu prognozowania przyszłego wylesiania (2021).
Zaprojektowano cztery oryginalne architektury modeli głębokiego uczenia, oparte na sieciach neuronowych konwolucyjnych 2D (2DCNN), sieciach neuronowych konwolucyjnych 3D (3DCNN) oraz rekurencyjnych sieciach neuronowych typu Long Short-Term Memory (LSTM), aby generować mapy przestrzenne wskazujące ryzyko wylesienia dla każdego piksela w krajobrazie leśnym (~30 m), który może ulec wylesieniu w ciągu najbliższego roku.
Modele głębokiego uczenia były w stanie przewidzieć przyszłe wylesienie z dużą dokładnością. Najlepiej sprawdził się model 3DCNN, osiągając najwyższą dokładność pikselową. Na podstawie danych satelitarnych i innych uzupełniających zbiorów danych przestrzennych model był w stanie rozróżnić jednorazowe zdarzenie utraty lasu (np. osunięciem się ziemi) a zdarzeniami, które prawdopodobnie będą postępować w czasie (np. nowo wybudowana droga, nielegalna kopalnia złota). Sugeruje to, że sieci były w stanie automatycznie wyodrębnić te cechy krajobrazu, które wskazują na ryzyko wylesiania.
Przewidywanie lokalizacji wylesiania jest trudne ze względu na złożoność systemów naturalnych i ludzkich zaangażowanych w ten proces. Należy jednak zachować ostrożność w interpretacji dokładności modelu, ponieważ opiera się ona na danych historycznych i na klasyfikacji wzorców obserwowanych wcześniej.
Sieci mogą znacząco wspomagać podejmowanie decyzji i efektywne interwencje w zakresie ochrony środowiska, zwłaszcza w obszarach zagrożonych wylesieniem. Przedstawione podejście może być użyteczne dla różnych użytkowników, w tym agencji rządowych, organizacji ochrony środowiska i projektów związanych z akredytacją w zakresie ochrony lasów.
Szacowanie plonów na podstawie danych klimatycznych oraz uczenia maszynowego
W obliczu ograniczonej dostępności narzędzi, celem badania było opracowanie modelu szacowania plonów w oparciu o dane teledetekcyjne i klimatyczne z wykorzystaniem uczenia maszynowego.
Szacowanie plonów z winnic z wyprzedzeniem stanowi istotny element planowania i regulacji na poziomie regionalnym, a jego znaczenie wzrasta w kontekście długoterminowych perspektyw związanych z obserwowanymi zmianami klimatu. Przy użyciu czasowej serii danych satelitarnych Sentinel 2 dotyczących wskaźnika NDVI (Normalized Difference Vegetation Index) oraz danych klimatycznych zebranych przez lokalne automatyczne stacje pogodowe, wprowadzono system do prognozowania plonów oparty na sieci neuronowej typu Long Short-Term Memory (LSTM).
Opracowany model pozwala na wczesną prognozę plonów, osiągając lepsze wyniki na etapie VER (jeden miesiąc przed rozpoczęciem zbiorów) w porównaniu do etapu FLO (3 miesiące przed rozpoczęciem zbiorów). Pomimo dobrych wyników autorzy wskazują również na ograniczenia modelu wynikające z m.in. krótkiego szeregu czasowego czy małej liczby stacji pogodowych. Jednak metody oparte na uczeniu maszynowym mogą pomóc w zrozumieniu i przewidywaniu interakcji między systemami biotycznymi i abiotycznymi
Arogancja przestrzeni
Nierówna dystrybucja przestrzeni publicznej w kontekście dostępności dla pieszych, rowerzystów i użytkowników samochodów stanowi istotne zagadnienie, które przykuwa uwagę specjalistów ds. mobilności miejskiej. Popularne stało się pojęcie „arogancji przestrzeni”, zaproponowane przez szanowanego urbanistę Mikaela Colville-Andersena. Termin ten odnosi się do sytuacji, w której przestrzeń miejska jest niesprawiedliwie rozdzielana i projektowane głównie z myślą o samochodach. W celu zobrazowania tej nierównowagi, Mikael Colville-Andersen przeprowadził analizę przestrzeni w podziale na grupy użytkowników miejskich, wykorzystując różnorodne oznaczenia kolorystyczne do identyfikacji poszczególnych sektorów.
Dotychczasowe analizy tego rodzaju wymagały manualnego przetwarzania, co wiązało się z znacznym nakładem czasu. Dzięki wtyczce Deepness dostępnej dla użytkowników oprogramowania QGIS, możliwe jest przeprowadzanie podobnych analiz znacznie szybciej i bez konieczności posiadania specjalistycznej wiedzy.
W modelu udostępnionym w ramach wtyczki stosowana jest technika segmentacji obrazu, która przypisuje każdemu pikselowi jedną z pięciu kategorii: budynki, lasy, woda, ulice oraz tło. Należy zaznaczyć, że ten model jest obecnie niewystarczający do stworzenia powyższej analizy, jednak stanowi cenny punkt wyjścia do dalszych rozważań. Obecnie powszechne w użyciu przez specjalistów w dziedzinie machine learning są modele rozpoznające szerszą gamę kategorii, takie jak chodniki czy przejścia dla pieszych. Ponadto, zaawansowane modele potrafią także identyfikować i klasyfikować pojazdy oraz pieszych, co ma istotne zastosowanie w analizach związanych z mobilnością miejską.
Podsumowanie
Wtyczka Deepness integruje zaawansowane techniki przetwarzania obrazów oparte na głębokim uczeniu maszynowym z otwartym oprogramowaniem geoinformacyjnym QGIS, eliminując tym samym barierę dostępu do tych technologii dla osób bez specjalistycznego wykształcenia. Pozwala to na skuteczniejsze wykorzystanie danych geoprzestrzennych w wielu dziedzinach i może przynosić znaczne korzyści w zakresie efektywności, bezpieczeństwa i planowania. Zrozumienie tych zastosowań i ich potencjału jest istotne w kontekście rosnących potrzeb w dziedzinach m.in. urbanistyki, mobilności miejskiej oraz ochrony środowiska.
FAQ by Karol
- W jakim formacie zapisane są modele?
– ONNX - Czy wspierane jest wykorzystanie karty graficznej?
– Tak - Czy mogę uruchomić przetwarzanie dla dużego obszaru – województwa czy kraju?
– Tak – przetwarzanie jest szeregowe (obecnie batch=1, jeden obszar naraz) – może trochę potrwać