Przejdź do treści
AI Segmentation
GeoAI
Poradnik

Segmentacja semantyczna a instancyjna: różnica w GIS

Opublikowano Zaktualizowano

Obrysy budynków dzielnicy Shivajinagar w Bengaluru, każdy budynek jako osobny poligon w gęstej siatce ulic.
Zdjęcie: planemad, CC BY-SA 4.0, Wikimedia Commons.

Segmentacja semantyczna przypisuje klasę każdemu pikselowi obrazu: ten piksel to budynek, tamten to droga, następny to drzewo. Segmentacja instancyjna idzie o krok dalej i oddziela od siebie obiekty tej samej klasy: ten piksel należy do budynku numer 12, tamten do budynku numer 13.

Różnica w jednym zdaniu

Segmentacja semantyczna odpowiada na pytanie „ile”, instancyjna na pytanie „ile sztuk i który to”. Trzeci termin, segmentacja panoptyczna, odpowiada na oba na jednej mapie.

Ten sam obraz opisany dwoma sposobami. Segmentacja semantyczna maluje wszystkie budynki tym samym kolorem. Segmentacja instancyjna nadaje każdemu własny obrys i własny numer.

Trzy panele z tymi samymi siedmioma budynkami: w segmentacji semantycznej wszystkie są zielone, a dwa stykające się domy łączą się w jeden kształt, w instancyjnej każdy budynek ma inny kolor i numer od 1 do 7, w panoptycznej te same ponumerowane budynki leżą na szarej klasie tła.
Dwa stykające się domy: jeden kształt w segmentacji semantycznej, obiekty 1 i 2 w instancyjnej i panoptycznej.
SemantycznaInstancyjnaPanoptyczna
WynikJedna klasa na pikselJedna maska na obiektJedna klasa na piksel, plus identyfikator obiektu dla klas policzalnych
Dwa stykające się domyJedna maskaDwa obiektyDwa obiekty
Co jest obiektemNic: klasa to powierzchniaKażdy dach, korona drzewa, basen czy samochódKażdy obiekt policzalny, powierzchnie zostają powierzchniami
Czy da się policzyć obiektyNieTakTak, dla klas policzalnych
Typowe zastosowanie w GISPokrycie terenu, udział koron drzew, powierzchnie nieprzepuszczalne, zmianyInwentaryzacje budynków, drzew, basenów i paneliPełne mapy sceny, działki uprawne
Typowe modeleU-Net, DeepLabMask R-CNN, rodzina Segment AnythingDwie głowice albo jeden model wytrenowany na etykietach panoptycznych
Do wektora w QGISPoligonizacja, potem czyszczenieJuż jeden poligon na obiektPoligonizacja klas, identyfikatory obiektów zostają
Ta sama ulica z zabudową szeregową w Lens pokazana dwa razy: po lewej wszystkie budynki pod jedną zieloną maską, po prawej każdy dom jako osobny kolorowy poligon.
Lens, te same domy szeregowe dwa razy. Po lewej segmentacja semantyczna: jedna maska. Po prawej instancyjna: jeden poligon na dom. Budynki: współtwórcy OpenStreetMap, ODbL. Ortofotomapa: IGN, BD ORTHO, otwarta licencja.

Co każda z nich daje na mapie

Model semantyczny daje powierzchnie do zmierzenia, a model instancyjny obiekty do policzenia.

Segmentacja semantyczna to mapa pokrycia terenu o ostrych krawędziach: maska budynków, maska dróg, maska roślinności. Dobra do statystyk powierzchni, powierzchni nieprzepuszczalnych, pokrycia koronami drzew i zmian między dwiema datami. Zła wszędzie tam, gdzie potrzebna jest liczba sztuk.

Segmentacja instancyjna to inwentarz. Każdy dach, korona drzewa czy basen trafia do tabeli atrybutów jako osobny poligon w osobnym wierszu. Możesz je policzyć, zmierzyć każdy z nich i dołączyć do każdego wysokość. Cena jest taka, że model musi sam zdecydować, gdzie kończy się jeden obiekt, a to trudne w zabudowie szeregowej i widać to po błędach: dwa domy zlane w jeden, jedna korona rozcięta na trzy.

