Przejdź do treści
AI Segmentation
QGIS
Poradnik

Detekcja obrysów budynków w QGIS: 3 metody

Opublikowano Zaktualizowano

Aby wykryć obrysy budynków w QGIS masz trzy drogi: pobierz otwarty zbiór danych, uruchom wtyczkę z detekcją AI na własnym obrazie albo zdigitalizuj ręcznie. Najszybsza jest druga. Zainstaluj wtyczkę z menedżera wtyczek, wczytaj swój obraz, narysuj obszar, wpisz buildings, kliknij „Wykryj obiekty”, a warstwa poligonowa wyląduje w układzie współrzędnych twojego projektu.

Filtrowanie to druga połowa pracy. Duża część tego, co wraca, to nie budynki, więc przytnij surowy wynik według pewności i powierzchni. Uruchomiłem jedno przejście na centrum Paryża, dostałem 635 poligonów, a decyzja, które 82 zachować, zajęła dłużej niż sama detekcja.

0:00 / 0:00
Jeden obszar, jedno słowo, 848 budynków. Prawdziwe uruchomienie, przyspieszone 3x, bez cięć.
Twoje dane wejścioweMetodaCzas
Obszar, który pokrywają już OpenStreetMap, Microsoft albo GoogleMetoda 1: pobierz otwarte obrysyMinuty
Setki do tysięcy budynków, na dokładnie tym obrazie, który ci przekazanoMetoda 2: automatyczna detekcja (nasza, w chmurze)848 budynków w 57 sekund, potem filtrowanie
Poniżej pięćdziesięciu budynków albo historyczne centrum, gdzie potrzebujesz jednego poligonu na adresMetoda 3: digitalizuj ręcznieTyle, ile ci to zajmie

Otwarte dane najpierw, za każdym razem. Idziesz dalej tylko wtedy, gdy pokrycie ma dziury, rocznik jest zły albo obrysy muszą pasować do konkretnej ortofotomapy, którą dał ci klient.

Metoda 1: Pobierz otwarte obrysy

Potrzebujesz QGIS 3.22 albo nowszego, jeden obraz, któremu ufasz, i połączenia z internetem do metody 2. Żadnej dedykowanej karty graficznej, w żadnej z trzech.

Do wielu zleceń nie musisz nic wykrywać. Trzy otwarte zbiory danych pokrywają między sobą większość planety, a na jednym osiedlu potrafią różnić się o tysiące budynków.

Wybierz zbiór danych dla swojego obszaru

OpenStreetMap jest świetny tam, gdzie maperzy są aktywni, a budynki niosą atrybuty. Microsoft Global ML Building Footprints ma ponad miliard budynków wyciągniętych maszynowo i jest najmocniejszy w Ameryce Północnej. Google Open Buildings pokrywa Globalne Południe, gdzie OSM jest najrzadszy. Żeby zobaczyć, co każdy z nich zawiera dla twojego obszaru, zanim cokolwiek wczytasz, zaznacz prostokąt w naszym darmowym narzędziu do pobierania obrysów budynków i pobierz wybrany zbiór jako GeoJSON.

Wczytaj jeden na tle swojego obrazu

Dociągnij OSM narzędziem QuickOSM.

Przybliż i przyjrzyj się krawędziom

To jedno spojrzenie decyduje, czy kończysz tutaj, czy czytasz dalej.

Trzy panele tej samej gęstej dzielnicy Luandy na zdjęciach Google Satellite, z obrysami budynków na zielono. OpenStreetMap nie pokazuje żadnego, Microsoft pokrywa większość, Google Open Buildings prawie wszystkie.
Ten sam 1 km² Luandy na zdjęciach Google Satellite. OpenStreetMap nie mapuje tu żadnych budynków, Microsoft zawiera 3140, a Google Open Buildings 4468. Jedna dzielnica, nie ranking: sprawdź, co zawiera każdy zbiór dla twojego własnego obszaru.

Użyj, gdy: obszar jest już dobrze zmapowany i pasują ci rocznik zbioru i licencja.

