• Aucun résultat trouvé

Application au recalage d’objets 3D de formes complexes

Dans le document SLAM temporel à contraintes multiples (Page 154-158)

Contraintes de mouvement

10.7 Optimisation incrémentale de la trajectoire

11.1.3 Application au recalage d’objets 3D de formes complexes

Ce dernier scénario illustre l’utilisation du MCSLAM avec à la fois des objets simples et des objets de formes complexes (préalablement photo-modélisés). Les amers 3D sont de types points 3D et segments 3D4 reconstruits en ligne et utilisés comme contraintes sur les objets 3D. Tout comme les points 3D, les segments 3D sont utilisés à la fois pour reconstruire l’environnement (et donc localiser la caméra en utilisant les points de contours dans les images) et comme contrainte sur les objets 3D. Toutefois, il est difficile de contraindre des segments 3D à la surface des objets courbes. Ce problème n’est pas abordé ici mais le lecteur intéressé pourra se référer aux travaux de Loesch et al. [134]. C’est pourquoi, les segments 3D ne sont utilisés que pour contraindre les objets composés de plans : objets plan et parallélépipède rectangle (mais rien n’empêche l’algorithme de SLAM d’utiliser des segments qui sont sur des objets complexes pour la contrainte d’erreur de reprojection).

Le résultat de l’expérimentation est visible sur la figure 11.3. La séquence est composée de 10K images, le SLAM fait intervenir des points et des segments 3D, et 8 objets de 5 classes différentes (plan, sphère, parallélépipède rectangle, cylindre et modèle 3D). Tous les objets sont visibles dans les images et utilisés pour contraindre la reconstruction. Pour cette application, les performances du MCSLAM sont temps réel : le processus de localisation nécessite en moyenne 6 ms ce qui est suffisant pour une acquisition à 60 images par seconde. De plus, deux processus sont utilisés, un pour la localisation et un pour la mise à jour de la carte :

1. localisation : en moyenne, 5 ms sont nécessaires pour la détection d’amers 2D (Harris et Canny5) et l’appariement, 1 ms pour le calcul de pose

2. mise à jour : en moyenne, 70 ms sont nécessaires pour la mise à jour de carte. Ce temps est significatif à cause des calculs de dérivées effectués numériquement pour la reconstruction des segments 3D ainsi que les contraintes entre segments et objets.

La mise à jour de la carte dans un processus en parallèle permet au processus de localisation de traiter toutes les images. Dans le cas contraire, chaque optimisation bloquerait la localisation pendant 70 ms

4. la gestion (détection, extraction et mise en correspondance) et la paramétrisation des segments 3D sont celles décrites par Klein et al. [85]

Images clés Reprojection Points 3D Distance 3D Plan Sphère Cylindre Cube (a) Graphe

(b) SLAM (c) MCSLAM (d) MCSLAM

Figure 11.2 – Application à la Réalité Augmentée : comparaison visuelle sur le recalage d’objets entre les méthodes SLAM, MCSLAM et MCSLAM.

(a) Résultat du recalage entre les modèles d’objets projetés dans l’image (en rouge) et les objets réels. Les points et les traits jaunes correspondent aux points et contours détectés avec les détecteurs Harris et Canny.

Images clés Reprojection Points 3D Segments3D Distance 3D Sphères Plans Cubes Modèles 3D Cylindres

(b) Graphe (c) Vue 3D de la reconstruction : les points verts correspondent aux points 3D, les traits jaunes aux segments 3D, les objets 3D sont en rouges, la ligne bleue correspond à la trajectoire de la caméra et les points rouges aux images clés.

Figure 11.3 – Illustration du MCSLAM pour le recalage d’objets en utilisant des points et des segments 3D.

ce qui peut nuire à la fois à la qualité du calcul de pose mais également au rendu visuel qui serait moins fluide.

11.2 MCSLAM avec contraintes de mouvement

