Wednesday, 29 December 2010

New package available for windows

I have just release as a christmas present a new packave that allow to use :
At your convenience :
 1. Bundler + PMVS2
Or
 2. Bundler + CMVS + PMVS2 on each computed cluster.

It could be launch with ease with two script in each case.
1. RunBundler.py + RunPMVS.py
2. RunBundler.py + RunCMVS.py

The archive is here and release with binary for windows 32 and 64 bits !

And for sure I have test the path 2. with a large dataset of 251 photos (2.1 * 2.8 MegaPixels) and I show you the results :


It looks pretty. Is'nt it ! A point cloud of 8 350 379 points !


Tuesday, 12 October 2010

3D reconstruction example

To advertise the upcoming release of our photogrammetry toolkit, I would like to post the result of 3D reconstruction from 5 photos of the old townhall in Market Harborough in England. Here is one of the photos:

All 5 photos can be downloaded from the toolkit homepage. The photos were taken by Andrew Ainsworth who also contributed to the project.

And finally, here is the result of 3D reconstruction with PMVS:



CMVS Compiles under Linux/Windows with CMake

CMVS now compiles fine with the CMake build system for windows and linux (32/64).

Next step will be to update the python photogrammetry package and make tutorials in order to provide a friendly access to "the pictures to 3D" platform.

If anyone is interested by giving some help, he is welcome !

Thursday, 30 September 2010

Python Photogrammetry Toolbox

This project intend to create a python photogrammetry toolbox.
It provides an easy interface to run Bundler + Dense point cloud computation via PMVS2 and CMVS (as WIP).

The main drawbacks of Bundler is that people have to install cygwin to use it and windows.
The advantage of Python is that the scripting langage is multiplatform, so the same code will be ok to run Bundler and the other tools on windows, linux and mac ! No more cygwin... installation.

This project make the Sift detector from VLFeat library works with Bundler. So the toolchain is OpenSource from A to Z. Other modules could be plug into because of the modularity approach that have been choosen.

In a near future we could think in integrate a SIFTGpu matcher into the toolchain.

Running example :
Perform point cloud and camera calibration :
  • $ RunBundler.py --photos="./examples/MyPhotos"

Perform dense 3D point cloud computation :
  • $ RunPMVS.py --bundlerOutputPath="C:/temp/PreviousLineTempDirectoryPath"
Perform dense 3D point could computation by using Cluster 3D representation of the scene :
  • $ RunCMVS.py --bundlerOutputPath="C:/temp/PreviousLineTempDirectoryPath"

CMVS windows linux

Many multi-view stereo (MVS) algorithms do not scale well to a large number of input images (lack of computational and memory resources). This software (CMVS) takes the output of a structure-from-motion (SfM) software as input, then decomposes the input images into a set of image clusters of managable size. An MVS software can be used to process each cluster independently and in parallel, where the union of reconstructions from all the clusters should not miss any details that can be otherwise obtained from the whole image set. CMVS should be used in conjunction with an SfM software Bundler and an MVS software PMVS2 (PMVS version 2).


hall-all hall-all
hall-all hall-all
MVS reconstructions from four view-clusters

hall-all

Union of four reconstructions


You could find  :
Sources (compatible for Windows/Linux)
The build system used is CMake to make easy project maintenance and portability (windows only for the moment).

PMVS2 windows linux

PMVS is a multi-view stereo software that takes a set of images and camera parameters, then reconstructs 3D structure of an object or a scene visible in the images. Only rigid structure is reconstructed, in other words, the software automatically ignores non-rigid objects such as pedestrians in front of a building. The software outputs a set of oriented points instead of a polygonal (or a mesh) model, where both the 3D coordinate and the surface normal are estimated at each oriented point


You could find windows port here:
Sources and Binaries in the CMVS package.


Bundler 0.4 for windows linux and mac !

Bundler is a structure-from-motion system for unordered image collections (for instance, images from the Internet) written in C and C++. An earlier version of this system was used in the Photo Tourism project.


You could find  :
Sources (compatible for Windows/Linux/Mac)
The build system used is CMake to make easy project maintenance and portability.