Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR GENERATING HIGH-RESOLUTION MAPS FROM POINT CLOUDS
Document Type and Number:
WIPO Patent Application WO/2020/245526
Kind Code:
A1
Abstract:
The invention relates to a method for generating a high definition 3D vector map for computer-implemented driver assistance of one or more autonomous vehicles, comprising successively: - one or more generations of at least one initial point cloud (50) of a route to be mapped by one or more acquisition vehicles, - the generation (10) of a classified point cloud (310) from the initial point cloud, the generation comprising: a first object type classification: ground and not ground from the initial point cloud (50), - a second classification (130) of a road or rail object type (132) from the ground object type, - a series of third classifications (210, …, 270) of vegetation, building and infrastructure object types, from the not ground object type; based on the classified point cloud, identifying (20) unitary objects from the classified object types and the vectorisation of unitary objects, - storing vectorised data in a non-volatile memory.

Inventors:
FERRERO CÉDRIK (FR)
SIMEON JENNIFER (FR)
D'ESPARBES ROMAIN (FR)
MONTAIGU THOMAS (FR)
SONG YUXIANG (FR)
Application Number:
PCT/FR2020/050903
Publication Date:
December 10, 2020
Filing Date:
May 28, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GEOSAT (FR)
International Classes:
G06K9/00
Foreign References:
EP3346449A12018-07-11
Other References:
MATURANA DANIEL ET AL: "VoxNet: A 3D Convolutional Neural Network for real-time object recognition", 2015 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS), IEEE, 28 September 2015 (2015-09-28), pages 922 - 928, XP032831749, DOI: 10.1109/IROS.2015.7353481
SAMBIT GHADAI ET AL: "Multi-level 3D CNN for Learning Multi-scale Spatial Features", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 31 May 2018 (2018-05-31), XP081202868
MATURANA DANIEL ET AL.: "2015 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS", 28 September 2015, IEEE, article "Voxnet : A 3D Convolutional Neural Network for real-time object récognition", pages: 922 - 928
S. GHADAIX. LEEA. BALUS. SARKARA. KRISHNAMURTHY: "Multi-level 3D CNN for Learning Multi-scale Spatial Features", ARXIV, CS.CV 1805.12254, 2018
Attorney, Agent or Firm:
PLASSERAUD IP (FR)
Download PDF:
Claims:
REVENDICATIONS

[Revendication 1] Procédé de génération d’une carte 3D vectorielle haute définition d’aide au pilotage d’un ou plusieurs véhicules autonomes mis en œuvre par ordinateur, comprenant successivement :

a. - une ou plusieurs générations d’au moins un nuage de points initial (50) d’un itinéraire à cartographier au moyen d’un ou plusieurs véhicules d’acquisition,

b. - la génération (10) d’un nuage de points classifié (310) à partir dudit nuage de points initial, ladite génération comportant :

i. - une première classification de types d’objets : sol et non sol à partir dudit nuage de points initial (50) comportant un algorithme de voxellisation (100) décimétrique du nuage de points utilisant des voxels cubiques d’une largeur décimétrique et un algorithme de vision par ordinateur (100) exécutés sur un système de calcul pour classifier d’une part des points sol (102) relatifs à un plan horizontal définissant le sol et d’autre part des points non sol (200),

ii. - une deuxième classification (130) d’un type d’objet voie ou rail (132) à partir du type d’objet sol,

iii. - une succession de troisièmes classifications (210, ..., 270) de types d’objets végétation, bâtiment, infrastructure à partir du type d’objet non sol ;

c. - à partir du nuage de points classifié, l’identification (20) d’objets unitaires à partir des types d’objets classifiés et la vectorisation des objets unitaires, d. - le stockage des données vectorisées en mémoire non volatile.

[Revendication 2] Procédé de génération d’une carte 3D vectorielle selon la revendication 1 , pour lequel l’algorithme de voxellisation (100) décimétrique du nuage de points utilisant des voxels cubiques d’une largeur de 20cm à 30cm.

[Revendication 3] Procédé de génération d’une carte 3D vectorielle selon la revendication 1 ou 2, pour lequel la deuxième et les troisièmes classifications de types d’objets sont réalisées sur un système de calcul à partir d’algorithmes de voxellisation (110, 210), de normalisation (120, 220) et de classification (130, 230) par réseau de neurones convolutif. [Revendication 4] Procédé de génération d’une carte 3D vectorielle selon l’une quelconque des revendications précédentes, pour lequel la transformation (20) des types d’objets classifiés en objets unitaires comporte un procédé d’extraction de données vectorielles représentatives des objets unitaires à partir du nuage de points classifié, ledit procédé d’extraction de données vectorielles comprenant, à partir d’une sélection de voxels (410, 420, 430, 440), un algorithme de constitution de graphes (450) comportant des nœuds de classe d’intérêt et de classe de bordure et un algorithme d’extraction de nœuds constitutifs d’une représentation vectorielle des objets.

[Revendication 5] Procédé de génération d’une carte 3D vectorielle selon l’une quelconque des revendications précédentes, pour lequel la deuxième classification de types d’objets séparant des points sol (131 ) de points rails ou voies (132) utilise un algorithme de voxellisation (110) centimétrique à voxels cubiques d’une largeur de 2cm à 10cm préalable à l’exécution de l’algorithme de classification par réseau de neurones convolutif.

