Saltar al contenido
Volver al blog
AI Segmentation
QGIS
Tutorial

Detectar piscinas en QGIS: 5 métodos

Tres paneles de la misma manzana suburbana desde el aire: imagen desnuda, un umbral de color que ilumina las piscinas y un techo azul por igual, y un resultado de segmentación con solo las piscinas delineadas.

Para detectar piscinas en , consulta primero OpenStreetMap: Vector > QuickOSM > QuickOSM…, key leisure, value swimming_pool. Donde el mapa está incompleto, umbraliza el azul en el raster calculator o ejecuta un modelo de segmentación. La resolución del terreno decide cuál.

Dónde se equivoca la web

Tres respuestas se repiten en foros y tutoriales, y cada una te cuesta un día.

"Ejecuta NDWI sobre Sentinel-2 y cuenta las piscinas." El verde y el NIR vienen a 10 m y el SWIR a 20 m, mientras que una piscina enterrada nueva mide de 29 a 30 m². Eso es un tercio de píxel. MNDWI sobre un suburbio devuelve el embalse al borde de la ciudad y nada en los jardines.

"Umbraliza el azul y ya tienes tus piscinas." Una regla de color lee color y nada más. Un techo metálico azul y una lona sobre una pila de leña la pasan, una piscina de revestimiento oscuro y una piscina verde por algas la fallan, y una piscina cubierta no está en la imagen en absoluto.

"La detección es la lista." La administración tributaria francesa lo ejecutó sobre fotografía de IGN y aun así envió una carta a cada propietario. Una detección es un candidato, y unirla a una parcela y a un nombre la convierte en datos personales.

La respuesta corta

Tu insumoMétodoQué cuesta
Cualquier zona con mapeadores OSM activosMétodo 1, QuickOSM en leisure=swimming_poolGratis, una consulta
Ortofoto RGB de 5 a 30 cmMétodo 2, umbral de color en el raster calculatorGratis, en el QGIS base
Imágenes con banda de infrarrojo cercano o SWIRMétodo 3, un índice de agua, luego un umbralGratis, ciego a piscinas de jardín en satélite
Imágenes multiespectrales y una tardeMétodo 4, SCP o dzetsakaplugin gratuitos, tu tiempo dibujando áreas de entrenamiento
Ortofoto RGB y cientos de piscinasMétodo 5, un modelo de segmentaciónLos plugin gratuitos exigen tu propio modelo o una GPU. Los plugin en la nube tienen niveles gratuitos, luego suscripción

Cómo los comparé

Cinco criterios: insumo, si las imágenes salen de tu máquina, cuánto resultado revisas a mano, coste, esfuerzo de instalación. Cada versión, precio y ruta de menú se verificó el 3 de septiembre de 2026 con el manual de QGIS 3.44 y la documentación de cada herramienta. Ejecuté los métodos gratuitos sobre una ortofoto suburbana francesa y una escena Sentinel-2 de la misma manzana.

Construimos uno de los cinco, y es el Método 5. Para un barrido donde alguien firme una cifra de precisión publicada, usa Mapflow en su lugar. Incluye un modelo dedicado Swimming pools, bajo pedido, con un F1 superior a 0.95 junto a él. No publicamos ninguna cifra para piscinas.

Antes de empezar

Trabaja en un CRS proyectado, ya que tres pasos más abajo filtran por área en unidades de layer. Luego comprueba la resolución. La federación francesa de piscinas sitúa una piscina enterrada nueva en 29 a 30 m², 3,000 píxeles en una ortofoto de 10 cm y un tercio de píxel en una banda Sentinel-2 de 10 m.

La administración tributaria francesa lo ejecuta sobre fotografía aérea de IGN. Su piloto Foncier innovant gravó 20,356 piscinas en nueve departamentos para 2022, por valor de 9.8 millones de euros, y la pasada nacional de 2023 encontró 150,000 piscinas imponibles ausentes del catastro. Cada una pasó igualmente por una carta al propietario.

Método 1: Obtén las piscinas que alguien ya mapeó

OpenStreetMap contiene 3,036,801 objetos etiquetados leisure=swimming_pool, 2,731,704 de ellos vías con geometría real, en taginfo el 3 de septiembre de 2026.

Open QuickOSM and query

Vector > QuickOSM > QuickOSM…, que consulta Overpass API. Key leisure, value swimming_pool, sobre la extensión del lienzo o un área administrativa nombrada.

Keep polygons, filter to gardens

Una piscina mapeada como nodo no tiene área, así que toma el layer de polígonos. 1,808,809 de estas piscinas también llevan access=private, el filtro para piscinas de jardín.

leisure=swimming_area es un objeto distinto: un lugar designado para nadar en un lago o el mar.

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.

