Aller au contenu
AI Segmentation
QGIS
Tutoriel

Détection de panneaux solaires dans QGIS : 5 méthodes

Publié le Mis à jour le

Trois vues des mêmes toits de banlieue : image aérienne simple, les mêmes toits avec les générateurs solaires OpenStreetMap en contours épars, puis les mêmes toits avec chaque champ détecté comme son propre polygone.

Pour cartographier le solaire en toiture dans QGIS, commencez par ce que quelqu'un a déjà cartographié. Ouvrez Vecteur > QuickOSM > QuickOSM…, mettez generator:source dans la case clé et solar dans la case valeur, lancez sur votre zone. OpenStreetMap compte 6 143 024 objets avec ce tag, relevé au 3 septembre 2026, donc dans une ville bien cartographiée vous avez fini en deux minutes. Où la couverture est clairsemée, vous détectez les champs vous-même, et la méthode dépend de vos bandes et de votre taille de pixel.

Votre entréeMéthodeCoût
Une zone qu'OpenStreetMap couvre déjà bienMéthode 1, QuickOSMGratuit
Tout raster affiché par le canevas, sur toute machineMéthode 2, un modèle de segmentation cloud1,5 km² par mois gratuits, puis 39 €
Imagerie multispectrale avec bande proche infrarougeMéthode 3, Raster > Calculatrice raster…Gratuit, QGIS de base
Quatre bandes ou plus, et du temps pour dessiner des zones d'entraînementMéthode 4, Semi-Automatic Classification Pluginplugin gratuit
Une orthophoto RVB vers 20 cm, et un GPU ou de la patienceMéthode 5, Deepness plus son modèle Solar PVGratuit

Prix, versions de plugin et comptes de tags relevés au 3 septembre 2026.

Méthode 1 : prendre ce qui est déjà cartographié

QGIS a abandonné son propre téléchargeur OSM en 3.0 et renvoie vers QuickOSM, donc installez-le d'abord.

Interroger les générateurs

Vecteur > QuickOSM > QuickOSM…, clé generator:source, valeur solar, lancez sur votre emprise ou une zone nommée. Les champs en toiture portent power=generator et souvent generator:method=photovoltaic.

Interroger les centrales séparément

Les fermes au sol sont taguées power=plant avec plant:source=solar, une requête différente. Oubliez-la et chaque ferme manque dans votre couche.

Consulter le registre pour les kilowatts

Le Marktstammdatenregister allemand est diffusé chaque jour en XML, mais masque les coordonnées pour toute unité à 30 kW ou moins, donc une toiture tombe sur un code postal. Le registre français s'arrête à la zone IRIS et regroupe tout ce qui est sous 36 kW en lignes agrégées.

La boîte de dialogue QuickOSM dans QGIS avec la clé generator:source et la valeur solar, et les polygones de générateurs solaires obtenus, tracés sur l'imagerie aérienne d'une petite ville.
Une requête QuickOSM, clé generator:source, valeur solar. Là où un mappeur local est déjà passé, c'est tout le travail.

Trois jeux de données ouverts servent de données d'entraînement ou de référence. Bradbury et al., 19 863 polygones PV annotés sur quatre villes californiennes à 30 cm, CC0. BDAPPV, 28 807 installations françaises avec masques, CC BY 4.0. DeepSolar a compté 1,47 million de systèmes dans les États-Unis contigus, mais a publié des comptages par secteur de recensement, pas des polygones.

À utiliser quand : quelqu'un a cartographié votre zone, ou quand il vous faut la puissance plutôt que les formes.

À éviter quand : la couverture est lacunaire, ce que vous ne découvrez qu'en regardant.

Méthode 2 : un modèle de segmentation cloud

Un modèle de segmentation a appris à quoi ressemble un champ, donc il le sépare d'un toit sombre là où les Méthodes 3 et 4 ne le peuvent pas. Nous construisons l'un d'eux, AI Segmentation. Cette section parle de notre propre outil.

Dessinez une zone sur tout raster affiché par le canevas, tapez solar panel, et chaque champ revient comme un polygone dans le SCR du projet avec une surface et un score de confiance. Le modèle tourne sur nos serveurs en Europe, donc ni carte graphique ni environnement Python.