[Revendication 6] Procédé de génération d’une carte 3D vectorielle selon l’une quelconque des revendications précédentes, pour lequel, pour les points non sol (200), les troisièmes classifications de types d’objets comportent une pluralité d’opérations de voxellisations (210), normalisations (220), classifications (230) par réseau de neurones convolutif selon des algorithmes itératifs ou parallèles en sorte de classifier les types d’objets tels que type d’objet végétation, type d’objet infrastructure, type d’objet bâtiment, l’ensemble des opérations de voxellisations (110, 210), normalisations (120, 220) et classifications (130, 230) étant suivies d’opérations d’indexations (150, 160, 250, 260) des types de points classifiés pour la génération d’un nuage de points classifié (310).

[Revendication 7] Procédé de génération d’une carte 3D vectorielle selon la revendication 6, pour lequel la classification des objets bâtiments, végétation et infrastructure utilise trois opérations de voxellisations avec des voxels cubiques de précision croissante : décamétrique, métrique et décimétrique.

[Revendication 8] Procédé de génération d’une carte 3D vectorielle selon l’une quelconque des revendications précédentes, pour lequel les opérations de vectorisations comportent pour chaque objet des algorithmes d’extraction qui comprennent la sélection de voxels (420) comportant au moins un point de l’objet à extraire, une étape (430) de sélection de voxels adjacents qui contiennent au moins un point de bordure de l’objet, la construction d’un graphe (450) avec des nœuds et des arêtes entre nœuds, lesdites arêtes construisant la relation entre les points de bordure et les points de l’objet, un ordonnancement des nœuds du graphe avec une affectation (600, ..., 640) aux nœuds d’une valeur de distance euclidienne croissante depuis les nœuds de bordure (600, 610), et une opération d’extraction (490, 500, 540) de données vectorielles représentatives de l’objet à vectoriser à partir de l’ordonnancement réalisé.

[Revendication 9] Procédé de génération d’une carte 3D vectorielle selon la revendication 8, pour lequel l’opération d’extraction de données vectorielles comporte une extraction (490) de contour de l’objet.

[Revendication 10] Procédé de génération d’une carte 3D vectorielle selon la revendication 8 ou 9, pour lequel l’opération d’extraction de données vectorielles de l’objet comporte une extraction (500) de données de squelette de l’objet.

[Revendication 11] Procédé de génération d’une carte 3D vectorielle selon la revendication 8, 9 ou 10, pour lequel l’opération d’extraction de données vectorielles de l’objet comporte une extraction (540) de centre et de rayon de l’objet.

[Revendication 12] Procédé de génération d’une carte 3D vectorielle selon l’une quelconque des revendications précédentes, pour lequel ladite première classification comprend :

a. un algorithme de voxellisation (70a) donnant une structure de données de voxelisation à une résolution décimétrique pour laquelle les voxels ont la notion de hauteur sur l’axe vertical du volume,

b. une détection d’objets verticaux ou suspendus (820) qui va déterminer des points du voxel classés comme non sol (840) et des points candidats de classe sol (830),

c. une analyse des composantes connexes (850, 860) donnant une analyse de la connexité des voxels selon laquelle la plus grande composante connexe issue de cette analyse est classée comme sol (880).

[Revendication 13] Procédé de génération d’une carte 3D vectorielle selon la revendication 12, pour lequel ladite détection d’objets verticaux comporte une segmentation (810) des objets verticaux comprenant une détection des objets verticaux par l’empilement des voxels non-vides et des objets suspendus par la présence de voxels non-vides sans connexité sur l’axe vertical, les points candidats de classe sol correspondant aux voxels qui ne sont pas caractérisé comme des objets verticaux ou suspendus.

[Revendication 14] Procédé de génération d’une carte 3D vectorielle selon la revendication 12 ou 13, comportant une analyse statistique (890) sur la distribution des altitudes minimales de voxels du sol conservant les voxels d’un quartile inférieur au troisième quartile de la distribution des altitudes minimales (900, 920) et éliminant les autres voxels (910) comme classés non-sol.

[Revendication 15] Procédé de génération d’une carte 3D vectorielle selon l’une quelconque des revendications précédentes, pour lequel le nuage de points est acquis au moyen d’un ou plusieurs véhicules d’acquisition circulant sur des voies à emprunter par lesdits véhicules autonomes.

[Revendication 16] Procédé de génération d’une carte 3D vectorielle selon la revendication 15, pour lequel l’acquisition du nuage de points est réalisée au moyen de dispositifs LIDAR montés sur au moins un véhicule d’acquisition.

[Revendication 17] Procédé de génération d’une carte 3D vectorielle selon la revendication 16, pour lequel les dispositifs LIDAR procèdent à une acquisition de données sur deux plans orthogonaux à 45° de l’axe de déplacement dudit véhicule d’acquisition.

[Revendication 18] Dispositif de cartographie comportant un ou plusieurs véhicules d’acquisition pourvus de dispositifs LIDAR selon la revendication 16 ou 17, une unité de datation et de géolocalisation du nuage de points, une ou plusieurs unités de stockage du nuage de points et une ou plusieurs unités de traitement comportant des moyens de calcul de réalisation des opérations de classifications et de vectorisations du procédé de génération d’une carte 3D vectorielle selon les revendications 1 à 15.

