QGis pour LIDAR:modèle numérique de surface (MNS) avec CloudCompare et LAStools

Dans cet article vous trouverez la définition d’un modèle numérique de surface et, pas à pas, comment créer un MNS à partir d’un nuage LIDAR non classé et classé, avec CloudCompare et LAStools.

Tutoriel Traitement des données LIDAR HD avec QGis

1- Les données LIDAR dans QGis 3.32

2- Télécharger les données LIDAR HD de l’IGN et les charger dans QGis

3-Les outils pour les données LIDAR dans QGis 3.32

4-Coloriser un nuage de points à partir d’une orthophoto avec CloudCompare

5-Coloriser un nuage de points à partir d’une orthophoto avec LAStools

6- Créer un Modèle numérique de surface (MNS) avec CloudCompare ou LAStools

Les modèles numériques d’élévation

Un Modèle Numérique d’Élévation (MNE) représente une version numérique d’un objet existant ou virtuel, ainsi que de son environnement. Cela peut englober des caractéristiques telles que les reliefs du terrain dans une région spécifique. Le MNE est un concept global qui peut couvrir non seulement l’élévation du terrain, mais aussi toutes les couches au-dessus de celui-ci, comme la végétation ou les constructions. Lorsque l’information est limitée à l’élévation du terrain, le terme Modèle Numérique de Terrain (MNT) est employé. Il fournit des données sur l’élévation de chaque point du sol. Si l’information se rapporte à la hauteur maximale au-dessus du sol dans chaque cellule, alors le MNT est désigné comme un Modèle Numérique de Surface (MNS).

Les paysages naturels sont trop complexes pour être modélisés analytiquement, ce qui signifie que les informations sont généralement basées sur des échantillons. Dans l’idéal, un modèle « authentique » inclurait également une méthode d’interpolation qui permettrait d’obtenir des valeurs d’élévation entre les échantillons, mais cette fonctionnalité n’est généralement pas accessible à l’utilisateur final. Les spécifications d’un MNE sont également définies à l’aide de données auxiliaires. Ces spécifications, qui décrivent le jeu de données, sont essentielles pour permettre aux utilisateurs d’accéder, de transmettre et d’analyser les données. Elles englobent plusieurs caractéristiques qui sont considérées comme essentielles.

Les spécifications d’un MNE comprennent généralement deux types de paramètres. D’une part, les spécifications standard relatives à l’élévation ne diffèrent pas de celles des cartes analogiques, elles englobent typiquement des paramètres géodésiques tels que l’ellipsoïde, la projection, l’origine des altitudes, ainsi que la localisation géographique, comme les coordonnées des coins. La seule exception est l’échelle, qui n’a pas de signification dans le contexte des cartes numériques. D’autre part, un MNE est un produit numérique qui requiert des spécifications pour être interprété comme une grille altimétrique. Ces spécifications englobent :

  • Le format numérique, incluant le type de données (entier, caractère, réel, etc.) et sa longueur (généralement 2 octets).
  • La signification des valeurs numériques, c’est-à-dire l’unité de mesure (mètre ou pied), et dans certains cas, les coefficients d’une loi de conversion. Par exemple, une transformation linéaire peut adapter les valeurs à un intervalle spécifique.
  • La structure de la grille, qui peut être irrégulière (comme les réseaux triangulaires irréguliers ou les courbes de niveau numérisées) ou régulière (typiquement une grille régulière avec des cellules carrées).
  • Dans le cas d’une grille régulière avec des cellules carrées, qui est la structure la plus courante, une spécification importante est la taille de la cellule, bien qu’il ne faille pas la confondre avec la résolution.

En somme, le Modèle Numérique d’Élévation est une représentation numérique de la topographie d’une zone donnée, incluant les objets en hauteur. Ses spécifications sont essentielles pour interpréter correctement les données contenues dans le modèle.

Le modèle numérique de surface (MNS)

