Aller au contenu
AI Segmentation
QGIS
Tutoriel

Détecter les piscines dans QGIS : 5 méthodes

Publié le Mis à jour le

Maisons de banlieue avec jardins vus du ciel, avant et après la détection automatique des piscines (after)
Maisons de banlieue avec jardins vus du ciel, avant et après la détection automatique des piscines (before)
ImagerieDétecté
Glisser pour comparer
Une passe automatique sur un îlot pavillonnaire de Long Island, sur imagerie Google Satellite. Quarante piscines cernées en magenta, y compris les petites sous les arbres. Faites glisser la poignée pour comparer.

Pour détecter les piscines dans QGIS, vérifiez d'abord OpenStreetMap : Vecteur > QuickOSM > QuickOSM, clé leisure, valeur swimming_pool. Là où la carte est incomplète, lancez un modèle de segmentation ou seuillez le bleu dans la calculatrice raster. La résolution au sol décide.

Votre donnéeMéthodeCoût
Zone avec mappeurs OSM actifsMéthode 1, QuickOSM sur leisure=swimming_poolGratuit, une requête
Orthophoto RVB et des centaines de piscinesMéthode 2, un modèle de segmentationLes plugins gratuits demandent votre propre modèle ou un GPU. Les plugins cloud ont des offres gratuites, puis un abonnement
Orthophoto RVB de 5 à 30 cmMéthode 3, seuil de bleu dans la calculatrice rasterGratuit, dans QGIS de base
Imagerie avec bande proche infrarouge ou SWIRMéthode 4, un indice d'eau, puis un seuilGratuit, aveugle aux piscines de jardin sur satellite
Imagerie multispectrale et un après-midiMéthode 5, SCP ou dzetsakaplugins gratuits, votre temps à dessiner les zones d'entraînement

Chaque version, prix et chemin de menu a été vérifié le 3 septembre 2026 dans le manuel QGIS 3.44 et la doc de chaque outil.

Méthode 1 : Récupérez les piscines déjà cartographiées

OpenStreetMap porte 3 036 801 objets tagués leisure=swimming_pool, dont 2 731 704 ways avec une vraie géométrie, sur taginfo au 3 septembre 2026.

Ouvrez QuickOSM et lancez la requête

Vecteur > QuickOSM > QuickOSM, qui interroge l'Overpass API. Clé leisure, valeur swimming_pool, sur l'emprise du canevas ou une zone administrative nommée.

Gardez les polygones, filtrez sur les jardins

Une piscine cartographiée en node n'a pas de surface, prenez donc la couche de polygones. 1 808 809 de ces piscines portent aussi access=private, le filtre pour les piscines de jardin.

leisure=swimming_area est un objet différent : un lieu désigné pour nager dans un lac ou la mer.

Un îlot pavillonnaire sur imagerie satellite, avec des polygones OSM de piscines en bleu sur trois piscines et sept autres piscines visibles sans aucun polygone.
Trois piscines cartographiées, sept non. Les contributeurs dessinent les piscines publiques et d'hôtel. Les piscines de jardin privées sont celles dont personne ne s'occupe, et celles que cherche un service des impôts.

Utilisez-la quand : vous avez besoin des piscines publiques et commerciales.

Évitez-la quand : le travail est de trouver ce que personne n'a déclaré.

Méthode 2 : Un modèle de segmentation

Un modèle de segmentation lit la forme et le contexte, c'est ainsi qu'il distingue une piscine d'une bâche de même couleur. Nous construisons l'un d'eux, AI Segmentation. Cette section parle de notre propre outil.

Installez et connectez-vous

Extensions > Installer/Gérer les extensions, QGIS 3.22 ou plus récent. Pas de GPU, pas de poids de modèle. Un compte, un quota gratuit, puis 39 € par mois hors TVA.

Dessinez une zone, tapez le mot, filtrez

Tapez swimming pool et lancez. Les polygones reviennent dans le SCR du projet avec surface, périmètre et score de confiance. Triez, puis supprimez ce qui est faux.

Deux chiffres de notre table de réglage, lue à l'exécution. Une exécution sur les piscines demande environ 0,13 m par pixel dans des tuiles de 300 m au plus, car une piscine se fond dans sa terrasse à toute résolution plus grossière. La révision ouvre à 0,20 de confiance pour swimming pool contre 0,30 pour building, car les masques de piscine scorent moins que les toits.