[Revendication 19] Programme informatique comportant des instructions pour la mise en œuvre du procédé de génération d’une carte 3D vectorielle selon l’une des revendications 1 à 17, lorsque lesdites instructions sont exécutées par un ou plusieurs processeurs d’un système de calcul.

[Revendication 20] Système informatisé de guidage d’un véhicule autonome comportant une carte 3D vectorisée obtenue par le procédé de génération d’une carte 3D vectorielle de l’une quelconque des revendications 1 à 17 pour lequel la carte 3D vectorisée est chargée dans un calculateur d’un dispositif de guidage dudit véhicule autonome et combinée au niveau dudit calculateur avec des données de positionnement par satellite dudit véhicule, les données vectorisées comportant des données de voies, végétation, infrastructure, bâtiments; et pour lequel le système comporte un algorithme d’évaluation de la fiabilité des signaux de positionnement par satellite utilisant lesdites données vectorisées.

Description:
PROCEDE DE GENERATION DE CARTES HAUTE RESOLUTION A PARTIR

DE NUAGES DE POINTS

Domaine technique

[0001] La présente invention concerne un procédé de génération de cartes haute résolution à partir de nuages de points.

[0002] L’invention concerne le domaine de la localisation de véhicules autonomes combinant des données GPS/GNSS, une carte haute définition et des données de déplacement notamment par centrale à inertie.

Technique antérieure

[0003] Un véhicule autonome doit connaître sa position relativement à son environnement en sorte de se déplacer. Le problème de sa localisation est résolu au moyen d’un GPS/GNSS. Toutefois, en l’absence de GPS/GNSS, d’autres méthodes sont nécessaires en sorte d’aider un véhicule à déterminer sa position. Une carte embarquée à haute définition (HD) remplit les manques d’information tout en fournissant une description fiable de l’environnement 3D du véhicule.

[0004] Des dispositifs de génération de cartes sont très recherchées pour générer des cartes haute définition mais, pour couvrir de vastes régions, les solutions actuelles pour créer des cartes 3D sont fastidieuses et longues et ne réduisent pas le volume de données par rapport aux données d’entrée des mesures alors que par contre la reconnaissance d’objets dans les données d’images et les données LIDAR ont progressé dans les dernières années.

[0005] Les systèmes de cartographie autonome comportent un minimum de trois types de données: géolocalisation, mesures spatiales 3D et visualisation à 360° avec des images optiques. Des mesures de géolocalisation de haute qualité sont le fondement pour la création de cartes fidèles et précises. Pour ce faire, les scanners LIDAR fournissent des nuages de points 3D denses et de haute précision qui peuvent représenter des morphologies et les images panoramiques fournissent des informations complémentaires, texture, textes et autres détails visuels.

[0006] Ces données ensemble aident à créer une carte 3D dense et très détaillée. Les systèmes de cartographie mobile génèrent plus d’1 gigaoctet de données par 50m ce qui rend la gestion et le traitement des données complexe, nécessite des plateformes de stockage de données importantes, des ressources de calcul et de traitement vidéo puissantes pour le traitement des données, la visualisation, la navigation et la manipulation des données.

[0007] Le traitement et l’analyse des données de cartographie mobile pour la réalisation de cartes haute définition est délicat et long pour plusieurs raisons:

(1 ) la nature hétérogène et non structurée des nuages de points 3D, qui sont une technologie relativement récente, les rend difficiles à analyser

(2) les images 2D lorsqu’elles sont prises seules manquent d’information spatiale

(3) la plupart des méthodes de classification et d’extraction de formes nécessitent une importante intervention d’un analyste humain et,

(4) les logiciels autonomes utilisés pour réaliser des cartes HD sont intrinsèquement conçus comme des solutions verticales.

[0008] Par ailleurs les nuages de points sont des objets informatiques volumineux et complexes à traiter.

[0009] Le document EP 3 346 449 A1 donne un exemple de procédé de prétraitement de nuage de point mis en œuvre par ordinateur et qui subdivise le nuage en cellules.

[00010] Dans le domaine des réseaux neuronaux, le document MATURANA DANIEL ET AL : « Voxnet : A 3D Convolutional Neural Network for real-time object récognition », 2015 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS), IEEE, 28 septembre 2015 (2015-09-28), pages 922-928, XP032831749, DOI :10.1109/IROS.2015.7353481 [extrait le 2015-12-11] traite d’un modèle développé pour reconnaître les objets et scènes d’intérieur. Il s’agit une architecture composée d’un réseau neuronal convolutif avec l’objectif de généraliser la problématique de segmentation et de classification des objets dans une scène intérieure ou la classification d’un objet entier en consommant à l’entrée un nuage de point entier. Un tel procédé ne peut être appliqué directement à un nuage de points destiné à une cartographie 3D du fait de son volume cent à mille fois plus dense.

[00011] Le document S. Ghadai, X. Lee, A. Balu, S. Sarkar, and A. Krishnamurthy.“Multi-level 3D CNN for Learning Multi-scale Spatial Features”, arXiv, cs.CV 1805.12254, 2018 traite de l’utilisation d’échelles multiples mais dans l’objectif de traiter l’entièreté d’un objet dans une échelle grossière et d’affiner les détails sur les bordures de l’objet en utilisant les voxels à une résolution plus fine pour ressortir plus de détails et de textures de l’objet. Ce procédé n’a pas pour objet de reconnaître différents objets dans une scène complexe, mais cherche à comprendre un seul objet à un niveau global. Il permet de distinguer deux ou plusieurs types d’objet mais traite des objets isolés de leur contexte ce qui n’est pas approprié pour la réalisation de cartes 3D où les objets doivent être liés à leur environnement.