Le « Modèle Numérique de Surface » (MNS ou en anglais Digital Surface Model – DSM) est un concept clé en Système d’Information Géographique (SIG) et en télédétection. Il représente une représentation numérique d’une surface terrestre, généralement du sol jusqu’au sommet des objets présents sur cette surface, tels que les bâtiments, les arbres, etc. Le MNS est utilisé pour décrire l’élévation ou l’altitude du terrain et des objets qui le surplombent.

Voici quelques points clés à propos du Modèle Numérique de Surface en SIG :

  1. Définition du MNS : Le MNS est un modèle mathématique tridimensionnel qui associe des valeurs d’altitude à chaque point sur une surface terrestre et sur tous les objets qui s’y trouvent, tels que les bâtiments, les arbres, les voitures, etc. Ces valeurs d’altitude peuvent être représentées par des points, des pixels ou des mailles, selon la méthode utilisée pour créer le MNS.
  2. Acquisition des données : Les données pour créer un MNS peuvent être collectées à partir de diverses sources, telles que des relevés topographiques sur le terrain, des images satellitaires ou aériennes, des données LiDAR (Light Detection and Ranging) ou d’autres techniques de télédétection. Les relevés LiDAR sont particulièrement populaires pour créer des MNS de haute résolution et précision.
  3. Utilisation du MNS : Le Modèle Numérique de Surface est utilisé dans de nombreux domaines d’application, notamment en aménagement du territoire, en cartographie, en gestion des ressources naturelles, en étude d’écologie, en planification urbaine, en gestion des inondations, en génie civil, en planification de réseaux de communication, etc. Il permet d’obtenir des informations sur les caractéristiques du terrain, la hauteur des bâtiments, les zones à risque d’inondation, la pente du terrain, etc.
  4. Différences avec le Modèle Numérique de Terrain (MNT) : Il est important de ne pas confondre le MNS avec le Modèle Numérique de Terrain (MNT). Le MNT représente uniquement la surface du terrain naturel, sans tenir compte des objets qui s’y trouvent comme les bâtiments ou les végétations. Le MNT est généralement obtenu en supprimant les éléments en hauteur, tels que les bâtiments et les arbres, du MNS.
  5. Traitement des données : La création d’un MNS peut nécessiter un traitement complexe des données pour filtrer les points inutiles, réduire le bruit, combler les lacunes et générer une représentation continue du terrain. Différentes techniques de traitement, telles que l’interpolation, le filtrage, la fusion de données multi-sources, peuvent être utilisées pour créer un MNS de haute qualité.

En résumé, le Modèle Numérique de Surface (MNS) est une représentation numérique complète d’une surface terrestre, y compris les éléments en hauteur tels que les bâtiments et les arbres. Il est largement utilisé dans les SIG pour de nombreuses applications et offre des informations précieuses sur la topographie et la morphologie du paysage.

Données classées ou données brutes?

La générations d’un MNS à partir d’un nuage de points LIDAR peut être très simple ou plus compliquée selon le type de données utilisées. Nous nous limiterons ici aux deux types de données disponibles à l’IGN: les données brutes et les données classées.

L’image suivante montre un nuage de points brut dans CloudCompare:

nuage lidar non classé dans cloudcompare

Vous pouvez observer des points au-dessus et au-dessous du terrain. C’est points c’est ce qu’on dénomme le « bruit » du nuage. Comme nous l’avons décrit dans l’introduction de l’article, la génération d’un modèle numérique de surface fait appel à un processus d’interpolation. Si pour certains traitement le bruit n’est pas un problème, dès qu’il s’agit d’interpoler des valeurs, ces points vont affecter le résultat de manière assez spectaculaire. Le résultat du MNS pour l’image précédente, sans intervenir sur ce bruit donne le résultat suivant:

calcul d'un mns sans enlever le bruit du nuage lidar en entrée

