Lidar mobile - détection automatique des lignes de marquage

Lidar mobile - détection automatique des lignes de marquage

Cette fonction permet de lire un fichier de données provenant d'un lidar terrestre qui possède des données d’angle. L’analyse et la détection de lignes comptent sur le fait que le capteur lidar terrestre est monté sur un véhicule. Elle permet donc de ressortir les lignes de marquage des routes en analysant l’intensité et l’angle du signal. Les lignes extraites pourront ensuite être transférées en alignements. Le comportement est similaire à la procédure pour créer un alignement par ligne d’intensité dans l’arpentage virtuel et effectuer les fonctions d’ajustement dans la sections alignement du module Civil.

La section "limite de données" permet de discriminer les points captés par le système lidar afin de ne conserver que les points utiles à la fonction.

Le "jeu de préférences" établit les paramètres par défaut de la fenêtre, dont les paramètres par défaut de la détection automatique. Le jeu de préférences peut être sélectionné par le menu déroulant. Ces préférences sont réglées dans le menu prévu à cet effet.

La section "Analyser/Détecter les lignes" permet de générer toutes les lignes par intensité du jeu de données qui entre dans les tolérances demandées. Il y a plusieurs variables qui entrent en considération pour la détection:

  • L’intensité minimale permet de discriminer les lignes de marquage du reste du nuage, vue l’intensité élevée de leurs points.

  • La tolérance d’angle permet de discerner si deux points sont sur la même ligne ou sur des lignes parallèles.

  • La tolérance de distance permet de déterminer si l’on doit scinder la ligne en deux ou la continuer lors d’interruption de ligne (ligne de dépassement ou nouvelle voie).

  • Le minimum de points permet de valider si la ligne détectée est suffisamment longue pour être conservée.

Il faut cliquer sur le bouton "Extraction de lignes" afin de peupler le tableau en question. S'il y avait un problème de chargement du fichier, il se peut que la détection ne fonctionne pas.

Une fois détectées, les lignes peupleront le tableau de la section "Lignes détectées". Elles seront aussi visibles dans l’aperçu.

  • Le bouton "Ajust." permettra de déterminer le meilleur comportement de l’alignement en calculant les droites et courbes horizontales ainsi que les droites et paraboles verticales.

  • Les options "Dessiner" et "Effacer" afficheront ou pas ces résultats dans l'aperçu.

  • Le nombre de segments calculés sera indiqué dans la case "Seg.Hori/Vert".

  • Une ligne peut être enregistrée en tant qu'alignement; il suffit de cliquer sur l'icône "Sauvegarder" de la ligne en question. La ligne sera alors disponible dans le gestionnaire d’alignements.

Il est possible de regénérer ces alignements en changeant les paramètres dans cette fenêtre ou dans l’alignement puisque tous les points bruts de l’alignement seront conservés dans l’onglet alignement brute.

Finalement, la section "Créer/exporter la surface" permet d'exporter les lignes vers une surface pour le module Civil ou bien de sauvegarder en format LandXML.



Interface principale de l'outil



Liste des paramètres pour trouver la meilleure courbe horizontale.

Minimum de points : Nombre minimum de points pour générer un segment. Plus le nombre est élevé moins il y aura de segments. L’algorithme tentera de forcer les lignes pour avoir le nombre nécessaire de points.

Longueur minimum : Longueur minimal des segments.

Distance perpendiculaire maximum : Distance maximale entre un point et le segment de la courbe horizontale générée.

Rayon minimum : Lors de l’interpolation des arcs, le rayon minimal qu’une courbe peut avoir.

Rayon maximum : Le rayon maximal à rechercher avant de considérer les segments comme des droits.

Angle de déflection minimum (deg) : Différence d’angle minimal que doivent avoir deux segments contigus.

Forcer tangent (ajout de courbe) : Forcer l’alignement à créer des courbes entre deux segments droits.

Ajustement global : Si la courbe horizontale existe, tente de déplacer la courbe pour mieux la faire concorder avec les points de l’alignement brut. Ne pas utiliser en forçant les tangentes.

Maximum d’itération : Nombre maximum d’itérations à exécuter lors d’un ajustement global avant d’arrêter le processus.  Ce paramètre évite les calculs trop longs.



Liste des paramètres pour trouver la meilleure courbe verticale.

Minimum de points : Nombre minimum de points pour générer un segment.  Plus le nombre est élevé moins il y aura de segments. L’algorithme tentera de forcer les lignes pour avoir le nombre nécessaire de points.

Longueur minimum : Longueur minimal des segments.

Distance perpendiculaire maximum : Distance maximale entre un point et le segment de la courbe horizontale généré.

Tolérance de courbe : Différence de courbature minimale pour que deux paraboles contiguës ne soient pas considérées comme la même parabole.

Écart de pente minimum (%) : Différence de pente minimale entre deux segments contigus.

Forcer tangent (ajout de parabole) : Forcer l’alignement à créer des courbes entre deux segments droits.

Ajustement global : Si la courbe horizontale existe, tente de déplacer la courbe pour mieux la faire concorder avec les points de l’alignement brut. Ne pas utiliser en forçant les tangentes.

Maximum d’itération : Nombre maximum d’itérations à exécuter lors d’un ajustement global avant d’arrêter le processus. Ce paramètre évite les calculs trop longs.



Nuage de points avant la détection des lignes de marquage

Nuage de points avec lignes de marquage détectés automatiquement