Cette seconde série d’expérimentations implique des contraintes de mouvement. Celles-ci corres-pondent aux données de position et d’inertie (vitesse de rotation et accélération) fournies par un GPS et une centrale inertielle rigidement liés à la caméra. L’objectif est d’évaluer l’utilisation d’une repré-sentation continue de la trajectoire pour fusionner les différents capteurs dans le cadre de la navigation pour la robotique mobile. Cela est réalisé avec le MCSLAM pour construire la trajectoire modélisée par une spline comme expliqué dans le chapitre 10. Comme les applications visées concernent la na-vigation de robot autonome, les critères d’évaluation sont la précision de la méthode et le temps de calcul.

Les données utilisées proviennent de la base KITTI [70]. Cette base contient un nombre important de trajectoires, composées des enregistrements de 4 caméras vidéos, d’un GPS-RTK6 couplé à une centrale inertielle7, et d’un vélodyne8 qui ne sera pas utilisé. Pour chaque caméra, la base de données contient à la fois les images brutes et les images corrigées de la distorsion. Par simplicité, on utilise les images corrigées de la caméra global shutter référencée « image_00 » de résolution 1226× 370. De plus, on utilise les données GPS et inertielles brutes et asynchrones avec les caméras : l’acquisition de la centrale inertielle et du GPS est effectuée à 100Hz et les caméras enregistrent à 10Hz. Des données inertielles synchronisées a posteriori avec les caméras sont disponibles dans la base KITTI mais ne seront pas utilisées.

La première expérimentation a pour but de valider la contrainte en déplacement relatif présentée dans la section 10.6, c’est pourquoi on utilise le GPS qui envoie des données fiables. Les expérimen-tations suivantes présentent le résultat du MCSLAM sur des jeux de données de la base KITTI en utilisant uniquement la caméra et la centrale inertielle. Les dernières expérimentations illustrent l’uti-lisation du MCSLAM afin d’effectuer du calibrage hors-ligne avec la contrainte GPS. Les jeux de données sont sélectionnés pour leurs grandes dimensions. Leurs caractéristiques sont résumées dans le tableau11.1.

Dans toutes les expérimentations qui suivent, l’intervalle de temps entre deux nœuds de spline est fixé arbitrairement à Δt = 0.5 seconde. La fenêtre glissante de sélection des paramètres optimisés (cf.10.7.1) est de 10 secondes. Les pondérations de chaque contrainte sont identiques pour l’ensemble des expérimentations et fixées empiriquement afin qu’aucune ne soit marginalisée dans le processus d’optimisation. Le détecteur de points d’intérêt FAST est utilisé et asservi pour extraire approximati-vement 600 points par image. Le critère de sélection des images clés sélectionne en moyenne 1 image clé toutes les 3 images. Le nombre maximum d’images clés optimisées dans le SLAM est fixé à 20.

La précision des méthodes de localisation est évaluée en utilisant comme vérité terrain une spline optimisée en position et orientation sur les données GPS-RTK. L’utilisation d’une spline (dont les nœuds sont espacés d’un temps Δt = 0.5 seconde) sur les données GPS permet d’interpoler la vé-rité terrain aux temps de prise des images (asynchrones avec le GPS). L’initialisation du SLAM est contrainte à suivre la vérité terrain sur les 10 premières images clés afin d’initialiser le SLAM dans le même repère que le GPS. L’intérêt est de faciliter la comparaison avec la vérité terrain. Étant donné qu’il n’est pas possible d’évaluer la spline au temps courant (comme expliqué section10.8), les erreurs sont mesurées sur le résultat de la localisation par vision à chaque image. Deux types d’erreurs sont mesurées :

6. haute résolution

7. la précision donnée par le constructeur est de 0.02m/0.1◦. 8. capteur tournant composés de 64 nappes de lasers.

temps des images,

2. erreur relative : différence entre la distance relative entre les images clés consécutives datées ti

et ti+1 et le déplacement relatif dans la vérité terrain aux temps ti et ti+1.

Le tableau 11.2, à la fin de la section, résume les expérimentations avec les résultats sous forme d’erreurs moyennes et d’écarts-types à la vérité terrain.

Dans le document SLAM temporel à contraintes multiples (Page 154-158)