Problème technique

[00012] Pour la génération de cartes vectorielles, l’utilisation de nuages de points est complexe car de tels nuages présentent un volume de données extrêmement important et sont de ce fait délicats à traiter.

[00013] Par ailleurs une étape qui ralentit particulièrement le procédé de génération de cartes est l’extraction d’objets et leur transformation en vecteurs géospatiaux. Une optimisation de ces opérations est recherchée.

[00014] Ceci est préjudiciable notamment pour la réalisation de systèmes automatisés de guidage pour véhicules autonomes.

Exposé de l’invention

[00015] Au vu de cet art antérieur, du problème technique causé par les nuages de points de cartographie et de la nécessité de raccorder les objets à leur contexte, une autre approche était donc nécessaire et la présente invention utilise en premier lieu un procédé basé sur des techniques de traitement d’image, autrement dit algorithmes de vision c’est-à-dire vision par ordinateur, pour séparer les éléments de sol et non sol. En effet, dans la présente invention, l’algorithme de segmentation de sol est un algorithme de vision par ordinateur inspiré des traitements d’images et non un algorithme à base de réseau neuronal.

[00016] la présente invention propose ainsi une méthode automatisée et généralisée d’extraction de vecteurs qui fonctionne dans un espace 3D, et qui utilise des techniques de vision par ordinateur et des techniques d’intelligence artificielle à réseaux de neurones convolutifs et apprentissage profond pour réaliser une transformation d’objets 2D et 3D sous forme de vecteurs cartographiques géospatiaux. [00017] Plus particulièrement, la présente invention propose un procédé de génération carte 3D vectorielle haute définition d’aide au pilotage d’un ou plusieurs véhicules autonomes, mis en œuvre par ordinateur et comprenant successivement :

1) - une ou plusieurs générations d’au moins un nuage de points initial d’un itinéraire à cartographier au moyen d’un ou plusieurs véhicules d’acquisition,

2) - la génération d’un nuage de points classifié à partir dudit nuage de points initial, ladite génération comportant :

a) - une première classification de types d’objets : sol et non sol à partir dudit nuage de points initial comportant un algorithme de voxellisation décimétrique du nuage de points utilisant des voxels cubiques décimétriques et un algorithme de vision exécutés sur un système de calcul pour classifier d’une part des points sol relatifs à un plan horizontal définissant le sol et d’autre part des points non sol ,

b) - une deuxième classification d’un type d’objet voie ou rail à partir du type d’objet sol,

c) - une succession de troisièmes classifications de types d’objets végétation, bâtiment, infrastructure à partir du type d’objet non sol ;

3) - à partir du nuage de points classifié, l’identification d’objets unitaires à partir des types d’objets classifiés et la vectorisation des objets unitaires,

4) - le stockage des données vectorisées en mémoire non volatile.

[00018] Le procédé selon l’invention qui combine plusieurs techniques de traitement par ordinateur est optimisé en fonction du type et du volume de données à traiter.

[00019] Avantageusement, la voxellisation décimétrique du nuage de points utilise des voxels cubiques d’une largeur de 20cm à 30cm.

[00020] L’usage d’un algorithme de vision par ordinateur à ce stade est performant tout en réduisant la charge de calcul des systèmes informatiques.

[00021] Préférablement, la deuxième et les troisièmes classifications de types d’objets sont réalisées sur un système de calcul à partir d’algorithmes de voxellisation, de normalisation et de classification par réseau de neurones convolutif. [00022] Les systèmes à réseaux de neurones convolutifs et les technologies d’apprentissage profond qui leur sont associées sont adaptées pour des traitements sur des données plus complexes.

[00023] La transformation des types d’objets classifiés en objets unitaires comporte avantageusement un procédé d’extraction de données vectorielles représentatives des objets unitaires à partir du nuage de points classifié, ledit procédé d’extraction de données vectorielles comprenant, à partir d’une sélection de voxels, un algorithme de constitution de graphes comportant des nœuds de classe d’intérêt et de classe de bordure et un algorithme d’extraction de nœuds constitutifs d’une représentation vectorielle des objets.

[00024] La deuxième classification de types d’objets séparant des points sol de points rails ou voies utilise préférablement un algorithme de voxellisation centimétrique à voxels cubiques d’une largeur de 2cm à 10cm préalable à l’exécution de l’algorithme de classification par réseau de neurones convolutif.

[00025] Pour les points non sol, les troisièmes classifications de types d’objets comportent avantageusement une pluralité d’opérations de voxellisations, normalisations, classifications par réseau de neurones convolutif selon des algorithmes itératifs ou parallèles en sorte de classifier les types d’objets tels que type d’objet végétation, type d’objet infrastructure, type d’objet bâtiment, l’ensemble des opérations de voxellisations, normalisations et classifications étant suivies d’opérations d’indexations des types de points classifiés pour la génération d’un nuage de points classifié.

[00026] La classification des objets bâtiments, végétation et infrastructure utilise avantageusement trois opérations de voxellisations avec des voxels cubiques de taille décamétrique, métrique et décimétrique.

