VisualSFM : A Visual Structure from Motion System
|
|
Installation guide | |
Below are the instructions for installing VisualSFM and its
depending libraries. GPU-acceleration requires certain
hardware, and please refer to FAQ if some
GPU steps do not work for you. |
|
Windows |
|
1. |
Try launch VisualSFM. If it does not launch, please install MSVC2010
runtime (64bit,
32bit) |
2. | (optional step) Install Yasutaka Furukawa's CMVS software for dense reconstruction. |
-
Obtain the CMVS/PMVS
binaries. For example, the one
by Pierre Moulon. - Place cmvs/pmvs/genOption/pthreadVc2.dll in the same folder as VisualSFM.exe |
|
3. |
Try update your graphic card driver if some GPU stuff doesn't work! |
Linux | |
* | Check out Scott Sawyer's tutorial for Ubuntu and Martin Andrews's tutorial for Fedora |
1. |
Make sure you have libgtk2.0-dev / gtk2-devel (2.18 or higher) |
2. |
make (Do not lose your previous makefile modifications when updating) |
3. | Download SiftGPU code, and copy libsiftgpu.so to the vsfm/bin folder |
-
You may set 'siftgpu_disable_devil = 1'
in the makefile to drop the dependency on DevIL - The CUDA-enabled SiftGPU is needed for running programs remotely through terminal |
|
4. | Do one of the following for PBA (Multicore Bundle Adjustment) |
Option-1 for nVidia CUDA compatible graphic cards: Install CUDA toolkit, compile PBA, copy libpba.so to the vsfm/bin folder |
|
Option-2 for all graphic cards: Compile PBA using makefile_no_gpu, and copy libpba_no_gpu.so to vsfm/bin/libpba.so |
|
5. | Install Yasutaka Furukawa's CMVS software for dense reconstruction. |
-
Download and compile the
CMVS/PMVS2
package or find precompiled binaries. - Place cmvs/pmvs/genOption in the same folder as VisualSFM(or PATH) |
|
6. | Make sure LD_LIBRARY_PATH/PATH are set correctly |
- Check dependency with ldd for libsiftgpu.so, libpba.so,
... - VisualSFM will call dlopen("libsiftgpu.so"), dlopen("libpba.so"), system("pmvs.."), etc. |
|
Mac OSX | |
* | Check out the installers distributed by Dan Monaghan. (See the gtk+ bullet below!) |
1. | Install gtk+ through fink, homebrew, or mac-ports if you haven't |
Modify makefile to specify the location of
your pkg-config for gtk+2.0 |
|
Note: VisualSFM requires gtk+ with x11 backend! The latest
version of gtk+ from brew has removed x11 backend. You either have to modify the Formula to enable x11 backend, or rollback to a version that still has x11 backend. For example, run the following before brew installs: cd /usr/local; git checkout 99126a50c96b3c832d72f4531c116271f543eded |
|
2. | Make sure you have X11+GLX+OpenGL support (not OpenGL framework) |
-
libGL.1.dylib, libGLU.1.dylib libX11.6.dylib - Mesa3D might be an alternative if something is not working. |
|
3. | make (Do not lose your previous makefile modifications when updating) |
- In case the GUI closes without any symptoms, try an older version of XQuartz - VisualSFM needs libstdc++, so I recommend using GNU G++ compiler. |
|
4. | Do the same steps as the steps 3-6 for Linux |
-
The SiftGPU and PBA code may not support Mac so well (for now). - You may need small modifications to the code, or search for their Mac OSX ports. |
|