Przejdź do treści
Wróć do bloga
AI Segmentation
QGIS
Poradnik

Baseny w QGIS: 5 metod detekcji

Trzy panele tego samego podmiejskiego kwartału z lotu ptaka: czyste zdjęcie, próg barwny podświetlający baseny i niebieski dach oraz wynik segmentacji z obrysowanymi tylko basenami.

Aby wykryć baseny w , najpierw sprawdź OpenStreetMap: Vector > QuickOSM > QuickOSM…, klucz leisure, wartość swimming_pool. Gdzie mapa jest uboga, proguj niebieski w raster calculator albo uruchom model segmentacyjny. O wyborze decyduje rozdzielczość terenowa.

Gdzie internet się myli

Trzy odpowiedzi powtarzają się na forach i w poradnikach, a każda kosztuje cię dzień.

„Uruchom NDWI na Sentinel-2 i policz baseny.” Green i NIR mają 10 m, a SWIR 20 m, podczas gdy nowy basen wkopany w ziemię ma 29 do 30 m². To jedna trzecia piksela. MNDWI nad przedmieściem zwraca zbiornik na skraju miasta i nic w ogrodach.

„Proguj niebieski i masz baseny.” Reguła barwna czyta tylko kolor i nic więcej. Niebieski blaszany dach i plandeka na stosie drewna ją przechodzą, basen z ciemną folią i basen z zieloną od glonów wodą jej nie przechodzą, a zadaszonego basenu w ogóle nie ma na zdjęciu.

„Detekcja to lista.” Francuska administracja podatkowa uruchomiła to na zdjęciach IGN i mimo to wysłała pismo do każdego właściciela. Detekcja to kandydat, a połączenie jej z działką i nazwiskiem tworzy dane osobowe.

Krótka odpowiedź

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

Jak je porównałem

Pięć kryteriów: wkład, czy zdjęcia opuszczają twój komputer, ile wyniku sprawdzasz ręcznie, koszt, trud instalacji. 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. Darmowe metody uruchomiłem na francuskiej podmiejskiej ortofotomapie i na scenie Sentinel-2 tego samego kwartału.

Budujemy jedną z pięciu, Metodę 5. Do nalotu, gdzie ktoś podpisuje się pod publikowaną liczbą 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.

Zanim zaczniesz

Pracuj w rzutowanym CRS, bo trzy kroki poniżej filtrują po powierzchni w jednostkach layer. Potem 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.

Francuska administracja podatkowa robi to na zdjęciach lotniczych IGN. 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 przebieg z 2023 roku znalazł 150 000 opodatkowanych basenów brakujących w ewidencji. Każdy nadal wymagał pisma do właściciela.

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 linii z prawdziwą geometrią, według taginfo z 3 września 2026.

Open QuickOSM and query

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

Keep polygons, filter to gardens

Basen zmapowany jako punkt nie ma powierzchni, więc weź polygon layer. 1 808 809 z tych basenów ma też access=private, filtr przydomowych basenów.

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

A suburban block on satellite imagery with OSM swimming pool polygons in blue over three pools, and seven other visible pools with no polygon at all.
Three pools mapped, seven not. Mappers draw public and hotel pools. Private garden pools are the ones nobody bothers with, and the ones a tax office is looking for.

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

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

Metoda 2: Proguj niebieski w raster calculator

Najbliżej tego, co potrafi rdzeń QGIS. Otwórz 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. Spróbuj dwadzieścia pikseli basenu i dwadzieścia pikseli dachu, potem je przesuń.

Spolygonizuj przez Raster > Conversion > Polygonize (Raster to Vector), 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.

A suburban orthophoto with a red mask from the raster calculator covering every swimming pool, a blue metal roof, and a blue tarpaulin over a woodpile.
The rule above, over 20 cm imagery. It finds every open pool. It also finds a blue metal roof and a tarpaulin.