Pomiń, gdy: pokrycie ma dziury, rocznik jest zły albo obrysy muszą zgrać się z jedną konkretną ortofotomapą.

Metoda 2: Automatyczna detekcja

Obrys budynku to linia budynku w miejscu, gdzie spotyka się z gruntem, jako płaski poligon. Nie dach, nie działka, nie punkt adresowy. To ważne tutaj, bo pionowe zdjęcie daje ci dach: na pięciopiętrowym bloku haussmannowskim zdjętym prawie w nadirze przesunięcie jest małe, na wieżowcu już nie. Warto wiedzieć, zanim obiecasz komuś warstwę z obrysami, a dłuższa wersja jest w tekście co to jest obrys budynku.

Model automatycznej detekcji czyta twój obraz i zwraca obrysy budynków jako poligony, każdy z wynikiem pewności. My budujemy jedno z takich narzędzi, AI Segmentation. Ta sekcja jest o naszym własnym narzędziu.

Instaluje się z menedżera wtyczek jak każda inna: bez pobierania ręcznie, bez środowiska Python, bez dedykowanej karty graficznej, bo model działa na naszych serwerach. Windows, macOS i Linux.

Gęste paryskie kwartały przed i po automatycznej detekcji budynków (after)
Gęste paryskie kwartały przed i po automatycznej detekcji budynków (before)
ZdjęcieWykryte
Przeciągnij, aby porównać
Jedno automatyczne przejście nad centrum Paryża, na zdjęciach Google Satellite. Każdy poligon ma własny kolor, żeby sąsiednie się nie zlewały. Przeciągnij suwak, aby porównać.

Zainstaluj wtyczkę i wybierz warstwę ze zdjęciem

Menedżer wtyczek, instalacja, otwórz panel, wybierz raster, który ma zostać odczytany.

Panel AI Segmentation w QGIS z przełącznikiem trybów Semi-Auto i Automatyczny
Tryb Automatyczny: wybierz warstwę ze zdjęciem, narysuj obszar, nazwij obiekt.

Narysuj obszar i nazwij obiekt

Narysuj obszar, wpisz buildings, kliknij „Wykryj obiekty”. To cały prompt, w twoim języku, jeśli wolisz. Wyniki spływają kafel po kaflu jako jedna warstwa poligonowa w układzie współrzędnych projektu.

Ustaw precyzję, gdy obiekty są małe

Jedyne ustawienie warte poznania to precyzja, czyli rozmiar kafla. Małe kafle dają modelowi bliskie spojrzenie, którego potrzebują małe obiekty. Duże kafle dają kontekst, którego potrzebuje działka rolna.

Przefiltruj wynik

Panel prowadzi cię przez trzy kroki, zanim cokolwiek stanie się warstwą: zdecyduj, co zachować (Zachowaj), popraw to, co model pominął (Popraw), i wybierz wyjściowe Kształty. Pierwszy krok wygrywa pracę i dostaje własną sekcję poniżej.

Oczyść geometrię

Uruchom Simplify, orthogonalize i delete holes, w tej kolejności i tylko tam, gdzie każde zasługuje na miejsce. Te trzy narzędzia i powód kolejności są poniżej.

Uruchomienie liczy pokryty teren. Każde konto dostaje darmowy limit co miesiąc, bez pytania o kartę, a Pro go podnosi. Detekcja działa na serwerach europejskich, nie trenujemy na twoim obrazie i jest mały lokalny model, jeśli nic nie może opuścić twojej maszyny. Kompletny przewodnik opisuje w całości kroki Zachowaj, Popraw i Kształty.

Filtrowanie to cała praca

Surowy wynik detekcji to zbiór kandydujących poligonów z wynikami pewności. Na gęstym obrazie większość jest mała i niepewna. To paryskie uruchomienie wyeksportowałem z oboma filtrami szeroko otwartymi, więc każdy kandydat trafił do warstwy: 635 poligonów na 1,18 km².