[00027] L’usage d’une structure de voxels multi-échelles permet au modèle d’apprendre selon le type d’objet. Il s’agit d’un mode de réalisation important qui permet de réduire la charge des systèmes informatiques et d’améliorer la précision des classifications.

[00028] Les opérations de vectorisations peuvent comporter pour chaque objet des algorithmes d’extraction qui comprennent la sélection de voxels comportant au moins un point de l’objet à extraire, une étape de sélection de voxels adjacents qui contiennent au moins un point de bordure de l’objet, la construction d’un graphe avec des nœuds et des arêtes entre nœuds, lesdites arêtes construisant la relation entre les points de bordure et les points de l’objet, un ordonnancement des nœuds du graphe avec une affectation aux nœuds d’une valeur de distance euclidienne croissante depuis les nœuds de bordure, et une opération d’extraction de données vectorielles représentatives de l’objet à vectoriser à partir de l’ordonnancement réalisé.

[00029] Selon un premier mode de réalisation l’opération d’extraction de données vectorielles comporte une extraction de contour de l’objet.

[00030] Selon un deuxième mode de réalisation alternatif ou complémentaire, l’opération d’extraction de données vectorielles de l’objet comporte une extraction de données de squelette de l’objet.

[00031] Selon un troisième mode de réalisation alternatif ou complémentaire, l’opération d’extraction de données vectorielles de l’objet comporte une extraction de centre et de rayon de l’objet.

[00032] Selon un mode de réalisation, ladite première classification comprend : a. un algorithme de voxellisation donnant une structure de données de voxelisation à une résolution décimétrique pour laquelle les voxels ont la notion de hauteur sur l’axe vertical du volume,

b. une détection d’objets verticaux ou suspendus qui va déterminer des points du voxel classés comme non sol et des points candidats de classe sol,

c. une analyse des composantes connexes donnant une analyse de la connexité des voxels selon laquelle la plus grande composante connexe issue de cette analyse est classée comme sol.

[00033] Préférablement, ladite détection d’objets verticaux comporte une segmentation des objets verticaux.

[00034] Cette segmentation peut comprendre une détection des objets verticaux par l’empilement des voxels non-vides.

[00035] Elle peut comprendre une détection des objets suspendus par la présence de voxels non-vides sans connexité sur l’axe vertical.

[00036] Les points candidats de classe sol correspondent aux voxels qui ne sont pas caractérisé comme des objets verticaux ou suspendus. [00037] La détection des points de sol peut en outre comprendre une analyse statistique sur la distribution des altitudes minimales de voxels du sol conservant les voxels d’un quartile inférieur au troisième quartile de la distribution des altitudes minimales et éliminant les autres voxels comme classés non-sol.

[00038] Préférablement, le nuage de points est acquis au moyen d’un ou plusieurs véhicules d’acquisition circulant sur des voies à emprunter par lesdits véhicules autonomes.

[00039] L’acquisition du nuage de points est avantageusement réalisée au moyen de dispositifs LIDAR montés sur au moins un véhicule d’acquisition.

[00040] Selon un mode de réalisation particulier, les dispositifs LIDAR procèdent à une acquisition de données sur deux plans orthogonaux à 45° de l’axe de déplacement dudit véhicule d’acquisition.

[00041] L’invention concerne en outre un dispositif de cartographie comportant un ou plusieurs véhicules d’acquisition pourvus de dispositifs LIDAR, une unité de datation et de géolocalisation du nuage de points, une ou plusieurs unités de stockage du nuage de points et une ou plusieurs unités de traitement comportant des moyens de calcul de réalisation des opérations de classifications et de vectorisations de l’invention.

[00042] L’invention concerne par ailleurs un programme informatique comportant des instructions pour la mise en œuvre du procédé ci-avant, lorsque lesdites instructions sont exécutées par un ou plusieurs processeurs d’un système de calcul.

[00043] L’invention concerne de plus un système informatisé de guidage d’un véhicule autonome comportant une carte 3D vectorisée obtenue par le procédé ci- avant pour lequel la carte 3D vectorisée est chargée dans un calculateur d’un dispositif de guidage dudit véhicule autonome et combinée au niveau dudit calculateur avec des données de positionnement par satellite dudit véhicule, les données vectorisées comportant des données de voies, végétation, infrastructure, bâtiments; et pour lequel le système comporte un algorithme d’évaluation de la fiabilité des signaux de positionnement par satellite utilisant lesdites données vectorisées. Brève description des dessins

[00044] D’autres caractéristiques, détails et avantages de l’invention apparaîtront à la lecture de la description détaillée qui décrit des exemples de réalisation de l’invention en référence aux dessins annexés qui représentent:

[00045] [Fig. 1] représente des étapes d’une première partie d’un exemple de procédé applicable à l’invention ;

[00046] [Fig. 2] représente des étapes d’une seconde partie d’un exemple de procédé applicable à l’invention ;

[00047] [Fig. 3A] ; [Fig. 3B] ; [Fig. 3C] ; [Fig. 3D] représentent des étapes d’un exemple de construction de graphe ;

[00048] [Fig. 4] représente une illustration graphique en niveaux de gris d’un résultat d’ordonnancement de nœuds ;

[00049] [Fig. 5] représente un exemple d’algorithme de segmentation de sol applicable à l’invention. Description de modes de réalisation

