Skip to content

Instantly share code, notes, and snippets.

@lvisintini
Last active July 2, 2022 08:44
Show Gist options
  • Save lvisintini/e07abae48f099b913f9cf1c1f0fe43ba to your computer and use it in GitHub Desktop.
Save lvisintini/e07abae48f099b913f9cf1c1f0fe43ba to your computer and use it in GitHub Desktop.

Revisions

  1. lvisintini revised this gist Feb 16, 2018. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion install-vsfm.sh
    Original file line number Diff line number Diff line change
    @@ -51,7 +51,7 @@ mv SiftGPU-master SiftGPU

    cd ~/vsfm/SiftGPU
    make
    cp cd ~/vsfm/SiftGPU/bin/libsiftgpu.so cd ~/vsfm/bin
    cp ~/vsfm/SiftGPU/bin/libsiftgpu.so ~/vsfm/bin

    # Download and install Multicore Bundle Adjustment ('pba') in the appropriate directory
    # http://grail.cs.washington.edu/projects/mcba/
    @@ -66,6 +66,7 @@ cd ~/vsfm/pba
    # echo -e "#include <stdlib.h>\n$(cat ~/vsfm/pba/src/pba/SparseBundleCU.h)" > ~/vsfm/pba/src/pba/SparseBundleCU.h
    # echo -e "#include <stdlib.h>\n$(cat ~/vsfm/pba/src/pba/pba.h)" > ~/vsfm/pba/src/pba/pba.h
    make
    cp ~/vsfm/pba/bin/libpba.so ~/vsfm/vsfm/bin/

    # Download, hack and install PMVS in the appropriate directory
    # http://www.di.ens.fr/pmvs/documentation.html
  2. lvisintini revised this gist Feb 16, 2018. 1 changed file with 4 additions and 3 deletions.
    7 changes: 4 additions & 3 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,6 @@
    # How to install VisualSFM on Ubuntu 16.04 (Updated instructions based on [this tutorial](http://www.10flow.com/2012/08/15/building-visualsfm-on-ubuntu-12-04-precise-pangolin-desktop-64-bit/))
    # How to install VisualSFM on Ubuntu 16.04

    Updated instructions based on [this tutorial](http://www.10flow.com/2012/08/15/building-visualsfm-on-ubuntu-12-04-precise-pangolin-desktop-64-bit/)

    Props to https://github.com/10flow for his tutorial.
    It only needed a bit of updating.
    Props to https://github.com/10flow figuring how this works.
    It needed very little updating
  3. lvisintini revised this gist Feb 16, 2018. 2 changed files with 132 additions and 69 deletions.
    72 changes: 3 additions & 69 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -1,71 +1,5 @@
    # How to install VisualSFM on Ubuntu 16.04
    # How to install VisualSFM on Ubuntu 16.04 (Updated instructions based on [this tutorial](http://www.10flow.com/2012/08/15/building-visualsfm-on-ubuntu-12-04-precise-pangolin-desktop-64-bit/))

    ### Install Nvidia CUDA if you have an CUDA capable Nvidia GPU

    1. Check compatibility [here](https://developer.nvidia.com/cuda-gpus)
    1. Download the CUDA toolkit [here](http://developer.nvidia.com/cuda/cuda-downloads)
    1. Install the toolkit following the [CUDA documentation](https://docs.nvidia.com/cuda/)
    ```
    sudo dpkg -i cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
    sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
    sudo apt update
    sudo apt install cuda nvidia-cuda-dev nvidia-cuda-toolkit
    # Maybe add this to your ~/.bashrc
    export PATH=/usr/local/cuda/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH
    ```

    ### Download and unzip the packages you need
    ```
    $ # http://ccwu.me/vsfm/
    $ cd ~
    $ wget http://ccwu.me/vsfm/download/VisualSFM_linux_64bit.zip
    $ unzip VisualSFM_linux_64bit.zip
    $ rm VisualSFM_linux_64bit.zip
    $ cd vsfm
    # https://github.com/pmoulon/CMVS-PMVS
    $ wget https://github.com/pmoulon/CMVS-PMVS/archive/master.zip
    $ unzip master.zip
    $ rm master.zip
    $ mv CMVS-PMVS-master CMVS-PMVS
    $ # https://github.com/pitzer/SiftGPU
    $ wget https://github.com/pitzer/SiftGPU/archive/master.zip
    $ unzip master.zip
    $ rm master.zip
    $ mv SiftGPU-master SiftGPU
    $ # http://www.cs.utexas.edu/users/dml/Software/graclus.html
    $ wget http://www.cs.utexas.edu/users/dml/Software/graclus1.2.tar.gz
    $ tar xvzf graclus1.2.tar.gz
    $ rm graclus1.2.tar.gz
    $ # http://grail.cs.washington.edu/projects/mcba/
    $ wget http://grail.cs.washington.edu/projects/mcba/pba_v1.0.5.zip
    $ unzip pba_v1.0.5.zip
    ```

    ### Install dependencies required (as far as I could narrow them down)

    ```
    sudo apt install libgtk2.0-dev libglew-dev libdevil-dev libboost-all-dev libatlas-cpp-0.6-dev libatlas-dev imagemagick libatlas3-base libcminpack-dev libgfortran3 libmetis-edf-dev libparmetis-dev freeglut3-dev libgsl-dev glew-utils
    $ cd ~/vsfm/SiftGPU
    $ make
    $ cp bin/libsiftgpu.so ../bin
    $ cd ~/vsfm/pba
    $ #echo -e "#include <stdlib.h>\n$(cat ./src/pba/SparseBundleCU.h)" > ./src/pba/SparseBundleCU.h
    $ #echo -e "#include <stdlib.h>\n$(cat ./src/pba/pba.h)" > ./src/pba/pba.h
    $ make
    ```





    Props to https://github.com/10flow for his initial tutorial

    Props to https://github.com/10flow for his tutorial.
    It only needed a bit of updating.
    129 changes: 129 additions & 0 deletions install-vsfm.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,129 @@
    # Install Nvidia CUDA if you have an CUDA capable Nvidia GPU (optional)
    # CUDA documentation -> https://docs.nvidia.com/cuda/
    # Check compatibility -> https://developer.nvidia.com/cuda-gpus
    # Download the CUDA toolkit -> http://developer.nvidia.com/cuda/cuda-downloads

    sudo dpkg -i cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
    sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
    sudo apt update
    sudo apt install cuda nvidia-cuda-dev nvidia-cuda-toolkit

    # Maybe add this to your ~/.bashrc
    export PATH=/usr/local/cuda/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH


    # Install dependencies
    sudo apt install \
    libgtk2.0-dev \
    libglew-dev \
    libdevil-dev \
    libboost-all-dev \
    libatlas-cpp-0.6-dev \
    libatlas-dev \
    imagemagick \
    libatlas3-base \
    libcminpack-dev \
    libgfortran3 \
    libmetis-edf-dev \
    libparmetis-dev \
    freeglut3-dev \
    libgsl-dev \
    glew-utils


    # Download and extract VisualSFM
    # http://ccwu.me/vsfm/index.html

    wget http://ccwu.me/vsfm/download/VisualSFM_linux_64bit.zip
    unzip VisualSFM_linux_64bit.zip
    rm VisualSFM_linux_64bit.zip


    # Download and install SiftGPU in the appropriate directory
    # https://github.com/pitzer/SiftGPU

    cd ~/vsfm
    wget https://github.com/pitzer/SiftGPU/archive/master.zip
    unzip master.zip
    rm master.zip
    mv SiftGPU-master SiftGPU

    cd ~/vsfm/SiftGPU
    make
    cp cd ~/vsfm/SiftGPU/bin/libsiftgpu.so cd ~/vsfm/bin

    # Download and install Multicore Bundle Adjustment ('pba') in the appropriate directory
    # http://grail.cs.washington.edu/projects/mcba/

    cd ~/vsfm
    wget http://grail.cs.washington.edu/projects/mcba/pba_v1.0.5.zip
    unzip pba_v1.0.5.zip
    rm pba_v1.0.5.zip

    cd ~/vsfm/pba
    # Try using the following commands if the make command failed
    # echo -e "#include <stdlib.h>\n$(cat ~/vsfm/pba/src/pba/SparseBundleCU.h)" > ~/vsfm/pba/src/pba/SparseBundleCU.h
    # echo -e "#include <stdlib.h>\n$(cat ~/vsfm/pba/src/pba/pba.h)" > ~/vsfm/pba/src/pba/pba.h
    make

    # Download, hack and install PMVS in the appropriate directory
    # http://www.di.ens.fr/pmvs/documentation.html

    cd ~/vsfm
    wget http://www.di.ens.fr/pmvs/pmvs-2.tar.gz
    tar xvzf pmvs-2.tar.gz
    rm pmvs-2.tar.gz

    cd ~/vsfm/pmvs-2/program/main/
    cp ~/vsfm/pmvs-2/program/main/mylapack.o ~/vsfm/pmvs-2/program/main/mylapack.o.backup
    make clean
    cp ~/vsfm/pmvs-2/program/main/mylapack.o.backup ~/vsfm/pmvs-2/program/main/mylapack.o
    make depend
    make


    # Download and install Graclus1.2
    # http://www.cs.utexas.edu/users/dml/Software/graclus.html

    cd ~/vsfm
    wget http://www.cs.utexas.edu/users/dml/Software/graclus1.2.tar.gz
    tar xvzf graclus1.2.tar.gz
    rm graclus1.2.tar.gz
    sed -i 's/COPTIONS = -DNUMBITS=32/COPTIONS = -DNUMBITS=64/' ~/vsfm/graclus1.2/Makefile.in
    make


    # Download, hack and install CMVS in the appropriate directory
    # http://www.di.ens.fr/cmvs/documentation.html

    cd ~/vsfm
    wget http://www.di.ens.fr/cmvs/cmvs-fix2.tar.gz
    tar xvzf cmvs-fix2.tar.gz
    rm cmvs-fix2.tar.gz

    cp ~/vsfm/pmvs-2/program/main/mylapack.o ~/vsfm/cmvs/program/main/

    echo -e "#include <vector>\n#include <numeric>\n$(cat ~/vsfm/cmvs/program/base/cmvs/bundle.cc)" > ~/vsfm/cmvs/program/base/cmvs/bundle.cc
    echo -e "#include <stdlib.h>\n$(cat ~/vsfm/cmvs/program/main/genOption.cc)" > ~/vsfm/cmvs/program/main/genOption.cc
    sed -e '/Your INCLUDE path*/ s/^#*/#/' -i ~/vsfm/cmvs/program/main/Makefile
    sed -e '/Your metis directory*/ s/^#*/#/' -i ~/vsfm/cmvs/program/main/Makefile
    sed -e '/Your LDLIBRARY path*/ s/^#*/#/' -i ~/vsfm/cmvs/program/main/Makefile

    sed -i "s:YOUR_INCLUDE_METIS_PATH =*:YOUR_INCLUDE_METIS_PATH = -I$HOME/vsfm/graclus1.2/metisLib:" ~/vsfm/cmvs/program/main/Makefile
    sed -i "s:YOUR_LDLIB_PATH =*:YOUR_LDLIB_PATH = -L$HOME/vsfm/graclus1.2:" ~/vsfm/cmvs/program/main/Makefile


    cd ~/vsfm/cmvs/program/main
    make
    cp ~/vsfm/cmvs/program/main/cmvs ~/vsfm/bin
    cp ~/vsfm/cmvs/program/main/pmvs2 ~/vsfm/bin
    cp ~/vsfm/cmvs/program/main/genOption ~/vsfm/bin


    cd ~/vsfm
    make

    # Maybe add this to your ~/.bashrc
    export PATH=$PATH:$HOME/vsfm/bin
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/vsfm/bin
  4. lvisintini revised this gist Feb 15, 2018. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -57,9 +57,9 @@ $ cd ~/vsfm/SiftGPU
    $ make
    $ cp bin/libsiftgpu.so ../bin
    $ cd ~/vsfm
    $ echo -e "#include <stdlib.h>\n$(cat ./pba/src/pba/SparseBundleCU.h)" > ./pba/src/pba/SparseBundleCU.h
    $ echo -e "#include <stdlib.h>\n$(cat ./pba/src/pba/pba.h)" > ./pba/src/pba/pba.h
    $ cd ~/vsfm/pba
    $ #echo -e "#include <stdlib.h>\n$(cat ./src/pba/SparseBundleCU.h)" > ./src/pba/SparseBundleCU.h
    $ #echo -e "#include <stdlib.h>\n$(cat ./src/pba/pba.h)" > ./src/pba/pba.h
    $ make
    ```

  5. lvisintini revised this gist Feb 15, 2018. 1 changed file with 20 additions and 3 deletions.
    23 changes: 20 additions & 3 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -16,34 +16,51 @@
    export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH
    ```


    ### Download and unzip the packages you need
    ```
    $ # http://ccwu.me/vsfm/
    $ cd ~
    $ mkdir vsfm
    $ wget http://ccwu.me/vsfm/download/VisualSFM_linux_64bit.zip
    $ unzip VisualSFM_linux_64bit.zip
    $ rm VisualSFM_linux_64bit.zip
    $ cd vsfm
    $ mkdir dependencies
    # https://github.com/pmoulon/CMVS-PMVS
    $ wget https://github.com/pmoulon/CMVS-PMVS/archive/master.zip
    $ unzip master.zip
    $ rm master.zip
    $ mv CMVS-PMVS-master CMVS-PMVS
    $ # https://github.com/pitzer/SiftGPU
    $ wget https://github.com/pitzer/SiftGPU/archive/master.zip
    $ unzip master.zip
    $ rm master.zip
    $ mv SiftGPU-master SiftGPU
    $ # http://www.cs.utexas.edu/users/dml/Software/graclus.html
    $ wget http://www.cs.utexas.edu/users/dml/Software/graclus1.2.tar.gz
    $ tar xvzf graclus1.2.tar.gz
    $ rm graclus1.2.tar.gz
    $ # http://grail.cs.washington.edu/projects/mcba/
    $ wget http://grail.cs.washington.edu/projects/mcba/pba_v1.0.5.zip
    $ unzip pba_v1.0.5.zip
    ```

    ### Install dependencies required (as far as I could narrow them down)

    ```
    sudo apt install libgtk2.0-dev libglew-dev libdevil-dev libboost-all-dev libatlas-cpp-0.6-dev libatlas-dev imagemagick libatlas3-base libcminpack-dev libgfortran3 libmetis-edf-dev libparmetis-dev freeglut3-dev libgsl-dev glew-utils
    $ cd ~/vsfm/SiftGPU
    $ make
    $ cp bin/libsiftgpu.so ../bin
    $ cd ~/vsfm
    $ echo -e "#include <stdlib.h>\n$(cat ./pba/src/pba/SparseBundleCU.h)" > ./pba/src/pba/SparseBundleCU.h
    $ echo -e "#include <stdlib.h>\n$(cat ./pba/src/pba/pba.h)" > ./pba/src/pba/pba.h
    $ make
    ```


  6. lvisintini revised this gist Feb 15, 2018. 1 changed file with 36 additions and 1 deletion.
    37 changes: 36 additions & 1 deletion README.md
    Original file line number Diff line number Diff line change
    @@ -1,8 +1,43 @@
    # How to install VisualSFM on Ubuntu 16.04

    ### Download the Packages you need
    ### Install Nvidia CUDA if you have an CUDA capable Nvidia GPU

    1. Check compatibility [here](https://developer.nvidia.com/cuda-gpus)
    1. Download the CUDA toolkit [here](http://developer.nvidia.com/cuda/cuda-downloads)
    1. Install the toolkit following the [CUDA documentation](https://docs.nvidia.com/cuda/)
    ```
    sudo dpkg -i cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
    sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
    sudo apt update
    sudo apt install cuda nvidia-cuda-dev nvidia-cuda-toolkit
    # Maybe add this to your ~/.bashrc
    export PATH=/usr/local/cuda/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH
    ```


    ### Download and unzip the packages you need
    ```
    $ cd ~
    $ mkdir vsfm
    $ cd vsfm
    $ mkdir dependencies
    $ wget https://github.com/pmoulon/CMVS-PMVS/archive/master.zip
    $ unzip master.zip
    $ rm master.zip
    $ mv CMVS-PMVS-master CMVS-PMVS
    $ wget https://github.com/pitzer/SiftGPU/archive/master.zip
    $ unzip master.zip
    $ rm master.zip
    $ mv SiftGPU-master SiftGPU
    $ wget http://www.cs.utexas.edu/users/dml/Software/graclus1.2.tar.gz
    $ tar xvzf graclus1.2.tar.gz
    $ rm graclus1.2.tar.gz
    ```

    ### Install dependencies required (as far as I could narrow them down)

  7. lvisintini created this gist Feb 14, 2018.
    19 changes: 19 additions & 0 deletions README.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,19 @@
    # How to install VisualSFM on Ubuntu 16.04

    ### Download the Packages you need



    ### Install dependencies required (as far as I could narrow them down)

    ```
    sudo apt install libgtk2.0-dev libglew-dev libdevil-dev libboost-all-dev libatlas-cpp-0.6-dev libatlas-dev imagemagick libatlas3-base libcminpack-dev libgfortran3 libmetis-edf-dev libparmetis-dev freeglut3-dev libgsl-dev glew-utils
    ```





    Props to https://github.com/10flow for his initial tutorial