Wartości RGB pływają 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, przez moduł Processing Toolbox i.rgb.his, który "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.
Four tight crops side by side: a blue tarpaulin, a shaded roof slope, a dark-bottom pool and a pool under a grey winter cover, with the threshold mask overlaid on the first two only.
The tarp and the shadow pass the rule and should not. The dark-bottom pool and the covered pool fail it and should not.

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

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

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

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.

Proguj powyżej zera, spolygonizuj, filtruj jak w Metodzie 2. 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.

Two panels of the same suburb: a 20 cm orthophoto with eleven visible pools, and the Sentinel-2 MNDWI of the same extent showing a uniform grey with no pool visible.
Eleven pools on the left, none on the right. Same extent, same week. A 30 m² pool never reaches a 10 m sensor as an object.

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 4: Wytrenuj klasyfikator na własnych zdjęciach

Klasyfikator uczy się twoich pikseli basenu z przykładów, które rysujesz, więc przeżywa mozaikę, na której stały próg się sypie.

Semi-Automatic Classification Plugin autorstwa Luki Congedo to zwykły wybór. Utwórz dane treningowe (.scpx) w doku 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 pokazałeś.

The SCP dock in QGIS with a training input listing pool, roof, shadow and vegetation classes, and the classified raster behind it with pool pixels in cyan.
Three classes and a Random Forest over the same 20 cm orthophoto. The blue-roof class does more work than the pool class.

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 polygonizujesz i filtrujesz.

Metoda 5: 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.

Install and sign in

Plugin manager, QGIS 3.22 lub nowszy. Bez GPU, bez wag modelu. Konto, darmowy limit, potem 39 euro miesięcznie bez VAT.

Draw a zone, type the word, filter

Wpisz swimming pool i uruchom. Poligony wracają w CRS 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. Przebieg basenowy prosi o około 0,13 m na piksel w kafelkach 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.

A residential block on aerial imagery in QGIS, every backyard swimming pool filled with its own colour, roofs and gardens untouched.
One zone, one word, over 20 cm imagery. Each pool is its own polygon with an area, editable like any vector feature.

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.

Two neighbouring gardens: the open pool on the left outlined in the detection layer, the pool under a grey winter cover on the right with no polygon.
Left, detected. Right, a pool under a cover. Nothing in the image says it is there, and no method on this page finds it.

Cztery inne wykonują to zadanie, sprawdzone 3 września 2026.

NarzędzieCo instalujeszGPUKontoCzy zdjęcia opuszczają twój komputerObsługa basenówKoszt
DeepnessPlugin manager, jego pakiety Pythona, model ONNXOpcjonalnie, CPU działaNieNieJaki model podaszZa darmo
Geo-SAMPlugin manager, zależności, wagi modeluOpcjonalnieNieNieJeden obiekt na klik lub ramkęZa darmo
samgeoPakiet Pythona, bez panelu QGISZalecaneNieNieSkryptowalny, bez klasy basenuZa darmo
MapflowPlugin managerNieTakTakModel Swimming pools, na życzenieKredyty, płatne
AI Segmentation (nasz)Plugin managerNieTakTak w obu trybach chmurowych, nie dla modelu lokalnegoWpisz swimming poolDarmowy limit, potem 39 euro 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.

Pięć metod obok siebie

Co maszMetoda
Dobrze zmapowane miasto, publiczne baseny wystarcząMetoda 1, QuickOSM
Jedna ortofotomapa RGB dokładniejsza niż 30 cmMetoda 2, próg barwny, potem filtr
Ortofotomapa z kanałem NIRMetoda 3, 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 4, SCP lub dzetsaka
Setki basenów i brak cierpliwości do fałszywych trafieńMetoda 5, model segmentacyjny

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 zadziała na layer.

Try it free in QGIS, no card needed

Częste pytania

Czy QGIS wykrywa baseny samodzielnie?

Nie jako funkcja. Rdzeń QGIS daje ci raster calculator, polygonizację i filtry wektorowe, czyli Metodę 2. Rozpoznanie basenu jako obiektu wymaga plugin.

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.

Pełny krok filtrowania opisuje detecting building footprints in QGIS. Czyszczenie każdej maski opisuje raster to vector in QGIS. Resztę ma QGIS AI hub.