A curated list of papers & resources linked to 3D reconstruction from images.
Note that:
- This list is not exhaustive,
- Tables use alphabetical order for fairness.
If you look to a more generic computer vision awesome list please check this list
##Contents
Tutorials
SLAM Tutorial & survey
ICRA 2016 Aerial Robotics - (Visual odometry) D. Scaramuzza
Simultaneous Localization And Mapping: Present, Future, and the Robust-Perception Age. C. Cadena, L. Carlone, H. Carrillo, Y. Latif, D. Scaramuzza, J. Neira, I. D. Reid, J. J. Leonard. "The paper summarizes the outcome of the workshop “The Problem of Mobile Sensors: Setting future goals and indicators of progress for SLAM” held during the Robotics: Science and System (RSS) conference (Rome, July 2015)."
Visual Odometry: Part I - The First 30 Years and Fundamentals, D. Scaramuzza and F. Fraundorfer, IEEE Robotics and Automation Magazine, Volume 18, issue 4, 2011
Visual Odometry: Part II - Matching, robustness, optimization, and applications, F. Fraundorfer and D. Scaramuzza, IEEE Robotics and Automation Magazine, Volume 19, issue 2, 2012
SfM tutorial
Open Source Structure-from-Motion. M. Leotta, S. Agarwal, F. Dellaert, P. Moulon, V. Rabaud. CVPR 2015 Tutorial.
MVS tutorial
Multi-View Stereo: A Tutorial. Y. Furukawa, C. Hernández. Foundations and Trends® in Computer Graphics and Vision, 2015.
State of the Art 3D Reconstruction Techniques N. Snavely, Y. Furukawa, CVPR 2014 tutorial slides. Introduction MVS with priors - Large scale MVS
RGB-D mapping
3D indoor scene modeling from RGB-D data: a survey K. Chen, YK. Lai and SM. Hu. Computational Visual Media 2015.
All in one tutorial
Introduction of Visual SLAM, Structure from Motion and Multiple View Stereo. Yu Huang 2014.
Computer vision books
Computer Vision: Algorithms and Applications. R. Szeliski. 2010.
Papers
SLAM/VO
Visual odometry (image based only)
Real-time simultaneous localisation and mapping with a single camera. A. J. Davison. ICCV 2003.
Visual odometry. D. Nister, O. Naroditsky, and J. Bergen. CVPR 2004.
Real time localization and 3d reconstruction. E. Mouragnon, M. Lhuillier, M. Dhome, F. Dekeyser, and P. Sayd. CVPR 2006.
Parallel Tracking and Mapping for Small AR Workspaces. G. Klein, D. Murray. ISMAR 2007.
Real-Time 6-DOF Monocular Visual SLAM in a Large-scale Environments. H. Lim, J. Lim, H. Jin Kim. ICRA 2014.
Direct Sparse Odometry, J. Engel, V. Koltun, D. Cremers, arXiv:1607.02565, 2016.
SfM papers
### Incremental SfM Photo Tourism: Exploring Photo Collections in 3D. N. Snavely, S. M. Seitz, and R. Szeliski. SIGGRAPH 2006.
Towards linear-time incremental structure from motion. C. Wu. 3DV 2013.
Structure-from-Motion Revisited. Schöenberger, Frahm. CVPR 2016.
Global SfM
Combining two-view constraints for motion estimation V. M. Govindu. CVPR, 2001.
Lie-algebraic averaging for globally consistent motion estimation. V. M. Govindu. CVPR, 2004.
Robust rotation and translation estimation in multiview reconstruction. D. Martinec and T. Pajdla. CVPR, 2007.
Non-sequential structure from motion. O. Enqvist, F. Kahl, and C. Olsson. ICCV OMNIVIS Workshops 2011.
Global motion estimation from point matches. M. Arie-Nachimson, S. Z. Kovalsky, I. KemelmacherShlizerman, A. Singer, and R. Basri. 3DIMPVT 2012.
Global Fusion of Relative Motions for Robust, Accurate and Scalable Structure from Motion. P. Moulon, P. Monasse and R. Marlet. ICCV 2013.
A Global Linear Method for Camera Pose Registration. N. Jiang, Z. Cui, P. Tan. ICCV 2013.
Global Structure-from-Motion by Similarity Averaging. Z. Cui, P. Tan. ICCV 2015.
Linear Global Translation Estimation from Feature Tracks Z. Cui, N. Jiang, C. Tang, P. Tan, BMVC 2015.
Hierarchical SfM
Structure-and-Motion Pipeline on a Hierarchical Cluster Tree. A. M.Farenzena, A.Fusiello, R. Gherardi. Workshop on 3-D Digital Imaging and Modeling, 2009.
Randomized Structure from Motion Based on Atomic 3D Models from Camera Triplets. M. Havlena, A. Torii, J. Knopp, and T. Pajdla. CVPR 2009.
Efficient Structure from Motion by Graph Optimization. M. Havlena, A. Torii, and T. Pajdla. ECCV 2010.
Hierarchical structure-and-motion recovery from uncalibrated images. Toldo, R.; Gherardi, R., Farenzena, M. and Fusiello, A.. CVIU 2015.
Non Rigid SfM
Robust Structure from Motion in the Presence of Outliers and Missing Data. G. Wang, J. S. Zelek, J. Wu, R. Bajcsy. 2016.
Viewing graph optimization
Skeletal graphs for efficient structure from motion. N. Snavely, S. Seitz, R. Szeliski. CVPR 2008
Optimizing the Viewing Graph for Structure-from-Motion. C. Sweeney, T. Sattler, M. Turk, T. Hollerer, M. Pollefeys. ICCV 2015
Graph-Based Consistent Matching for Strucutre-from-Motion. T. Shen, S. Zhu, T. Fang, R. Zhang, L. Quan. ECCV 2016.
Unordered feature tracking
Unordered feature tracking made fast and easy. P. Moulon and P. Monasse. CVMP 2012.
Point Track Creation in Unordered Image Collections Using Gomory-Hu Trees. Svärm, Simayijiang, Enqvist, Olsson. ICPR 2012.
Fast connected components computation in large graphs by vertex pruning. A. Lulli, E. Carlini, P. Dazzi, C. Lucchese, and L. Ricci. IEEE Transactions on Parallel and Distributed Systems 2016.
Large scale image matching for SfM
Video Google: A Text Retrieval Approach to Object Matching in Video. J. Sivic, F. Schaffalitzky and A. Zisserman. ICCV 2003.
Scalable Recognition with a Vocabulary Tree. Nister, Stewenius, CVPR 2006.
Building Rome in a Day. S. Agarwal, N. Snavely, I. Simon, S. M. Seitz, R. Szeliski. ICCV 2009.
Product quantization for nearest neighbor search. H. Jégou, M. Douze and C. Schmid. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2011.
Fast and Accurate Image Matching with Cascade Hashing for 3D Reconstruction. J. Cheng, C. Leng, J. Wu, H. Cui, H. Lu. CVPR 2014.
Recent developments in large-scale tie-point matching. Hartmann, Havlena, Schindler. ISPRS 2016.
Localization
Real time localization in SfM reconstructions
Real-time Image-based 6-DOF Localization in Large-Scale Environments. Lim, Sinha, Cohen, Uyttendaele. CVPR 2012.
Get Out of My Lab: Large-scale, Real-Time Visual-Inertial Localization. Lynen, Sattler, Bosse, Hesch, Pollefeys, Siegwart. RSS 2015.
Multiple View Stereovision
Point cloud computation
Accurate, Dense, and Robust Multiview Stereopsis. Y. Furukawa, J. Ponce. CVPR 2007. PAMI 2010
Progressive prioritized multi-view stereo. A. Locher, M. Perdoch and L. Van Gool. CVPR 2016.
Pixelwise View Selection for Unstructured Multi-View Stereo. J. L. Schönberger, E. Zheng, M. Pollefeys, J.-M. Frahm. ECCV 2016.
Surface computation & refinements
Efficient Multi-View Reconstruction of Large-Scale Scenes using Interest Points, Delaunay Triangulation and Graph Cuts. P. Labatut, J-P. Pons, R. Keriven:. ICCV 2007
Multi-View Stereo via Graph Cuts on the Dual of an Adaptive Tetrahedral Mesh. S. N. Sinha, P. Mordohai and M. Pollefeys. ICCV 2007.
Towards high-resolution large-scale multi-view stereo. H.-H. Vu, P. Labatut, J.-P. Pons, R. Keriven. CVPR 2009.
Refinement of Surface Mesh for Accurate Multi-View Reconstruction. R. Tylecek and R. Sara. IJVR 2010.
High Accuracy and Visibility-Consistent Dense Multiview Stereo. H.-H. Vu, P. Labatut, J.-P. Pons, R. Keriven. Pami 2012.
Exploiting Visibility Information in Surface Reconstruction to Preserve Weakly Supported Surfaces M. Jancosek et al. 2014.
A New Variational Framework for Multiview Surface Reconstruction. B. Semerjian. ECCV 2014.
Photometric Bundle Adjustment for Dense Multi-View 3D Modeling. A. Delaunoy, M. Pollefeys. CVPR2014.
Efficient Multi-view Surface Refinement with Adaptive Resolution Control. S. Li, S. Yu Siu, T. Fang, L. Quan. ECCV 2016.
Multi-View Inverse Rendering under Arbitrary Illumination and Albedo, K. Kim, A. Torii, M. Okutomi, ECCV2016.
Shading-aware Multi-view Stereo, F. Langguth and K. Sunkavalli and S. Hadap and M. Goesele, ECCV 2016.
Multiple View Mesh Texturing
Seamless image-based texture atlases using multi-band blending. C. Allène, J-P. Pons and R. Keriven. ICPR 2008.
Let There Be Color! - Large-Scale Texturing of 3D Reconstructions. M. Waechter, N. Moehrle, M. Goesele. ECCV 2014.
OpenSource resources
OpenSource SfM (Structure from Motion)
Project | Language | License |
---|---|---|
Bundler | C++ | GNU General Public License - contamination |
Colmap | C++ | GNU General Public License - contamination |
MAP-Tk | C++ | BSD 3-Clause license - Permissive |
MICMAC | C++ | CeCILL-B |
MVE | C++ | BSD 3-Clause license + parts under the GPL 3 license |
OpenMVG | C++ | MPL2 - Permissive |
OpenSfM | Python | Simplified BSD license - Permissive |
TheiaSfM | C++ | New BSD license - Permissive |
OpenSource Multiple View Geometry Library Solvers
Project | Language | License |
---|---|---|
OpenGV | C++ | BSD - permissive |
OpenSource MVS (Multiple View Stereovision)
Project | Language | License |
---|---|---|
Colmap | C++ CUDA | GNU General Public License - contamination |
GPUIma + fusibile | C++ CUDA | GNU General Public License - contamination |
HPMVS | C++ | GNU General Public License - contamination |
MICMAC | C++ | CeCILL-B |
MVE | C++ | BSD 3-Clause license + parts under the GPL 3 license |
OpenMVS | C++ (CUDA optional) | AGPL3 |
PMVS | C++ CUDA | GNU General Public License - contamination |
SMVS Shading-aware Multi-view Stereo | C++ | BSD-3-Clquse license |
OpenSource SLAM (Simultaneous Localization And Mapping)
Project | Language | License |
---|---|---|
COSLAM | C++ | GNU General Public License |
DSO-Direct Sparse Odometry | C++ | GPLv3 |
DTSLAM-Deferred Triangulation SLAM | C++ | modified BSD |
LSD-SLAM | C++/ROS | GNU General Public License |
OKVIS: Open Keyframe-based Visual-Inertial SLAM | C++ | BSD |
ORB-SLAM | C++ | GPLv3 |
REBVO - Realtime Edge Based Visual Odometry for a Monocular Camera | C++ | GNU General Public License |
SVO semi-direct Visual Odometry | C++/ROS | GNU General Public License |
Large scale image retrieval / CBIR (Content Based Image Retrieval)
Project | Language | License |
---|---|---|
DBoW2 | C++ | modified BSD License |
libvot | C++ | BSD 3-Clause License |
VocabTree2 | C++ | BSD License |
OpenSource minimization
Project | Language | License |
---|---|---|
CERES SOLVER | C++ | BSD License |
GTSAM | C++ | BSD License |
G2O | C++ | BSD License + L/GPL3 restriction |
NLOPT | C++ | LGPL |
Nearest Neighbor Search
Project | Language | License |
---|---|---|
ANN | C++ | GNU General Public License |
Annoy | C++ | Apache License |
FLANN | C++ | BSD License |
Nanoflann | C++ | BSD License |
Mesh storage processing
Project | Language | License |
---|---|---|
3DTK | C++ | GPLv3 |
CGAL | C++ | Module dependent GPL/LGPL |
InstantMesh Mesh Simplification | C++ | BSD License |
GEOGRAM | C++ | Revised BSD License |
libigl | C++ | MPL2 |
Mesh-processing-library | C++ | MIT License |
OpenMesh | C++ | BSD 3 clause license |
PCL | C++ | 3-clause BSD license |
VCG | C++ | GPL |
Features
Features detection/Description
Project | Detection | Description |
---|---|---|
AKAZE | x | MSURF/MLDB |
DART | x | x |
KAZE | x | MSURF/MLDB |
LIOP/MIOP | x | |
LIFT (machine learning) | x | x |
MROGH | x | |
SIFT | x | x |
SURF | x | x |
SFOP | x | |
... |
"Real time" oriented methods
Project | Detection | Description |
---|---|---|
BRIEF | x | |
BRISK | x | x |
FAST | x | |
FREAK | x | |
FRIF | x | x |
HIPS | x | |
LATCH | x | |
MOPS | x | |
PhonySift | Multi-scale Fast | Reduced Sift grid |
ORB | Multiscale Fast | Oriented BRIEF |
#Datasets with ground truth - Reproducible research
Feature detection/description repeatability
VGG Oxford 8 dataset with GT homographies + matlab code.
Hannover - Region Detector Evaluation Data Set Similar to the previous (5 dataset). Datasets have multiple image resolution & an increased GT homographies precision.
DTU - Robot Image Data Sets - Point Feature Data Set 60 scenes with know calibration & different illuminations.
Corresponding interest point patches for descriptor learning
Corresponding patches, saved with a canonical scale and orientation.
Multi-view Stereo Correspondence Dataset
HPatches Dataset linked to the ECCV16 workshop "Local Features: State of the art, open problems and performance evaluation"
Monocular odometry dataset
Mono dataset 50 real-world sequences. Dataset linked to the DSO Visual Odometry paper.
MVS - Point Cloud - Surface accuracy
Middlebury Multi-view Stereo See "A Comparison and Evaluation of Multi-View Stereo Reconstruction Algorithms". CVPR 2006.
Dense MVS See "On Benchmarking Camera Calibration and Multi-View Stereo for High Resolution Imagery". CVPR 2008.
DTU - Robot Image Data Sets -MVS Data Set See “Large Scale Multi-view Stereopsis Evaluation“. CVPR 2014.
License
To the extent possible under law, Pierre Moulon has waived all copyright and related or neighboring rights to this work.
Contributing
Please see CONTRIBUTING for details.