L’influence de ce bruit dépend de plusieurs facteurs (précision du MNS, paramètres d’interpolation,…) mais, si l’on peut atténuer leur influence sur le résultat, il n’en reste pas moins que la meilleure approche est de supprimer le bruit avant la génération du MNS.

Dans le cas des données classées, les points considérés comme bruit sont inclus dans la classe 65. On pourra utiliser un outil natif de QGis, LAStools ou WhiteboxTools pour réaliser le MNS. Nous verrons cela dans le prochain chapitre.

Ici nous allons traiter un nuage brut avec du bruit et nous allons utiliser CloudCompare.

Calculer un modèle numérique de surface (MNS) avec CloudCompare

L’avantage d’utiliser CloudCompare pour réaliser ce traitement est le fait de pouvoir contrôler visuellement la qualité de l’élimination du bruit.

Nous partons d’un nuage de points non classé de l’IGN:

nuage de points lidar non classé dans cloudcompare

Si on zoome on peut bien voir le bruit présent:

zoom sur le bruit du nuage en entrée du mns

Pour éliminer le bruit nous disposons de deux filtres dans CloudCompare:

Le filtre SOR

L’outil ‘SOR filter’ qui ressemble beaucoup au S.O.R. (Statistical Outlier Removal) de la bibliothèque PCL. Il calcule d’abord la distance moyenne de chaque point à ses voisins (en considérant k voisins les plus proches pour chacun – k est le premier paramètre). Ensuite, il rejette les points qui sont plus éloignés que la distance moyenne plus un certain nombre de fois l’écart type (deuxième paramètre). Vous le trouverez dans le menu->Tools->Clean->SOR filter

menu edit->clean->sor filter de cloudcompare

Et vous aurez la fenêtre permettant de rentrer les deux paramètres du filtre:

dialogue du filtre sor de cloudcompare

Le filtre Noise

L’outil ‘Noise filter’ ressemble un peu au filtre S.O.R. mais il prend en compte la distance à la surface sous-jacente au lieu de la distance aux voisins.

Cet algorithme ajuste localement un plan (autour de chaque point du nuage) puis supprime le point s’il est trop éloigné du plan ajusté. Ce filtre peut être considéré comme un filtre passe-bas.

Pour estimer la surface (plane) sous-jacente, l’utilisateur peut définir un rayon ou un nombre (constant) de voisins. L’utilisateur a également le choix entre une erreur relative (comme S.O.R.) et une erreur absolue. Les points isolés peuvent éventuellement être supprimés au cours de la même exécution.

Dans notre cas, l’utilisation du filtre SOR est beaucoup plus efficace. Le résultat obtenue est :

nuage lidar filtré avec le filtre sor de cloudcompare

Et si on zoome on peut confirmer que le bruit a été éliminé:

zoom sur le nuage sans bruit dans cloudcompare

Pour créer un MNS cliquez sur la couche nettoyée dans la liste des couches, puis sur l’outil Raster de CloudCompare

bouton rasteriser de cloud compare

Vous avez alors la fenêtre de configuration de la transformation raster.

paramétrage de la rasterisation pour le mns avec cloudcompare

Le paramètre step indique la précision de la grille en sortie. Par défaut il est de 1 mètre, mais nous allons faire un MNS avec un pas de 0,5m .

Dans Active Layer sélectionnez Cell height values

Le paramètre direction doit être mis à Z pour avoir une interpolation horizontale et le cell height vous devez sélectionner maximum.

Cliquez sur Update grid et vous verrez l’aperçu du résultat

création du modèle numérique de surface avec raster de cloudcompare

Cliquez sur le bouton « Raster » pour créer le raster MNS:

menu export du modèle numérique de surface

Donnez un nom à votre fichier MNS et le travail est terminé.

Nous pouvons maintenant charger le MNS dans QGis et voir le résultat.

Nous chargeons le nuage de points LIDAR d’origine et le raster que nous venons de créer.

