This is just a small post to show you want kind of results you can get with my PhotoSynthToolkit:
Download location and source code introduced in my previous post.
This is just a small post to show you want kind of results you can get with my PhotoSynthToolkit:
Download location and source code introduced in my previous post.
I have updated my PhotoSynth toolkit for easier usage (the same way as SFMToolkit). This is an example of dense mesh creation from 12 pictures using this toolkit:
The 12 pictures were shot with a Canon PowerShot A700:
Thanks to this toolkit, PMVS2 and MeshLab you can create a dense mesh from these 12 pictures:
triangulated mesh with vertex color -> triangulated mesh with vertex color and SSAO -> triangulated mesh shaded with SSAO -> triangulated mesh wireframe -> photosynth sparse point cloud
(sparse point cloud : 8600 vertices, dense point cloud: 417k vertices, mesh: 917k triangles)
You can also take a loot at the PhotoSynth reconstruction of the sculpture.
PhotoSynthToolkit is composed of several programs:
The source code is available under MIT license on my github. I have also released a win32 binary version with windows scripting (WSH) for easier usage: PhotoSynthToolkit4.zip.
If you need some help or just want to discuss about photogrammetry, please join the photogrammetry forum created by Olafur Haraldsson. You may also be interested by Josh Harle’s video tutorials, they are partially out-dated due to the new PhotoSynthToolkit version but these videos are very good to learn how to use MeshLab.
Please go to the PhotoSynthToolkit page to get the latest version
I have finally released my Structure-From-Motion Toolkit (SFMToolkit). So what can you do with it ? Let’s say you have a nice place like the one just bellow:
![]() |
Place de la Bourse, Bordeaux, FRANCE (picture from Bing) |
Well, now you can take a lot of pictures of the place (around 50 in my case):
And then compute structure from motion and get a sparse point cloud using Bundler:
Finally you have a dense point cloud divided in cluster by CMVS and computed by PMVS2:
You can also take a loot at the PhotoSynth reconstruction of the place with 53 pictures and 26 (without the fountain).
This is the SFMToolkit workflow:
SFMToolkit is composed of several programs:
As you can see this “toolkit” is composed of several open-source component. This is why I have decided to open-source my part of the job too. You can download the source code from the SFMToolkit github. You can also download a pre-compiled x64 version of the toolkit with windows scripting (WSH) for easier usage (but not cross-platform): SFMToolkit1.zip.
If you need some help or just want to discuss about photogrammetry, please join the photogrammetry forum created by Olafur Haraldsson. You may also be interested by Josh Harle’s video tutorials, they are partially out-dated due to the new SFMToolkit but these videos are very good to learn how to use MeshLab.
I’ve finally managed to spend a couple of hours to compile a 64 bit version of PMVS2 for windows! You can download PMVS2_x64.zip right now. I’ll hope that this version will help some persons, I’ve personally managed to create a very dense model thanks to this version and PMVS2 was using more than 4Gb of ram on a 8-cores machines.
How to compile PMVS2 x64 by yourself:
download the CMake package of CMVS (containing PMVS) created by Pierre Moulon.
download and compile gsl 1.8
download precompiled pthread x64 lib from equalizer svn
download and compile clapack 3.2.1 using CMake
As requested by some persons, I’ve updated my PhotoSynthTileDownloader: you can now resume a partial download ! It’s already available for download: PhotoSynthTileDownloader2.zip.
Josh Harle has done some very nice videos tutorials on how to use my PhotoSynth ToolKit and has created another toolkit for Bundler that is using my BundlerMatcher.
PhotoSynth Toolkit post on Josh Harle’s blog.
Note: In fact your synths doesn’t need to be 100% synthy. My tool (PhotoSynth2PMVS) is capable of using an uncomplete synth. And now you could use my 64bit version of PMVS2 instead.
Please go to the PhotoSynthToolkit page to get the latest version
Bundler photogrammetry package post on Josh Harle’s blog.
In my previous post I have released my PhotoSynth Tookit but the PhotoSynth tile downloader wasn’t available yet. You can now download the picture of your Synth in HD using PhotoSynthTileDownloader1.zip. But please respect author’s copyright ! I have included a new confirmation dialog box that warn you about the Synth status (unlisted, public) but this is not shown in the video presentation of PhotoSynthTileDownloader.
I have finally released BundlerMatcher, a feature extraction and picture matching tool built with SiftGPU. The main goal of this tool was to replace the slow matching step packaged with Bundler by a faster one using GPU without needing to modify Bundler’s code. You can download BundlerMatcher1.zip or checkout the code on my google code. Warning: this tool needs a 64bit windows OS (tested on 7 and vista) and a decent GPU. All my demos are available under MIT license but SiftGPU isn’t released under MIT so you should take a look at SiftGPU license.
I’m proud to introduce OpenSynther which is under heavy development. The first goal of this tool is the same as BundlerMatcher: provide a faster matching engine for Structure from Motion tools. To achieve high performance it is coded in C++ and using both multi-core and GPU. Furthermore OpenSynther is using Surf instead of Sift and may in the future also compute the 3d reconstruction (as PhotoSynth does).
OpenSynther current feature list:
OpenSynther TODO:
These benchmarks were done on an Intel Corei7 920 (8 cores @ 2.66Ghz) + Nvidia GTX 285. The pictures size were 1600×1200 (~2M pixels), I heard that it was the limit size at which PhotoSynth extract features (it can of course use bigger pictures but feature extraction are done at a max size of 2M pixels).
Note:
Note:
App Name | PhotoSynth | OpenSynther | BundlerMatcher | Bundler | ||||||||
Extraction in sec | 10 | 22 | 39 | 21 | 40 | 78 | 7 | 12 | 24 | 105 | 220 | – |
Matching in sec | 15 | 31 | 58 | 31 | 104 | 322 | 40 | 170 | 542 | 75 | 440 | – |
% matching done by CPU |
100 | 100 | 100 | 22 | 12 | 13 | 0 | 0 | 0 | 100 | 100 | – |
% matching done by GPU |
0 | 0 | 0 | 78 | 88 | 87 | 100 | 100 | 100 | 0 | 0 | – |
Nb pictures | 49 | 98 | 196 | 49 | 98 | 196 | 49 | 98 | 196 | 49 | 98 | 196 |
As you can see OpenSynther matching is in fact done by the GPU at 85%.