Un îlot résidentiel sur imagerie aérienne dans QGIS, chaque piscine de jardin remplie de sa propre couleur, toits et jardins intacts.
Une zone, un mot, sur une imagerie à 20 cm. Chaque piscine est son propre polygone avec une surface, modifiable comme n'importe quelle entité vectorielle.

Une limite : une piscine couverte n'atteint jamais le modèle, elle revient donc manquée. Les deux modes cloud envoient l'imagerie vers nos serveurs dans l'Union européenne.

Deux panneaux des mêmes trois jardins. Sur l'image d'hiver, deux piscines portent un contour de détection cyan tandis qu'une piscine entourée sous une bâche beige n'en porte aucun. Sur l'image d'été, cet endroit entouré est de l'eau bleue à ciel ouvert.
Mêmes jardins, deux images. La piscine entourée est sous une bâche en hiver et le traitement passe à côté. Sur l'ensemble de la tuile, la même requête a renvoyé 58 piscines sur l'image d'été et 2 sur celle d'hiver, même si les deux images viennent aussi de fournisseurs différents et pas seulement de saisons différentes.

Quatre autres font ce travail, vérifiés le 3 septembre 2026.

OutilCe que vous installezGPUCompteL'imagerie quitte votre machinePrise en charge des piscinesCoût
DeepnessGestionnaire d'extensions, ses packages Python, un modèle ONNXOptionnel, CPU suffitNonNonLe modèle que vous fournissezGratuit
Geo-SAMGestionnaire d'extensions, dépendances, poids de modèleOptionnelNonNonUn objet par clic ou boîteGratuit
samgeoUn package Python, pas de panneau QGISRecommandéNonNonScriptable, pas de classe piscineGratuit
MapflowGestionnaire d'extensionsNonOuiOui dans le service cloud, option sur site pour les entreprisesUn modèle Swimming pools, sur demandeCrédits, payant
AI Segmentation (le nôtre)Gestionnaire d'extensionsNonOuiOui dans les deux modes cloud, non pour le modèle localTapez swimming poolQuota gratuit, puis 39 € par mois hors TVA

Utilisez-la quand : plus de piscines que vous n'en détoureriez à la main.

Évitez-la quand : l'imagerie ne peut pas quitter votre machine. Utilisez Deepness ou Geo-SAM.

Pour un inventaire où quelqu'un signe un chiffre de précision publié, utilisez Mapflow plutôt. Il livre un modèle Swimming pools dédié, sur demande, avec un F1 supérieur à 0,95 affiché. Nous ne publions aucun chiffre pour les piscines.

Méthode 3 : Seuiller le bleu dans la calculatrice raster

Travaillez en SCR projeté, car trois étapes plus bas filtrent sur la surface en unités de la couche.

Le plus proche du QGIS de base. Ouvrez Raster > Calculatrice Raster…, où les bandes sont layer_name@band_number. Sur une orthophoto RVB, ceci garde le bleu vif et saturé :

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

Ces chiffres sont les miens, tirés d'une orthophoto à 20 cm. Échantillonnez vingt pixels de piscine et vingt pixels de toit, puis ajustez-les.

Polygonisez avec Raster > Conversion > Polygoniser (raster vers vecteur), puis filtrez avec native:extractbyexpression : $area > 6 AND $area < 400 pour la taille, et mon propre ratio 4 * pi() * $area / ($perimeter ^ 2) > 0.5 pour la forme, car QGIS ne livre aucune fonction de compacité.

Une orthophoto de banlieue avec un masque rouge issu de la calculatrice raster couvrant chaque piscine, un toit métallique bleu et une bâche bleue sur un tas de bois.
La règle ci-dessus, sur une imagerie à 20 cm. Elle trouve toutes les piscines ouvertes. Elle trouve aussi un toit métallique bleu et une bâche.

Les valeurs RVB glissent avec l'angle du soleil et l'exposition, donc un seuil réglé sur une bande de vol casse sur la suivante. Teinte et saturation tiennent mieux, via le module i.rgb.his de la boîte à outils de traitements, qui « transforme des cartes raster de l'espace colorimétrique RVB (rouge-vert-bleu) vers l'espace colorimétrique TSI (teinte-intensité-saturation) ».

