Przejdź do treści
GeoAI
QGIS
Przewodnik

Czym jest GeoAI? Definicja i przykłady w QGIS

Opublikowano Zaktualizowano

GeoAI to uczenie maszynowe działające na danych geograficznych: zdjęciach satelitarnych i lotniczych, chmurach punktów, warstwach wektorowych, czytanych przez model, który zwraca obiekty, klasy lub zmiany jako dane, które możesz edytować. To, co wraca, ląduje w układzie współrzędnych twojego projektu, jako warstwa, którą otwierasz w QGIS jak każdą inną. Bierze na siebie powolny środek zlecenia i o niczym za ciebie nie decyduje.

To nie jest chatbot, który zna twój projekt. Nie czyta specyfikacji twojego klienta, twoich reguł atrybutów ani pomiarów z zeszłej wiosny i nic w nim nie zastępuje prawdy terenowej. Samo słowo też jest rozmyte: klasyfikator random forest z 2005 roku i model segmentacyjny z zeszłego roku sprzedawane są tak samo jako GeoAI, więc gdy dostawca używa tego terminu, zapytaj, który z nich ma na myśli, bo rachunek za sprzęt i sposoby awarii są różne.

Budujemy jedną z wtyczek QGIS w tej dziedzinie, więc czytaj ze świadomością, czyj to artykuł.

Gęste kwartały Paryża przed i po automatycznej detekcji budynków (after)
Gęste kwartały Paryża przed i po automatycznej detekcji budynków (before)
ZdjęcieWykryto
Przeciągnij, aby porównać
Jeden automatyczny przebieg nad centralnym Paryżem na zdjęciach Google Satellite. Każdy poligon ma własny kolor, więc sąsiednie nie zlewają się ze sobą. Przeciągnij uchwyt.

Dlaczego to jest ważne

Powolną częścią większości zleceń GIS jest odrysowywanie. Prostowanie narożników budynków, zamykanie dziur w masce dachu, obrysowywanie trzystu koron drzew wierzchołek po wierzchołku. Po pierwszej godzinie nie ma w tej pracy już żadnego rzemiosła, a model radzi sobie z nią dobrze.

Nie jest do każdego zlecenia. Poniżej pięćdziesięciu obiektów digitalizuj ręcznie, bo skończysz z włączonym przyciąganiem, zanim model zdąży pobrać swoje wagi, a wynik będzie dokładnie zgodny z twoją specyfikacją. Trzymałbym to też z dala od wszystkiego, co prawne, granicy katastralnej, strefy chronionej, wniosku o odszkodowanie, bo model daje ci kandydata, a kandydat to nie pomiar. Zasada, której się trzymam, jest taka, że GeoAI należy do pierwszego przebiegu i nigdy do ostatniego.

Jak to działa

Dajesz wytrenowanemu modelowi zdjęcie, a on oddaje geometrię. Robią to trzy rodziny modeli i zachowują się różnie.

Modele segmentacyjne takie jak rodzina Segment Anything uczą się, gdzie kończy się jedna rzecz, a zaczyna następna. Trenowano je na zwykłych zdjęciach, więc nie mają pojęcia, do czego służy budynek. Dobrze przenoszą się na zdjęcia wszędzie tam, gdzie granica jest ostra. Przewodnik po SAM opisuje, które wtyczki QGIS uruchamiają którą wersję.

Modele obraz-do-obrazu wymyślają nowe piksele. Tak działa usuwanie chmur, zmiana pory roku i widok wyczyszczonej działki. Wynikiem jest raster z georeferencją w tym samym zasięgu i to jest rysunek, więc nigdy nie należy do warstwy dowodowej.

Klasyczne uczenie maszynowe oznacza random forest albo maszynę wektorów wspierających, które czytają wartości kanałów, piksel po pikselu. Ma dwadzieścia lat, jest tanie i wciąż jest właściwym wyborem dla wielospektralnego pokrycia terenu z własnymi poligonami treningowymi. SCP i dzetsaka robią to w QGIS za darmo.

Do czego ludzie tego używają

Pięć zadań, dziś, w kolejności, w jakiej bym im ufał.

ZadanieRodzina modeliDziała na
Wyciąganie obiektów ze zdjęćSegmentacja, rodzina Segment AnythingLokalna karta graficzna albo serwer
Klasyfikacja pokrycia terenuKlasyczne uczenie maszynoweKażdy laptop
Wykrywanie zmian między dwiema datamiSegmentacja, dwa obrazy wejścioweSerwer lub karta graficzna
Uzupełnianie i porządkowanie danychBez modelu. Proste algorytmy geometriiDowolny laptop
Pytanie prostymi słowamiSegmentacja, wywoływana nazwą obiektu przez promptSerwer, w naszej wtyczce

