Aller au contenu
Retour au blog
AI Segmentation
QGIS
Tutoriel

Canopée QGIS : 6 méthodes gratuites et payantes

Trois vues du même parc : image aérienne simple, raster NDVI avec végétation en rouge, et chaque couronne d'arbre en polygone coloré.

Pour cartographier la canopée en à partir d'une imagerie multispectrale, construisez le NDVI dans Raster > Raster Calculator…, seuillez-le avec Reclassify by table, puis lancez Raster > Conversion > Polygonize (raster to vector). Vous obtenez un couvert, pas des arbres isolés. Cinq autres méthodes couvrent le LiDAR, les données ouvertes, et le cas où il faut un polygone par couronne.

Là où le web se trompe

Trois réponses reviennent dans les tutoriels et les forums, et chacune fait perdre un après-midi.

« Seuiller le NDVI et vous avez vos arbres. » Le NDVI sépare le vert du non-vert. Une pelouse, un champ de blé et un chêne sont tous verts, donc tous trois tombent dans la même classe. Le NDVI donne un couvert végétal, et l'appeler canopée est un choix à justifier.

« Lancez le modèle de hauteur de canopée directement depuis le fichier LAS. » La surface du sol vient des points classés comme sol, et QGIS 3.44 n'a aucun algorithme qui les classe. Sur un nuage non classé, le filtre ne renvoie rien et le terrain ressort plat.

« Installez le Semi-Automatic Classification Plugin, dernière version. » La version 9.0.4 exige QGIS 3.99, la branche QGIS 4. Sur QGIS 3.44 le gestionnaire vous sert la 8.5.0 de novembre 2024, alors vérifiez celle que vous avez vraiment avant d'accuser vos échantillons.

La réponse courte

Ce que vous avezMéthodeCoût
Imagerie multispectrale avec bande proche infrarougeMéthode 1, NDVI puis polygonisationGratuit, QGIS de base
LiDAR, ou un DSM et un DTMMéthode 2, modèle de hauteur de canopéeGratuit, QGIS de base
Imagerie et plusieurs classes à séparerMéthode 3, classification superviséeGratuit, un plugin
Une zone large, et la date de l'an dernier convientMéthode 4, un jeu de données ouvert de canopéeTéléchargement gratuit
Imagerie RVB et carte NVIDIAMéthode 5, un modèle de segmentation localGratuit, et un modèle à trouver
Imagerie RVB, pas de carte, et vous voulez des couronnesMéthode 6, un modèle de segmentation cloudOffre gratuite, puis abonnement

Avant de commencer

Travaillez en CRS projeté. Chaque méthode ici finit en surface, et une surface en degrés ne vaut rien.

Décidez s'il vous faut un couvert ou des couronnes. Le couvert est une surface et un pourcentage en découle. Les couronnes sont des objets comptables, ce qu'exige un inventaire de voirie ou de parc.

Méthode 1 : seuil NDVI

Le NDVI sépare la végétation verte des toits, routes et eau. Ouvrez Raster > Raster Calculator… et saisissez ("nir@1" - "red@1") / ("nir@1" + "red@1").

An NDVI raster over a French village in QGIS, vegetation bright and roofs dark, with the layer histogram beside it showing two peaks.
NDVI from a Sentinel-2 scene. The histogram has two peaks and the valley between them is your threshold. There is no universal number, so read your own scene.

Lancez ensuite Reclassify by table (native:reclassifybytable, Processing Toolbox, Raster analysis), une ligne au-dessus du seuil et une en dessous, avec le type de données de sortie réglé sur Byte. Polygonisez le résultat.

Utilisez quand : l'imagerie porte une bande proche infrarouge et vous voulez un couvert.

Évitez quand : les arbres doivent être distingués de la pelouse ou des cultures. Le NDVI ne le peut pas, car les trois sont verts.

Méthode 2 : modèle de hauteur de canopée issu du LiDAR

La hauteur est le seul signal qui sépare vraiment un arbre d'une pelouse, et QGIS construit les deux surfaces directement depuis un fichier LAS ou LAZ avec Export to raster (pdal:exportraster, Point Cloud Conversion). Réglez Attribute sur Z. Pour le terrain, ajoutez l'expression de filtre Classification == 2, soit Ground dans les classes ASPRS utilisées par QGIS. Pour la surface, filtrez sur ReturnNumber == 1.

