• Aucun résultat trouvé

Présentation du SLAM visuel

Dans le document SLAM temporel à contraintes multiples (Page 61-65)

Les méthodes de type SLAM visuel (Visual Simultaneous Localization And Mapping) sont des techniques de SfM (Structure from Motion). L’objectif est de calculer le déplacement d’une caméra en analysant le flux vidéo. Une première étape consiste à localiser la caméra en estimant la pose dans un espace 3D arbitraire par mise en correspondance des informations contenues dans les images avec le modèle d’environnement connu. La seconde étape a pour but de mettre à jour le modèle de l’environnement avec les nouvelles informations contenues dans les images. Ces algorithmes sont utiles dans de nombreuses applications comme la robotique mobile ou la réalité augmentée. On distingue deux types d’approches pour résoudre les problèmes de SLAM : les méthodes probabilistes utilisant des filtres Bayésien récursifs (filtres de Kalman, filtres à particules,...) et les méthodes d’optimisation de type ajustement de faisceaux (AF). Le lecteur intéressé pourra se référer aux travaux de Salas-Moreno [44] pour un historique détaillé des méthodes de SLAM. Ce chapitre se compose de deux sections. La première présente les approches probabilistes, puis une seconde présente les approches par AF.

2.1 SLAM probabiliste

Les premiers travaux en matière de SLAM probabiliste ont été réalisés par Smith et Chesseman [45] en 1988. Ils ont proposé d’estimer de façon conjointe la position des amers visuels de l’environnement et la trajectoire en utilisant un filtre de Kalman étendu (EKF). Ces bases théoriques ont ensuite été développées par Moutarlier et Chatila [46] pour des applications à base de lasers et de sonars, et sont toujours utilisées dans les implémentations modernes de SLAM probabiliste [47, 48, 49, 50, 51, 52]. L’un des premiers systèmes complets de SLAM EFK utilisant la vision est développé par Davison et al en 1998 [49] pour localiser un robot se déplaçant sur un plan. Ils utilisent la vision active pour focaliser la caméra sur les amers visuels et ainsi reconstruire une carte 3D. En 2003, Davison et al [53] proposent une implémentation temps-réel d’un SLAM visuel par EKF sur un ordinateur grand public avec une caméra portée à la main.

Toutefois, les méthodes probabilistes sont limitées par les temps de calcul trop importants lorsque la taille de la carte augmente. La complexité algorithmique de la mise à jour est de Θ(N2), avec N la taille du vecteur d’états. C’est pourquoi, ces méthodes sont le plus souvent utilisées dans des environnements de petite taille avec une gestion restrictive des amers visuels. Une autre approche probabiliste, nommée FastSLAM et publiée par Montermerlo et al. [54], consiste à remplacer le filtre de Kalman par un filtre à particules. La complexité algorithmique est alors de Θ(M log(N )), avec M le nombre de particules. Un ensemble de particules représente la densité de probabilité de la pose du robot. Chaque particule contient à la fois une hypothèse de trajectoire et une hypothèse de carte. Tandis que la trajectoire est estimée par le filtre à particules, chaque amer visuel contenu dans les cartes est estimé indépendamment par un filtre de Kalman de petite dimension. L’approche FastSLAM a ensuite été appliquée au SLAM visuel [55,56].

en-ligne, qui réduisent le nombre de paramètres à optimiser pour traiter le flux vidéo en temps réel1. Il est possible de réduire dans une certaine mesure les temps de traitement en améliorant le code informatique, en augmentant la puissance de calcul, ou en réduisant la complexité algorithmique du problème de reconstruction. C’est pourquoi, dans la majorité des approches, la réduction du temps de calcul passe par une réduction du nombre de paramètres à optimiser.

L’AF est particulièrement utilisé pour les méthodes hors-ligne. Parmi les logiciels de reconstruction 3D populaires, on peut citer Arc3D, Acute3D, Autodesk 123DCatch, Insight 3D, Bundler, PMVS2, FIT3D, VisualSFM, Hypr3D, APERO, 3DSOM, Photoscan, PhotoBuilder. Ces logiciels permettent de reconstruire un modèle 3D texturé de l’environnement à partir d’une liste d’images (voir les illus-trations 2.1). Il faut toutefois compter sur des temps de calcul de l’ordre de plusieurs heures. Il est possible d’accélérer le temps de traitement des méthodes hors-ligne en subdivisant le problème de reconstruction en plusieurs problèmes de plus petites tailles. Cette approche a été utilisée par Royer et al. [61] avec structure hiérarchique : la séquence d’images est divisée récursivement en sous-séquences jusqu’à obtenir des triplets d’images. Le premier triplet est reconstruit avec l’algorithme de Nister présenté dans la section 3.1.1. Le triplet suivant est initialisé à partir des images communes et la 3ème est calculée avec un calcul de pose (cf.3.2.2). Les triplets sont fusionnés puis optimisés par AF. Le processus est répété jusqu’à parcourir l’intégralité de la structure hiérarchique. Dans le cadre du projet VIPA2, cette méthode (hors-ligne) est utilisée pour reconstruire la trajectoire d’un véhicule. La reconstruction 3D est ensuite utilisée en temps réel pour localiser et guider un véhicule autonome le long de cette trajectoire (cf. figure2.1e).

