Przejdź do treści
AI Segmentation
QGIS
Tutorial

Detekcja basenów w QGIS: 5 metod

Opublikowano Zaktualizowano

Podmiejskie domy z ogrodami widziane z lotu ptaka, przed i po automatycznej detekcji basenów (after)
Podmiejskie domy z ogrodami widziane z lotu ptaka, przed i po automatycznej detekcji basenów (before)
ZdjęcieWykryto
Przeciągnij, aby porównać
Jedno automatyczne uruchomienie nad podmiejskim kwartałem na Long Island, na zdjęciach Google Satellite. Czterdzieści basenów obrysowanych kolorem magenta, także małe pod drzewami. Przeciągnij suwak, aby porównać.

Aby wykryć baseny w QGIS, najpierw sprawdź OpenStreetMap: Wektor > QuickOSM > QuickOSM… (Vector > QuickOSM > QuickOSM…), klucz leisure, wartość swimming_pool. Gdzie mapa jest uboga, uruchom model segmentacyjny albo użyj progowania niebieskiego w kalkulatorze rastra. O wyborze decyduje rozdzielczość terenowa.

Twoje dane wejścioweMetodaKoszt
Każdy obszar z aktywnymi maperami OSMMetoda 1, QuickOSM na leisure=swimming_poolZa darmo, jedno zapytanie
Ortofotomapa RGB i setki basenówMetoda 2, model segmentacyjnyDarmowe wtyczki wymagają własnego modelu lub GPU. Wtyczki w chmurze mają darmowe limity, potem subskrypcję
Ortofotomapa RGB 5 do 30 cmMetoda 3, próg barwny w kalkulatorze rastraZa darmo, w rdzeniu QGIS
Zdjęcia z kanałem bliskiej podczerwieni lub SWIRMetoda 4, indeks wodny, potem prógZa darmo, ślepa na przydomowe baseny z satelity
Zdjęcia wielospektralne i popołudnieMetoda 5, SCP lub dzetsakaDarmowe wtyczki, twój czas na rysowanie obszarów treningowych

Każdą wersję, cenę i ścieżkę menu sprawdziłem 3 września 2026 w podręczniku QGIS 3.44 i w dokumentacji każdego narzędzia.

Metoda 1: Pobierz baseny, które ktoś już zmapował

OpenStreetMap zawiera 3 036 801 obiektów z tagiem leisure=swimming_pool, w tym 2 731 704 obiektów typu way z prawdziwą geometrią, według taginfo z 3 września 2026.

Otwórz QuickOSM i wyślij zapytanie

Wektor > QuickOSM > QuickOSM…, które odpytuje Overpass API. Klucz leisure, wartość swimming_pool, w zasięgu mapy lub w nazwanej jednostce administracyjnej.

Zostaw poligony, zawęź do ogrodów

Basen zmapowany jako punkt nie ma powierzchni, więc weź warstwę poligonową. 1 808 809 z tych basenów ma też access=private, czyli filtr na baseny przydomowe.

leisure=swimming_area to inny obiekt: wyznaczone miejsce do pływania w jeziorze lub w morzu.

Podmiejski kwartał na zdjęciu satelitarnym: niebieskie poligony basenów OSM nad trzema basenami i siedem innych widocznych basenów bez żadnego poligonu.
Trzy baseny zmapowane, siedem nie. Maperzy rysują baseny publiczne i hotelowe. Baseny w prywatnych ogrodach pomija się najczęściej, a właśnie ich szuka urząd skarbowy.

Użyj, gdy: potrzebujesz publicznych i komercyjnych basenów.

Pomiń, gdy: zadaniem jest znaleźć to, czego nikt nie zgłosił.

Metoda 2: Model segmentacyjny

Model segmentacyjny czyta kształt i kontekst, więc odróżnia basen od plandeki w tym samym kolorze. Budujemy jeden z nich, AI Segmentation. Ta sekcja jest o naszym własnym narzędziu.

Zainstaluj i zaloguj się

Zarządzanie wtyczkami, QGIS 3.22 lub nowszy. Bez GPU, bez wag modelu. Konto, darmowy limit, potem 39 € miesięcznie bez VAT.

Narysuj obszar, wpisz słowo, filtruj

Wpisz swimming pool i uruchom. Poligony wracają w układzie współrzędnych projektu z powierzchnią, obwodem i wynikiem pewności. Posortuj, potem usuń to, co błędne.

Dwie liczby z naszej tabeli strojenia, czytane w czasie działania. Uruchomienie dla basenów prosi o około 0,13 m na piksel w kaflach do 300 m, bo basen zlewa się z tarasem przy wszystkim grubszym. Przegląd otwiera się na pewności 0,20 dla swimming pool wobec 0,30 dla building, bo maski basenów punktują niżej niż dachy.

