Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exemple de lecture de fichier de lidar pour visualisation et classification de paysage en python #1273

Open
2 of 3 tasks
benoitFavre opened this issue Feb 24, 2025 · 7 comments
Assignees
Labels
contribution externe Contenus proposés par des personnes n'ayant pas de droits en écriture sur le dépôt GitHub

Comments

@benoitFavre
Copy link

benoitFavre commented Feb 24, 2025

Avez-vous un lien avec le contenu proposé ?

  • Oui et je détaille dans quelle mesure dans la partie commentaire libre
  • Non

Votre nom

Benoît

Votre adresse email

[email protected]

Licence

  • J'accepte

Compte LinkedIn

www.linkedin.com/in/benoit-favre

Compte Mastodon

No response

Compte Twitter

No response

Section / catégorie

Divers

Mots-clés

Lidar, classification, python, opensource

Titre de la news

Exemple de lecture de fichier de lidar pour visualisation et classification de paysage en python

Icône de la news

https://cdn.geotribu.fr/img/internal/icons-rdp-news/news.png

Contenu de la news

Le LiDAR (Light Detection And Ranging) est une technologie de télédétection active qui permet de cartographier en 3D le sol et le sursol. En France, l’IGN diffuse en open data des nuages de points LiDAR HD couvrant tout le territoire via la plateforme diffusion-lidarhd.ign.fr. Ces nuages de points sont généralement fournis au format LAS/LAZ et contiennent des millions de points 3D classifiés (sol, végétation, bâtiments, etc.).

Dans ce tutoriel, nous allons expliquer comment traiter un fichier LiDAR issu de l’IGN avec des outils open-source en Python. L’objectif est de télécharger des données brutes, de les préparer, puis d’extraire des indicateurs permettant de caractériser le paysage (de façon simple, sans prétention scientifique). Enfin, nous verrons comment visualiser les résultats pour interpréter ces indicateurs.

Au programme : téléchargement d’une dalle LiDAR, lecture du nuage de points, calcul d’indices (densité de bâtiments, végétation, rugosité du sol, etc.) et attribution d’un score de paysage par petite zone (par exemple « urbain », « forêt », « champs »…), puis affichage des zones classées sur une carte. Ce tutoriel s’adresse aux débutants curieux de manipuler des données LiDAR HD en open-source.

Notebook complet sur google colab (WIP) : https://colab.research.google.com/drive/1iL6OgkMYfM8BRwjzufpBdNz7XdmvrwMv

@benoitFavre benoitFavre added contribution externe Contenus proposés par des personnes n'ayant pas de droits en écriture sur le dépôt GitHub rdp Revues de presse triage Tickets à trier et qualifier labels Feb 24, 2025
Copy link
Contributor

Merci pour cette proposition de news @benoitFavre !

Ceci est un message automatique pour faciliter l'intégration de la news dans la revue de presse par l'équipe Geotribu.

Contenu de la news consolidé

A ajouter dans l'en-tête :

-  classification-  deeplearning-  opensource-  python- Lidar
## Divers

### Pas à pas, du dataset au model d'apprentissage