Un toit de bâtiment agricole sur imagerie aérienne dans QGIS, avec cinq groupes de panneaux solaires distincts, chacun cerné par son propre polygone coloré, et le toit nu entre eux laissé intact.
Une exécution sur un toit de ferme. Cinq groupes de panneaux, chacun son propre polygone, le toit nu entre eux laissé de côté.

Entre le 5 juillet et le 1er septembre 2026, 47 personnes hors de notre équipe ont lancé solar panel 104 fois, et 15,6 % des tuiles sont revenues vides. Sur 96 exécutions exportées, le modèle a trouvé 40 088 candidats et elles ont gardé 14 245, soit 35,5 %, couvrant 496 931 m² de panneaux.

Tapez solar panel, pas solar farm. Le second demande l'installation, et le modèle répond par une surface uniforme ou rien. Sur les quelques exécutions que nous avons, il a laissé 21 tuiles sur 24 vides.

Idéal pour : les champs en toiture sur un quartier, sur toute machine.

Pas pour : un comptage de modules. Un champ dense revient comme une surface, donc divisez-le dans QGIS ou divisez par l'emprise de module que vous connaissez. Un module résidentiel fait environ 1,7 m sur 1,1 m.

Prix : gratuit pour 1,5 km² par mois, sans carte bancaire. Pro à 39 € par mois hors TVA. Essayez Pro gratuitement pendant 7 jours : ajoutez une carte bancaire, annulez avant la fin et rien n'est facturé.

Tourne sur : nos serveurs, en Europe.

Installation : Extensions > Installer/Gérer les extensions, QGIS 3.22 ou ultérieur, puis connectez-vous depuis le panneau.

Méthode 3 : seuillage dans la calculatrice raster

Travaillez en SCR projeté, car deux étapes ci-dessous prennent une surface en unités de la couche.

Quatre extraits d'imagerie aérienne côte à côte, légendés : un champ photovoltaïque en toiture, un toit d'entrepôt couvert d'une grille de puits de lumière carrés, un toit de serre, et des rangées de capteurs solaires thermiques dans un champ.
Quatre extraits, chacun de 90 m de large. Seul le premier produit de l'électricité. Les trois premiers sont à Freiburg, le dernier est la centrale de chauffage urbain de Braedstrup au Danemark.

Raster > Calculatrice raster…, identifiant d'algorithme native:rastercalc. Les panneaux sont sombres, et dans le proche infrarouge bien plus sombres qu'un toit sombre, donc un indice normalisé entre les bandes rouge et NIR les sépare sur la plupart des scènes. Puis gdal:sieve supprime les pixels isolés et gdal:polygonize fabrique des polygones.

Sur trois bandes RVB cela échoue, car un toit sombre et un panneau partagent leurs valeurs. La texture est la parade habituelle. grass:r.texture calcule treize mesures GLCM, et les champs scorent haut en contraste et bas en moment des différences inverses. GRASS est livré avec l'installeur Windows et pas avec le paquet macOS.

À utiliser quand : vous avez une bande proche infrarouge et une scène propre.

À éviter quand : l'imagerie est RVB, ou les seuils doivent tenir sur une mosaïque prise à des jours différents.

Méthode 4 : classification supervisée avec SCP

Le Semi-Automatic Classification Plugin ajoute un menu SCP et un SCP Dock. Construisez un Band set, dessinez des ROIs sur les panneaux et sur chaque sosie, puis classifiez avec Maximum Likelihood, Minimum Distance, Spectral Angle Mapping, Random Forest, Support Vector Machine ou Multi-layer Perceptron. La version 8.5.0 est celle que QGIS 3.x installe, GPL v3, téléchargée 2 644 482 fois.

Sa propre FAQ exclut l'entrée que la plupart ont. « Vous ne pouvez pas utiliser d'orthophotos de moins de 4 bandes », car sous quatre les algorithmes ne peuvent pas séparer les classes.

À utiliser quand : vous avez quatre bandes ou plus et voulez une classification répétable et documentée.

À éviter quand : votre entrée est une orthophoto RVB ou un fond de carte.

Méthode 5 : un modèle local dans Deepness