[00050] Les dessins et la description ci-après concerne des exemples de réalisation pouvant servir à mieux faire comprendre la présente invention, mais aussi à contribuer à sa définition, le cas échéant.

[00051] La reconnaissance d’objets dans les images par intelligence artificielle est une technologie établie, et un nouveau défi est la reconnaissance d’objets dans les nuages de points pour les architectures informatiques comportant une phase d’apprentissage automatique. Dans le cas de la réalisation de cartes hautes définitions, il y a lieu de transformer les données de nuages de points en représentations symboliques vectorielles associée à une description enrichie des objets. Dans les cartes HD, les données et leurs spécifications sont mémorisés dans des formats XML tels que les formats GML de OGC ou GeoJSON. En conséquence, les données de nuages de points, par exemple les données de cartographie mobile nécessitent d’être vectorisées.

[00052] La vectorisation est nécessaire du fait que les formats précités des cartes HD sont préférés car ils sont légers et peuvent être stockés dans des dispositifs de calcul embarqués. A ce jour, l’étape finale de conversion des données de cartographie mobile dans des formats de cartes vectorielles automatisée n’a pas encore été réalisée. Les méthodes actuelles de vectorisation s’appuient sur des extractions semi-automatiques assistées par opérateur humain, explicitement guidées ou dessinées avec des applications de CAO.

[00053] Acquisition des données :

[00054] Le système mobile de cartographie terrestre utilisé pour collecter des données dans le cadre de la présente divulgation est un système utilisant des dispositifs de type LIDAR montés sur au moins un véhicule d’acquisition.

[00055] Notamment les dispositifs LIDAR peuvent être configurés pour procéder à une acquisition de données sur deux plans orthogonaux à 45° de l’axe de déplacement dudit véhicule d’acquisition. Le dispositif est complété par une unité de datation et de géolocalisation du nuage de points, une ou plusieurs unités de stockage du nuage de points.

[00056] Il est à noter que du fait du grand nombre de données obtenues lors des acquisitions, il est nécessaire de segmenter les trajets pour par exemple traiter des nuages de points d’un volume raisonnable par exemple de l’ordre de 50 millions de points pour une distance parcourue de 100m à 500m.

[00057] Un exemple de système utilisable est un système Road Scanner 4 (RS4) de la société SITECO. Le système RS4 est un système de classe topométrique qui produit un nuage de points 3D dense et de grande fidélité.

[00058] Intégré dans le système de localisation de ce système se trouve une antenne GNSS bi-fréquence, grande précision de même qu’une unité de mesure inertielle ixBlue-C Landins avec un odomètre. La géolocalisation hybride optimise la précision et la couverture des informations de géoposition. Le système RS4 est équipé de deux scanners 2D Zoller-Frohlich (Z+F) capables de tourner à 200 tours/s avec 1 million de points par seconde. Les deux lasers Z+F sont positionnés de telle sorte que les scanners lasers sont orthogonaux pour minimiser les effets de masque et maximiser la surface de balayage.

[00059] Reconnaissance d’objets dans le nuage de points 3D:

[00060] L’invention comporte une organisation logicielle qui prend comme données d’entrée les nuages de points issus des acquisitions.

[00061] Selon la présente divulgation, le nuage de points est traité en sorte de classifier les points du nuage de sorte que chaque point d’un nuage 3D va être classifié en tant qu’objets ou éléments remarquables et notamment que sol, infrastructure, végétation, immeubles et voies ou rails.

[00062] Un aspect important de ce procédé est d’utiliser plusieurs étapes de voxellisation avec des dimensions de voxels adaptés au type d’objet à extraire.

[00063] Par ailleurs un problème des systèmes de reconnaissance est le temps de traitement nécessaire, le procédé de l’invention est optimisé en utilisant un algorithme de vision (vision par ordinateur) pour une détection de type d’objet sol et un ou plusieurs algorithmes à réseaux de neurones convolutifs pour des types d’objets plus complexes à détecter.

[00064] Dans ce cadre, la figure 1 représente un procédé de classification.

[00065] La première étape consiste à séparer les points représentatifs du sol et les points différents du sol (par exemple des points alignés selon des axes verticaux). Cette première classification est réalisée à partir d’une première voxellisation 70 avec une résolution de voxels décimétriques par exemple de l’ordre de 20 à 30 cm au moyen d’un algorithme de vision 100. Lors de cette classification, les coordonnées spatiales des points et leur nature sont associées aux points détectés comme points de sol ou non sol.

[00066] Un exemple d’algorithme de vision ou de traitement d’images adapté à la segmentation du sol est donné en figure 5 pour laquelle la segmentation du sol est constitué de plusieurs étapes partant d’une voxelisation. Cet algorithme partant du nuage de points initial 50 utilise une voxellisation 70a donnant une structure de données de voxelisation à une résolution décimétrique pour laquelle les voxels ont la notion de hauteur sur l’axe vertical du volume.

[00067] Une fois le nuage référencé par la structure de voxels une segmentation 810 des objets verticaux est réalisée. Pour cela, selon l’exemple, une détection des objets verticaux par l’empilement des voxels non-vides et des objets suspendus par la présence de voxels non-vides sans connexité sur l’axe vertical est réalisée au niveau d’une détection d’objets verticaux 820.

