Vai al contenuto
Torna al blog
AI Segmentation
QGIS
Tutorial

Rilevare piscine in QGIS: 5 metodi

Tre pannelli dello stesso isolato suburbano visti dall'alto: immagine nuda, una soglia di colore che accende le piscine e un tetto blu, e un risultato di segmentazione con sole piscine delineate.

Per rilevare le piscine in , controlla prima OpenStreetMap: Vector > QuickOSM > QuickOSM…, chiave leisure, valore swimming_pool. Dove la mappa è scarsa, applica una soglia sul blu nel raster calculator oppure esegui un modello di segmentazione. La risoluzione al suolo decide quale usare.

Dove il web sbaglia

Tre risposte si ripetono su forum e tutorial, e ciascuna ti costa una giornata.

"Usa NDWI su Sentinel-2 e conta le piscine." Green e NIR sono a 10 m e SWIR a 20 m, mentre una nuova piscina interrata è di 29-30 m². È un terzo di pixel. MNDWI su un sobborgo restituisce il bacino al margine della città e niente nei giardini.

"Applica una soglia sul blu e hai le tue piscine." Una regola di colore legge il colore e nient'altro. Un tetto metallico blu e un telone sopra una catasta di legna la superano, una piscina con telo scuro e una piscina verde per alghe la falliscono, e una piscina coperta non è proprio nell'immagine.

"Il rilevamento è la lista." Il fisco francese lo ha eseguito su fotografie IGN e ha comunque inviato una lettera a ogni proprietario. Un rilevamento è un candidato, e unirlo a una particella e a un nome lo rende dato personale.

La risposta breve

Il tuo inputMetodoCosto
Qualsiasi area con mappatori OSM attiviMetodo 1, QuickOSM su leisure=swimming_poolGratis, una query
Ortofoto RGB da 5 a 30 cmMetodo 2, soglia di colore nel raster calculatorGratis, nel core di QGIS
Immagini con banda nel vicino infrarosso o SWIRMetodo 3, un indice d'acqua, poi una sogliaGratis, cieco alle piscine dei giardini su satellite
Immagini multispettrali e un pomeriggioMetodo 4, SCP o dzetsakaPlugin gratuiti, il tuo tempo a disegnare aree di addestramento
Ortofoto RGB e centinaia di piscineMetodo 5, un modello di segmentazioneI plugin gratuiti vogliono il tuo modello o una GPU. I plugin cloud hanno livelli gratuiti, poi un abbonamento

Come li ho confrontati

Cinque criteri: input, se le immagini lasciano la tua macchina, quanto output controlli a mano, costo, sforzo di installazione. Ogni versione, prezzo e percorso di menu è stato verificato il 3 settembre 2026 sul manuale di QGIS 3.44 e sulle docs di ogni strumento. Ho eseguito i metodi gratuiti su un'ortofoto suburbana francese e su una scena Sentinel-2 dello stesso isolato.

Costruiamo uno dei cinque, ed è il Metodo 5. Per un'indagine dove qualcuno firma un dato di accuratezza pubblicato, usa invece Mapflow. Include un modello dedicato Swimming pools, su richiesta, con un F1 sopra 0.95 accanto. Non pubblichiamo alcun dato per le piscine.

Prima di iniziare

Lavora in un CRS proiettato, perché tre passaggi sotto filtrano per area in unità del layer. Poi controlla la risoluzione. La federazione francese delle piscine dà una nuova piscina interrata a 29-30 m², 3.000 pixel su un'ortofoto a 10 cm e un terzo di pixel su una banda Sentinel-2 a 10 m.

Il fisco francese lo esegue su fotografia aerea IGN. Il suo pilota Foncier innovant ha tassato 20.356 piscine in nove dipartimenti per il 2022, per 9,8 milioni di euro, e il passaggio nazionale 2023 ha trovato 150.000 piscine tassabili mancanti al ruolo. Ognuna è comunque passata per una lettera al proprietario.

Metodo 1: Prendi le piscine già mappate da qualcuno

OpenStreetMap contiene 3.036.801 oggetti taggati leisure=swimming_pool, 2.731.704 dei quali sono ways con geometria reale, su taginfo al 3 settembre 2026.

Open QuickOSM and query

Vector > QuickOSM > QuickOSM…, che interroga Overpass API. Chiave leisure, valore swimming_pool, sull'estensione del canvas o su un'area amministrativa nominata.

Keep polygons, filter to gardens

Una piscina mappata come nodo non ha area, quindi prendi il layer poligonale. 1.808.809 di queste piscine hanno anche access=private, il filtro per le piscine in giardino.

leisure=swimming_area è un oggetto diverso: un luogo designato per nuotare in un lago o in mare.

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.

Usalo quando: ti servono piscine pubbliche e commerciali.