Skąd te nazwy. Oba terminy pochodzą z widzenia komputerowego. W 2014 roku Long, Shelhamer i Darrell pokazali, że sieć trenowana „end-to-end, pixels-to-pixels” (od początku do końca, z pikseli na piksele) potrafi wykonać segmentację semantyczną. W 2017 roku Mask R-CNN dodał do detektora obiektów „gałąź przewidującą maskę obiektu”, czyli segmentację instancyjną. W 2023 roku Segment Anything wytrenowano na „ponad miliardzie masek na 11 mln licencjonowanych obrazów, z poszanowaniem prywatności”, i to na tej rodzinie działają dziś narzędzia instancyjne w QGIS.

Segmentacja panoptyczna, trzeci termin

Segmentacja panoptyczna przypisuje klasę każdemu pikselowi, jak semantyczna, a do tego nadaje każdemu obiektowi policzalnemu własny identyfikator, jak instancyjna. Kirillov i współautorzy nazwali to zadanie w 2018 roku i opisali jako takie, które „łączy zwykle odrębne zadania segmentacji semantycznej (przypisanie etykiety klasy każdemu pikselowi) i segmentacji instancyjnej (wykrycie i wysegmentowanie każdej instancji obiektu)”.

Artykuł dzieli klasy na dwa rodzaje. Obiekty policzalne (ang. things) to budynki, samochody, drzewa. Powierzchnie (ang. stuff) nie mają określonego kształtu: trawa, woda, nawierzchnia drogi. Mapa panoptyczna liczy obiekty i mierzy powierzchnie, w jednej warstwie, bez luk i bez nakładania. Ten sam artykuł zaproponował jedną miarę dla obu rodzajów, jakość panoptyczną (PQ), „dla wszystkich klas (powierzchni i obiektów)”.

Gdzie używa jej GIS. Najlepszy przykład to grunty rolne. PASTIS, francuski zbiór testowy, zawiera 124 422 parcele rolne w 2433 szeregach czasowych Sentinel-2 o rozdzielczości 10 m na piksel, na około 4000 km² Francji. Każdy piksel ma i typ uprawy, i indeks parceli. Model semantyczny powie na nim „tu jest pszenica”. Panoptyczny powie „pszenica, parcela 57”, więc możesz policzyć pola i zmierzyć każde z nich. Artykuł, który za tym stoi, nazywa precyzyjną na poziomie pikseli segmentację panoptyczną parceli zadaniem o „poważnych skutkach gospodarczych i środowiskowych”.

W praktyce zespół GIS rzadko potrzebuje modelu panoptycznego. Uruchom narzędzie instancyjne dla obiektów policzalnych, semantyczne dla powierzchni i nałóż obie warstwy w QGIS. Dostaniesz tę samą mapę w dwóch krokach.

Co zlicza maska semantyczna: pomiar na trzech francuskich kwadratach

Po poligonizacji semantycznej maski budynków liczysz bloki, a nie budynki: na 1 km² centrum Lens mapa pokrycia terenu IGN oparta na AI, zrobiona ze zdjęć lotniczych 20 cm, daje 269 plam budynków, podczas gdy krajowy rejestr budynków ma ich 3006. Zmierzyliśmy to 23 września 2026 roku na trzech kwadratach po 1 km², każdy sprawdzony z budynkami BD TOPO od IGN.

Na jednym kwadracie 1 km²Lens, centrum miastaLiévin, domy w mieście górniczymParyż, 11. dzielnica
Budynki w BD TOPO (20 m² lub więcej)30069521759
Plamy w masce AI 20 cm (IGN CoSIA)26955895
Znalezione budynki, które dzielą plamę97,5%63%99,5%
Mediana budynków w takiej plamie30231
Plamy w pokryciu terenu 10 m (ESA WorldCover)1291
Powierzchnia: maska AI / obrysy / „zabudowa” 10 m40,5 / 36,3 / 87,2 ha14,4 / 12,3 / 46,3 ha58,4 / 54,7 / 96,3 ha

Dokładniejsza maska nie naprawia liczenia. Maska znajduje od 96 do 97% budynków na każdym kwadracie, ale zabudowa szeregowa i bloki mają wspólne ściany, więc żaden piksel tła nie oddziela dwóch domów, ani przy 20 cm, ani przy 2 cm. W Lens i w Paryżu znaleziony budynek leży w medianie w plamie liczącej około 30 budynków.