Pour voir exactement comment le MNS a été calculé on va utiliser la Vue -> Profil d’élévation

résultat du modèle numérique de surfaces dans qgis->vue profil

Vous pouvez observer que le MNS a été bien calculé pour ce nuage de points.

Dans le cas de disposer d’un nuage de points classé, dans CloudCompare il faudra enlever (filtrer) les points ayant été classés comme bruit, avant de faire le raster MNS.

nuage de points classés en, entrée du mns dans qgis

Dans cet exemple nous avons les classes 64,64 et 202 qui comprennent le bruit ainsi que des points qui n’ont pas d’intérêt pour le MNS.

Dans CloudCompare, assurez vous que vous avez, dans Scalar Fields, activé la Classification.

scalar fields->active=classification dans cloudcompare

Nous appliquons un filtre à la couche d’origine, avec le menu Edit -> Scalar fields -> Filter by value

filtrage du bruit dans cloudcompare

Vous aurez une fenêtre qui permet de fixer une étendue de classes à exporter, exporter étant entendu ici comme créer une nouvelle couche.

sélection des classes à garder pour le mns dans cloudcompare

Vous aurez dans range 1 à 202, dans notre exemple, puisque ce sont les valeurs des classes présentes dans le nuage. On change la valeur max par 20 (la classe la plus forte est 17: tablier de pont), et on exécute

Nous avons alors un nouveau nuage de points sur lequel nous n’avons plus de bruits ni d’artefacts et qui peut être utilisé comme nous l’avons vu plus haut pour créer le raster du MNS.

résultat du filtrage dans cloudcompare

Calculer un modèle numérique de surface (MNS) avec LAStools

Pour réaliser le MNS avec LAStools nous allons utiliser deux outils:

  • le premier LASnoise va nous permettre de classer les points du bruit dans une classe particulière (classe 7)
  • le deuxième las2dem va nous permettre de générer un raster avec les hauteurs des points, où nous aurons exclu la classe 7.

LASnoise

La fenêtre de paramétrage de l’outil LASnoise est la suivante:

filtrage du bruit d'un nuage lidar non classé avec lasnoise

Nous laissons les valeurs par défaut, en particulier classify as avec la valeur 7.

Une fois exécutée la commande, nous pouvons ouvrir le dialogue de l’outil las2dem.

LAS2dem

Cet outil permet d’interpoler un nuage de points, en utilisant le Z des points. Dans l’exemple que nous sommes en train de suivre, avec un nuage de points LIDAR non classé, nous avons classé le bruit dans la classe 7. Nous demanderons à LAS2dem d’ignorer ces points.

Dans le cas d’un nuage de points classés, nous utiliserons directement LAS2dem sur le nuage classé, en demandant d’ignorer la classe 65.

création du mns avec las2dem de qgis

Dans le menu déroulant filter(by return,classification,flags), sélectionnez drop_class 7. Ceci fera que les points du bruit ne seront pas pris en compte pour l’interpolation du MNS.

Dans step size/pixel size définissez la taille du pixel du MNS, puis exécutez la commande.

A titre de comparaison, le MNS généré par CloudCompare a nécessité moins d’une minute de calcul…

Le résultat peut alors être chargé dans la fenêtre de QGis. Nous pouvons alors comparer le résultat avec le nuage de points original ainsi qu’avec le MNS calculé avec CloudCompare.

En rouge vous avez le MNS calculé par LAS2dem et en bleu celui calculé avec CloudCompare. Le premier apparaît plus fin, mais c’est selon l’utilisation qui sera faite qu’il faudra évaluer si cette finesse vaut les temps de calcul qu’elle nécessite.

Si cet article vous a intéressé et que vous pensez qu'il pourrait bénéficier à d'autres personnes, n'hésitez pas à le partager sur vos réseaux sociaux en utilisant les boutons ci-dessous. Votre partage est apprécié !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *