Difference between revisions of "RTAB-Map"

From IntRoLab
Line 1: Line 1:
 
<analytics uacct="UA-27707792-1" ></analytics>
 
<analytics uacct="UA-27707792-1" ></analytics>
<big><english>[[Image:RTAB-Map.png|link=http://rtabmap.googlecode.com|RTAB-Map]] RTAB-Map : Real-Time Appearance-Based Mapping</english><french>[[Image:RTAB-Map.png|link=http://rtabmap.googlecode.com|RTAB-Map]] RTAB-Map : Cartographie temps réel basée sur l'apparence de l'environnement </french></big>
+
<big><english>[[Image:RTAB-Map.png|link=http://introlab.github.io/rtabmap|RTAB-Map]] RTAB-Map : Real-Time Appearance-Based Mapping</english><french>[[Image:RTAB-Map.png|link=http://introlab.github.io/rtabmap|RTAB-Map]] RTAB-Map : Cartographie temps réel basée sur l'apparence de l'environnement </french></big>
  
 
<english>
 
<english>
 
== Description ==
 
== Description ==
 +
''This page is about the loop closure detection approach used by RTAB-Map. For RGB-D mapping, please see [[http://introlab.github.io/rtabmap introlab.github.io/rtabmap]]''.
 +
 
Loop closure detection is the process involved when trying to find a match between the current and a previously visited locations in SLAM (Simultaneous Localization And Mapping).  
 
Loop closure detection is the process involved when trying to find a match between the current and a previously visited locations in SLAM (Simultaneous Localization And Mapping).  
 
Over time, the amount of time required to process new observations increases with the size of the internal map, which may affect real-time processing.  
 
Over time, the amount of time required to process new observations increases with the size of the internal map, which may affect real-time processing.  
Line 9: Line 11:
 
</english><french>
 
</english><french>
 
== Description ==
 
== Description ==
 +
''Cette page est à propos de l'approche de détection de fermeture de boucle utilisée dans RTAB-Map. Pour la cartographie RGB-D, visitez [[http://introlab.github.io/rtabmap introlab.github.io/rtabmap]]''.
 +
 
La détection de fermeture de boucle est le processus impliqué en SLAM (localisation et cartographie simultanées) lorsqu'on tente de trouver une correspondance entre un endroit présent et un autre déjà visité. Plus la carte interne augmente en taille, plus le temps requis pour la détection de fermeture de boucle augmente, ce qui peut affecter le traitement en temps réel. RTAB-Map est une nouvelle approche de détection de fermeture de boucle fonctionnant en temps réel pour du SLAM à grande échelle et à long terme. Notre approche est basée sur une gestion efficace de la mémoire afin de garder le temps de calcul en dessous d'un seuil de temps, respectant ainsi la limite de temps réel à long terme. En utilisant dix ensembles de données standards, notre propre ensemble de données dérivées d'un parcours de plus de 2 km rassemblant des conditions diverses et notre ensemble de données montrant un parcours où le robot visite les mêmes endroits une centaine de fois, les résultats démontrent l'adaptabilité et l'extensibilité de notre approche.
 
La détection de fermeture de boucle est le processus impliqué en SLAM (localisation et cartographie simultanées) lorsqu'on tente de trouver une correspondance entre un endroit présent et un autre déjà visité. Plus la carte interne augmente en taille, plus le temps requis pour la détection de fermeture de boucle augmente, ce qui peut affecter le traitement en temps réel. RTAB-Map est une nouvelle approche de détection de fermeture de boucle fonctionnant en temps réel pour du SLAM à grande échelle et à long terme. Notre approche est basée sur une gestion efficace de la mémoire afin de garder le temps de calcul en dessous d'un seuil de temps, respectant ainsi la limite de temps réel à long terme. En utilisant dix ensembles de données standards, notre propre ensemble de données dérivées d'un parcours de plus de 2 km rassemblant des conditions diverses et notre ensemble de données montrant un parcours où le robot visite les mêmes endroits une centaine de fois, les résultats démontrent l'adaptabilité et l'extensibilité de notre approche.
 
</french>
 
</french>
Line 37: Line 41:
 
[[File:RTAB-Map_LoopClosureAllPrecisionRecall.png|250px]]
 
[[File:RTAB-Map_LoopClosureAllPrecisionRecall.png|250px]]
  
* Visit the [http://code.google.com/p/rtabmap/wiki/BenchmarkLoopClosureDetection BenchmarkLoopClosureDetection] wiki page on [http://rtabmap.googlecode.com rtabmap.googlecode.com]. The ground truths can be downloaded below.
+
* Visit the [https://github.com/introlab/rtabmap/wiki/Benchmark Benchmark] wiki page on [https://github.com/introlab/rtabmap/wiki RTAB-Map's GitHub]. The ground truths can be downloaded below.
  
 
'''Videos'''
 
'''Videos'''
Line 71: Line 75:
 
[[File:RTAB-Map_LoopClosureAllPrecisionRecall.png|250px]]
 
[[File:RTAB-Map_LoopClosureAllPrecisionRecall.png|250px]]
  
* Visitez la page wiki [http://code.google.com/p/rtabmap/wiki/BenchmarkLoopClosureDetection BenchmarkLoopClosureDetection] sur [http://rtabmap.googlecode.com rtabmap.googlecode.com]. Les "ground truths" peuvent être téléchargés en bas de la page.
+
* Visitez la page wiki [https://github.com/introlab/rtabmap/wiki/Benchmark Benchmark] sur le [https://github.com/introlab/rtabmap/wiki GitHub de RTAB-Map's]. Les "ground truths" peuvent être téléchargés en bas de la page.
  
 
'''Vidéos'''
 
'''Vidéos'''
Line 88: Line 92:
 
== Source code ==
 
== Source code ==
 
The code was tested on Windows (Xp, 7), Mac OS X 10.6 and Ubuntu 10.4LTS.
 
The code was tested on Windows (Xp, 7), Mac OS X 10.6 and Ubuntu 10.4LTS.
* Standalone application, libraries and ROS packages : [http://rtabmap.googlecode.com rtabmap.googlecode.com]
+
* Standalone application, libraries and ROS packages : [http://introlab.github.io/rtabmap introlab.github.io/rtabmap]
 
<div style="text-align: center;">
 
<div style="text-align: center;">
 
[[File:RTAB-Map_Interface.png|800px|Images acquired in Need For Speed Most Wanted]]
 
[[File:RTAB-Map_Interface.png|800px|Images acquired in Need For Speed Most Wanted]]
Line 96: Line 100:
 
== Code source ==
 
== Code source ==
 
Le code a été testé sur Windows (Xp, 7), Mac OS X 10.6 et Ubuntu 10.4LTS.  
 
Le code a été testé sur Windows (Xp, 7), Mac OS X 10.6 et Ubuntu 10.4LTS.  
* Logiciel "stand-alone", bibliothèques logicielles et noeuds ROS : [http://rtabmap.googlecode.com rtabmap.googlecode.com]
+
* Logiciel "stand-alone", bibliothèques logicielles et noeuds ROS : [http://introlab.github.io/rtabmap introlab.github.io/rtabmap]
 
<div style="text-align: center;">
 
<div style="text-align: center;">
 
[[File:RTAB-Map_Interface.png|800px|Images provenant de Need For Speed Most Wanted]]
 
[[File:RTAB-Map_Interface.png|800px|Images provenant de Need For Speed Most Wanted]]

Revision as of 18:21, 27 November 2014

RTAB-Map RTAB-Map : Real-Time Appearance-Based Mapping

Description[edit]

This page is about the loop closure detection approach used by RTAB-Map. For RGB-D mapping, please see [introlab.github.io/rtabmap].

Loop closure detection is the process involved when trying to find a match between the current and a previously visited locations in SLAM (Simultaneous Localization And Mapping).

Over time, the amount of time required to process new observations increases with the size of the internal map, which may affect real-time processing. RTAB-Map is a novel real-time loop closure detection approach for large-scale and long-term SLAM. Our approach is based on efficient memory management to keep computation time for each new observation under a fixed time limit, thus respecting real-time limit for long-term operation. Results demonstrate the approach's adaptability and scalability using two custom data sets and ten standard data sets.

Results[edit]

Note that these results (more recent) may differ from those in the presentation video above...

Figure 1: Summary of the loop closures detected on UdeS data set :

  • Green : Loop closures detected
  • Yellow : Loop closures rejected
  • Red : Unable to detect a loop closure because old places could not be retrieved

Figure 2: Processing time for each image acquired (real-time limit fixed to 700 ms for an image rate of 1 Hz)

Figure 3: Precision-Recall (48% recall at 100% precision)

RTAB-Map LoopClosureMapResults.png RTAB-Map LoopClosureTimeResults.png RTAB-Map RecallResults.png

Reproduce the loop closure detection results

RTAB-Map LoopClosureAllPrecisionRecall.png

Videos

  • Newer:
  • Older:


Source code[edit]

The code was tested on Windows (Xp, 7), Mac OS X 10.6 and Ubuntu 10.4LTS.

Images acquired in Need For Speed Most Wanted

Data sets[edit]

UdeS

  • 5395 images at 1 Hz (1.5 hours).
  • Images taken while walking through a loop of ~2 km, traversed two times.
  • The data set contains indoor and outdoor environments.
UdeS_1Hz.part1.rar
UdeS_1Hz.part2.rar
UdeS_1Hz.part3.rar
UdeS_1Hz GroundTruth

NFSMW

  • 25098 images at 1 Hz (7 hours).
  • Images taken from the racing video game Need For Speed: Most Wanted.
  • 2 areas visited hundred times each (100 traversals in area 1 then moved to area 2 for another 102 traversals).
NFSMW_1Hz.part01.rar
NFSMW_1Hz.part02.rar
NFSMW_1Hz.part03.rar
NFSMW_1Hz.part04.rar
NFSMW_1Hz.part05.rar
NFSMW_1Hz.part06.rar
NFSMW_1Hz.part07.rar
NFSMW_1Hz.part08.rar

Community

Community data sets from other loop closure detection approaches :

Ground truths:


Publications

  1. M. Labbé and F. Michaud, “Online Global Loop Closure Detection for Large-Scale Multi-Session Graph-Based SLAM,” in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 2014. (pdf)
  2. Labbé, M., Michaud., F. (2013), “Appearance-based loop closure detection in real-time for large-scale and long-term operation,” IEEE Transactions on Robotics, vol. 29, no. 3, pp. 734-745. (pdf) (IEEE Xplore)
  3. Labbé, M., Michaud, F. (2011), “Memory management for real-time appearance-based loop closure detection,” in Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems. (pdf) (IEEE Xplore)