La résolution au sol décide de tout. Bradbury et al. ont construit leur jeu de données PV de référence à 30 cm parce que « les panneaux solaires font typiquement entre 1 et 2 mètres de long », ce qui met plusieurs pixels sur chacun. Cela résout le champ, pas les modules dedans. Clark et Pacifici ont trouvé les panneaux individuels « difficiles à distinguer même à 15,5 cm de résolution ». Les travaux publiés sur le PV en toiture se situent entre 10 cm et 31 cm. Sentinel-2 à 10 m, c'est pour les fermes, jamais les toits.

Deepness exécute des modèles ONNX dans QGIS, gratuit et Apache 2.0, et son model zoo livre un modèle Solar PV Segmentation à 20 cm/px entraîné par Kleebauer et al. et hébergé par Fraunhofer. Pointez-le vers votre orthophoto et vous obtenez un masque de panneaux, sans compte, rien ne quitte votre machine.

La vitesse est le hic. Un utilisateur a mesuré ce même modèle à « plus de 80 minutes pour une dalle d'orthophoto numérique (résolution de 20 cm, 5 000 points dans chaque direction) » sur CPU, et l'issue est toujours ouverte. Au-delà de celui-ci, il n'existe pas de modèle ouvert bien maintenu pour le PV en toiture.

À utiliser quand : rien ne doit quitter la machine, et votre ortho est proche de 20 cm.

À éviter quand : vous n'avez pas de carte NVIDIA et un quartier à couvrir.

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

QuickOSMAI SegmentationCalculatrice rasterSCPDeepness
Bandes requisesAucuneTroisNIR aideQuatre ou plusTrois
L'imagerie reste localeOuiNonOuiOuiOui
GPUNonNonNonNonRecommandé
Sortiepolygones OSMPolygone par champmasque rasterraster de classemasque de panneaux
CoûtGratuitPalier gratuit, puis 39 €GratuitGratuitGratuit

À retenir

Interrogez OpenStreetMap avant tout, car une ville cartographiée est finie en deux minutes et aucune détection ne bat un mappeur passé sur place.

Si l'imagerie ne doit pas quitter la machine, Deepness et son modèle Solar PV local gardent tout sur votre machine.

Sur un fond de carte RVB, la calculatrice raster et SCP sont exclus, car aucun ne sépare un panneau d'un toit sombre par la seule valeur.

Vers 30 cm on résout un champ et rien ne résout les modules dedans, donc cartographiez des surfaces et ne comptez jamais les panneaux depuis l'imagerie.

Les kilowatts viennent d'un registre d'exploitant, jamais d'une image, et les registres français comme allemand floutent la localisation des petites unités en toiture.

Essayez gratuitement dans QGIS, sans carte bancaire

Questions fréquentes

QGIS peut-il détecter les panneaux solaires seul ?

Non. Le QGIS de base a le seuillage et la polygonisation, qui exigent une différence spectrale, donc un fond de carte RVB ne donne rien. La détection vient d'un plugin, Deepness en local ou le nôtre dans le cloud.

Quelle résolution d'imagerie faut-il ?

Vers 30 cm on résout un champ, d'après Bradbury et al. Les modules individuels sont durs même à 15,5 cm, donc prévoyez de cartographier champs et surfaces plutôt que de compter les panneaux.

Comment distinguer un panneau solaire d'un toit sombre ?

Impossible, sur trois bandes, par la seule valeur. Utilisez une bande proche infrarouge, une mesure de texture comme grass:r.texture, ou un modèle qui a appris à quoi ressemble un champ.

Trouve-t-il aussi les fermes solaires au sol ?

Oui, et dans OpenStreetMap c'est une requête à part, power=plant avec plant:source=solar. Avec un modèle, tapez solar panel aussi pour la ferme, car il détecte chaque panneau plutôt que le site.

Peut-on compter combien de panneaux sont installés ?

Pas depuis l'imagerie. La détection donne contours et surface. Le nombre de modules et les kilowatts viennent d'un registre, et en France cela s'arrête à la zone IRIS.

Le guide des emprises de bâtiments détaille l'étape de filtrage en entier, et l'article SAM dans QGIS couvre quels objets ces modèles trouvent bien. Pour lancer la détection et le calcul de surface en une seule instruction plutôt que de dérouler le plugin à la main, AI Agent le fait dans le même projet QGIS. Le hub IA QGIS compare les plugins, et la page produit est AI Segmentation.