Trzy panele tego samego okna 420 na 300 m w centrum Lens: budynki BD TOPO, każdy w innym kolorze, maska budynków CoSIA prawie w całości w plamach po dziesięć i więcej budynków oraz klasa zabudowy WorldCover jako jedna zwarta plama.
Centrum Lens. Po lewej budynki BD TOPO. W środku i po prawej maski budynków po poligonizacji, każda plama pokolorowana według liczby budynków, które zawiera. IGN BD TOPO i CoSIA 2021-2023, ESA WorldCover 2021, pomiar z 23 września 2026.

Liévin pokazuje, gdzie maska semantyczna liczy dobrze. Domy wolnostojące wychodzą jako po jednej plamie, a 344 z 926 znalezionych tam budynków ma plamę tylko dla siebie. Bliźniaki i szeregi starego osiedla górniczego wychodzą jako po jednej plamie na całą grupę, dlatego mediana budynku leży w plamie liczącej dwa.

Trzy panele okna w Liévin: domy wolnostojące jako pojedyncze zielone plamy, bliźniaki i szeregówki w pomarańczowych i czerwonych plamach oraz pokrycie terenu 10 m zlewające całe osiedle.
Liévin, Cité Pasteur. Domy wolnostojące liczą się dobrze, bliźniaki i szeregówki nie. Te same źródła i data.

Dla powierzchni maska semantyczna jest blisko prawdy. Maska AI wychodzi o 7 do 17% powyżej sumy obrysów, czego należało się spodziewać: widzi dachy, które wystają poza ściany rysowane w BD TOPO, oraz małe dobudówki. Klasa „zabudowa” z pikselem 10 m to 1,8 do 3,8 raza powierzchni obrysów, bo piksel 10 m, w którym mieści się dach, podwórko i chodnik, dostaje etykietę „zabudowa”. Mierzy tkankę miejską, a nie budynki.

Drzewa też się zlewają

Na kwadracie w Paryżu 1296 z 1583 drzew z miejskiej inwentaryzacji leży w koronach z maski AI (w promieniu 2 m od pnia), a 89% z nich dzieli plamę koron z innym inwentaryzowanym drzewem. Nasadzona promenada przy bulwarze Richard-Lenoir to jedna plama zawierająca 254 inwentaryzowane drzewa. Liczenie koron z maski pokrycia drzewami działa dla drzew rosnących osobno i zawodzi wzdłuż obsadzonej ulicy.

Jak to zmierzyliśmy

Kwadraty mają 1 km na 1 km w układzie Lambert 93, ze środkiem w Lens (50,432 N; 2,832 E), w Cité Pasteur w Liévin (50,433 N; 2,762 E) i przy bulwarze Richard-Lenoir (48,860 N; 2,370 E). Plama to grupa stykających się pikseli maski o powierzchni 20 m² lub większej, czyli to, co tworzy poligonizacja w QGIS z ustawieniami domyślnymi, a budynek uznajemy za znaleziony, gdy połowa jego obrysu leży pod maską. CoSIA jest publikowana tylko jako mapa ze stylem, więc odczytaliśmy ją przy około 0,4 m i przypisaliśmy każdemu kolorowi jego klasę. Nieliczne piksele brzegowe, które w ten sposób zgubiliśmy, dzielą plamy, więc podane udziały są raczej zaniżone. Zdjęcia, na których oparto CoSIA, są starsze od rejestru, z którym je porównaliśmy. BD TOPO czasem rysuje bliźniak jako jeden budynek. Paryska inwentaryzacja pomija drzewa prywatne. Trzy kwadraty to trzy miejsca, a nie liczba dla całego kraju.

Od maski do poligonów w QGIS

Maska semantyczna wymaga trzech lub czterech kroków przetwarzania, żeby stać się użytecznymi poligonami, a narzędzie instancyjne oddaje poligony od razu. Oto obie ścieżki wraz z narzędziami QGIS, które je realizują.