A canopy height model in QGIS coloured from green at ground level to dark red at 25 metres, tree crowns standing out over flat grey ground.
DSM minus DTM over a park. Crowns stand out because they are tall, not because they are green, so lawns and gardens drop out on their own.

Soustrayez l'un de l'autre dans Raster > Raster Calculator… avec "dsm@1" - "dtm@1", ou dans grass:r.mapcalc.simple sur de grandes dalles. Reclassez à la hauteur que votre cahier des charges appelle canopée, puis polygonisez. La sortie porte une hauteur par pixel, ce que rien d'autre sur cette page ne donne.

Utilisez quand : vous avez du LiDAR, ou une paire nationale DSM et DTM.

Évitez quand : vos points ne sont pas classés. QGIS 3.44 n'a aucun algorithme de classification du sol, donc les points non classés passent d'abord par PDAL en dehors de QGIS.

Méthode 3 : classification supervisée

Dessinez des polygones d'entraînement pour arbre, herbe, toit et route, puis laissez un classifieur étiqueter chaque pixel et polygonisez la classe arbre. dzetsaka est celui que j'installerais aujourd'hui. Il est GPL, version 5.0.11, tourne sur QGIS 3.0 à 4.99, et livre onze classifieurs dont Random Forest et SVM.

Le Semi-Automatic Classification Plugin est plus connu et gère aussi les jeux de bandes et le prétraitement, mais vérifiez d'abord la version. La version 9.0.4 exige QGIS 3.99, la branche QGIS 4. Sur QGIS 3.44 vous obtenez la 8.5.0, de novembre 2024.

Utilisez quand : la canopée est une classe parmi plusieurs à tirer de la même scène.

Évitez quand : vous ne voulez que les arbres. Les échantillons d'entraînement coûtent plus de temps que la Méthode 1.

Méthode 4 : un jeu de données ouvert de canopée

Quelqu'un a peut-être déjà cartographié votre zone.

Copernicus Tree Cover Density loaded in QGIS over a European city, shaded from pale to dark green by percentage of tree cover.
Copernicus Tree Cover Density streamed into QGIS as a WMTS layer. Free, finished, and the wrong tool the moment you need this year's imagery.

Quatre à connaître. La carte de hauteur de canopée Meta et WRI est mondiale, version 2 depuis mars 2026, pixels de 1,2 m et erreur absolue moyenne de 3,0 m contre LiDAR aéroporté. La carte de l'ETH Zurich est à 10 m pour 2020, issue de Sentinel-2 et GEDI, CC BY 4.0.

Les deux autres sont régionales ou historiques. Le layer Copernicus Tree Cover Density couvre l'Europe à 10 m, chaque année de 2018 à 2024, et son téléchargement exige un EU Login. Hansen Global Forest Change est à 30 m et démarre en 2000, donc c'est celui pour le changement dans le temps.

Les villes publient les leurs. Paris sert 219 432 arbres en points, Melbourne 57 980 polygones de canopée pour 2021, les deux en URL GeoJSON à coller dans QGIS.

Les quatre rasters mondiaux répondent aux requêtes de plage, donc lisez une tuile en streaming avec /vsicurl/ plutôt que de la télécharger. Copernicus sert du WMTS sur https://land.copernicus.eu/cdse/tcd_europe_10m_yearly, où vous réglez l'année à la main. Il annonce chaque date depuis 1984 et presque aucune ne porte de données.

Utilisez quand : la zone est large et la date d'acquisition n'a pas besoin d'être la vôtre.

Évitez quand : vous avez survolé le site le mois dernier, ou il vous faut des couronnes. La plupart sont des rasters de pourcentage, pas des objets comptables.

Méthode 5 : un modèle de segmentation local

Deepness, Geo-SAM et samgeo font tourner des modèles de segmentation sur votre propre machine. Rien n'en sort et rien n'est facturé.

Utilisez quand : l'imagerie ne peut pas quitter votre machine.

Évitez quand : vous n'avez pas de carte NVIDIA, ni l'envie de chercher un modèle, demander des poids et monter un environnement Python.

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

Un modèle de segmentation a appris à quoi ressemble une couronne, donc il divise un peuplement en objets comptables là où un seuil renvoie une nappe unique. Nous construisons l'un d'eux, AI Segmentation. Cette section parle de notre propre outil.