Aucune règle ne sait ce qu'est la chose bleue.

  • Ombre. Les pans de toit ombragés se lisent en bleu sombre. Montez le plancher et vous perdez les piscines sous les arbres.
  • Toits bleus et bâches. Vifs, bleus, souvent de la bonne forme.
  • Piscines à fond sombre et vertes. Un liner noir se lit comme de l'asphalte, les algues comme de la pelouse. Ma règle a raté les deux.
  • Piscines couvertes. Pas du tout dans l'image.
Trois extraits resserrés côte à côte : une bâche bleue sur un jardin, un pan de toit à l'ombre, et une piscine à fond sombre dans un jardin.
La bâche et l'ombre passent la règle de couleur alors qu'elles ne devraient pas. La piscine à fond sombre la rate alors qu'elle ne devrait pas. Extraits d'une imagerie à 20 cm sur Cape Coral, Floride.

Utilisez-la quand : une orthophoto homogène que vous vérifierez à la main.

Évitez-la quand : une mosaïque de plusieurs vols.

Méthode 4 : Un indice d'eau, sur une imagerie qui a les bandes

Puis vérifiez la résolution. La fédération française de la piscine donne 29 à 30 m² pour une piscine enterrée neuve, 3 000 pixels sur une orthophoto à 10 cm et un tiers de pixel sur une bande Sentinel-2 à 10 m.

L'eau absorbe le proche infrarouge presque totalement, elle devient donc noire en NIR alors qu'un toit bleu reste brillant.

  • NDWI, McFeeters 1996 : (Green - NIR) / (Green + NIR). Sur Sentinel-2, (B3 - B8) / (B3 + B8).
  • MNDWI, Xu 2006 : (Green - SWIR) / (Green + SWIR). Sur Sentinel-2, (B3 - B11) / (B3 + B11). Remplacer NIR par SWIR atténue le bâti, l'intérêt sur un lotissement.

Seuillez au-dessus de zéro, polygonisez, filtrez comme en Méthode 3. Rodríguez-Cuenca et Alonso ont réglé un Normalized Difference Swimming Pools Index pour ce travail en 2014.

Sentinel-2 livre B3 et B8 à 10 m et B11 à 20 m, donc une piscine de 30 m² ne se sépare jamais du jardin. MNDWI sur un îlot résidentiel renvoie le réservoir en lisière de ville et rien d'autre.

Deux panneaux du même quartier : une orthophoto à 20 cm avec onze piscines visibles, et le MNDWI Sentinel-2 de la même emprise, d'un gris uniforme où aucune piscine n'apparaît.
Onze piscines à gauche, aucune à droite. Même emprise, même semaine. Une piscine de 30 m² n'atteint jamais un capteur de 10 m en tant qu'objet.

Utilisez-la quand : votre orthophoto a une bande NIR à 50 cm ou plus fine. Elle bat la couleur sans débat.

Évitez-la quand : RVB trois bandes, ou Sentinel-2 et vous voulez des piscines de jardin.

Méthode 5 : Entraînez un classifieur sur votre propre imagerie

Un classifieur apprend vos pixels de piscine à partir d'exemples que vous dessinez, il survit donc à une mosaïque qui casse un seuil fixe.

Semi-Automatic Classification Plugin par Luca Congedo est le choix habituel. Créez une entrée d'entraînement (.scpx) dans le dock SCP, dessinez des ROIs, puis lancez SCP > Band processing > Classification dans la fenêtre principale. Six algorithmes, de Minimum Distance à Random Forest. La version 9.0.4 est sortie le 11 juillet 2026 mais déclare un QGIS minimum de 3.99, donc QGIS 3.x installe toujours la 8.5.0.

dzetsaka 5.0.11, par Nicolas Karasiak, est plus léger : onze classifieurs, et son Gaussian Mixture Model tourne sans scikit-learn.

Dessinez aussi une classe toit-bleu et une classe ombre. Un classifieur ne rejette que ce que vous lui avez montré.

Deux panneaux du même quartier : une orthophoto à 20 cm, et sa classification par distance minimale avec la classe piscine en cyan, où un toit gris-bleu ressort plus grand que chacune des deux vraies piscines à côté.
Une classification par distance minimale de la même orthophoto à 20 cm, avec sa classe piscine entraînée sur les 58 piscines de cette tuile. Sur l'ensemble de la tuile, 46 % des pixels qu'elle appelle piscine n'en sont pas, et il s'agit pour l'essentiel de toits gris-bleu, comme celui au centre ici.

