Monocular-SLAM dense mapping algorithm and hardware architecture for FPGA acceleration
Institution:
Université Clermont Auvergne (2017-2020)Disciplines:
Directors:
Abstract EN:
Simultaneous Localization and Mapping (SLAM) is the problem of constructing a 3D map while simultaneously keeping track of an agent location within the map. In recent years, work has focused on systems that use a single moving camera as the only sensing mechanism (monocular-SLAM). This choice was motivated because nowadays, it is possible to find inexpensive commercial cameras, smaller and lighter than other sensors previously used and, they provide visual environmental information that can be exploited to create complex 3D maps while camera poses can be simultaneously estimated. Unfortunately, previous monocular-SLAM systems are based on optimization techniques that limits the performance for real-time embedded applications. To solve this problem, in this work, we propose a new monocular SLAM formulation based on the hypothesis that it is possible to reach high efficiency for embedded applications, increasing the density of the point cloud map (and therefore, the 3D map density and the overall positioning and mapping) by reformulating the feature-tracking/feature-matching process to achieve high performance for embedded hardware architectures, such as FPGA or CUDA. In order to increase the point cloud map density, we propose new feature-tracking/feature-matching and depth-from-motion algorithms that consists of extensions of the stereo matching problem. Then, two different hardware architectures (based on FPGA and CUDA, respectively) fully compliant for real-time embedded applications are presented. Experimental results show that it is possible to obtain accurate camera pose estimations. Compared to previous monocular systems, we are ranked as the 5th place in the KITTI benchmark suite, with a higher processing speed (we are the fastest algorithm in the benchmark) and more than x10 the density of the point cloud from previous approaches.
Abstract FR:
La localisation et la cartographie simultanées (SLAM) consiste à construire une carte 3D tout en situant le ou les capteurs (ayant servi au SLAM) dans cette carte. Ces dernières années, le travail s'est focalisé sur des systèmes utilisant une seule caméra mobile comme moyen de perception (monoculaire-SLAM). Ce choix a été motivé par le fait qu'il est aujourd'hui possible de trouver des caméras commerciales peu coûteuses, plus petites et plus légères que les autres capteurs utilisés auparavant. De plus ces caméras fournissent des informations environnementales visuelles qui peuvent être exploitées pour créer des cartes 3D complexes tandis que les poses des caméras peuvent être estimées simultanément. Malheureusement, les systèmes monoculaires SLAM sont basés sur des techniques d'optimisation qui limitent les performances des applications embarquées en temps réel. Pour résoudre ce problème, nous proposons dans ce travail une nouvelle formulation SLAM monoculaire basée sur l'hypothèse qu'il est possible d'atteindre une haute efficacité pour les applications embarquées, en augmentant la densité de la carte des nuages de points (et donc la densité de la carte 3D et le positionnement et la cartographie globale) et en reformulant le processus de suivi des caractéristiques/rappariement des fonctionnalités pour obtenir de hautes performances pour les architectures matérielles embarquées, comme le FPGA ou CUDA. Afin d'augmenter la densité de la carte des nuages de points, nous proposons de nouveaux algorithmes pour le suivi et la mise en correspondance de primitives ainsi que des algorithmes de calcul profondeur à partir du mouvement pouvant se ramener à une extension d'un problème de mise en correspondance stéréo. Ensuite, deux architectures matérielles différentes (basées respectivement sur FPGA et CUDA) entièrement compatibles avec les contraintes embarquées temps réel sont proposées. Les résultats expérimentaux montrent qu'il est possible d'obtenir des estimations précises de la pose de la caméra. Par rapport aux systèmes monoculaires de l'état de l'art, nous occupons la 5ème place dans la suite de benchmarks KITTI, avec un score supérieur à celui de l'année dernière (nous sommes l'algorithme le plus rapide du benchmark) et une densité du nuage de points dix fois plus élevée que les approches précédentes.