[00068] Cette détection va déterminer des points du voxel classés comme non sol 840 et des points candidats de classe sol 830 correspondant aux voxels qui ne sont pas caractérisé comme des objets verticaux ou suspendus.Toujours selon l’exemple, pour affiner la détection, parmi ces voxels candidats du sol, une analyse des composantes connexes 850, 860 donnant une analyse de la connexité des voxels est réalisée. La plus grande composante connexe issue de cette analyse est classée comme sol 880.

[00069] Ensuite, pour encore affiner la segmentation sémantique du sol, une analyse statistique 890 est alors faite sur la distribution des altitudes minimales de tous les voxels du sol (sortie d’analyse de composantes connexes) en gardant les voxels qui sont d’un quartile inférieur au troisième quartile de la distribution des altitudes minimales 900, 920 les autres voxels 910 étant là aussi éliminés comme classés non-sol.

[00070] Un tel algorithme à plusieurs niveaux de filtrage est dans le cas de nuages de points volumineux plus simple et efficace qu’un procédé utilisant des réseaux neuronaux Un tel algorithme nécessite moins de temps de développement, ne nécessite pas d’entrainements de réseaux neuronaux ni jeux de données d’entrainement.

[00071]

[00072] Pour les points de sol 102, une deuxième étape de voxellisation 110 leur est appliquée. Cette voxellisation utilise des cellules ou voxels plus petits de quelques centimètres pour classifier des rails pour accroître la résolution sur la partie de points du nuage traitée. Cette voxellisation est suivie par une normalisation 120 qui va rendre les coordonnées des points plus simple à manipuler (en effet, dans le nuage de points initial, les points sont repérés en coordonnées absolues par rapport au centre de la terre et doivent être ramenées à des valeurs plus aisément manipulables). Une fois les données normalisées un algorithme de classification 130 utilisant un réseau de neurones convolutif est appliqué au nuage voxellisé pour distinguer les points de sol voxellisés des points de rail ou voies voxellisés.

[00073] Pour utiliser un réseau de neurones, une phase d’apprentissage profond connue dans le domaine va permettre de procéder à calibrer les paramètres nécessaire au fonctionnement du procédé et la différentiation des points de sol des points de rails ou voies. A partir de la classification, une projection des voxels sur le nuage de points est appliquée sur pour indexer dans le nuage les points de sol 150 et les points de rail 160.

[00074] Du côté des points classifiés en tant que non sol 103, il faut distinguer des types d’objets de volume et de formes différents. [00075] On cherche à distinguer des objets de type infrastructure, tels que des poteaux, des caténaires, des passerelles ; des objets de type bâtiments et des objets de type végétation.

[00076] La classification des objets bâtiments, végétation et infrastructure décrite utilise avantageusement trois opérations de voxellisations avec des voxels cubiques de dimensions adaptées selon le type d’objet à déterminer, par exemple des dimensions : décamétriques, métriques et décimétriques avec par exemple des dimensions de voxels déterminées par apprentissage profond entre 10m et 30m pour les voxels de dimensions décamétriques, entre 1 m et 3m pour les voxels de dimensions métriques et entre 20cm et 30cm pour les voxels décimétriques.

[00077] En fin de classification, des opérations destinées à affecter aux points du nuage la classe d’objet auquel ils appartiennent sont effectuées.

[00078] Ces opérations comportent des opérations dites de projection de voxels 140, 240, une indexation des points 150, 160, 250, une mise à jour de la classification 300 qui va résoudre les types ou classes d’objets lorsque des points se retrouvent dans plus d’une classe en affectant au point la classe la plus probable entre les classes issues de la classification et une classification du nuage de points 310.

[00079] Une fois le nuage de points classifié, celui-ci peut être stocké dans une mémoire non volatile pour diverses utilisation et notamment la réalisation d’une carte vectorielle comme il sera vu ci-après.

[00080] Vectorisation des objets :

[00081] Le procédé informatisé de vectorisation utilise la méthode décrite en figure 2 et va permettre de vectoriser les objets classifiés tels que des rails, des bâtiments, les éléments d’infrastructure et la végétation pour produire la carte d’aide à la navigation autonome. Cette méthode tient compte de l’appartenance de points à une classe d’intérêt et des points adjacents qui correspondent à une classe de bordure.

[00082] Pour extraire automatiquement un objet d’un type classifié à partir d’un nuage de points 3D, les points du nuage de points sont analysés pour déterminer les relations d'un point avec d'autres points l’entourant ainsi que les distances entre ces points. On peut considérer cette organisation comme un graphe dont les points constituent les nœuds et les distances entre un point et chacun de ses voisins constituent les arêtes.

[00083] Dans un tel graphe, les contours d’un objet vont être constitués de tous les points externes à une classe, correspondant à un type d’objet, et qui sont voisins directs des points appartenant à cette classe. Ces points constituent une classe de bordure.

[00084] En premier lieu le procédé comporte une nouvelle voxellisation 410 pour laquelle la taille des voxels tient compte de la taille des objets à extraire. A partir de cette voxellisation, une sélection 420 des voxels contenant au moins un point d’une classe d’intérêt, c’est-à-dire la classe de l’objet que l’on souhaite extraire, est réalisée. Ensuite le procédé comporte une sélection des voxels adjacents qui contiennent au moins un point de classe de bordure 430. Les deux ensembles de classes sont analysés pour déterminer leur proximité et distance entre eux dans le contexte de la construction des voxels.

