WEO · Vision par ordinateur · Été 2023
Cartographier l’occupation des sols du Luxembourg depuis l’espace
Un U-Net sur AWS SageMaker qui a porté le score F1 moyen de 72 % à 80,3 %.
- Rôle
- Stagiaire Data Scientist
- Réalisé avec
- Python, TensorFlow, NumPy, GDAL, AWS SageMaker, S3, Cloud9, Airflow, QGIS
L’objectif
Classer chaque pixel de 10 m du Luxembourg dans l’une des cinq catégories d’occupation des sols à partir d’images satellite, en utilisant la carte officielle d’occupation des sols de 2018 comme vérité terrain.
Approche
- Un U-Net paramétrable pour la segmentation sémantique : des tuiles satellite en entrée, des probabilités de classe par pixel en sortie.
- Un pipeline entièrement dans le cloud : après avoir modélisé l’architecture en local, nous avons déployé le modèle sur AWS et l’avons entraîné sur SageMaker, avec des scripts sur Cloud9 qui téléchargent et traitent les données depuis S3. Tout, jusqu’à l’évaluation du modèle, s’exécute dans le cloud.
- Le meilleur modèle a été entraîné sur les images de 2018 et de 2019, face à la vérité terrain de 2018. Les bâtiments, les rues et les rivières changent très peu en un an : cela a presque doublé les données d’entraînement, au prix de quelques pixels mal étiquetés.
Résultats
Le score F1 moyen est l’indicateur le plus pertinent, compte tenu de la répartition des cinq classes dans la vérité terrain. Il est passé de 72 % à 80,3 %, avec une précision de 86,28 % sur le jeu de validation.
| Classe | Précision | Rappel | F1 |
|---|---|---|---|
| Arbres et arbustes | 92,1 % | 91,4 % | 91,8 % |
| Sol nu, végétation saisonnière, vignes | 88,0 % | 84,0 % | 85,9 % |
| Végétation herbacée permanente | 79,8 % | 83,6 % | 81,7 % |
| Bâtiments et autres constructions | 75,1 % | 74,7 % | 74,9 % |
| Eau | 84,6 % | 55,8 % | 67,3 % |
Perte : la courbe de validation montre très peu de surapprentissage.
Précision au fil de l’entraînement, jusqu’à 86,28 %.
Vérification qualitative sur une tuile de 128 × 128 px : image satellite à 10 m de résolution, vérité terrain et prédiction du modèle.
Impact
WEO utilise les probabilités « arbre » de chaque pixel pour estimer la croissance de la canopée des arbres qu’elle suit. Ces estimations alimentent des rapports environnementaux que les collectivités locales utilisent pour le budget, le suivi et la gestion des risques.
Canopée initiale et sa croissance, telles qu’elles apparaissent dans les rapports de WEO.
Ce que j’ai appris
En trois mois chez WEO, j’ai acquis une solide compréhension des bases du deep learning et de la télédétection, et j’ai travaillé avec plusieurs services AWS (SageMaker, Cloud9, S3 et Airflow), ainsi qu’avec TensorFlow, NumPy, GDAL et QGIS.
Données : Agence spatiale européenne et Geoportal.lu.
“Enrico's contributions during his internship exceeded our expectations. Instead of mere optimization, he undertook the task of rewriting the model's codebase. Notably, this model outperformed its predecessor, showcasing Enrico's problem-solving skills. In addition to his technical skills, Enrico is a great team player. He is a fast learner and a hardworking individual who adds value to any team he joins.”
Traduction : « La contribution d’Enrico pendant son stage a dépassé nos attentes. Au lieu de se contenter d’optimiser, il a entrepris de réécrire le code du modèle. Ce modèle a d’ailleurs surpassé son prédécesseur, ce qui montre ses capacités à résoudre les problèmes. Au-delà de ses compétences techniques, Enrico a un excellent esprit d’équipe. Il apprend vite, travaille dur et apporte de la valeur à chaque équipe qu’il rejoint. »
Frankwin van Winsen Head of Development, WEO Extrait de sa lettre de recommandation Lire la lettre de recommandation (s’ouvre dans un nouvel onglet)