Loopy-SLAM: Dense Neural SLAM with Loop Closures

ETH Zurich1, University of Amsterdam2, KU Leuven3, INSAIT 4
*Authors contributed equally to this work.
CVPR 2024

We show the online reconstruction process with loop closure on scene 54 from the ScanNet dataset. We show the ground truth trajectory in black and the estimated in red. Furthermore, we display each submap individually to show the map deformations. When loop closure is triggered, the global trajectory along with the associated submaps are rigidly corrected. Note in particular the important loop closure that is triggered when the camera moves into the hallway of the scene. At the end of the trajectory, we show the final globally fused mesh (different from the union of the submap meshes we show during runtime).

GO-SLAM textured mesh GO-SLAM untextured mesh
ESLAM textured mesh ESLAM untextured mesh
Point-SLAM textured mesh Point-SLAM untextured mesh
Loopy-SLAM textured mesh Loopy-SLAM untextured mesh

Abstract

Neural RGBD SLAM techniques have shown promise in dense Simultaneous Localization And Mapping (SLAM), yet face challenges such as error accumulation during camera tracking resulting in distorted maps. In response, we introduce Loopy-SLAM that globally optimizes poses and the dense 3D model. We use frame to model tracking using a data-driven point-based submap generation method and trigger loop closures online by performing global place recognition. Robust pose graph optimization is used to rigidly align the local submaps. As our representation is point based, map corrections can be performed efficiently without the need to store the entire history of input frames used for mapping as typically required by methods employing a grid based mapping structure.

Evaluation on the synthetic Replica and real-world TUM-RGBD and ScanNet datasets demonstrate competitive or superior performance in tracking, mapping, and rendering accuracy when compared to existing dense neural RGBD SLAM methods.

Method Overview

Given an input RGBD stream, we first track the frame against the current active submap. If a new global keyframe is triggered from the estimated motion, we initialize a new submap, otherwise we continue mapping against the same submap. If a loop is detected between the just completed submap and the past global keyframes, pose graph optimization (PGO) is triggered. First, we compute the loop edge constraints (1) with a coarse to fine dense surface registration technique and then PGO (2) is performed with a robust dense surface registration objective. The poses and submaps are then rigidly corrected to achieve global pose and map alignment (3). Finally, the just triggered new global keyframe is added to the place recognition database.




Qualitative Analysis on Untextured Meshes


Reference
ESLAM
GOSLAM
Point-SLAM
Loopy-SLAM (ours)


Reference
ESLAM
GOSLAM
Point-SLAM
Loopy-SLAM (ours)


Reference
ESLAM
GOSLAM
Point-SLAM
Loopy-SLAM (ours)


Reference
ESLAM
GOSLAM
Point-SLAM
Loopy-SLAM (ours)



Qualitative Analysis on Top Down Views and Textured Meshes


Reference
ESLAM
GOSLAM
Point-SLAM
Loopy-SLAM (ours)


Reference
ESLAM
GOSLAM
Point-SLAM
Loopy-SLAM (ours)


Reference
ESLAM
GOSLAM
Point-SLAM
Loopy-SLAM (ours)


Reference
ESLAM
GOSLAM
Point-SLAM
Loopy-SLAM (ours)


Reference
ESLAM
GOSLAM
Point-SLAM
Loopy-SLAM (ours)

BibTeX

@misc{liso2024loopyslam,
      title={Loopy-SLAM: Dense Neural SLAM with Loop Closures}, 
      author={Lorenzo Liso and Erik Sandström and Vladimir Yugay and Luc Van Gool and Martin R. Oswald},
      year={2024},
      eprint={2402.09944},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}