1 m²101001 00010 000 m²50 m²
Każda z 635 detekcji, pogrupowana według powierzchni w skali logarytmicznej. Dwa garby: szum poniżej 5 m² i prawdziwe budynki powyżej 160 m². Linia 50 m² wypada w dolinie między nimi, dlatego nie jest liczbą z sufitu. Mediana 3,2 m², największy 13 528 m², mediana pewności 0,26.

Połowa tego, co wróciło, jest mniejsza niż miejsce parkingowe: wywietrzniki, świetliki, obudowy klatek schodowych, szopy na dziedzińcach. Prawdziwe rzeczy na obrazie, poprawnie obrysowane, i nie to, co ktokolwiek ma na myśli, mówiąc obrys budynku.

Więc filtruj. Przesuń dwa suwaki w panelu albo zrób tę samą pracę z tabeli atrybutów poleceniem Select by Expression:

"area_m2" >= 50 AND "score" >= 0.5

Zostaje 82 poligony z 635, o powierzchni 222 338 m² z 263 658 m² całości. Zamiast wierzyć mi na słowo co do progów, przesuń je samodzielnie. Zielony przeżywa twój filtr, biały nie.

Zdjęcie lotnicze gęstych paryskich kwartałów z naniesionymi wykrytymi poligonami budynków

82 / 635poligonów zachowanych (13%)

84%powierzchni zabudowanej (222,338 m²)

Te same 635 detekcji, które zawiera tabela atrybutów. Zbij pewność do zera, a wrócą szopy na dziedzińcach i świetliki.

Patrz na drugą liczbę, gdy ciągniesz pierwszą. Wyrzucenie 87% poligonów kosztuje 16% powierzchni, a reszta to szum, który i tak usuwa się ręcznie, jeden po drugim, zastanawiając się, czy to narzędzie jest coś warte.

Dostrój oba do zadania. Inwentaryzacja hal przemysłowych może podnieść próg powierzchni do 200 m². Przy mapowaniu nieformalnej zabudowy 50 m² wyrzuca prawdziwe domy, więc zejdź do 15 i oprzyj się na wyniku pewności.

Jak wygląda czysty wynik

Paryż to trudny przypadek. To samo narzędzie na zabudowie jednorodzinnej około 10 km na zachód:

Domy wolnostojące i bliźniaki na przedmieściach Paryża, każdy dom wypełniony własnym kolorem
Zabudowa wolnostojąca, filtr przeglądu włączony. Jeden poligon na dom, prawie nic do wyrzucenia.

85m²

mediana powierzchni poligonu

Paryż: 3,2 m²

0,79

mediana pewności

Paryż: 0,26

251poligonów

zachowanych z 251 zwróconych

Paryż: 82 z 635

To samo narzędzie, to samo miasto, nic do wyrzucenia. Zmieniła się tkanka zabudowy, nie model.

Gdzie się łamie: gęste ciągłe kwartały

Zbliżenie na kwartały haussmannowskie, każdy kwartał jako jeden kolorowy poligon biegnący wzdłuż krawędzi ulicy, z wyciętymi dziedzińcami
Obrys dokładnie trzyma się krawędzi ulicy i wycina dziedzińce. Nie dzieli natomiast kwartału na pojedyncze budynki z osobnymi adresami.

Każdy poligon kreśli zabudowaną powłokę całego kwartału, trzyma się linii ulicy i poprawnie wycina dziedzińce. Dobre do powierzchni zabudowanej albo powierzchni nieprzepuszczalnej, złe, jeśli potrzebujesz poligonu na adres. Żaden model czytający pionowe zdjęcie nie znajdzie ściany między dwoma stykanymi budynkami, bo z góry nie ma tam nic do zobaczenia.

Czyszczenie geometrii

