Difference between revisions of "RTAB-Map"

From IntRoLab
 
(44 intermediate revisions by 3 users not shown)
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, visit [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>
 
<center>
 
<center>
<code>{{#ev:youtube|CAk-QGMlQmI}}</code>
+
{{#ev:youtube|71eRxTc1DaU}}
<code>{{#ev:youtube|AMLwjo80WzI}}</code>
+
{{#ev:youtube|CAk-QGMlQmI}}
</center>
+
{{#ev:youtube|AMLwjo80WzI}}
 
 
<english>
 
Example of sensorimotor learning using directly this loop closure detection approach (new in [http://semolearning.googlecode.com SeMoLearning]) :
 
</english><french>
 
Exemple d'apprentissage sensorimoteur en utilisant directement cette approche de détection de fermeture de boucle (nouveau dans [http://semolearning.googlecode.com SeMoLearning]) :
 
</french>
 
<center>
 
<code>{{#ev:youtube|sXl9HuxrqMs}}</code>
 
 
</center>
 
</center>
  
Line 41: Line 37:
 
[[File:RTAB-Map_LoopClosureMapResults.png|250px]] [[File:RTAB-Map_LoopClosureTimeResults.png|250px]] [[File:RTAB-Map_RecallResults.png|250px]]
 
[[File:RTAB-Map_LoopClosureMapResults.png|250px]] [[File:RTAB-Map_LoopClosureTimeResults.png|250px]] [[File:RTAB-Map_RecallResults.png|250px]]
 
</div>
 
</div>
 +
 +
'''Reproduce the loop closure detection results'''
 +
 +
[[File:RTAB-Map_LoopClosureAllPrecisionRecall.png|250px]]
 +
 +
* Visit the [http://github.com/introlab/rtabmap/wiki/Benchmark Benchmark] wiki page on [http://github.com/introlab/rtabmap/wiki RTAB-Map's GitHub]. The ground truths can be downloaded below.
  
 
'''Videos'''
 
'''Videos'''
 
* Newer:
 
* Newer:
<center><code>{{#ev:youtube|1dImRinTJSE}}</code></center>
+
<center>{{#ev:youtube|1dImRinTJSE}}</code></center>
<center><code>{{#ev:youtube|N5q0jQrV3gw}} {{#ev:youtube|PqO_x8tcFiY}}</code></center>
+
<center>{{#ev:youtube|N5q0jQrV3gw}} {{#ev:youtube|PqO_x8tcFiY}}</center>
<center><code>{{#ev:youtube|2MogQIT_B2I}} {{#ev:youtube|AH_oKp3CrRA}}</code></center>
+
<center>{{#ev:youtube|2MogQIT_B2I}} {{#ev:youtube|AH_oKp3CrRA}}</center>
 +
<center>{{#ev:youtube|0fNUD11FNZU}} {{#ev:youtube|ViXlUywWHYQ}}</center>
 
* Older:
 
* Older:
<center><code>{{#ev:youtube|0zWs6jTaAwQ}} {{#ev:youtube|J8KGEA9ecS0}}</code></center>
+
<center>{{#ev:youtube|0zWs6jTaAwQ}} {{#ev:youtube|J8KGEA9ecS0}}</center>
<center><code>{{#ev:youtube|kghs6XM8Yzw}} {{#ev:youtube|awV2Xbjq7OM}}</code></center>
+
<center>{{#ev:youtube|kghs6XM8Yzw}} {{#ev:youtube|awV2Xbjq7OM}}</center>
<center><code>{{#ev:youtube|CuWESlLfWpQ}} {{#ev:youtube|SQiFs1z7qSY}}</code></center>
+
<center>{{#ev:youtube|CuWESlLfWpQ}} {{#ev:youtube|SQiFs1z7qSY}}</center>
<center><code>{{#ev:youtube|ShQlakkzsY4}} {{#ev:youtube|cTmf5yrpcl8}}</code></center>
+
<center>{{#ev:youtube|ShQlakkzsY4}} {{#ev:youtube|cTmf5yrpcl8}}</center>
 
</english>
 
</english>
 
<french>
 
<french>
Line 69: Line 72:
 
[[File:RTAB-Map_LoopClosureMapResults.png|250px]] [[File:RTAB-Map_LoopClosureTimeResults.png|250px]] [[File:RTAB-Map_RecallResults.png|250px]]
 
[[File:RTAB-Map_LoopClosureMapResults.png|250px]] [[File:RTAB-Map_LoopClosureTimeResults.png|250px]] [[File:RTAB-Map_RecallResults.png|250px]]
 
</div>
 
</div>
 +
 +
'''Reproduire les résultats de détection de boucles'''
 +
 +
[[File:RTAB-Map_LoopClosureAllPrecisionRecall.png|250px]]
 +
 +
* Visitez la page wiki [http://github.com/introlab/rtabmap/wiki/Benchmark Benchmark] sur le [http://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'''
 
* Nouveaux:
 
* Nouveaux:
<center><code>{{#ev:youtube|1dImRinTJSE}}</code></center>
+
<center>{{#ev:youtube|1dImRinTJSE}}</center>
<center><code>{{#ev:youtube|N5q0jQrV3gw}} {{#ev:youtube|PqO_x8tcFiY}}</code></center>
+
<center>{{#ev:youtube|N5q0jQrV3gw}} {{#ev:youtube|PqO_x8tcFiY}}</center>
<center><code>{{#ev:youtube|2MogQIT_B2I}} {{#ev:youtube|AH_oKp3CrRA}}</code></center>
+
<center>{{#ev:youtube|2MogQIT_B2I}} {{#ev:youtube|AH_oKp3CrRA}}</center>
 +
<center>{{#ev:youtube|0fNUD11FNZU}} {{#ev:youtube|ViXlUywWHYQ}}</center>
 
* Anciens:
 
* Anciens:
<center><code>{{#ev:youtube|kghs6XM8Yzw}} {{#ev:youtube|awV2Xbjq7OM}}</code></center>
+
<center>{{#ev:youtube|0zWs6jTaAwQ}} {{#ev:youtube|J8KGEA9ecS0}}</center>
<center><code>{{#ev:youtube|CuWESlLfWpQ}} {{#ev:youtube|SQiFs1z7qSY}}</code></center>
+
<center>{{#ev:youtube|kghs6XM8Yzw}} {{#ev:youtube|awV2Xbjq7OM}}</center>
<center><code>{{#ev:youtube|ShQlakkzsY4}} {{#ev:youtube|cTmf5yrpcl8}}</code></center>
+
<center>{{#ev:youtube|CuWESlLfWpQ}} {{#ev:youtube|SQiFs1z7qSY}}</center>
 +
<center>{{#ev:youtube|ShQlakkzsY4}} {{#ev:youtube|cTmf5yrpcl8}}</center>
 
</french>
 
</french>
  
Line 84: Line 95:
 
== 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 92: Line 103:
 
== 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]]
Line 124: Line 135:
 
  [[Media:UdeS_1Hz.part2.rar|UdeS_1Hz.part2.rar]]
 
  [[Media:UdeS_1Hz.part2.rar|UdeS_1Hz.part2.rar]]
 
  [[Media:UdeS_1Hz.part3.rar|UdeS_1Hz.part3.rar]]
 
  [[Media:UdeS_1Hz.part3.rar|UdeS_1Hz.part3.rar]]
  [[Media:UdeS_1Hz.rar|UdeS_1Hz GroundTruth]]
+
  [[Media:UdeS_1Hz.png|UdeS_1Hz GroundTruth]]
  
 
'''NFSMW'''
 
'''NFSMW'''
Line 158: Line 169:
 
* Cummins et al. (FAB-MAP) : [http://www.robots.ox.ac.uk/~mobile/IJRR_2008_Dataset NewCollege and CityCentre]
 
* Cummins et al. (FAB-MAP) : [http://www.robots.ox.ac.uk/~mobile/IJRR_2008_Dataset NewCollege and CityCentre]
 
* Cummins et al. (FAB-MAP 2.0) : [http://www.robots.ox.ac.uk/~mobile Eynsham (70 km)]
 
* Cummins et al. (FAB-MAP 2.0) : [http://www.robots.ox.ac.uk/~mobile Eynsham (70 km)]
 +
* Maddern et al. : [http://www.robots.ox.ac.uk/NewCollegeData/ NewCollege omnidirectionnal images]
 +
* Kawewong et al. (PIRF-Nav 2.0): [http://haselab.info/pirf.html CrowdedCanteen]
 +
* Ga ́lvez-Lo ́pez et al. : [http://www.rawseeds.org/home/category/benchmarking-toolkit/datasets/ Bovisa and Bicocca]
 +
* Blanco et al. : [http://www.mrpt.org/malaga_dataset_2009 Malaga 2009]
  
Ground truths (readable by RTAB-Map) :
+
Ground truths:
* [[Media:NewCollege.rar|NewCollege.rar]] 1073 images at ~0.5 Hz (left and right images merged)
+
* [[Media:NewCollege.png|NewCollege.png]] 1073 images at ~0.5 Hz (left and right images merged)  
* [[Media:CityCentre.rar|CityCentre.rar]] 1237 images at ~0.5 Hz (left and right images merged)
+
* [[Media:CityCentre.png|CityCentre.png]] 1237 images at ~0.5 Hz (left and right images merged)  
* [[Media:Lip6Indoor.rar|Lip6Indoor.rar]] 388 images at 1 Hz
+
* [[Media:Lip6Indoor.png|Lip6Indoor.png]] 388 images at 1 Hz
* [[Media:Lip6Outdoor.rar|Lip6Outdoor.rar]] 531 images at 0.5 Hz
+
* [[Media:Lip6Outdoor.png|Lip6Outdoor.png]] 531 images at 0.5 Hz
* [[Media:Eynsham70km.rar|Eynsham70km.rar]] 5519 images at ~1 Hz (Note that we removed some images of the original data set to have an approximately image rate of 1 Hz)
+
* [[Media:Eynsham70km.png|Eynsham70km.png]] 5519 images at ~1 Hz (Note that we removed some images of the original data set to have an approximately image rate of 1 Hz)
 +
* [[Media:NewCollegeOmni.png|NewCollegeOmni.png]] 1626 images at 1 Hz
 +
* [[Media:CrowdedCanteen.png|CrowdedCanteen.png]] 692 images at 2 Hz
 +
* [[Media:BicoccaIndoor-2009-02-25b.png|BicoccaIndoor-2009-02-25b.png]] 1757 images at 1 Hz
 +
* [[Media:BovisaOutdoor-2008-10-04.png|BovisaOutdoor-2008-10-04.png]] 2277 images at 1 Hz
 +
* [[Media:BovisaMixed-2008-10-06.png|BovisaMixed-2008-10-06.png]] 2147 images at 1 Hz
 +
* [[Media:malaga2009_campus_2L.png|malaga2009_campus_2L.png]] 653 images at ~1 Hz
 +
* [[Media:malaga2009_parking_6L.png|malaga2009_parking_6L.png]] 435 images at ~1 Hz
 
</english>
 
</english>
 
<french>
 
<french>
Line 193: Line 215:
 
  [[Media:UdeS_1Hz.part2.rar|UdeS_1Hz.part2.rar]]
 
  [[Media:UdeS_1Hz.part2.rar|UdeS_1Hz.part2.rar]]
 
  [[Media:UdeS_1Hz.part3.rar|UdeS_1Hz.part3.rar]]
 
  [[Media:UdeS_1Hz.part3.rar|UdeS_1Hz.part3.rar]]
  [[Media:UdeS_1Hz.rar|UdeS_1Hz GroundTruth]]
+
  [[Media:UdeS_1Hz.png|UdeS_1Hz GroundTruth]]
  
 
'''NFSMW'''
 
'''NFSMW'''
Line 227: Line 249:
 
* Cummins et al. (FAB-MAP) : [http://www.robots.ox.ac.uk/~mobile/IJRR_2008_Dataset NewCollege et CityCentre]
 
* Cummins et al. (FAB-MAP) : [http://www.robots.ox.ac.uk/~mobile/IJRR_2008_Dataset NewCollege et CityCentre]
 
* Cummins et al. (FAB-MAP 2.0) : [http://www.robots.ox.ac.uk/~mobile Eynsham (70 km)]
 
* Cummins et al. (FAB-MAP 2.0) : [http://www.robots.ox.ac.uk/~mobile Eynsham (70 km)]
 +
* Maddern et al. : [http://www.robots.ox.ac.uk/NewCollegeData/ NewCollege omnidirectionnal images]
 +
* Kawewong et al. (PIRF-Nav 2.0): [http://haselab.info/pirf.html CrowdedCanteen]
 +
* Ga ́lvez-Lo ́pez et al. : [http://www.rawseeds.org/home/category/benchmarking-toolkit/datasets/ Bovisa et Bicocca]
 +
* Blanco et al. : [http://www.mrpt.org/malaga_dataset_2009 Malaga 2009]
  
''Ground truths'' (format lisible par RTAB-Map) :
+
''Ground truths'':
* [[Media:NewCollege.rar|NewCollege.rar]] 1073 images à ~0.5 Hz (les images de gauche et de droite fusionnées)
+
* [[Media:NewCollege.png|NewCollege.png]] 1073 images à ~0.5 Hz (les images de gauche et de droite fusionnées)
* [[Media:CityCentre.rar|CityCentre.rar]] 1237 images à ~0.5 Hz (les images de gauche et de droite fusionnées)
+
* [[Media:CityCentre.png|CityCentre.png]] 1237 images à ~0.5 Hz (les images de gauche et de droite fusionnées)  
* [[Media:Lip6Indoor.rar|Lip6Indoor.rar]] 388 images à 1 Hz
+
* [[Media:Lip6Indoor.png|Lip6Indoor.png]] 388 images à 1 Hz
* [[Media:Lip6Outdoor.rar|Lip6Outdoor.rar]] 531 images à 0.5 Hz
+
* [[Media:Lip6Outdoor.png|Lip6Outdoor.png]] 531 images à 0.5 Hz
* [[Media:Eynsham70km.rar|Eynsham70km.rar]] 5519 images à ~1 Hz (Noter que nous avons enlevés des images de l'ensemble données original pour avoir une fréquence d'acquisition d'images d'environ 1 Hz.)
+
* [[Media:Eynsham70km.png|Eynsham70km.png]] 5519 images à ~1 Hz (Noter que nous avons enlevés des images de l'ensemble données original pour avoir une fréquence d'acquisition d'images d'environ 1 Hz.)
 +
* [[Media:NewCollegeOmni.png|NewCollegeOmni.png]] 1626 images à 1 Hz
 +
* [[Media:CrowdedCanteen.png|CrowdedCanteen.png]] 692 images à 2 Hz
 +
* [[Media:BicoccaIndoor-2009-02-25b.png|BicoccaIndoor-2009-02-25b.png]] 1757 images à 1 Hz
 +
* [[Media:BovisaOutdoor-2008-10-04.png|BovisaOutdoor-2008-10-04.png]] 2277 images à 1 Hz
 +
* [[Media:BovisaMixed-2008-10-06.png|BovisaMixed-2008-10-06.png]] 2147 images à 1 Hz
 +
* [[Media:malaga2009_campus_2L.png|malaga2009_campus_2L.png]] 653 images à ~1 Hz
 +
* [[Media:malaga2009_parking_6L.png|malaga2009_parking_6L.png]] 435 images à ~1 Hz
 
</french>
 
</french>
  
 
== Publications ==
 
== Publications ==
#Labbé, M., Michaud., F. (2013), “Appearance-based loop closure detection in real-time for large-scale and long-term operation,” IEEE Transactions on Robotics, to appear. ([[Media:TRO2013.pdf|pdf]]) ([[Media:TRO2013.mp4|mp4]]) [http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6459608 Early access here...]<br>'''Related Project(s) : ''' [[RTAB-Map]]
+
# M. Labbé and F. Michaud, “RTAB-Map as an Open-Source Lidar and Visual SLAM Library for Large-Scale and Long-Term Online Operation,” in ''Journal of Field Robotics'', vol. 36, no. 2, pp. 416–446, 2019. ([[Media:Labbe18JFR_preprint.pdf|pdf]]) ([https://doi.org/10.1002/rob.21831 Wiley])
#Labbé, M., Michaud, F. (2011), “Memory management for real-time appearance-based loop closure detection,” IEEE/RSJ International Conference on Intelligent Robots and Systems. ([[Media:labbe11memory.pdf|pdf]]) <br>'''Related Project(s) : ''' [[RTAB-Map]]
+
# M. Labbé and F. Michaud, “Long-term online multi-session graph-based SPLAM with memory management,” in ''Autonomous Robots'', vol. 42, no. 6, pp. 1133-1150, 2017. ([[Media:LabbeAURO2017.pdf|pdf]]) ([http://dx.doi.org/10.1007/s10514-017-9682-5 Springer])
 +
#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. ([[Media:Labbe14-IROS.pdf|pdf]]) ([http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6942926 IEEE Xplore])
 +
#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. ([[Media:TRO2013.pdf|pdf]]) ([http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6459608 IEEE Xplore])
 +
#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''. ([[Media:labbe11memory.pdf|pdf]]) ([http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6094602 IEEE Xplore])
 +
 
 +
==== Presentations ====
 +
* M. Labbé, "Simultaneous Localization and Mapping (SLAM) with RTAB-Map", Université Laval, Québec, November 2015 ([[Media:Labbe2015ULaval.pdf|slides pdf]])
  
 
<english>
 
<english>

Latest revision as of 22:28, 17 April 2019

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, visit 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, “RTAB-Map as an Open-Source Lidar and Visual SLAM Library for Large-Scale and Long-Term Online Operation,” in Journal of Field Robotics, vol. 36, no. 2, pp. 416–446, 2019. (pdf) (Wiley)
  2. M. Labbé and F. Michaud, “Long-term online multi-session graph-based SPLAM with memory management,” in Autonomous Robots, vol. 42, no. 6, pp. 1133-1150, 2017. (pdf) (Springer)
  3. 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) (IEEE Xplore)
  4. 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)
  5. 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)

Presentations

  • M. Labbé, "Simultaneous Localization and Mapping (SLAM) with RTAB-Map", Université Laval, Québec, November 2015 (slides pdf)