Contrairement aux méthodes hors-ligne où l’ensemble des images est connu à l’avance, les mé-thodes dites en-ligne traitent le flux vidéo image par image et en temps réel. L’idée est d’utiliser une approche incrémentale reconstruisant petit à petit l’environnement. Chaque étape de reconstruc-tion n’implique qu’un sous-ensemble des paramètres considérés utiles, correspondant en général aux paramètres de la fin de la trajectoire (cartographie locale contenant les paramètres récemment uti-lisés) car potentiellement remis en cause par les observations faites dans les dernières images. Cette approche est utilisée dans toutes variantes de SLAM par AF, dont voici une liste non exhaustive [62,63,64,65,66,67,3,4,68,5,1,2,69].

Naturellement, il existe différentes manières d’interpréter la notion de « fin de trajectoire ». Plu-sieurs approches sont possibles pour sélectionner les paramètres à optimiser. Toutefois, celles-ci s’ap-puient sur la sélection proposée par Steedly et al. [62]. L’idée est de considérer que si une pose caméra est optimisée (i.e. les degrés de liberté relatifs à cette pose sont relâchés), alors les amers 3D observés par cette pose sont aussi optimisés. Puis les poses observant ces points 3D sont également relâchées. Steedly et al. proposent de répéter ce schéma, en partant de la pose caméra la plus récente, jusqu’à obtenir un système stable. En utilisant cette méthode de sélection, le nombre de paramètres peut s’avérer trop important. Pour viser des applications temps réel, Mouragnon et al. [67] ont proposé

1. On parle de méthode temps réel si le temps de traitement d’une image est inférieur à la durée séparant deux images consécutives.

(a)Google Map

(b)Bundler

(c)VisualSFM

(d)Acute3D

(e)Algorithme VIPA. Les images à gauche correspondent aux caméras avant et arrière avec les points d’intérêt utilisés, la vue 3D correspond à une visualisation du modèle d’environnement, avec en vert les points 3D, et en rouge la trajectoire du véhicule.

(a)6 dof. SLAM de Lim et al. [1] (b)Orb-SLAM de Mur-Artal et al. [2]

Figure 2.2 – Algorithmes de SLAM en environnement urbain sur la base KITTI [70].

(a)PTAM de Klein et Murray [3] (b)SLAM de Tamaazousti et al.[4] (c)SLAM de Larnaout et al. [5]

Figure 2.3 – Algorithmes de SLAM appliqués à la Réalité Augmentée.

de limiter les paramètres optimisés aux 3 dernières poses, et aux points 3D vus dans les 10 dernières poses. Klein et Murray [3] se limitent quant à eux aux 5 poses les plus rapprochées spatialement de la pose courante.

La méthode employée dans nos travaux, et par Mur Artal et al. [2], est la méthode de Steedly et al. répétée deux fois (cf. la sous-section 3.3.3pour plus de détails). Cela permet un compromis entre sélection des données les plus pertinentes et temps de calcul. Le point important dans les approches d’AF incrémental est d’inclure dans la fonction de coût les erreurs liées aux amers 3D vus dans des poses caméras non optimisées. Ceci a pour effet d’ancrer la partie plus ancienne de la trajectoire et limite la dérive induite par l’accumulation d’erreurs.

2.3 Conclusion

Les applications visées dans ce travail de thèse concernent la robotique mobile et la Réalité Aug-mentée. Ainsi, on souhaite privilégier la qualité de la localisation par rapport à la précision de recons-truction de la carte. Or, plusieurs travaux [57, 58, 59, 60] montrent que l’AF est plus précis que les approches probabilistes. En contrepartie, celui-ci peut nécessiter plus de calculs. Toutefois, les implé-mentations à base de matrices éparses ainsi que les progrès faits en matière d’architecture matérielle et de compilation permettent désormais l’utilisation d’AF en temps réel même sur des architectures mobiles [71]. C’est pourquoi, le travail présenté sera focalisé sur les approches par AF, avec notamment un SLAM par images clés présenté dans le chapitre suivant.

Dans le document SLAM temporel à contraintes multiples (Page 61-65)