Kwartał mieszkalny na zdjęciu lotniczym w QGIS: każdy przydomowy basen wypełniony własnym kolorem, dachy i ogrody nietknięte.
Jeden obszar, jedno słowo, zdjęcia 20 cm. Każdy basen to osobny poligon z powierzchnią, edytowalny jak każdy obiekt wektorowy.

Jedno ograniczenie: zadaszony basen nigdy nie dociera do modelu, więc wraca jako pominięty. Oba tryby chmurowe wysyłają zdjęcia na nasze serwery w Unii Europejskiej.

Dwa panele tych samych trzech ogrodów. Na zdjęciu zimowym dwa baseny mają cyjanowy obrys detekcji, a zakreślony basen pod beżową pokrywą nie ma żadnego. Na zdjęciu letnim to zakreślone miejsce to otwarta niebieska woda.
Te same ogrody, dwa zdjęcia. Zakreślony basen zimą leży pod pokrywą i detekcja go pomija. W całym kaflu ten sam prompt zwrócił 58 basenów na zdjęciu letnim i 2 na zimowym, choć oba zdjęcia pochodzą od różnych dostawców, nie tylko z różnych pór roku.

Cztery inne narzędzia wykonują to zadanie (stan na 3 września 2026).

NarzędzieCo instalujeszGPUKontoCzy zdjęcia opuszczają twój komputerObsługa basenówKoszt
DeepnessZarządzanie wtyczkami, jego pakiety Pythona, model ONNXOpcjonalnie, CPU działaNieNieJaki model podaszZa darmo
Geo-SAMZarządzanie wtyczkami, zależności, wagi modeluOpcjonalnieNieNieJeden obiekt na kliknięcie lub ramkęZa darmo
samgeoPakiet Pythona, bez panelu QGISZalecaneNieNieSkryptowalny, bez klasy basenuZa darmo
MapflowZarządzanie wtyczkamiNieTakTak w usłudze chmurowej, oferowana opcja on-premise dla klientów enterpriseModel Swimming pools, na życzenieKredyty, płatne
AI Segmentation (nasz)Zarządzanie wtyczkamiNieTakTak w obu trybach chmurowych, nie dla modelu lokalnegoWpisz swimming poolDarmowy limit, potem 39 € miesięcznie bez VAT

Użyj, gdy: więcej basenów, niż obrysowałbyś ręcznie.

Pomiń, gdy: zdjęcia nie mogą opuścić twojego komputera. Użyj Deepness lub Geo-SAM.

Do pełnego przeglądu, w którym ktoś podpisuje się pod opublikowaną wartością dokładności, użyj zamiast tego Mapflow. Zawiera dedykowany model Swimming pools, na życzenie, z F1 powyżej 0,95. My nie publikujemy liczby dla basenów.

Metoda 3: Próg dla niebieskiego w kalkulatorze rastra

Pracuj w rzutowanym układzie współrzędnych, bo trzy kroki poniżej filtrują po powierzchni w jednostkach warstwy.

Najbliżej tego, co potrafi rdzeń QGIS. Otwórz Raster > Kalkulator rastra… (Raster > Raster Calculator…), gdzie kanały to layer_name@band_number. Na ortofotomapie RGB zostawia to jasny, nasycony niebieski:

("ortho@3" > 90) AND ("ortho@3" - "ortho@1" > 25) AND ("ortho@3" - "ortho@2" > 10)

Te liczby są moje, z ortofotomapy 20 cm. Pobierz próbkę dwudziestu pikseli basenu i dwudziestu pikseli dachu, potem przesuń progi.

Poligonizuj przez Raster > Konwersja > Poligonizuj (raster na wektor)… (Raster > Conversion > Polygonize), potem filtruj przez native:extractbyexpression: $area > 6 AND $area < 400 dla rozmiaru i moim własnym współczynnikiem 4 * pi() * $area / ($perimeter ^ 2) > 0.5 dla kształtu, bo QGIS nie ma funkcji zwartości.

Podmiejska ortofotomapa z czerwoną maską z kalkulatora rastra, która pokrywa każdy basen, niebieski blaszany dach i niebieską plandekę nad stosem drewna.
Reguła z góry, na zdjęciach 20 cm. Znajduje każdy otwarty basen. Znajduje też niebieski blaszany dach i plandekę.

Wartości RGB zmieniają się wraz z kątem słońca i ekspozycją, więc próg dostrojony na jednym nalocie sypie się na następnym. Odcień i nasycenie trzymają się lepiej. Przeliczysz je modułem i.rgb.his z panelu „Algorytmy przetwarzania”. Według jego opisu „transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-Intensity-Saturation) color space”.

