← 学习库 Computer Vision: Algorithms and Applications (2nd) 本册目录

Chapter 11: Structure from motion and SLAM

  • OpenCV implements a number of widely used camera calibration and pose estimation algorithm in the calib3d module, as does OpenGV (https://laurentkneip.github.io/opengv) (Kneip and Furgale 2014) and OpenMVG (https://github.com/openMVG/openMVG) (Moulon, Monasse et al. 2016).

• You can find an experimental comparison of a number of RANSAC variants at https://opencv.org/evaluating-opencvs-new-ransacs/.

  • A large number of open-source bundle adjustment algorithms designed to handle unordered photo collections have been developed over the years, including:
  • SBA: sparse bundle adjustment (https://www.ics.forth.gr/~lourakis/sba) (Lourakis and Argyros 2009).

– Simple sparse bundle adjustment (SSBA) (https://github.com/chzach/SSBA).

原书第 780 页
  • Bundler, structure from motion for unordered image collections (https://phototour.cs.washington.edu/bundler) (Snavely, Seitz, and Szeliski 2006).
  • The Ceres Solver for bundle adjustment and general non-linear least squares (http://ceres-solver.org).

– MCBA (Multicore Bundle Adjustment) (https://grail.cs.washington.edu/projects/mcba) (Wu, Agarwal et al. 2011).

– Visual SfM (http://ccwu.me/vsfm), which wraps a GUI around several reconstruction algorithms (Wu, Agarwal et al. 2011; Wu 2013).

– MVE (https://www.gcc.tu-darmstadt.de/home/proj/mve), a complete SfM pipeline with densification, meshing, and texturing (Fuhrmann, Langguth et al. 2015).

– The Theia global structure from motion library (http://www.theia-sfm.org) (Sweeney, Hollerer, and Turk 2015).

  • OpenMVG (Open Multiple View Geometry) https://github.com/openMVG/openMVG (Moulon, Monasse et al. 2016).
  • COLMAP (https://github.com/colmap/colmap), which includes both a large-scale structure from motion system (Schönberger and Frahm 2016) and a multi-view stereo pipeline (Schönberger, Zheng et al. 2016).

– Square Root Bundle Adjustment (https://vision.in.tum.de/research/vslam/rootba) (Demmel, Sommer et al. 2021).

Among these, COLMAP appears to be the most often used today in other research projects, e.g., for image-based rendering systems.

  • Popular open-source packages for Simultaneous Localization and Mapping (SLAM) and Visual Odometry (VO or VIO) include

– LSD-SLAM (large-scale direct SLAM) (Engel, Schöps, and Cremers 2014).

  • ORB-SLAM (Mur-Artal, Montiel, and Tardos 2015) and ORB-SLAM2 (Mur-Artal and Tardós 2017),

– SVO (semi-direct visual odometry) (Forster, Zhang et al. 2017),

– GTSAM (Dellaert and Kaess 2017; Dellaert 2021),

– DSO (direct sparse odometry) (Engel, Koltun, and Cremers 2018).

– BAD SLAM (bundle adjusted direct RGB-D SLAM) (Schöps, Sattler, and Pollefeys 2019a), and

– GSLAM (a general SLAM framework and benchmark) (Zhao, Xu et al. 2019).

There are also highly-optimized SLAM/VIO libraries available on mobile platforms, such as iOS (ARKit), Android (ARCore), and Facebook (Spark AR Studio), designed for easy integration into mobile augmented reality applications.

← Chapter 10: Computational photographyChapter 12: Stereo correspondence →