Skip to content
Search

Simultaneous localization and mapping

lastmod 2026-02-13created 2019-09-2035 edits

SLAM (Simultaneous localization and mapping) is a concept used in robotics and related fields: the problem of estimating a map of an arbitrary space and the current location within it, for a robot that can explore its surroundings while moving through that space.

Documentation

[Recommended] ORB-SLAM2 - an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras
http://arxiv.org/abs/1610.06475v2
https://arxiv.org/pdf/1610.06475v2.pdf
http://webdiis.unizar.es/~raulmur/orbslam/
https://github.com/raulmur/ORB_SLAM2
https://codar.club/blogs/orb-slam2-building-detailed-process.html
[Recommended] OpenVSLAM
Implements various visual SLAM methods such as Orb-slam2
https://openvslam.readthedocs.io/en/master/index.html
[Recommended] Co-Fusion
Real-time Segmentation, Tracking and Fusion of Multiple Objects
http://visual.cs.ucl.ac.uk/pubs/cofusion/index.html
https://github.com/martinruenz/co-fusion
ElasticFusion - Real-time dense visual SLAM system
https://github.com/mp3guy/ElasticFusion
[Recommended] Cartographer
Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.
Semantically Informed Visual Odometry and Mapping (SIVO)
SIVO - Semantically Informed Visual Odometry and Mapping. Integrated Bayesian semantic segmentation with ORBSLAM_2 to select better features for Visual SLAM.
https://github.com/navganti/SIVO
Direct Sparse Odometry with Loop Closure (LDSO)
https://arxiv.org/abs/1808.01111v1
https://arxiv.org/pdf/1808.01111v1.pdf
Simultaneous Localization and Mapping by Fusion of KeyPoints and Squared Planar Markers (UcoSLAM)
https://arxiv.org/abs/1902.03729v1
https://arxiv.org/pdf/1902.03729v1.pdf
[Recommended] Keyframe-based monocular SLAM - design, survey, and future directions
https://arxiv.org/abs/1607.00470v2
https://arxiv.org/pdf/1607.00470v2.pdf
Constructing Locally Dense Point Clouds Using OpenSfM and ORB-SLAM2
http://arxiv.org/abs/1804.08243v1
Movable-Object-Aware Visual SLAM via Weakly Supervised Semantic Segmentation
https://arxiv.org/abs/1906.03629v2
[Recommended] GCNv2 - Efficient Correspondence Prediction for Real-Time SLAM
https://arxiv.org/abs/1902.11046v3
https://github.com/jiexiong2016/GCNv2_SLAM
GCNv2 is a high-throughput variant of the Geometric Correspondence Network for performing RGB-D SLAM online on embedded platforms. We trained the binary descriptor in the same format with ORB (32 bytes) for the convenience of integration. In this implementation, we evaluate the motion estimation using a system built on top the [ORB-SLAM2], (https://github.com/raulmur/ORB_SLAM2). Thanks to the robustness of ORB-SLAM2, our system is able to achive reliable tracking perfomance on our drone platform in real-time.

Deep learning based

Monocular Depth Prediction Using Generative Adversarial Networks
https://ieeexplore.ieee.org/document/8575530/
http://openaccess.thecvf.com/content_cvpr_2018_workshops/papers/w9/Kumar_Monocular_Depth_Prediction_CVPR_2018_paper.pdf
DepthNet - A Recurrent Neural Network Architecture for Monocular Depth Prediction
https://ieeexplore.ieee.org/document/8575528

A SLAM framework consists of two main parts: the frontend and the backend. The frontend performs feature extraction, feature matching, and camera transformation parameter computation between temporally adjacent images. The backend computes camera transformation parameters where possible even between images that are not temporally adjacent, and performs graph optimization over the entire camera trajectory using the constraints obtained from the frontend and backend, with the goal of obtaining a more consistent map and camera trajectory.

SuperPoint - Self-Supervised Interest Point Detection and Description
https://arxiv.org/abs/1712.07629
https://github.com/rpautrat/SuperPoint
Mainly covers applying deep learning to the SLAM Frontend. Conventional feature extraction and matching algorithms do not work well under viewpoint changes, lighting changes, and the like; the paper presents the proposed algorithm, trained in a self-supervised way, as outperforming them in that respect.
Global Pose Estimation with an Attention-based Recurrent Network
https://arxiv.org/abs/1802.06857
Mainly covers applying deep learning to the SLAM backend. This paper proposes a Neural graph optimizer, which consists of three parts: a local pose estimation model, a pose aggregation module, and neural graph optimization. The local pose estimation model learns the relative pose change between adjacent frames, and the pose aggregation module is trained to convert the relative poses obtained above into pose features. Finally, neural graph optimization trains an attention-based neural net to reduce drift error over the entire pose trajectory.
DeepVO - Towards End-to-End Visual Odometry with Deep Recurrent Convolutional Neural Networks
https://arxiv.org/abs/1709.08429
Github - DeepVO for Visual Odometry Implementation using Tensorflow
DeepVO - A Deep Learning approach for Monocular Visual Odometry
https://arxiv.org/abs/1611.06069
Neural SLAM - Learning to Explore with External Memory
https://arxiv.org/abs/1706.09520
Neural Map - Structured Memory for Deep Reinforcement Learning
https://arxiv.org/abs/1702.08360
DF-SLAM - A Deep-Learning Enhanced Visual SLAM System based on Deep Local Features
https://arxiv.org/abs/1901.07223
CNN-SLAM - Real-time dense monocular SLAM with learned depth prediction
https://arxiv.org/abs/1704.03489

OpenSLAM Projects and Tools

SLAM Projects

2D-I-SLSJF, CAS-Toolbox, CEKF-SLAM, COP-SLAM, DP-SLAM, EKFMonoSLAM, FalkoLib, FLIRTLib, G2O, GMapping, GridSLAM, HOG-Man, Max-Mixture, MTK, ORB-SLAM, OpenSeqSLAM, ParallaxBA, Pkg. of T.Bailey, RGBDSlam, Robomap Studio, RobotVision, SLOM, SSA2D, tinySLAM, TJTF for SLAM, TORO, TreeMap, UFastSLAM, vertigo

SLAM Tools

EVG-Thin, KLD-Sampling, People2D

Libraries

g2o - General Graph Optimization
https://github.com/RainerKuemmerle/g2o
Ceres Solver - A large scale non-linear optimization library
http://ceres-solver.org/
https://github.com/ceres-solver/ceres-solver

See also

Favorite site

Benchmark

Awesome site

author Zer0 sitemap