![vignette news](https://cdn.geotribu.fr/img/internal/icons-rdp-news/news.png "vignette news"){: .img-thumbnail-left loading=lazy }

Ce projet perso exploite les données LiDAR HD pour classifier le territoire en différentes zones : **ville, banlieue, forêt, champs et montagne**. Actuellement, cette classification repose sur un **score paysage**, en une grille de cellules analysées selon divers indicateur direct ou indirect issue des données du fichier.
L'objectif à terme est d'améliorer cette méthode en remplaçant la fonction de scoring par un **modèle de machine learning** plus performant.

Ce projet vise à : 
✅ **Stocker et structurer** les données LiDAR dans une base SQL pour une analyse efficace 
✅ **Développer une grille de classification** du territoire via un score paysage 
✅ **Enrichir et affiner** l’analyse en intégrant des informations géographiques complémentaires (externe au fichier lidar)
✅ **Créer un jeux de donnée d'entrainement** pour s'assurer d'avoir des données d'apprentissage 
✅ **Expérimenter le machine learning** pour améliorer la précision de la classification 
✅ **Etre réutilisable** pour potentiellement reproduire avec d'autre indices ou "paysage".

Mon objectif est de rendre ce projet accessible/pédagogique et facilement adaptable à d’autres jeux de données.
Voici un résumer de la pipe line du projet :

## **Notebooks de Traitement des Données LiDAR**

!!! info "Contribution externe"
    Cette news est proposée par Benoît via [le formulaire GitHub renouvelé](https://github.com/geotribu/website/issues/new?assignees=Guts&labels=contribution+externe%2Crdp%2Ctriage&template=RDP_NEWS.yml) : [voir le ticket](https://github.com/geotribu/website/issues/1273). Merci !

Ajouter cette news à la RDP

Volet réservé à un ayant-droit de commit sur le dépôt

  • tenir compte de l'éventuel commentaire libre
  • optimiser puis téléverser l'éventuelle illustration sur le CDN et l'intégrer dans le corps du texte avec les balises { .img-center loading=lazy }
  • référencer ce ticket (issue) dans la section Development de la Pull Request de la revue de presse (en bas à droite dans l'interface de la page de la PR)
  • peaufiner la description et le texte de remplacement de la vignette

Commande Git pour garantir l'attribution

git commit --author="Benoît <[email protected]>" --message="Ajout news Pas à pas, du dataset au model d'apprentissage par @benoitFavre. Close #1273"

Diffusion

LinkedIn

www.linkedin.com/in/benoit-favre

Mastodon

Twitter

@gounux
Copy link
Member

gounux commented Feb 24, 2025

Merci pour la proposition de contribution @benoitFavre !

En fait, pour présenter le truc, il est possible de contribuer à Geotribu via 2 différents formats (documentés ici):

  • une news pour une revue de presse: généralement plutôt courte, il s'agit de présenter un outil / projet / évènement...etc (GeoRDP, prochaine édition le 21 mars)
  • un article, lors duquel il est possible de s'étendre davantage, avec du code, des images, etc.

On trouve que la contribution proposée se situe un peu entre les deux, ce pourquoi on aimerait proposer les deux options suivantes:

  • soit une news, avec un lien qui pointe vers le notebook, et davantage de contexte sur ce projet et ce qu'il peut apporter à d'autres utilisatrices et utilisateurs.
  • soit un article qui explique ce traitement plus en détail, au travers duquel il est possible de reprendre des éléments du notebook. Cet article pourrait passer en relecture une fois les travaux aboutis.

Avec une préférence pour la 2e option 😉

En tout cas, merci, on est contents de recevoir cette proposition de contribution, et on aimerait encourager sa valorisation !

@Guts Guts removed rdp Revues de presse triage Tickets à trier et qualifier labels Feb 24, 2025
@Guts Guts assigned benoitFavre and unassigned Guts, igeofr and aurelienchaumet Feb 24, 2025
@benoitFavre
Copy link
Author

benoitFavre commented Feb 24, 2025

Merci pour vos encouragements !

Le notebook partagé regroupe en brouillon les méthodes d'échantillonnage, de découpage des fichiers LiDAR en cellules, d’extraction des indicateurs, de calcul du score et quelques visualisations.

Le projet complet vise à stocker, analyser, enrichir, visualiser et réutiliser ces données dans une optique de machine learning. À terme, il reposera sur 7 notebooks, chacun isolant une étape clé du pipeline. Pour l’instant, j'ai stocker et scoré mes données j’en suis au début de l’exploration des données.

Ma démarche initiale était surtout d’échanger avec des personne du métier, je viens du web récemment la data, c’est la première fois que j’exploite des fichiers LiDAR et je pense que c'est un bon moment du projet pour avoir des retours.
"ce qu'il peut apporter à d'autres utilisatrices et utilisateurs". Justement je n'ai pas de je n'ai de vision n'étant pas du métier... le modèle entrainer pourrais être performant mais l'intérêt reste pédagogique

Si cela aboutit à une contribution, tant mieux, peu importe la forme !!

@Guts
Copy link
Member

Guts commented Feb 24, 2025

Pour échanger je vous conseille GeoRezo, https://forum.geocommuns.fr/ ou https://teamopendata.org/, ce sera plus riche et le support plus adapté qu'un ticket sur ce dépôt Github qui sert à organiser les contributions :).

@benoitFavre
Copy link
Author

benoitFavre commented Feb 25, 2025

Alors pour rester concret ici, je pense aller vers un tuto, un peu comme ici :
https://geotribu.fr/articles/2010/2010-08-25_interroger_geoserver_en_python_grace_a_gsconfig/?h=pyth#creation-dun-environnement-virtuel.
Je prends également le temps de regarder votre portail, je ne le connaissais pas.

L'idée est de se limiter au premier notebook remis au propre avec les étapes du passage de fichier issu de https://diffusion-lidarhd.ign.fr/ au scoring et visualisation.
Aucune prétention sur la véracité du scoring, c'est pour évoquer la méthode, le dév et l'exploitation de fichiers lidar/opensource.

Je reviendrai mettre à jour l'ébauche d'article avec un notebook présentable et je continue d'avancer sur le reste a mon rythme.

Merci pour les liens ! Je vais explorer ça.

@benoitFavre benoitFavre changed the title Notebooks de Traitement des Données Lidar pour l'entrainement de modèle de classification Exemple de lecture de fichier de lidar pour visualisation et classification de paysage en python Mar 4, 2025
@benoitFavre
Copy link
Author

Hello,

J'ai remis au propre cette issue & avancé sur la clarification du notebook.
un premier jet de l'article : https://github.com/benoitFavre/Lidar_SCV/blob/main/Readme.md
C'est du chatGPT ~brute pour l'instant évidement à retravailler mais le fil conducteur est là mais je veux quelque chose de plus sérieux & travaillé avec du contexte et du illustrations avant de le comit chez vous.

Je voudrais donc avancer sur la phase de rédaction dans la semaine.
Aucun problème avec le markdown ou le comit, mais la rédaction & l'orientation de l'article sont plus éloignés de mes domaines de prédilection.

  • Le sujet/format remis à jour correspond-il à vos attentes pour un article ?
  • Le notebook ne me semble plus pertinent avec la tournure « tuto », est-il utile à garder ?

Bon dimanche.

Ps : Pour le coté ML initial, le projet est aboutis mais je préfère commencer à tenter de rédiger sur quelque chose de plus facile.

@gounux
Copy link
Member

gounux commented Mar 10, 2025

Content de voir le projet prendre plus d'épaisseur !

C'est du chatGPT ~brute

Bon, pour être honnêtes, on a quelques réserves vis-à-vis de ça. Quitte à choisir, plutôt qu'un truc pondu par une IA, on, et surtout les lecteurs/lectrices, préfèrent un article peut-être plus court mais avec une teneur plus authentique et personnelle : retour d'expérience, difficultés rencontrées, petits conseils aux autres, etc. C'est même possible d'insérer des blagues 😉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contribution externe Contenus proposés par des personnes n'ayant pas de droits en écriture sur le dépôt GitHub
Projects
None yet
Development

No branches or pull requests

5 participants