Żadna reguła nie wie, czym jest niebieski obiekt.

  • Cień. Zacienione połacie dachu czytają się jako ciemny niebieski. Podnieś próg, a stracisz baseny pod drzewami.
  • Niebieskie dachy i plandeki. Jasne, niebieskie, często o dobrym kształcie.
  • Baseny z ciemnym dnem i zielone. Czarna folia czyta się jak asfalt, glony jak trawnik. Moja reguła pominęła oba.
  • Zadaszone baseny. W ogóle nie ma ich na zdjęciu.
Trzy ciasne wycinki obok siebie: niebieska plandeka nad ogrodem, zacieniona połać dachu i basen z ciemnym dnem w ogrodzie.
Plandeka i cień przechodzą regułę barwy, choć nie powinny. Basen z ciemnym dnem jej nie przechodzi, choć powinien. Wycinki ze zdjęć 20 cm nad Cape Coral na Florydzie.

Użyj, gdy: jedna spójna ortofotomapa do ręcznego sprawdzenia.

Pomiń, gdy: mozaika z kilku nalotów.

Metoda 4: Indeks wodny, na zdjęciach z kanałami

Sprawdź rozdzielczość. Francuska federacja basenowa podaje nowy basen wkopany jako 29 do 30 m², 3000 pikseli na ortofotomapie 10 cm i jedną trzecią piksela w kanale 10 m Sentinel-2.

Woda pochłania bliską podczerwień prawie całkowicie, więc w NIR robi się czarna, a niebieski dach zostaje jasny.

  • NDWI, McFeeters 1996: (Green - NIR) / (Green + NIR). Na Sentinel-2, (B3 - B8) / (B3 + B8).
  • MNDWI, Xu 2006: (Green - SWIR) / (Green + SWIR). Na Sentinel-2, (B3 - B11) / (B3 + B11). Zamiana NIR na SWIR tłumi zabudowę, o to chodzi nad przedmieściem.

Ustaw próg powyżej zera, poligonizuj, filtruj jak w Metodzie 3. Rodríguez-Cuenca i Alonso dostroili do tego zadania Normalized Difference Swimming Pools Index w 2014 roku.

Sentinel-2 daje B3 i B8 w 10 m, a B11 w 20 m, więc basen 30 m² nigdy nie oddzieli się od ogrodu. MNDWI nad blokiem mieszkalnym zwraca zbiornik na skraju miasta i nic więcej.

Dwa panele tego samego przedmieścia: ortofotomapa 20 cm z jedenastoma widocznymi basenami oraz MNDWI z Sentinel-2 dla tego samego zasięgu, jednolicie szary, bez widocznego basenu.
Jedenaście basenów po lewej, żadnego po prawej. Ten sam zasięg, ten sam tydzień. Basen 30 m² nigdy nie trafia do czujnika 10 m jako obiekt.

Użyj, gdy: twoja ortofotomapa ma kanał NIR 50 cm lub dokładniej. Bije kolor bez dyskusji.

Pomiń, gdy: RGB z trzech kanałów albo Sentinel-2, a chcesz przydomowe baseny.

Metoda 5: Wytrenuj klasyfikator na własnych zdjęciach

Klasyfikator uczy się twoich pikseli basenu z przykładów, które rysujesz, więc radzi sobie z mozaiką, na której stały próg zawodzi.

Semi-Automatic Classification Plugin autorstwa Luki Congedo to standardowy wybór. Utwórz dane treningowe (.scpx) w panelu SCP, narysuj ROI, potem uruchom SCP > Band processing > Classification w głównym oknie. Sześć algorytmów, od Minimum Distance do Random Forest. Wersja 9.0.4 wyszła 11 lipca 2026, ale deklaruje minimum QGIS 3.99, więc QGIS 3.x nadal instaluje 8.5.0.

dzetsaka 5.0.11, autorstwa Nicolasa Karasiaka, jest lżejszy: jedenaście klasyfikatorów, a jego Gaussian Mixture Model działa bez scikit-learn.

Dorysuj też klasę niebieskiego dachu i klasę cienia. Klasyfikator odrzuca tylko to, co mu pokazano.

Dwa panele tego samego przedmieścia: ortofotomapa 20 cm oraz jej klasyfikacja metodą minimalnej odległości z klasą basenów na cyjanowo, gdzie jeden niebieskoszary dach wychodzi większy niż każdy z dwóch prawdziwych basenów obok.
Klasyfikacja metodą minimalnej odległości tej samej ortofotomapy 20 cm, z klasą basenów wytrenowaną na 58 basenach z tego kafla. W całym kaflu 46% pikseli oznaczonych jako basen nie jest basenem, a większość z nich to niebieskoszare dachy, jak ten pośrodku.

