Vai al contenuto
AI Segmentation
QGIS
Tutorial

Rilevare piscine da immagini aeree in QGIS: 5 metodi

Pubblicato il Aggiornato il

Case residenziali con giardino viste dall'alto, prima e dopo il rilevamento automatico delle piscine (after)
Case residenziali con giardino viste dall'alto, prima e dopo il rilevamento automatico delle piscine (before)
ImmaginiRilevate
Trascina per confrontare
Un solo passaggio automatico su un isolato residenziale di Long Island, su immagini Google Satellite. Quaranta piscine delineate in magenta, comprese le più piccole sotto gli alberi. Trascina il cursore per confrontare.

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

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

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.

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.

Apri QuickOSM ed esegui la query

Vettore > QuickOSM > QuickOSM…, che interroga Overpass API. Chiave leisure, valore swimming_pool, sull'estensione della mappa o su un'area amministrativa nominata.

Tieni i poligoni, filtra i giardini

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.

Un isolato residenziale su immagini satellitari con poligoni OSM di piscine in blu su tre piscine, e altre sette piscine visibili senza alcun poligono.
Tre piscine mappate, sette no. I mappatori disegnano le piscine pubbliche e quelle degli hotel. Le piscine private dei giardini sono quelle di cui nessuno si preoccupa, e quelle che cerca un ufficio delle imposte.

Usalo quando: ti servono piscine pubbliche e commerciali.

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

Metodo 2: 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.

Installa e accedi

Gestore plugin, QGIS 3.22 o successivo. Nessuna GPU, nessun peso di modello. Un account, una quota gratuita, poi 39 € al mese IVA esclusa.

Disegna una zona, digita la parola, filtra

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

Due numeri dalla nostra tabella di tuning, letta a runtime. Un'esecuzione per le piscine richiede 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 si apre con una confidenza di 0,20 per swimming pool contro 0,30 per building, poiché le maschere delle piscine ottengono punteggi più bassi dei tetti.

Un isolato residenziale su immagini aeree in QGIS, con ogni piscina da giardino riempita di un proprio colore e tetti e giardini intatti.
Una zona, una parola, su immagini a 20 cm. Ogni piscina è un poligono a sé con la sua area, modificabile come qualsiasi elemento vettoriale.

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.

Due pannelli degli stessi tre giardini. Sull'immagine invernale due piscine hanno un contorno di rilevamento ciano mentre una piscina cerchiata sotto una copertura beige non ne ha alcuno. Sull'immagine estiva quel punto cerchiato è acqua blu aperta.
Stessi giardini, due immagini. La piscina cerchiata è sotto una copertura in inverno e l'elaborazione la ignora. Sull'intero tassello lo stesso prompt ha restituito 58 piscine sull'immagine estiva e 2 su quella invernale, anche se le due immagini provengono da fornitori diversi oltre che da stagioni diverse.

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

StrumentoCosa installiGPUAccountLe immagini lasciano la tua macchinaSupporto piscineCosto
DeepnessGestore plugin, i suoi pacchetti Python, un modello ONNXOpzionale, la CPU bastaNoNoQualsiasi modello tu forniscaGratis
Geo-SAMGestore plugin, dipendenze, pesi del modelloOpzionaleNoNoUn oggetto per clic o riquadroGratis
samgeoUn pacchetto Python, nessun pannello QGISConsigliataNoNoScriptabile, nessuna classe piscineGratis
MapflowGestore pluginNoSìSì nel servizio cloud, on-premise enterprise offertoUn modello Swimming pools, su richiestaCrediti, a pagamento
AI Segmentation (nostro)Gestore pluginNoSìSì in entrambe le modalità cloud, no per il modello localeDigita swimming poolQuota gratuita, poi 39 € al mese IVA esclusa

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

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

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.

Metodo 3: applica una soglia al blu nel Calcolatore raster

Lavora in un SR proiettato, perché tre passaggi sotto filtrano per area in unità del layer.

Il massimo che il core di QGIS offre. Apri Raster > Calcolatore Raster…, 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 > Conversione > Poligonizzazione (da raster a vettore), 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.

Un'ortofoto residenziale con una maschera rossa del Calcolatore raster che copre ogni piscina, un tetto di metallo blu e un telone blu sopra una catasta di legna.
La regola qui sopra, su immagini a 20 cm. Trova ogni piscina aperta. Trova anche un tetto di metallo blu e un telone.

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 l'algoritmo i.rgb.his di Strumenti di Processing, 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.
Tre ritagli stretti affiancati: un telone blu sopra un giardino, una falda del tetto in ombra, e una piscina con fondo scuro in un giardino.
Il telone e l'ombra superano la regola del colore e non dovrebbero. La piscina con fondo scuro non la supera e non dovrebbe. Ritagli da immagini da 20 cm sopra Cape Coral, Florida.

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

Saltalo quando: un mosaico di più voli.

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

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.

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 3. 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.

Due pannelli dello stesso sobborgo: un'ortofoto a 20 cm con undici piscine visibili e l'MNDWI di Sentinel-2 della stessa estensione, di un grigio uniforme senza alcuna piscina visibile.
Undici piscine a sinistra, nessuna a destra. Stessa estensione, stessa settimana. Una piscina da 30 m² non arriva mai come oggetto a un sensore da 10 m.

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 5: 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 addestramento (.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.

Due pannelli dello stesso sobborgo: un'ortofoto da 20 cm, e una classificazione a minima distanza della stessa con la classe piscina in ciano, dove un tetto grigio-blu risulta più grande di ciascuna delle due vere piscine accanto.
Una classificazione a minima distanza della stessa ortofoto da 20 cm, con la classe piscina addestrata sulle 58 piscine di questo tassello. Sull'intero tassello, il 46% dei pixel classificati come piscina non è una piscina, e la maggior parte è tetto grigio-blu, come quello al centro qui.

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.

I cinque metodi a confronto

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

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.

Prova gratis in QGIS, senza carta di credito

Domande frequenti

QGIS può rilevare piscine da solo?

Non come funzione. Il core di QGIS ti dà il Calcolatore raster, poligonizza e i filtri vettoriali, che è il Metodo 3. 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.

Un rilevamento è già un elenco di piscine su cui agire?

Il fisco francese lo ha eseguito su fotografie IGN e ha comunque inviato una lettera a ogni proprietario. 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. Un rilevamento è un candidato, e unirlo a una particella e a un nome lo rende dato personale.

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. Per eseguire lo stesso passaggio di rilevamento e filtro sulle immagini di un intero comune, AI Agent svolge i passaggi da una sola istruzione dentro QGIS. Il QGIS AI hub ha il resto.