Semi-automatisation du contrôle qualité de la classification d'un relevé LiDAR

L’acquisition de données LiDAR au niveau national ou cantonal est devenue une pratique courante. Plusieurs cantons ont déjà mené des campagnes de vol à des périodes différentes. Au niveau fédéral, swisstopo est sur le point de finaliser sa campagne d'acquisition couvrant l'intégralité du territoire, débutée en 2017.

 

Les nuages de points obtenus à partir de ces relevés LiDAR sont classifié après l’acquisition. Chaque point est alors attribué à un label tel que bâtiment, végétation, sol, etc. Des méthodes semi-automatiques sont largement utilisées aujourd’hui pour effectuer cette tâche. Cependant, les erreurs de classification restent inévitables et les ressources humaines requises pour le contrôle sont considérables.

 

La solution que le STDL a développé vise à mettre en évidence les changements de classification dans un nuage de points par rapport à une génération antérieure, considérée comme la génération de référence. Elle permet également aux opérateurs d’obtenir un degré de criticité des changements détectés. Cette méthode, illustrée à la figure 1, doit permettre un contrôle plus ciblé et efficace des futures générations de nuages de points.

 

Figure 1: Aperçu de la méthode

 

Pour ce projet, le STDL a utilisé les données de swissSURFACE3D sur le territoire de Neuchâtel (2018), ainsi que les données plus récentes collectées par le canton de Neuchâtel (2022).

 

Les deux nuages de points ont été voxelisés sur une grille de 1.5 m. La distribution des classes au sein de voxels est comparée entre les générations et classifiée dans les différents niveaux de criticité grâce à l’arbre décisionnel ci-dessous à la figure 2. Pour les décisions basées sur la conservation de la distribution des classes entre les générations, la similarité cosinus est utilisée comme seuil.

 

Figure 2: Arbre décisionnel

 

Les nombres attribués à chaque sortie de l’arbre décisionnel correspondent aux définitions suivantes:

Zone grise:

  • 7 – Augmentation des points non-classifiés: Apparition d’un voxel ou changement dans la proportions des classes dû à des points non-classifiées dans la nouvelle génération;
  • 8 – Présence de classes additionnelles dans la zone: Changement dans la distribution des classes dû à des classes additionnelles présentes dans le voxel comparé à la génération de référence. Les voisins partagent les mêmes classes.

Problématique:

  • 9 – Disparition d’une géométrie: Disparition, i.e. un voxel qui contenait des points dans la génération de référence, mais n’en contient pas dans la nouvelle génération. Les voxels voisins de la nouvelle génération ne partagent pas les mêmes classes;
  • 10 – Apparition d’une géométrie: Apparition, i.e. un voxel qui ne contenait pas de points dans la génération de référence, mais qui en contient dans la nouvelle génération. Les voxels voisins de la génération de référence ne partagent pas les mêmes classes;
  • 11 – Changement mineur isolé: Changement dans la distribution des classes dû à des classes additionnelles présentes dans le voxel. Les voxels voisins ne partagent pas la même occupation;
  • 12 – Changement majeur dans la distribution des classes: Changement dans la distribution parmi les classes anciennement et nouvellement présentes dans le voxel;
  • 13 – Bruit: Présence de points classifiés comme bruit dans la nouvelle génération.

 

Afin de limiter la quantité de contrôles à effectuer, les voxels sont groupés en clusters avec DBSCAN. Les clusters indiquent les zones à contrôler en priorité et les voxels isolés constituent un contrôle secondaire.

 

Comme visible sur la figure 3, plus de 80% des points de la nouvelle génération sont classifiés comme “non problématique” sur la tuile 25470000_1211500 qui recouvre une partie de la ville du Locle. Seuls 3% des points sont dans des voxels problématiques et seraient à contrôler pour un opérateur. Parmi eux, 2.56% appartiennent à la branche 12, i.e. un changement majeur de la distribution des classes est détecté.

Au sein de la zone grise, 15.35% des points se trouvent dans des zones où des classes additionnelles sont présentes en comparaison à la génération de référence.

Les sorties 4 et 9 de l’arbre décisionnel ne contiennent aucun point de la nouvelle génération, puisqu’il s’agit de cas de disparition de voxels.

 

Figure 3: Répartition relative des points de la nouvelle génération en fonction de la sortie de l’arbre décisionnel empruntée par le voxel correspondant. Résultats pour la tuile 25470000_1211500.

 

Une fois les voxels problématiques regroupés en clusters, il en reste 8’756 répartis dans 263 clusters. Des exemples sont données à la Figure 4. Les clusters sont présentés sous forme de polygones, qui est le format requis par l'expert du domaine. Une zone (#1) indique la disparition d'un arbre. Une autre zone (#2) indique l’apparition d’une géométrie. Après un examen plus approfondi, les voxels contribuant à la grappe sont de types différents : "apparition" et "changement de classe". L'étiquette la plus présente est attribuée au cluster. Enfin, deux zones présentant des différences de classification sont mises en évidence : l'une (#3) pour une structure de bâtiment passant de la classe non classée à la classe bâtiment, et l'autre (#4) pour un hangar passant de la classe non classée à la classe végétation.

 

Figure 4: Exemple de clusters avec les nuages de points pour la génération de référence (v.1) et la nouvelle génération (v.2).

 

L’expert a examiné 8 voxels pour chaque sortie de l’arbre décisionnel. Il a aussi passé en revue les clusters produits. Il s’est déclaré satisfait des résultats obtenus. Par conséquent, l’algorithme sera testé dans la production du prochain nuage de point pour le produit swissSURFACE3D à l’été 2024.

 

La méthode et les résultats détaillés sont disponibles sur notre site technique.

Le code source du projet est disponible sur GitHub.

« retour