Użyj, gdy: kilka nalotów lub sezonów i schemat do ponownego użycia.

Pomiń, gdy: jedna ortofotomapa, jeden przebieg. Oba klasyfikują piksele, nie obiekty, więc nadal poligonizujesz i filtrujesz.

Pięć metod obok siebie

Co maszMetoda
Dobrze zmapowane miasto, publiczne baseny wystarcząMetoda 1, QuickOSM
Setki basenów i brak cierpliwości do fałszywych trafieńMetoda 2, model segmentacyjny
Jedna ortofotomapa RGB dokładniejsza niż 30 cmMetoda 3, próg barwny, potem filtr
Ortofotomapa z kanałem NIRMetoda 4, NDWI
Sentinel-2 lub cokolwiek w 10 mŻadna dla przydomowych basenów. Weź dokładniejsze zdjęcia
Kilka nalotów, schemat do powtórzeńMetoda 5, SCP lub dzetsaka

Co zapamiętać

Najpierw decyduje rozdzielczość, potem kanały, potem ile ręcznego sprawdzania uniesiesz.

Basen 30 m² nigdy nie oddzieli się od ogrodu w 10 m, więc Sentinel-2 to zły sensor dla przydomowych basenów, niezależnie od indeksu.

Próg barwny zwraca każdy niebieski obiekt w kwartale, więc filtruj po powierzchni i zwartości, zanim spojrzysz na wynik.

Zadaszonego basenu nie ma na zdjęciach, więc żadna metoda z tej strony go nie znajdzie i żadna cena tego nie zmieni.

Detekcja to kandydat. Cokolwiek uruchomisz, otwórz dziesięć poligonów o najniższej pewności, zanim ktokolwiek zacznie działać na podstawie tej warstwy.

Wypróbuj bezpłatnie w QGIS, karta niepotrzebna

Częste pytania

Czy QGIS wykrywa baseny samodzielnie?

Nie jako funkcja. Rdzeń QGIS daje ci kalkulator rastra, poligonizację i filtry wektorowe, czyli Metodę 3. Rozpoznanie basenu jako obiektu wymaga wtyczki.

Czy znajdę przydomowe baseny na zdjęciach Sentinel-2?

Nie. Green i NIR to kanały 10 m, a SWIR to 20 m, więc basen 30 m² to jedna trzecia piksela. Użyj zdjęć lotniczych 30 cm lub dokładniejszych.

Dlaczego niebieskie dachy wciąż wracają jako baseny?

Malowany blaszany dach jest jaśniejszy i bardziej niebieski niż woda w basenie, a reguła barwna czyta tylko kolor. Filtruj po powierzchni i zwartości, przejdź do NDWI albo użyj modelu.

Czy wykrywanie basenów ze zdjęć lotniczych jest legalne?

Połącz detekcję z działką i nazwiskiem właściciela, a staje się danymi osobowymi, które w UE wymagają podstawy prawnej na mocy RODO. Administracja podatkowa ma ją wpisaną w prawo. Firma prywatna zwykle nie, więc zapytaj swojego inspektora ochrony danych przed połączeniem i nigdy nie pozwól, by wynik modelu był ostatnim krokiem przed rachunkiem.

Jakiej dokładności się spodziewać?

Jedna liczba byłaby fałszywa, bo zależy od twoich zdjęć i sezonu. Otwarte baseny w 20 cm wracają dobrze, zadaszone baseny pomija tu wszystko, a niebieskie dachy to to, co usuwasz ręcznie.

Czy wynik detekcji to już lista basenów, na podstawie której mogę działać?

Francuska administracja podatkowa uruchomiła to na zdjęciach IGN i mimo to wysłała pismo do każdego właściciela. Jej pilot Foncier innovant opodatkował 20 356 basenów w dziewięciu departamentach za 2022 rok, o wartości 9,8 mln euro, a krajowy przegląd z 2023 roku znalazł 150 000 basenów podlegających opodatkowaniu, których brakowało w rejestrze. Detekcja to kandydat, a połączenie jej z działką i nazwiskiem tworzy dane osobowe.

Pełny krok filtrowania opisuje artykuł o wykrywaniu obrysów budynków w QGIS. Czyszczenie każdej maski opisuje artykuł raster na wektor w QGIS. Aby uruchomić ten sam przebieg detekcji i filtrowania na zdjęciach całej gminy, AI Agent wykonuje kroki z jednej instrukcji w QGIS. Resztę znajdziesz w Centrum QGIS AI.