Z maski semantycznej

  1. Usuń drobne artefakty. Uruchom algorytm Sieve (Algorytmy przetwarzania, grupa analiz rastra). Według podręcznika QGIS „usuwa poligony rastrowe mniejsze niż podany rozmiar progowy (w pikselach)” i wypełnia je wartością największego sąsiada. Domyślny próg to 10 pikseli. Przy 20 cm 10 pikseli to tylko 0,4 m², więc zwiększ go do rozmiaru najmniejszego obiektu, na którym ci zależy.
  2. Poligonizuj. Uruchom Raster > Konwersja > Poligonizuj (raster na wektor)… (Raster > Conversion > Polygonize (Raster to Vector)). Według podręcznika „tworzy poligony wektorowe dla wszystkich połączonych obszarów pikseli o wspólnej wartości”, a wartość trafia domyślnie do pola o nazwie DN. Zostaw wyłączoną opcję „Użyj sąsiedztwa 8 pikseli”. Po jej włączeniu dwa piksele stykające się tylko rogiem łączą się, więc dwa budynki stykające się jednym narożnikiem stają się jednym poligonem.
  3. Zostaw klasę. Piksele tła też tworzą poligony. Zaznacz "DN" = 1 (albo wartość swojej klasy) i zapisz zaznaczenie jako nową warstwę.
  4. Zdecyduj, co oznacza jeden obiekt. Dla powierzchni klasy uruchom Agreguj (Algorytmy przetwarzania, grupa geometrii wektorowej) bez wskazywania pola: dostaniesz jeden obiekt wieloczęściowy i jedną wartość powierzchni. Dla plam zaznacz „Rozłączne obiekty pozostaw jako oddzielne” (QGIS 3.32 lub nowszy) albo uruchom z Algorytmów przetwarzania Rozbij geometrie wieloczęściowe na jednoczęściowe, a każda plama stanie się osobnym wierszem.
  5. Wyczyść krawędzie. Krawędzie pikseli wychodzą jako schodki. Poradnik o zamianie rastra na wektor opisuje upraszczanie, wygładzanie i filtr powierzchniowy.

Po kroku 4 masz jeden poligon na plamę, a nie na obiekt. Tabela z Lens powyżej pokazuje, jak duża jest ta różnica: 269 plam na 3006 budynków.

Tak powstają też duże zbiory obrysów budynków. Globalne obrysy budynków Microsoftu powstają w dwóch etapach: „segmentacja semantyczna”, czyli rozpoznanie pikseli budynków głębokimi sieciami neuronowymi, a potem „poligonizacja”, czyli zamiana tych pikseli na poligony. Piksel liczy się jako budynek, gdy jego prawdopodobieństwo przekracza 0,5. Podział na poszczególne budynki dzieje się dopiero w kroku poligonizacji, a to dodatkowa praca, którą model semantyczny zostawia tobie.

Z narzędzia instancyjnego

  1. Uruchom narzędzie na obszarze. Każdy obiekt wraca jako osobny poligon, jeden wiersz w tabeli atrybutów.
  2. Sprawdź geometrie wieloczęściowe. Niektóre narzędzia zwracają obiekt w kilku kawałkach. Rozbij geometrie wieloczęściowe na jednoczęściowe je rozdzieli, a potem sprawdź te, które zostały podzielone, zanim zaczniesz liczyć.
  3. Zmierz każdy z nich. Dodaj pole z $area w kalkulatorze pól i odfiltruj drobne ścinki mniejsze niż najmniejszy prawdziwy obiekt.
  4. Dołącz to, co wiesz. Do każdego poligonu możesz dołączyć wysokość, adres albo identyfikator z rejestru złączeniem przestrzennym, czego powierzchnia klasy nie umożliwia.

We wtyczce AI Segmentation kroki od 1 do 3 zlewają się w jeden: wpisz „budynek” albo „basen”, wskaż obszar, a każdy znaleziony obiekt wraca jako osobny poligon w nowej warstwie. Dzięki wtyczce AI Agent powyższą ścieżkę semantyczną uruchomisz jednym zdaniem w panelu czatu w QGIS: opisujesz warstwę, którą chcesz dostać, a wtyczka uruchamia te same narzędzia QGIS, Sieve, Poligonizuj i Agreguj, i sprawdza mapę, zanim odpowie.

Które z nich dają narzędzia QGIS

