Skip to content
Implementation of paper "Pyramid Multi-View Stereo with Local Consistency" based on COLMAP framework
C C++ Cuda Python CMake Objective-C Other
Branch: dev
Clone or download
Pull request Compare This branch is 3 commits ahead, 12 commits behind colmap:dev.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Jun 11, 2018
cmake Compile single COLMAP static library and link internal dependencies a… Nov 11, 2019
doc drop unrecognised option from FAQ example (colmap#630) Jun 14, 2019
lib Compile single COLMAP static library and link internal dependencies a… Nov 11, 2019
scripts Update Python build script Oct 21, 2019
src Pyramid Multi-View Stereo with Local consistency Dec 2, 2019
.appveyor.yml Disable unit tests on AppVeyor May 8, 2018
.clang-format Add missing .clang-format file Apr 7, 2016
.gitignore Ignore all build folders in git Jun 4, 2018
.travis.yml Update Travis display configuration Nov 12, 2019
CHANGELOG.txt Release of COLMAP version 3.5 Aug 23, 2018
CMakeLists.txt Compile single COLMAP static library and link internal dependencies a… Nov 11, 2019 Update contribution guidelines Sep 14, 2018
COPYING.txt Update Dec 2, 2019

The project is based on the COLMAP framework. Please refer to for more information like installation and tutorial. The usage of this application is similair to that of COLMAP. We demonstrate one example of command-lines applying PLC on Linux below. The main differerences from COLMAP command-lines lay on the 'colmap patch_match_stereo' block where we add options for applying pyramid architecture and local consistency.

LD_LIBRARY_PATH=/opt/Qt5.12.0/5.12.0/gcc_64/lib/ iname=$1/ gpu=$2 filter=$3 depth_error=$4 reproj_error=$5 PROJECT_PATH=${iname}result DATABASE=${iname}sample_reconstruction.db

mkdir ${PROJECT_PATH} mkdir ${PROJECT_PATH}/images cp -n ${iname}*.jpg ${PROJECT_PATH}/images

colmap feature_extractor
--database_path ${DATABASE}
--image_path ${PROJECT_PATH}/images
--ImageReader.camera_model RADIAL
--ImageReader.single_camera 1
--SiftExtraction.use_gpu 1
--SiftExtraction.gpu_index ${gpu}

colmap exhaustive_matcher
--database_path ${DATABASE}
--SiftMatching.use_gpu 1
--SiftMatching.max_num_matches 10000
--SiftMatching.gpu_index ${gpu}

mkdir ${PROJECT_PATH}/sparse colmap mapper
--database_path ${DATABASE}
--image_path ${PROJECT_PATH}/images
--output_path ${PROJECT_PATH}/sparse

mkdir ${PROJECT_PATH}/dense

colmap image_undistorter
--image_path ${PROJECT_PATH}/images
--input_path ${PROJECT_PATH}/sparse/0/
--output_path ${PROJECT_PATH}/dense
--output_type COLMAP

colmap patch_match_stereo
--workspace_path ${PROJECT_PATH}/dense
--workspace_format COLMAP
--PatchMatchStereo.filter true
--PatchMatchStereo.geom_consistency true
--PatchMatchStereo.gpu_index ${gpu}
--PatchMatchStereo.pyramid_stereo_match 3
--PatchMatchStereo.pyramid_stereo_match_l 0
--PatchMatchStereo.smoothness 0.99
--PatchMatchStereo.num_iterations 5

colmap stereo_fusion
--workspace_path ${PROJECT_PATH}/dense
--workspace_format COLMAP
--input_type geometric
--StereoFusion.min_num_pixels 5
--StereoFusion.max_num_pixels 1000
--StereoFusion.max_depth_error $depth_error
--StereoFusion.max_reproj_error $reproj_error
--output_path ${PROJECT_PATH}/dense/fused_1.ply

If you find this work helpful for you, please cite our paper and "Pixelwise View Selection for Unstructured Multi-View Stereo".

@article {10.1111:cgf.13841, journal = {Computer Graphics Forum}, title = {{Pyramid Multi-View Stereo with Local Consistency}}, author = {Liao, Jie and Fu, Yanping and Yan, Qingan and Xiao, Chunxia}, year = {2019}, publisher = {The Eurographics Association and John Wiley & Sons Ltd.}, ISSN = {1467-8659}, DOI = {10.1111/cgf.13841} }

@inproceedings{schoenberger2016mvs, author={Sch"{o}nberger, Johannes Lutz and Zheng, Enliang and Pollefeys, Marc and Frahm, Jan-Michael}, title={Pixelwise View Selection for Unstructured Multi-View Stereo}, booktitle={European Conference on Computer Vision (ECCV)}, year={2016}, }

You can’t perform that action at this time.