|
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. |
|