LIMAP - Global Mapper

3D Line Mapping Revisited

Highlight in CVPR 2023

1Department of Computer Science, ETH Zurich   2Microsoft   3Lund University


TL;DR: We present a method that efficiently and robustly constructs 3D line maps from multi-view imagery, benefiting multiple downstream applications such as visual localization and bundle adjustment.

In contrast to sparse keypoints, a handful of line segments can concisely encode the high-level scene layout, as they often delineate the main structural elements. In addition to offering strong geometric cues, they are also omnipresent in urban landscapes and indoor scenes. Despite their apparent advantages, current line-based reconstruction methods are far behind their point-based counterparts. In this paper we aim to close the gap by introducing LIMAP, a library for 3D line mapping that robustly and efficiently creates 3D line maps from multi-view imagery. This is achieved through revisiting the degeneracy problem of line triangulation, carefully crafted scoring and track building, and exploiting structural priors such as line coincidence, parallelism, and orthogonality. Our code integrates seamlessly with existing point-based Structure-from-Motion methods and can leverage their 3D points to further improve the line reconstruction. Furthermore, as a byproduct, the method is able to recover 3D association graphs between lines and points / vanishing points (VPs). In thorough experiments, we show that LIMAP significantly outperforms existing approaches for 3D line mapping. Our robust 3D line maps also open up new research directions. We show two example applications: visual localization and bundle adjustment, where integrating lines alongside points yields the best results.

Mapping and Localization

Next Step - Incremental Mapper & SfM (Ongoing)


      author    = {Liu, Shaohui and Yu, Yifan and Pautrat, Rémi and Pollefeys, Marc and Larsson, Viktor},
      title     = {3D Line Mapping Revisited},
      booktitle = {Computer Vision and Pattern Recognition (CVPR)},
      year      = {2023}