RTAB-Map: Difference between revisions
No edit summary |
mNo edit summary |
||
| (6 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
< | <big> | ||
[[Image:RTAB-Map.png|link=http://introlab.github.io/rtabmap|RTAB-Map]] RTAB-Map : Real-Time Appearance-Based Mapping | |||
<!-- <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> | |||
== 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]'''. | '''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]'''. | ||
| Line 9: | Line 16: | ||
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. | ||
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. | 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. | ||
< | |||
<!-- <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]'''. | '''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> | ||
{{#ev:youtube|71eRxTc1DaU}} | {{#ev:youtube|71eRxTc1DaU}} | ||
| Line 21: | Line 29: | ||
</center> | </center> | ||
== Results == | == Results == | ||
''Note that these results (more recent) may differ from those in the presentation video above...'' | ''Note that these results (more recent) may differ from those in the presentation video above...'' | ||
| Line 55: | Line 62: | ||
<center>{{#ev:youtube|CuWESlLfWpQ}} {{#ev:youtube|SQiFs1z7qSY}}</center> | <center>{{#ev:youtube|CuWESlLfWpQ}} {{#ev:youtube|SQiFs1z7qSY}}</center> | ||
<center>{{#ev:youtube|ShQlakkzsY4}} {{#ev:youtube|cTmf5yrpcl8}}</center> | <center>{{#ev:youtube|ShQlakkzsY4}} {{#ev:youtube|cTmf5yrpcl8}}</center> | ||
< | |||
<french> | |||
<!-- <french> | |||
== Résultats == | == Résultats == | ||
''À noter que les résultats (plus récents) présentés ici peuvent différer de ceux dans le vidéo...'' | ''À noter que les résultats (plus récents) présentés ici peuvent différer de ceux dans le vidéo...'' | ||
| Line 90: | Line 98: | ||
<center>{{#ev:youtube|CuWESlLfWpQ}} {{#ev:youtube|SQiFs1z7qSY}}</center> | <center>{{#ev:youtube|CuWESlLfWpQ}} {{#ev:youtube|SQiFs1z7qSY}}</center> | ||
<center>{{#ev:youtube|ShQlakkzsY4}} {{#ev:youtube|cTmf5yrpcl8}}</center> | <center>{{#ev:youtube|ShQlakkzsY4}} {{#ev:youtube|cTmf5yrpcl8}}</center> | ||
</french> | </french> --> | ||
== 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. | ||
| Line 99: | Line 107: | ||
[[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]] | ||
</div> | </div> | ||
< | |||
<french> | <!-- <french> | ||
== 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. | ||
| Line 107: | Line 115: | ||
[[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]] | ||
</div> | </div> | ||
</french> | </french> --> | ||
== Data sets == | == Data sets == | ||
'''UdeS''' | '''UdeS''' | ||
| Line 187: | Line 195: | ||
* [[Media:malaga2009_campus_2L.png|malaga2009_campus_2L.png]] 653 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 | * [[Media:malaga2009_parking_6L.png|malaga2009_parking_6L.png]] 435 images at ~1 Hz | ||
< | |||
<french> | <!-- <french> | ||
== Ensembles de données == | == Ensembles de données == | ||
'''UdeS''' | '''UdeS''' | ||
| Line 267: | Line 275: | ||
* [[Media:malaga2009_campus_2L.png|malaga2009_campus_2L.png]] 653 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 | * [[Media:malaga2009_parking_6L.png|malaga2009_parking_6L.png]] 435 images à ~1 Hz | ||
</french> | </french> --> | ||
== Publications == | == Publications == | ||
#M. Labbé and F. Michaud, “Long-term online multi-session graph-based SPLAM with memory management,” in ''Autonomous Robots'', | # M. Labbé and F. Michaud, “Multi-Session Visual SLAM for Illumination-Invariant Re-Localization in Indoor Environments,” in ''Frontiers in Robotics and AI'', vol. 9, 2022. ([https://arxiv.org/abs/2103.03827 pdf]) ([https://doi.org/10.3389/frobt.2022.801886 Frontiers]) | ||
# 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]) | |||
# 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]) | #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. (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]) | ||
| Line 278: | Line 288: | ||
* M. Labbé, "Simultaneous Localization and Mapping (SLAM) with RTAB-Map", Université Laval, Québec, November 2015 ([[Media:Labbe2015ULaval.pdf|slides pdf]]) | * M. Labbé, "Simultaneous Localization and Mapping (SLAM) with RTAB-Map", Université Laval, Québec, November 2015 ([[Media:Labbe2015ULaval.pdf|slides pdf]]) | ||
== Team == | == Team == | ||
* [[Mathieu Labbé]] | * [[Mathieu Labbé]] | ||
* [http://www.gel.usherbrooke.ca/michaudf/ François Michaud] | * [http://www.gel.usherbrooke.ca/michaudf/ François Michaud] | ||
< | |||
<french> | <!-- <french> | ||
== Équipe == | == Équipe == | ||
* [[Mathieu Labbé]] | * [[Mathieu Labbé]] | ||
* [http://www.gel.usherbrooke.ca/michaudf/ François Michaud] | * [http://www.gel.usherbrooke.ca/michaudf/ François Michaud] | ||
</french> | </french> --> | ||
Latest revision as of 19:47, 27 October 2024
RTAB-Map : Real-Time Appearance-Based Mapping
Description
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
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)
Reproduce the loop closure detection results
- Visit the Benchmark wiki page on RTAB-Map's GitHub. The ground truths can be downloaded below.
Videos
- Newer:
- Older:
Source code
The code was tested on Windows (Xp, 7), Mac OS X 10.6 and Ubuntu 10.4LTS.
- Standalone application, libraries and ROS packages : introlab.github.io/rtabmap
Data sets
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.
-
-
-
-
-
-
-
-
-
Rain!
-
Compare illumination and camera orientation with the next image...
-
-
Elevator door...
-
-
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).
-
-
-
-
-
-
Compare illumination with the next image...
-
-
-
-
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 :
- Angeli et al. : Lip6Indoor and Lip6Outdoor
- Cummins et al. (FAB-MAP) : NewCollege and CityCentre
- Cummins et al. (FAB-MAP 2.0) : Eynsham (70 km)
- Maddern et al. : NewCollege omnidirectionnal images
- Kawewong et al. (PIRF-Nav 2.0): CrowdedCanteen
- Ga ́lvez-Lo ́pez et al. : Bovisa and Bicocca
- Blanco et al. : Malaga 2009
Ground truths:
- NewCollege.png 1073 images at ~0.5 Hz (left and right images merged)
- CityCentre.png 1237 images at ~0.5 Hz (left and right images merged)
- Lip6Indoor.png 388 images at 1 Hz
- Lip6Outdoor.png 531 images at 0.5 Hz
- 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)
- NewCollegeOmni.png 1626 images at 1 Hz
- CrowdedCanteen.png 692 images at 2 Hz
- BicoccaIndoor-2009-02-25b.png 1757 images at 1 Hz
- BovisaOutdoor-2008-10-04.png 2277 images at 1 Hz
- BovisaMixed-2008-10-06.png 2147 images at 1 Hz
- malaga2009_campus_2L.png 653 images at ~1 Hz
- malaga2009_parking_6L.png 435 images at ~1 Hz
Publications
- M. Labbé and F. Michaud, “Multi-Session Visual SLAM for Illumination-Invariant Re-Localization in Indoor Environments,” in Frontiers in Robotics and AI, vol. 9, 2022. (pdf) (Frontiers)
- 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)
- 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)
- 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)
- 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)
- 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)
Team






