Wyciąganie obiektów ze zdjęć jest zdecydowanie najmocniejsze. Zaznaczasz obszar, nazywasz to, czego chcesz, i dostajesz poligony: budynki, korony drzew, samochody, baseny, panele fotowoltaiczne. Ostre krawędzie dają czyste obrysy. Granica pola, która rozpływa się w zaroślach, sprawia modelowi tyle samo kłopotu, co tobie.

Klasyfikacja pokrycia terenu wkłada każdy piksel do klasy: woda, zabudowa, goła gleba, las. Starsze metody wciąż tu wygrywają, gdy masz dobre poligony treningowe i kanały wielospektralne, i działają na każdym laptopie.

Wykrywanie zmian między dwiema datami oznacza przekazanie modelowi dwóch ortofotomap tego samego miejsca, aby wskazał, co się zmieniło. Jeśli dostawca podaje nazwę modelu, jest to model segmentacji z dwoma wejściami zamiast jednego: Picterra nazywa go ChangeStar, a detektor zmian Esri wskazuje STANet. Kilku dostawców oferuje wykrywanie zmian, ale nie mówi, co znajduje się w środku. Darmowa metoda nie korzysta z żadnego modelu i odejmuje jeden obraz od drugiego. Działa przy oczywistych zmianach, takich jak nowy budynek lub oczyszczona działka. Sezonowa zmiana kolorystyki i inny kąt padania słońca powodują fałszywe alarmy, dlatego trzeba zaplanować przegląd każdego wskazania.

Uzupełnianie i porządkowanie danych obejmuje prostowanie narożników budynków, zamykanie dziur w masce dachu oraz upraszczanie obrysu śledzonego piksel po pikselu. To jedyny wiersz, w którym nie pasuje żadna z trzech rodzin. Dostarczane narzędzia to algorytmy geometrii starsze niż deep learning: QGIS robi to za pomocą Simplify i Orthogonalize, a Esri za pomocą Regularize Building Footprint. Wyuczone wersje istnieją w badaniach, ale żadna z nich nie jest dziś dostępna w QGIS. Mało efektowna część pracy, która oszczędza najwięcej godzin.

Pytanie prostymi słowami oznacza wpisanie solar panels zamiast wybierania modelu i kombinacji kanałów. Przydatne do znajdowania rzeczy. Nie oczekuj, że odpowie na pytania o twoją tabelę atrybutów.

Ile kosztuje uruchomienie

Sprzęt. Lokalny model potrzebuje karty graficznej. Segment Anything 3 nie ma w ogóle ścieżki CPU, co wyklucza każdego Maca i każdą maszynę na grafice zintegrowanej. Gdy model działa zamiast tego na serwerze, wystarczy biurowy laptop i na taki kompromis poszliśmy.

Zdjęcia. Rozdzielczość terenowa decyduje bardziej niż model. Nasze własne strojenie celuje w około 0,05 m na piksel przy panelu solarnym, 0,09 przy samochodzie i 0,18 przy budynku. Grubiej niż tak i obiekt jest plamą, której żaden model nie odzyska.

Czas. Detekcja trwa minuty. Przegląd trwa dłużej i każdy, kto pominie go w wycenie, nie zdąży na termin.

Pieniądze. Darmowe opcje QGIS nie kosztują nic poza twoim GPU i popołudniem z Pythonem. Nasze daje 1,5 km² detekcji automatycznej miesięcznie bez karty, plus segmentację po kliknięciu na własnej maszynie bez licznika, a Pro kosztuje 39 € miesięcznie za AI Segmentation, bez VAT. Po stronie Esri gotowe modele obrazowe wymagają licencji ArcGIS Pro Professional lub wyższej, a QGIS vs ArcGIS Pro wycenia każdą licencję.

Wypróbuj za darmo w QGIS, bez karty

Jak zrobić to samodzielnie w QGIS

Zacznij od darmowej ścieżki, bo przy dobrej części tych prac jest ona też lepsza. Do wielospektralnego pokrycia terenu z własnymi poligonami treningowymi SCP i dzetsaka klasyfikują w QGIS bez kosztów i na każdym laptopie.

Segmentacja na własnej maszynie to trudniejsza połowa. Darmowe wtyczki chcą karty graficznej i popołudnia z Pythonem, a przewodnik po SAM mówi, który uruchamia którą wersję modelu. Przewodnik po obrysach prowadzi darmową ścieżką i płatną przez tę samą okolicę, żeby można było porównać, ile kosztuje każda z nich.

Opcja chmurowa

Budujemy wtyczkę opisaną poniżej, więc ta sekcja dotyczy naszego własnego narzędzia.

Otwórz menedżer wtyczek

Wtyczki > Zarządzanie wtyczkami… (Plugins > Manage and Install Plugins…). QGIS 3.22 lub nowszy.

Zainstaluj wtyczkę AI Segmentation

Nic więcej się nie pobiera i nie ma środowiska Python do budowania.

Zaloguj się z poziomu panelu

E-mail i jeden klik. Darmowy limit odnawia się co miesiąc i nie wymaga karty.