Trzy natywne narzędzia QGIS porządkują warstwę z obrysami, a kolejność ma znaczenie, bo simplify przesuwa wierzchołki, które właśnie wyprostowałeś.

  1. Simplify, tolerancja 0,5 m na zdjęciu lotniczym. Mocno tnie liczbę wierzchołków, nie przesuwając granicy nigdzie, gdzie byś to zauważył.
  2. Orthogonalize. Dociąga prawie proste kąty do kąta prostego. Sięgnij po nie przy otwartych danych albo pracy odrysowanej ręcznie, gdzie nic ich jeszcze nie wyprostowało.
  3. Delete holes, tylko jeśli chcesz pełnych obrysów. Nie na wyniku paryskim: te dziury to dziedzińce i są poprawne.

Na wykrytej warstwie krok 2 prawie nic nie zmienia. Zmierzyłem to, zamiast zakładać, uruchamiając Orthogonalize na 190 wykrytych budynkach i porównując wszystkie 1845 narożników przed i po.

87,9%

narożników już w granicach 1° od kąta prostego

przed uruchomieniem czegokolwiek

87,9%

po Orthogonalize

te same 1845 narożników

1,7cm

mediana przesunięcia wierzchołka

9,1 cm w najgorszym przypadku

Zbliżenie na wykryte obrysy budynków na zdjęciu lotniczym, narożniki schodzą się pod kątem prostym
Te same detekcje z bliska. Narożniki są od razu proste, więc w kroku czyszczenia nie ma już czego dociągać.

Te 12%, które nie są proste, to szeregowce w zabudowie zwartej. Spójrz na schodkową krawędź biegnącą przez środek kwartału. Żadne narzędzie do narożników tego nie naprawi, bo te stopnie idą za prawdziwą linią dachu, a nie za błędem modelowania.

Użyj, gdy: setki do tysięcy budynków, na obrazie, do którego musisz się dopasować, albo gdy kilka osób musi zrobić tę samą warstwę w ten sam sposób.

Pomiń, gdy: potrzebujesz poligonu na adres w historycznym centrum miasta. Ja nie użyłbym tam automatycznej detekcji, a wygrywają dane katastralne plus korekta ręczna.

Wypróbuj AI Agent za darmo w QGIS, bez karty

Metoda 3: Digitalizuj ręcznie

Poniżej pięćdziesięciu budynków, narysuj je. Za darmo, dokładnie i sam nadal bym tak zrobił przy tym rozmiarze.

Włącz przyciąganie

Projekt > Opcje przyciągania… (Project > Snapping Options…), wierzchołek i segment, edycja topologiczna włączona. Pomiń to, a popołudnie spędzisz na kasowaniu sliverów.

Obrysowuj i obserwuj, jak dryfujesz

Około 60. budynku zaczynasz ścinać rogi, jakich przy 6. nigdy nie ścinasz, i tego nie zauważasz. To już jest w warstwie.

Użyj, gdy: poniżej około pięćdziesięciu budynków albo gdy potrzebujesz jednego poligonu na adres w gęstym historycznym centrum.

Pomiń, gdy: liczba idzie w setki albo kilka osób musi zrobić tę samą warstwę w ten sam sposób.

Co zapamiętać

Otwarte zbiory danychAutomatyczna detekcjaDigitalizacja ręczna
KosztZa darmoDarmowy limit, potem płatnyZa darmo
StartMinutyMinutyBrak
Dobre doObszarów już dobrze pokrytychSetek do tysięcyPoniżej ~50 budynków
Pasuje do twojego obrazuNieTakTak
Powtarzalne w zespoleTakTakNie
Gęste ciągłe kwartałyRóżnieTylko powłoki kwartałówTak
Proweniencja do podaniaZbiór i rocznikTwój obraz, z wynikiem pewnościTy

Najpierw sprawdź otwarte zbiory danych. Na jednym osiedlu różnią się o tysiące budynków, więc jedno spojrzenie na ich krawędzie na tle twojego obrazu decyduje, czy idziesz dalej.

Obrysy, które muszą zgrać się z ortofotomapą klienta, wykluczają otwarte zbiory danych, niezależnie od pokrycia.

Filtrowanie detekcji to większość pracy: 82 poligony z 635 w centrum Paryża, z 84% powierzchni zabudowanej.