Saltalo quando: il lavoro è trovare ciò che nessuno ha dichiarato.

Metodo 2: Soglia il blu nel raster calculator

Il massimo che il core di QGIS offre. Apri Raster > Raster Calculator…, dove le bande sono layer_name@band_number. Su un'ortofoto RGB questo trattiene il blu brillante e saturo:

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

Questi numeri sono miei, da un'ortofoto a 20 cm. Campiona venti pixel di piscina e venti pixel di tetto, poi spostali.

Poligonizza con Raster > Conversion > Polygonize (Raster to Vector), poi filtra con native:extractbyexpression: $area > 6 AND $area < 400 per la dimensione, e il mio rapporto 4 * pi() * $area / ($perimeter ^ 2) > 0.5 per la forma, poiché QGIS non include alcuna funzione di compattezza.

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.

I valori RGB scorrono con angolo del sole ed esposizione, quindi una soglia tarata su una strisciata si rompe sulla successiva. Tinta e saturazione tengono meglio, tramite il modulo del Processing Toolbox i.rgb.his, che "transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-Intensity-Saturation) color space".

Nessuna regola sa cosa sia la cosa blu.

  • Ombra. Le falde ombreggiate risultano blu scuro. Alza la soglia minima e perdi le piscine sotto gli alberi.
  • Tetti blu e teloni. Brillanti, blu, spesso della forma giusta.
  • Piscine scure e verdi. Un telo nero risulta asfalto, le alghe prato. La mia regola le ha mancate entrambe.
  • Piscine coperte. Non sono proprio nell'immagine.
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.

Usalo quando: un'ortofoto coerente da controllare a mano.

Saltalo quando: un mosaico di più voli.

Metodo 3: Un indice d'acqua, su immagini che hanno le bande

L'acqua assorbe il vicino infrarosso quasi del tutto, quindi diventa nera in NIR mentre un tetto blu resta brillante.

  • NDWI, McFeeters 1996: (Green - NIR) / (Green + NIR). Su Sentinel-2, (B3 - B8) / (B3 + B8).
  • MNDWI, Xu 2006: (Green - SWIR) / (Green + SWIR). Su Sentinel-2, (B3 - B11) / (B3 + B11). Sostituire NIR con SWIR sopprime le aree edificate, il punto su un sobborgo.

Applica una soglia sopra lo zero, poligonizza, filtra come nel Metodo 2. Rodríguez-Cuenca e Alonso hanno tarato un Normalized Difference Swimming Pools Index per questo lavoro nel 2014.

Sentinel-2 fornisce B3 e B8 a 10 m e B11 a 20 m, quindi una piscina da 30 m² non si separa mai dal giardino. MNDWI su un isolato residenziale restituisce il bacino al margine della città e nient'altro.

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.

Usalo quando: la tua ortofoto ha una banda NIR a 50 cm o più fine. Batte il colore in pieno.

Saltalo quando: RGB a tre bande, o Sentinel-2 e vuoi piscine in giardino.

Metodo 4: Allena un classificatore sulle tue immagini

Un classificatore impara i tuoi pixel di piscina dagli esempi che disegni, quindi sopravvive a un mosaico che rompe una soglia fissa.

Semi-Automatic Classification Plugin di Luca Congedo è la scelta usuale. Crea un input di training (.scpx) nel dock SCP, disegna ROI, poi esegui SCP > Band processing > Classification nella finestra principale. Sei algoritmi, da Minimum Distance a Random Forest. La versione 9.0.4 è uscita l'11 luglio 2026 ma dichiara un minimo QGIS di 3.99, quindi QGIS 3.x installa ancora 8.5.0.

dzetsaka 5.0.11, di Nicolas Karasiak, è più leggero: undici classificatori, e il suo Gaussian Mixture Model gira senza scikit-learn.

Disegna anche una classe tetto-blu e una classe ombra. Un classificatore scarta solo ciò che gli hai mostrato.

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.

Usalo quando: più voli o stagioni, e riutilizzerai il flusso.

Saltalo quando: un'ortofoto, un passaggio. Entrambi classificano pixel, non oggetti, quindi devi ancora poligonizzare e filtrare.

Metodo 5: Un modello di segmentazione

Un modello di segmentazione legge forma e contesto, ed è così che distingue una piscina da un telone dello stesso colore. Ne costruiamo uno, AI Segmentation. Questa sezione parla del nostro strumento.

Install and sign in

Plugin manager, QGIS 3.22 o successivo. Nessuna GPU, nessun peso di modello. Un account, una quota gratuita, poi 39 euro al mese IVA esclusa.

Draw a zone, type the word, filter

Digita swimming pool ed esegui. I poligoni tornano nel CRS di progetto con area, perimetro e punteggio di confidenza. Ordina, poi elimina ciò che è sbagliato.