Dessinez une zone sur l'imagerie déjà ouverte dans QGIS et tapez un mot. Les polygones arrivent dans le CRS de votre projet avec une surface et un score de confiance chacun. Tapez tree pour un polygone par couronne, tree canopy pour le couvert en surface.

A Dutch village from the air where every tree crown, in gardens and along the streets, is filled with its own colour as a separate polygon.
893 crowns from one run over a Dutch village, each its own polygon. Counted off the layer, not estimated.

Idéal pour : un polygone par couronne sur imagerie RVB, sur une machine sans GPU.

Prix : gratuit pour 3 km² de terrain par mois plus 50 objets Semi-Auto cloud, sans carte. Pro à 39 euros par mois hors TVA pour 200 km² et 500 objets.

Fonctionne sur : QGIS 3.22 et ultérieur, Windows, macOS ou Linux. Le modèle tourne sur nos serveurs dans l'Union européenne.

Installation : plugin manager, puis un e-mail pour se connecter. Ni paquets, ni poids.

Où il gagne : le mot simple mesure bien. Sur 90 jours de runs réels, tree est revenu vide sur 10,5 pour cent des tuiles, contre 47,3 pour cent pour orchard sur 716 tuiles, donc le plugin ramène le second mot vers le premier avant que vous dépensiez quoi que ce soit.

Où il perd : un peuplement fermé n'a pas de bords de couronne à trouver, donc un run tree renvoie une nappe unique plutôt qu'un polygone par tige. Utilisez tree canopy là-bas et acceptez le couvert. Les deux modes cloud envoient l'imagerie sur nos serveurs, et seul Semi-Auto sur votre propre machine ne le fait pas.

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

Ce qu'il vous fautMéthode
Couvert depuis votre propre imagerie multispectraleMéthode 1
Hauteur de canopée, ou arbres séparés de l'herbeMéthode 2
Canopée comme une classe parmi plusieursMéthode 3
Une zone large, vite, pour rienMéthode 4
Couronnes, sans rien qui quitte la machineMéthode 5
Couronnes, sur imagerie RVB, sans GPUMéthode 6

À retenir

Choisissez entre couvert et couronnes avant de choisir une méthode, car c'est une question de livrable et non d'imagerie.

La hauteur bat la couleur dès que vous pouvez l'obtenir, donc un modèle de hauteur de canopée LiDAR gagne partout où le LiDAR existe.

Le NDVI lit une pelouse, une culture et un chêne comme la même chose, donc un seuil seul ne donne jamais des arbres.

Un peuplement fermé n'a pas de bords de couronne à trouver, donc chaque méthode de cette page y renvoie du couvert et aucune un comptage de tiges.

Pour un pourcentage de couvert à l'échelle de l'Europe, le layer Copernicus est gratuit et déjà fini, donc lancer un modèle sur cette zone paie deux fois pour la même réponse.

Try it free in QGIS, no card needed

Questions fréquentes

QGIS peut-il cartographier la canopée sans plugin ?

Oui, via les Méthodes 1, 2 et 4, soit le QGIS de base plus un téléchargement. Vous obtenez du couvert en polygones, jamais des couronnes isolées.

Un polygone par arbre, ou un seul pour toute la canopée ?

Seuiller le NDVI ou un modèle de hauteur donne du couvert. Seul un modèle de segmentation divise un peuplement en couronnes comptables, et dans la Méthode 6 le mot que vous tapez décide lequel des deux vous obtenez.

Comment obtenir un pourcentage de couvert de canopée ?

Chaque polygone porte sa propre surface, alors sommez la colonne de surface et divisez par la zone mesurée. C'est un seul calcul de champ, sur une géométrie que vous pouvez ouvrir et vérifier.

Le plus précis, NDVI ou modèle de hauteur LiDAR ?

Le modèle de hauteur, et de loin. Le NDVI lit une pelouse et un chêne comme la même chose, tandis qu'un modèle de hauteur de canopée les sépare de plusieurs mètres.

Tout cela est-il gratuit ?

Les Méthodes 1 à 5 ne coûtent rien au-delà de vos propres données, et une carte graphique pour la Méthode 5. La Méthode 6 donne 3 km² par mois gratuits, puis 39 euros par mois hors TVA.

Le raster to vector guide détaille les étapes de polygonisation et de nettoyage sur lesquelles chaque méthode ici se termine, et le SAM in QGIS post compare les plugins qui font tourner des modèles de segmentation. Le QGIS AI hub se situe au-dessus des deux.