Pionowe zdjęcie nie da ci jednego poligonu na adres tam, gdzie budynki się stykają, za żadną cenę. Dołącz dane katastralne.

Powyżej około pięćdziesięciu budynków digitalizacja ręczna dryfuje, nie mówiąc ci o tym.

Częste pytania

Czy działa na zdjęciach z drona?

Lepiej niż na satelicie. Rozdzielczość terenowa znaczy więcej niż źródło: ortofotomapa 5 cm daje czystsze granice i wyższą pewność niż scena satelitarna 30 cm.

Czy potrzebuję GPU?

Nie. Oba tryby działają domyślnie na naszych serwerach, a mały lokalny model działa na twoim własnym CPU, wolniej i mniej dokładnie. Jeśli wszystko ma zostać na twojej maszynie, Geo-SAM i samgeo są darmowe i dobre, i chcą karty NVIDIA.

Ile kosztuje uruchomienie?

Automatyczny liczy pokryty obszarem teren, a Cloud AI liczy jeden obiekt na zapis. Semi-Auto na własnej maszynie jest darmowy. Każde konto dostaje darmowy limit co miesiąc.

Czy dostanę jeden poligon na adres?

Nie z pionowego zdjęcia, w centrum miasta, gdzie budynki się stykają. Model zwraca zabudowaną powłokę całego kwartału, z wyciętymi dziedzińcami, co jest dobre do powierzchni zabudowanej, a złe do adresów. Dołącz dane katastralne.

Od którego otwartego zbioru zacząć?

Od OpenStreetMap, jeśli twój obszar ma aktywnych maperów. Gdzie ich nie ma, luka jest ostra: na tej jednej dzielnicy Luandy o powierzchni 1 km² OSM nie mapuje żadnych budynków, a Microsoft zawiera 3140, a Google Open Buildings 4468.

Jakie oprogramowanie wykrywa obrysy budynków na potrzeby planowania przestrzennego?

Do analizy planistycznej zacznij od QGIS, który jest darmowy: wczytaj otwarte obrysy budynków (OpenStreetMap, Microsoft, Google Open Buildings) i sprawdź je na świeżych zobrazowaniach. Tam, gdzie ich brakuje lub są nieaktualne, wtyczka do automatycznej detekcji, taka jak AI Segmentation, rysuje budynki na podstawie Twojej własnej ortofotomapy, więc warstwa odpowiada dacie Twoich zobrazowań. ArcGIS Pro też ma wstępnie wytrenowane modele budynków, ale wymaga płatnej licencji i GPU, żeby działać szybko. Do całej mapy, od danych po ostylowany układ wydruku, AI Agent potrafi wykonać te kroki w QGIS na podstawie jednego zdania.

Pełną różnicę dach-grunt przeczytasz w tekście co to jest obrys budynku. Do przypadku sklasyfikowanego rastra, gdzie poligonizacja bije każdy model, przeczytaj raster na wektor w QGIS. Ta sama metoda obszaru i filtra znajduje panele na tych dachach: detekcja paneli fotowoltaicznych w QGIS pokazuje ją krok po kroku. Aby uruchomić tę sekwencję detekcji i filtrowania na nowym obszarze bez powtarzania każdego kliknięcia, AI Agent robi to z jednej instrukcji w QGIS. Teren poprzemysłowy często wychodzi w detekcji jako pozostałości płyt i szop, a nie czyste dachy, a strona greenfield vs brownfield opisuje, jak jedno i drugie wygląda z powietrza. Hub QGIS AI zbiera resztę tego, co budujemy.

Zrób to teraz naszym darmowym narzędziem

Building footprint downloader

Otwórz darmowe narzędzie

Zrób to w QGIS, po prostu o to prosząc

AI Agent wykonuje zadanie, które opiszesz, w Twoim własnym projekcie QGIS. Za darmo, bez karty.

Wypróbuj AI Agent za darmo
Napisane przezYvann Barbot
·13 min read