Due numeri dalla nostra tabella di tuning, letta a runtime. Una corsa piscine chiede circa 0,13 m per pixel in tasselli di al massimo 300 m, perché una piscina sfuma nel suo terrazzo a risoluzioni più grossolane. La revisione apre a confidenza 0,20 per swimming pool contro 0,30 per building, poiché le maschere delle piscine ottengono punteggi più bassi dei tetti.

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.

Un limite: una piscina coperta non raggiunge mai il modello, quindi torna mancata. Entrambe le modalità cloud inviano le immagini ai nostri server nell'Unione europea.

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.

Altri quattro fanno questo lavoro, verificati il 3 settembre 2026.

StrumentoCosa installiGPUAccountLe immagini lasciano la tua macchinaSupporto piscineCosto
DeepnessPlugin manager, i suoi pacchetti Python, un modello ONNXOpzionale, la CPU bastaNoNoQualsiasi modello tu forniscaGratis
Geo-SAMPlugin manager, dipendenze, pesi del modelloOpzionaleNoNoUn oggetto per clic o riquadroGratis
samgeoUn pacchetto Python, nessun pannello QGISConsigliataNoNoScriptabile, nessuna classe piscineGratis
MapflowPlugin managerNoUn modello Swimming pools, su richiestaCrediti, a pagamento
AI Segmentation (nostro)Plugin managerNoSì in entrambe le modalità cloud, no per il modello localeDigita swimming poolQuota gratuita, poi 39 euro al mese IVA esclusa

Usalo quando: più piscine di quante ne delinieresti a mano.

Saltalo quando: le immagini non possono lasciare la tua macchina. Usa Deepness o Geo-SAM.

I cinque metodi a confronto

Cosa haiMetodo
Una città ben mappata, bastano piscine pubblicheMetodo 1, QuickOSM
Un'ortofoto RGB più fine di 30 cmMetodo 2, soglia di colore, poi filtra
Un'ortofoto con banda NIRMetodo 3, NDWI
Sentinel-2 o qualsiasi cosa a 10 mNessuno per piscine in giardino. Prendi immagini più fini
Più voli, un flusso da ripetereMetodo 4, SCP o dzetsaka
Centinaia di piscine e nessuna pazienza per falsi positiviMetodo 5, un modello di segmentazione

Da ricordare

La risoluzione decide per prima, poi le bande, poi quanto controllo manuale puoi assorbire.

Una piscina da 30 m² non si separa mai dal suo giardino a 10 m, quindi Sentinel-2 è il sensore sbagliato per piscine in giardino, qualunque indice tu usi.

Una soglia di colore restituisce ogni cosa blu dell'isolato, quindi filtra per area e compattezza prima di guardare il risultato.

Una piscina coperta manca dalle immagini, quindi nessun metodo in questa pagina la trova e nessun prezzo cambia questo.

Un rilevamento è un candidato. Qualunque cosa tu esegua, apri i dieci poligoni a confidenza più bassa prima che qualcuno agisca sul layer.

Try it free in QGIS, no card needed

Domande frequenti

QGIS può rilevare piscine da solo?

Non come funzione. Il core di QGIS ti dà il raster calculator, poligonizza e i filtri vettoriali, che è il Metodo 2. Riconoscere una piscina come oggetto richiede un plugin.

Posso trovare piscine in giardino in immagini Sentinel-2?

No. Green e NIR sono bande a 10 m e SWIR è a 20 m, quindi una piscina da 30 m² è un terzo di pixel. Usa immagini aeree a 30 cm o meglio.

Perché i tetti blu tornano sempre come piscine?

Un tetto metallico verniciato è più brillante e più blu dell'acqua di piscina, e una regola di colore legge solo il colore. Filtra per area e compattezza, passa a NDWI, o usa un modello.

È legale rilevare piscine da immagini aeree?

Unisci un rilevamento a una particella e al nome di un proprietario e diventa dato personale, che nell'UE richiede una base giuridica ai sensi del GDPR. Un'amministrazione fiscale ne ha una scritta nella legge. Un'azienda privata di solito no, quindi chiedi al tuo responsabile della protezione dei dati prima dell'unione, e non lasciare mai che l'output di un modello sia l'ultimo passo prima di una fattura.

Quale accuratezza devo aspettarmi?

Un numero solo sarebbe falso, poiché cambia con le tue immagini e la stagione. Le piscine aperte a 20 cm tornano bene, le piscine coperte vengono mancate da tutto qui, e i tetti blu sono ciò che elimini a mano.

Per il passaggio di filtraggio completo, leggi rilevare impronte di edifici in QGIS. Per la pulizia dietro qualsiasi maschera, da raster a vettore in QGIS. Il QGIS AI hub ha il resto.