View on GitHub

osm-bundler

A Python routine for running Structure From Motion pipeline with Bundler and dense reconstruction with PMVS(CMVS) to reconstruct 3D geometry from a set of photos.

Download this project as a .zip file Download this project as a tar.gz file

Introduction

This is a Python routine for running Bundler and PMVS(CMVS). Which was origin from https://code.google.com/p/osm-bundler/. This routine facility the Structure From Motion procedure with Bundler and Prepare the required data structure for running PMVS, which is a opensource dense reconstruction software.

Usage

You are supposed to put the requred software in the software directory ,

the structure may like below:

software
----bundler
        Bundle2Ply   
        Bundle2Vis  
        KeyMatchFull    
        RadialUndistort
        Bundle2PMVS  
        bundler     
        libANN_char.so

----pmvs
        cmvs  
        genOption  
        pmvs2

----sift-lowe
        sift

Note for Linux

remember to set LD_LIBRARY_PATH to libANN_char.so ,otherwise KeyMatchFull may not find the library and crash

Run this procedure: Perform point cloud and camera calibration :

$ RunBundler.py --photos="./examples/MyPhotos" 

Note: The default output will be in the output directory in the root of the osm-bundler . You could test various option...

$ RunBundler.py

In a second step you could compute the dense 3D point cloud in one step if the dataset have a reasonable size.

$ RunPMVS.py --bundlerOutputPath="output of bundler" 

Note: bundlerOutputPath shoud be the bundler output directory.

If you have a lot of images, it better to use CMVS cluster computation. It performs dense 3D point could computation by using Cluster 3D representation of the scene :

$ RunCMVS.py --bundlerOutputPath="output of bundler" --ClusterToCompute ="Number of Desired Cluster".

Example :

$ RunCMVS.py --bundlerOutputPath="C:/temp/osm-Result" --ClusterToCompute ="10".

Other reference

Bundler: http://www.cs.cornell.edu/~snavely/bundler/
PMVS2: http://grail.cs.washington.edu/software/pmvs/
CMVS: http://grail.cs.washington.edu/software/cmvs/