[00085] Les opérations de vectorisations détaillées en figure 2 démarrent par une lecture du nuage de points 400, une nouvelle voxellisation du nuage de points avec des voxels de taille adaptée aux objets à extraire et comportent pour chaque objet à extraire des algorithmes d’extraction qui comprennent la sélection 420 de voxels comportant au moins un point de l’objet à extraire ou classe d’intérêt, une étape de sélection 430 de voxels adjacents à la classe d’intérêt qui contiennent au moins un point de classe de bordure de la classe d’intérêt. Ensuite un algorithme sélectionne un point arbitraire de chaque voxel sélectionné 440 ce point devenant un point dit point représentatif. A partir des points représentatifs un algorithme de calcul va réaliser la construction d’un graphe avec des nœuds constitués par les points représentatifs et des arêtes connectant les nœuds de voxels adjacents 450, puis le procédé comporte une opération d’ordonnancement des nœuds 460 comportant une opération itérative qui va d’une part affecter une valeur zéro aux nœuds de la classe de bordure 600, 610 puis affecter à chaque nœud adjacent au nœud de classe de bordure une valeur correspondant à la distance euclidienne de ce nœud au nœud de bordure.

[00086] Les figures 3A à 3D illustrent des graphes simples correspondant à ces opérations. [00087] En figure 3A, Les points de la classe d’intérêt 720 et les points des voxels adjacents 710 identifiés aux étapes de sélection 420, 430 et connectés par des arêtes 750 lors de l’étape 450 de construction du graphe sont représentés. En figure 3B, les nœuds de classe de bordure 730 sont identifiés autour des nœuds de class d’intérêt. En figure 3C un ordonnancement des nœuds est réalisé pour lequel les nœuds de bordure 735 sont de rang zéro, les nœuds de classe d’intérêt 725 contigus aux nœuds de bordure de rang 1 , les nœuds suivants 740 de rang 2, le rang des nœuds croissant selon l’éloignement par rapport aux nœuds de bordure.

[00088] En figure 3D, la distance euclidienne des nœuds aux nœuds de bordure leur est affectée en correspondance avec leur rang.

[00089] Dans le cas d’objets plus étendus, des nœuds d’ordre supérieur sont présents et traités.

[00090] La figure 4 donne un exemple en niveaux de gris de résultat d’ordonnancement pour un marquage au sol d’une voie de circulation où la distance euclidienne 700 correspondant à l’ordre des nœuds est transformée en couleurs selon l’arc en ciel depuis le bleu 701 pour une distance d’origine nulle correspondant aux points de la classe de bordure vers le rouge 702 pour les rangs les plus hauts dans la figure d’origine en passant par le vert 703 et le jaune 704 pour les valeurs intermédiaires.

[00091] Plusieurs types d’extraction sont possibles notamment en fonction du format des données dans lequel est réalisée la carte.

[00092] Selon les étapes 490 et 495 illustrées en figure 2, l’extraction de données vectorielles comporte une extraction de contour de l’objet. Dans ce cas les nœuds utiles sont les nœuds de premier ordre après les nœuds de bordure et l’algorithme associé est un algorithme de recherche et de sélection de tous les nœuds partageant une arête avec un nœud de classe de bordure. Ce sont les nœuds de rang 1 sur les figures 3C et 3D.

[00093] Selon les étapes 500, 505 du logigramme de la figure 2, l’opération d’extraction de données vectorielles de l’objet comporte une extraction de données de squelette de l’objet. Pour cette opération, les nœuds d’ordre le plus élevé sont utilisés. [00094] Cette extraction est notamment utile pour la vectorisation de rails ou lignes de marquage sur route et comporte une construction d’un arbre minimal selon un algorithme STP (Spanning tree protocol) algorithme de l’arbre recouvrant de poids minimal puis pour les lignes 515 le calcul du plus long trajet du squelette 525.

[00095] Pour des vectorisations de points 520, on recherche le nœud ayant le nombre global maximum de rayons 530.

[00096] Selon les étapes 540, 545 de la figure 2 la vectorisation comporte l’extraction du rayon et du centre d’un objet 540 qui utilise un calcul de la distances des nœuds de plus haut rang avec le nœud d’ordre 0 qui leur est le plus proche 545.

[00097] Ces différents types d’extraction peuvent se cumuler ou être réalisés en parallèle pour des cartes de types différents.

[00098] Le présent algorithme de vectorisation de nuages de points fonctionne dans les espaces 2D et 3D et permet l'extraction de plusieurs formes vectorielles géospatiales: points, lignes et polygones. Les solutions choisies pour les différentes classifications et voxellisations permettent d’améliorer la qualité de la classification des nuages de points ce qui améliore l’algorithme de vectorisation de nuages de points. Par contre les extractions de lignes brisées nécessitent un algorithme supplémentaire pour déterminer les relations entre les marques classifiées de de ces lignes.

[00099] Les systèmes de réseaux de neurones convolutifs et modèles d’apprentissage profond utilisés pour segmenter et classifier les nuages de points peuvent être disséminés dans l’informatique en nuage pour accroître les ressources de calcul horizontalement (horizontal scaling en anglais) et permettre le traitement du grand volume de données typique du système mobile de cartographie terrestre.