Úsalo cuando: necesites piscinas públicas y comerciales.

Omítelo cuando: el trabajo sea encontrar lo que nadie declaró.

Método 2: Umbraliza el azul en el raster calculator

Lo más cercano en el QGIS base. Abre Raster > Raster Calculator…, donde las bandas son layer_name@band_number. Sobre una ortofoto RGB esto conserva el azul brillante y saturado:

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

Esos números son míos, de una ortofoto de 20 cm. Muestrea veinte píxeles de piscina y veinte píxeles de techo, luego ajústalos.

Poligoniza con Raster > Conversion > Polygonize (Raster to Vector), luego filtra con native:extractbyexpression: $area > 6 AND $area < 400 por tamaño, y mi propia relación 4 * pi() * $area / ($perimeter ^ 2) > 0.5 por forma, ya que QGIS no incluye ninguna función de compacidad.

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.

Los valores RGB varían con el ángulo solar y la exposición, así que un umbral ajustado en una línea de vuelo se rompe en la siguiente. El tono y la saturación aguantan mejor, vía el módulo de Processing Toolbox i.rgb.his, que "transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-Intensity-Saturation) color space".

Ninguna regla sabe qué es la cosa azul.

  • Sombra. Las vertientes de techo en sombra se leen como azul oscuro. Si subes el suelo, pierdes las piscinas bajo árboles.
  • Techos azules y lonas. Brillantes, azules, a menudo con la forma correcta.
  • Piscinas de fondo oscuro y verdes. Un revestimiento negro se lee como asfalto, las algas como césped. Mi regla falló ambas.
  • Piscinas cubiertas. No están en la imagen en absoluto.
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.

Úsalo cuando: una ortofoto coherente que revisarás a mano.

Omítelo cuando: un mosaico de varios vuelos.

Método 3: Un índice de agua, en imágenes con bandas

El agua absorbe el infrarrojo cercano casi por completo, así que se vuelve negra en NIR mientras un techo azul sigue brillante.

  • NDWI, McFeeters 1996: (Green - NIR) / (Green + NIR). En Sentinel-2, (B3 - B8) / (B3 + B8).
  • MNDWI, Xu 2006: (Green - SWIR) / (Green + SWIR). En Sentinel-2, (B3 - B11) / (B3 + B11). Sustituir NIR por SWIR suprime el suelo construido, lo importante sobre un suburbio.

Umbraliza por encima de cero, poligoniza, filtra como en el Método 2. Rodríguez-Cuenca y Alonso ajustaron un Normalized Difference Swimming Pools Index para este trabajo en 2014.

Sentinel-2 ofrece B3 y B8 a 10 m y B11 a 20 m, así que una piscina de 30 m² nunca se separa del jardín. MNDWI sobre una manzana residencial devuelve el embalse al borde de la ciudad y nada más.

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.

Úsalo cuando: tu ortofoto tenga banda NIR a 50 cm o mejor. Supera al color por completo.

Omítelo cuando: RGB de tres bandas, o Sentinel-2 y quieras piscinas de jardín.

Método 4: Entrena un clasificador con tus propias imágenes

Un clasificador aprende tus píxeles de piscina de ejemplos que dibujas, así que sobrevive a un mosaico que rompe un umbral fijo.

Semi-Automatic Classification Plugin de Luca Congedo es la opción habitual. Crea una entrada de entrenamiento (.scpx) en el dock de SCP, dibuja ROIs, luego ejecuta SCP > Band processing > Classification en la ventana principal. Seis algoritmos, desde Minimum Distance hasta Random Forest. La versión 9.0.4 salió el 11 de julio de 2026 pero declara un mínimo QGIS de 3.99, así que QGIS 3.x aún instala 8.5.0.

dzetsaka 5.0.11, de Nicolas Karasiak, es más ligero: once clasificadores, y su Gaussian Mixture Model funciona sin scikit-learn.

Dibuja también una clase de techo azul y una clase de sombra. Un clasificador solo rechaza lo que le mostraste.

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.

Úsalo cuando: varios vuelos o estaciones, y reutilizarás el flujo.

Omítelo cuando: una ortofoto, una pasada. Ambos clasifican píxeles, no objetos, así que aún poligonizas y filtras.

Método 5: Un modelo de segmentación

Un modelo de segmentación lee forma y contexto, y así distingue una piscina de una lona del mismo color. Construimos uno de ellos, AI Segmentation. Esta sección trata de nuestra propia herramienta.

Install and sign in

Plugin manager, QGIS 3.22 o posterior. Sin GPU, sin pesos de modelo. Una cuenta, una asignación gratuita, luego 39 euros al mes sin IVA.

Draw a zone, type the word, filter

