Détecter piscines dans QGIS : 5 méthodes

Pour détecter les piscines dans
, vérifiez d'abord OpenStreetMap : Vector > QuickOSM > QuickOSM…, clé leisure, valeur swimming_pool. Là où la carte est incomplète, seuillez le bleu dans le raster calculator ou lancez un modèle de segmentation. La résolution sol décide.
Où le web se trompe
Trois réponses reviennent sur les forums et dans les tutoriels, et chacune vous coûte une journée.
« Lancez NDWI sur Sentinel-2 et comptez les piscines. » Green et NIR sont à 10 m et SWIR à 20 m, alors qu'une piscine enterrée neuve fait 29 à 30 m². Soit un tiers de pixel. MNDWI sur un lotissement renvoie le réservoir en lisière de ville et rien dans les jardins.
« Seuiller le bleu suffit à avoir vos piscines. » Une règle de couleur lit la couleur et rien d'autre. Un toit métallique bleu et une bâche sur un tas de bois la passent, une piscine à liner sombre et une piscine verte d'algues la ratent, et une piscine couverte n'est pas du tout dans l'image.
« La détection, c'est la liste. » L'administration fiscale française l'a fait sur photographie IGN et a quand même envoyé un courrier à chaque propriétaire. Une détection est une candidate, et la joindre à une parcelle et à un nom en fait une donnée personnelle.
La réponse courte
| Votre donnée | Méthode | Coût |
|---|---|---|
| Zone avec mappeurs OSM actifs | Méthode 1, QuickOSM sur leisure=swimming_pool | Gratuit, une requête |
| Orthophoto RVB de 5 à 30 cm | Méthode 2, seuil de bleu dans le raster calculator | Gratuit, dans QGIS de base |
| Imagerie avec bande proche infrarouge ou SWIR | Méthode 3, un indice d'eau, puis un seuil | Gratuit, aveugle aux piscines de jardin sur satellite |
| Imagerie multispectrale et un après-midi | Méthode 4, SCP ou dzetsaka | plugins gratuits, votre temps à dessiner les zones d'entraînement |
| Orthophoto RVB et des centaines de piscines | Méthode 5, un modèle de segmentation | plugins gratuits demandent votre propre modèle ou un GPU. Les plugins cloud ont des offres gratuites, puis un abonnement |
Comment j'ai comparé
Cinq critères : donnée d'entrée, si l'imagerie quitte votre machine, part du résultat vérifiée à la main, coût, effort d'installation. Chaque version, prix et menu path a été vérifié le 3 septembre 2026 dans le manuel QGIS 3.44 et la doc de chaque outil. J'ai testé les méthodes gratuites sur une orthophoto pavillonnaire française et une scène Sentinel-2 du même îlot.
Nous construisons l'une des cinq, c'est la Méthode 5. 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.
Avant de commencer
Travaillez en CRS projeté, car trois étapes plus bas filtrent sur la surface en unités du layer. 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'administration fiscale française tourne sur photographie aérienne IGN. 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. Chacune est quand même passée par un courrier au propriétaire.
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.
Open QuickOSM and query
Vector > QuickOSM > QuickOSM…, qui interroge l'Overpass API. Clé leisure, valeur swimming_pool, sur l'emprise du canevas ou une zone administrative nommée.
Keep polygons, filter to gardens
Une piscine cartographiée en node n'a pas de surface, prenez donc le polygon layer. 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.

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 : Seuiller le bleu dans le raster calculator
Le plus proche du QGIS de base. Ouvrez Raster > Raster Calculator…, 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 > Polygonize (Raster to Vector), 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é.

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 Processing Toolbox i.rgb.his, qui "transforms raster maps from RGB (Red-Green-Blue) color space to HIS (Hue-Intensity-Saturation) color space".
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.

Utilisez-la quand : une orthophoto homogène que vous vérifierez à la main.
Évitez-la quand : une mosaïque de plusieurs vols.
Méthode 3 : Un indice d'eau, sur une imagerie qui a les bandes
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 2. 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.

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 4 : 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é.

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.
Méthode 5 : 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.
Install and sign in
Plugin manager, QGIS 3.22 ou plus récent. Pas de GPU, pas de poids de modèle. Un compte, une allocation gratuite, puis 39 euros par mois hors TVA.
Draw a zone, type the word, filter
Tapez swimming pool et lancez. Les polygones reviennent dans le CRS 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. Un run piscine 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.

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.

Quatre autres font ce travail, vérifiés le 3 septembre 2026.
| Outil | Ce que vous installez | GPU | Compte | L'imagerie quitte votre machine | Support piscine | Coût |
|---|---|---|---|---|---|---|
| Deepness | Plugin manager, ses packages Python, un modèle ONNX | Optionnel, CPU suffit | Non | Non | Le modèle que vous fournissez | Gratuit |
| Geo-SAM | Plugin manager, dépendances, poids de modèle | Optionnel | Non | Non | Un objet par clic ou boîte | Gratuit |
| samgeo | Un package Python, pas de panneau QGIS | Recommandé | Non | Non | Scriptable, pas de classe piscine | Gratuit |
| Mapflow | Plugin manager | Non | Oui | Oui | Un modèle Swimming pools, sur demande | Crédits, payant |
| AI Segmentation (le nôtre) | Plugin manager | Non | Oui | Oui dans les deux modes cloud, non pour le modèle local | Tapez swimming pool | Allocation gratuite, puis 39 euros 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.
Les cinq méthodes côte à côte
| Ce que vous avez | Méthode |
|---|---|
| Une ville bien cartographiée, les piscines publiques suffisent | Méthode 1, QuickOSM |
| Une orthophoto RVB plus fine que 30 cm | Méthode 2, seuil de couleur, puis filtre |
| Une orthophoto avec bande NIR | Méthode 3, NDWI |
| Sentinel-2 ou tout à 10 m | Aucune pour les piscines de jardin. Prenez une imagerie plus fine |
| Plusieurs vols, un flux à répéter | Méthode 4, SCP ou dzetsaka |
| Des centaines de piscines et aucune patience pour les faux positifs | Méthode 5, un modèle de segmentation |
À 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 le layer.
Try it free in QGIS, no card needed
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 2. 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 sous GDPR. 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.
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. Le hub QGIS AI a le reste.
À lire ensuiteAI Segmentation dans QGIS : guide complet