Utilisez-la quand : plusieurs vols ou saisons, et vous réutiliserez le flux.

Évitez-la quand : une orthophoto, un passage. Les deux classent des pixels, pas des objets, vous polygonisez et filtrez donc toujours.

Les cinq méthodes côte à côte

Ce que vous avezMéthode
Une ville bien cartographiée, les piscines publiques suffisentMéthode 1, QuickOSM
Des centaines de piscines et aucune patience pour les faux positifsMéthode 2, un modèle de segmentation
Une orthophoto RVB plus fine que 30 cmMéthode 3, seuil de couleur, puis filtre
Une orthophoto avec bande NIRMéthode 4, NDWI
Sentinel-2 ou tout à 10 mAucune pour les piscines de jardin. Prenez une imagerie plus fine
Plusieurs vols, un flux à répéterMéthode 5, SCP ou dzetsaka

À retenir

La résolution décide d'abord, puis les bandes, puis la part de vérification manuelle que vous pouvez absorber.

Une piscine de 30 m² ne se sépare jamais de son jardin à 10 m, donc Sentinel-2 est le mauvais capteur pour les piscines de jardin, quel que soit l'indice.

Un seuil de couleur renvoie tout objet bleu du quartier, filtrez donc sur la surface et la compacité avant de regarder le résultat.

Une piscine couverte manque à l'imagerie, donc aucune méthode de cette page ne la trouve et aucun prix n'y change rien.

Une détection est une candidate. Quoi que vous lanciez, ouvrez les dix polygones à plus faible confiance avant que quiconque n'agisse sur la couche.

Essayez gratuitement dans QGIS, sans carte bancaire

Questions fréquentes

QGIS peut-il détecter les piscines seul ?

Pas comme fonction. Le QGIS de base vous donne le raster calculator, polygonize et les filtres vecteur, c'est la Méthode 3. Reconnaître une piscine comme objet demande un plugin.

Puis-je trouver des piscines de jardin dans l'imagerie Sentinel-2 ?

Non. Green et NIR sont des bandes à 10 m et SWIR à 20 m, donc une piscine de 30 m² fait un tiers de pixel. Utilisez une imagerie aérienne à 30 cm ou mieux.

Pourquoi les toits bleus reviennent-ils comme piscines ?

Un toit métallique peint est plus vif et plus bleu que l'eau de piscine, et une règle de couleur ne lit que la couleur. Filtrez sur surface et compacité, passez à NDWI, ou utilisez un modèle.

Est-il légal de détecter les piscines depuis l'imagerie aérienne ?

Joignez une détection à une parcelle et au nom d'un propriétaire et elle devient une donnée personnelle, qui dans l'UE exige une base légale au titre du RGPD. Une administration fiscale en a une inscrite dans la loi. Une entreprise privée généralement non, demandez donc à votre délégué à la protection des données avant la jointure, et ne laissez jamais la sortie d'un modèle être la dernière étape avant une facture.

Quelle précision attendre ?

Un seul chiffre serait faux, car il bouge avec votre imagerie et la saison. Les piscines ouvertes à 20 cm reviennent bien, les piscines couvertes sont ratées par tout ici, et les toits bleus sont ce que vous supprimez à la main.

Une détection est-elle déjà une liste de piscines sur lesquelles agir ?

L'administration fiscale française l'a fait sur photographie IGN et a quand même envoyé un courrier à chaque propriétaire. Son pilote Foncier innovant a taxé 20 356 piscines dans neuf départements pour 2022, pour 9,8 millions d'euros, et le passage national 2023 a trouvé 150 000 piscines taxables manquantes au rôle. Une détection est une candidate, et la joindre à une parcelle et à un nom en fait une donnée personnelle.

Pour l'étape de filtrage en détail, lisez détecter les emprises de bâtiments dans QGIS. Pour le nettoyage derrière tout masque, passer de raster à vecteur dans QGIS. Pour exécuter la même passe de détection puis de filtrage sur l'imagerie de toute une commune, AI Agent réalise les étapes à partir d'une seule instruction dans QGIS. Le hub QGIS AI a le reste.