Escribe swimming pool y ejecuta. Los polígonos vuelven en el CRS del proyecto con área, perímetro y puntuación de confianza. Ordena, luego elimina lo erróneo.

Dos números de nuestra tabla de ajuste, leídos en tiempo de ejecución. Una ejecución de piscinas pide unos 0.13 m por píxel en teselas de 300 m como máximo, porque una piscina se difumina con su terraza a algo más grueso. La revisión abre a 0.20 de confianza para swimming pool frente a 0.30 para building, ya que las máscaras de piscina puntúan más bajo que los techos.

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 límite: una piscina cubierta nunca llega al modelo, así que vuelve como omitida. Ambos modos en la nube envían imágenes a nuestros servidores en la Unión 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.

Otros cuatro hacen este trabajo, verificados el 3 de septiembre de 2026.

HerramientaQué instalasGPUCuentaLas imágenes salen de tu máquinaSoporte de piscinasCoste
DeepnessPlugin manager, sus paquetes Python, un modelo ONNXOpcional, CPU funcionaNoNoCualquier modelo que aportesGratis
Geo-SAMPlugin manager, dependencias, pesos de modeloOpcionalNoNoUn objeto por clic o cajaGratis
samgeoUn paquete Python, sin panel QGISRecomendadoNoNoProgramable, sin clase de piscinaGratis
MapflowPlugin managerNoUn modelo Swimming pools, bajo pedidoCréditos, de pago
AI Segmentation (nuestro)Plugin managerNoSí en ambos modos nube, no para el modelo localEscribe swimming poolAsignación gratuita, luego 39 euros al mes sin IVA

Úsalo cuando: más piscinas de las que delinearías a mano.

Omítelo cuando: las imágenes no puedan salir de tu máquina. Usa Deepness o Geo-SAM.

Los cinco métodos lado a lado

Lo que tienesMétodo
Una ciudad bien mapeada, bastan piscinas públicasMétodo 1, QuickOSM
Una ortofoto RGB mejor que 30 cmMétodo 2, umbral de color, luego filtra
Una ortofoto con banda NIRMétodo 3, NDWI
Sentinel-2 o cualquier cosa a 10 mNinguno para piscinas de jardín. Consigue imágenes más finas
Varios vuelos, un flujo que repetirásMétodo 4, SCP o dzetsaka
Cientos de piscinas y sin paciencia para falsos positivosMétodo 5, un modelo de segmentación

Qué recordar

La resolución decide primero, luego las bandas, luego cuánta revisión manual puedes asumir.

Una piscina de 30 m² nunca se separa de su jardín a 10 m, así que Sentinel-2 es el sensor equivocado para piscinas de jardín ejecutes el índice que ejecutes.

Un umbral de color devuelve cada cosa azul de la manzana, así que filtra por área y compacidad antes de mirar el resultado.

Una piscina cubierta falta en las imágenes, así que ningún método de esta página la encuentra y ningún precio cambia eso.

Una detección es un candidato. Ejecutes lo que ejecutes, abre los diez polígonos de menor confianza antes de que alguien actúe sobre el layer.

Try it free in QGIS, no card needed

Preguntas frecuentes

¿Puede QGIS detectar piscinas por sí solo?

No como función. El QGIS base te da el raster calculator, poligonizar y los filtros vectoriales, que es el Método 2. Reconocer una piscina como objeto necesita un plugin.

¿Puedo encontrar piscinas de jardín en imágenes Sentinel-2?

No. El verde y el NIR son bandas de 10 m y el SWIR es de 20 m, así que una piscina de 30 m² es un tercio de píxel. Usa imágenes aéreas a 30 cm o mejor.

¿Por qué los techos azules siguen apareciendo como piscinas?

Un techo metálico pintado es más brillante y azul que el agua de piscina, y una regla de color solo lee color. Filtra por área y compacidad, pasa a NDWI, o usa un modelo.

Une una detección a una parcela y al nombre de un propietario y se convierte en datos personales, que en la UE necesitan una base jurídica bajo el GDPR. Una administración tributaria tiene una escrita en la ley. Una empresa privada normalmente no, así que pregunta a tu delegado de protección de datos antes de la unión, y nunca dejes que la salida de un modelo sea el último paso antes de una factura.

¿Qué precisión debo esperar?

Una sola cifra sería falsa, ya que cambia con tus imágenes y la estación. Las piscinas abiertas a 20 cm vuelven bien, las piscinas cubiertas las omite todo aquí, y los techos azules son lo que borras a mano.

Para el paso de filtrado completo, lee detecting building footprints in QGIS. Para la limpieza tras cualquier máscara, raster to vector in QGIS. El QGIS AI hub tiene el resto.