Większość wtyczek QGIS opartych na modelach pokrycia terenu to narzędzia semantyczne, a narzędzia zbudowane na Segment Anything są instancyjne.

  • Semantyczne: Deepness i większość modeli z jego zbioru, Semi-Automatic Classification Plugin, model pokrycia terenu Mapflow.
  • Instancyjne: rodzina Segment Anything, czyli Geo-SAM, samgeo i wtyczki SAM dla QGIS. Jeden obiekt na kliknięcie.
  • AI Segmentation, wtyczka, którą robimy w TerraLab dla QGIS, jest narzędziem instancyjnym. Nazywasz obiekt (budynek, drzewo, basen) albo rysujesz jego jeden przykład, a wtyczka zwraca jeden poligon na każdy obiekt znaleziony w obszarze. Poradnik o obrysach budynków pokazuje, jak to wygląda w gęstej zabudowie. Tam, gdzie budynki są już zmapowane, darmowe narzędzie do pobierania obrysów daje te poligony instancyjne jako GeoJSON, bez uruchamiania czegokolwiek.

Najczęściej zadawane pytania

Krótkie odpowiedzi poniżej obejmują to, czego ludzie szukają obok tych dwóch terminów.

Czym się różni segmentacja semantyczna, instancyjna i panoptyczna?

Segmentacja semantyczna przypisuje klasę każdemu pikselowi. Segmentacja instancyjna wydziela każdy obiekt danej klasy do osobnej maski. Segmentacja panoptyczna robi jedno i drugie naraz: każdy piksel dostaje klasę, a każdy obiekt policzalny, taki jak budynek czy samochód, dostaje jeszcze własny identyfikator.

Której użyć w projekcie GIS?

Użyj semantycznej, gdy odpowiedzią jest powierzchnia lub udział: pokrycie koronami drzew, powierzchnie nieprzepuszczalne, tereny zalane. Użyj instancyjnej, gdy odpowiedzią jest liczba albo atrybut obiektu: budynki, drzewa, baseny, panele fotowoltaiczne. Jeśli potrzebujesz obu, uruchom po jednej i nałóż warstwy.

Czy detekcja obiektów to to samo co segmentacja instancyjna?

Nie. Detekcja obiektów zwraca prostokąt wokół każdego obiektu. Segmentacja instancyjna zwraca jego obrys, piksel po pikselu. Na mapie prawie zawsze potrzebny jest obrys.

Czy z maski semantycznej da się zrobić instancje?

Czasem. Poligonizuj maskę, a potem podziel poligony w miejscach przewężeń. Działa to dla obiektów oddzielonych od siebie, takich jak korony drzew w sadzie. Zawodzi w zabudowie szeregowej, gdzie nie ma przewężenia, w którym można ciąć.

Czy rozdzielczość zdjęć zmienia odpowiedź?

Tak, ale mniej, niż ludzie sądzą. Przy 10 m dom to jeden lub dwa piksele i nie ma czego rozdzielać, dlatego satelitarne pokrycie terenu jest z konieczności semantyczne. Przy 20 cm dom to tysiące pikseli i segmentacja instancyjna staje się możliwa, a mimo to maska semantyczna 20 cm nadal zlewa każdy dom, który ma wspólną ścianę: w centrum Lens 97,5% budynków, które znajduje, dzieli plamę.

Dlaczego moja poligonizowana maska daje jeden poligon na cały kwartał?

Bo domy w tym kwartale mają wspólne ściany, więc żaden piksel tła w masce ich nie oddziela. Poligonizacja łączy wszystkie połączone piksele o tej samej wartości w jeden poligon. Rozdzielić je może tylko model instancyjny, który rysuje każdy obiekt osobno.

Czy Segment Anything to segmentacja instancyjna?

Tak, jeśli chodzi o wynik: zwraca jedną maskę na obiekt, który wskażesz, więc dwa stykające się dachy wracają jako dwie maski. Oryginalny model nie nadaje jednak etykiety klasy. Oddziela obiekty, nie nazywając ich, a zbudowane na nim narzędzia QGIS biorą klasę z twojego kliknięcia albo promptu.

Zarówno segmentacja semantyczna, jak i instancyjna mieszczą się w szerszej kategorii GeoAI. Czym jest GeoAI opisuje pojęcie, którego te dwa są przykładami. Mapowanie koron drzew pokazuje obie strony na przykładzie drzew: pokrycie koronami z maski albo jeden poligon na koronę. Centrum QGIS AI zbiera to, co AI potrafi, a czego nie potrafi w QGIS.