Narysuj obszar na zdjęciach, które masz już otwarte

Działa każdy widoczny raster: GeoTIFF, ortofotomapa z drona, podkład XYZ. Darmowe konta obejmują 1,5 km² terenu miesięcznie.

Wpisz obiekt, a potem sprawdź wynik

building, tree, car. Filtruj według pewności i rozmiaru, popraw to, co błędne, wyeksportuj GeoPackage.

Potem porównaj to, co wyszło, z tym, co zdigitalizowałbyś ręcznie. Tylko ten test rozstrzyga.

Co zapamiętać

GeoAI to uczenie maszynowe działające na danych geograficznych, a to, co zwraca, jest warstwa w układzie współrzędnych twojego projektu, nigdy odpowiedzią o twoim projekcie.

Poniżej około pięćdziesięciu obiektów digitalizuj ręcznie. Skończysz, zanim model pobierze swoje wagi, a wynik będzie zgodny z twoją specyfikacją.

Model zwraca kandydata, a kandydat to nie pomiar, więc granica katastralna, strefa chroniona albo wniosek o odszkodowanie potrzebują warstwy sprawdzonej ręcznie.

Segment Anything 3 nie ma w ogóle ścieżki CPU, co przy uruchomieniu lokalnym wyklucza każdego Maca i każdą maszynę na grafice zintegrowanej.

Rozdzielczość terenowa decyduje bardziej niż model i nie ma jednej liczby dokładności, bo dokładność zmienia się wraz z twoimi zdjęciami i z tym, co wyciągasz.

W czym internet się myli

Pojedyncza liczba dokładności. Dokładność zmienia się wraz z twoimi zdjęciami i z tym, co wyciągasz. Każdy, kto podaje jedną liczbę dla wszystkiego, podaje liczbę marketingową.

Dane treningowe, które nigdy nie widziały twojego regionu. Gotowe warstwy budynków to najjaśniejszy przykład. Ten sam kilometr kwadratowy Luandy ma zero w OpenStreetMap, 3140 obrysów z Microsoft i 4468 z Google Open Buildings.

Trzy panele tej samej gęstej dzielnicy Luandy na zdjęciach Google Satellite, z obrysami budynków na zielono. OpenStreetMap nie pokazuje żadnego, Microsoft obejmuje większość, Google Open Buildings prawie wszystkie.
Ten sam 1 km² Luandy. To, po który zbiór danych sięgniesz, decyduje, czy dostaniesz wszystko, czy nic.

„Działa lokalnie, twoje dane nigdy nie opuszczają komputera.” Prawda dla małego modelu na twojej maszynie. Każdy tryb chmurowy wysyła zdjęcia gdzieś indziej, nasz też, i uczciwie jest mówić, w którym trybie jesteś.

Wynik gotowy prosto do wysyłki. Każdy przebieg zwraca więcej, niż potrzebujesz: wywietrzniki, świetliki, cienie, szopy na podwórku. Prawdziwe obiekty o poprawnych obrysach i nie to, czego potrzebujesz. Zaplanuj czas na czyszczenie.

Częste pytania

Czy GeoAI to to samo co teledetekcja?

Nie. Teledetekcja to pomiar. GeoAI to jeden ze sposobów odczytu tego pomiaru, obok wskaźników, progów i twoich własnych oczu.

Czy muszę pisać kod?

Przy ścieżce klasycznej trochę tak. Przy segmentacji w QGIS nie, bo zajmują się tym wtyczki. Python wciąż wygrywa, gdy puszczasz ten sam potok przez setki kafli, a PyQGIS pozwala nim sterować QGIS.

Czy potrzebuję GPU?

Tylko przy modelach działających na własnej maszynie. Segment Anything 3 nie ma w ogóle ścieżki CPU, więc Mac ani laptop na grafice zintegrowanej nie uruchomi go lokalnie. Narzędzia serwerowe nie potrzebują żadnego.

Jak dokładne jest GeoAI?

Nie ma jednej liczby, bo dokładność zmienia się wraz z twoimi zdjęciami i z tym, co wyciągasz. Spodziewaj się, że każdy przebieg zwróci więcej, niż potrzebujesz, wywietrzniki i świetliki i szopy na podwórku wśród budynków, i zaplanuj czas na czyszczenie.

Co dostaję na końcu?

Poligony z etykietą, klasą, wynikiem pewności i powierzchnią, w układzie współrzędnych twojego projektu. Nasza wtyczka do segmentacji zapisuje je do ostylowanego GeoPackage. Przegląd wciąż należy do ciebie.

Z sąsiednich pojęć co to jest obrys budynku opisuje obiekt, który GeoAI wyciąga częściej niż każdy inny, a centrum AI QGIS wymienia to, czego każda wtyczka w tej dziedzinie potrzebuje, zanim ruszy.

Zobacz, co AI robi w QGIS, a czego nie robi