Documentation - PMVS (Version 2)

Things to try first
  1. Download pmvs-2.tar.gz
  2. Go into the directory containing the binary
    >cd program/main
  3. Execute the program for a sample dataset (hall2)
  4. Results will be saved under hall/models/. If you run "./pmvs2 ../../data/hall/ option.txt", you should see the following three files as outputs.
Library compatibilities

The software is linked to the following libraries. The package includes several shared libraries under "program/main/", but in case the program does not run or generate expected results, you may need to install libgsl, blas and lapack by yourself. Same thing applies in compiling the source codes. The binary was compiled on a 64-bit linux machine (Red Hat 4.1.2-44, dual Xeon).

> ldd pmvs2
        libXext.so.6 => /usr/lib64/libXext.so.6 (0x0000003d5ea00000)
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x0000003d5be00000)
        libjpeg.so.62 => /usr/lib64/libjpeg.so.62 (0x0000003d5f200000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003d5a600000)
        liblapack.so.3 => /usr/lib64/liblapack.so.3 (0x00002b90ca58d000)
        libgsl.so.0 => /usr/lib64/libgsl.so.0 (0x00002b90cac7a000)
        libgslcblas.so.0 => /usr/lib64/libgslcblas.so.0 (0x00002b90cb055000)
        libm.so.6 => /lib64/libm.so.6 (0x0000003d59e00000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003d5d200000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003d5b600000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003d59a00000)
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x0000003d5c200000)
        libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x0000003d5c600000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003d5a200000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003d59200000)
        libblas.so.3 => /usr/lib64/libblas.so.3 (0x00002b90cb289000)
        libgfortran.so.1 => /usr/lib64/libgfortran.so.1 (0x00002b90cb4da000)

Compilation

We suggest on using the binary distribution, but if you choose to compile the source codes, try the following.
  1. Make sure you have all the libraries listed above in your system.
  2. Go to directory "program/main"
  3. Add INCLUDE and LDLIBRARY paths to Makefile
  4. make depend
  5. make
Input data formats

The software assumes certain directory structures and naming conventions. Each dataset has a root directory, and all relavant files are stored under root. There are roughly four types of input data to the software: images, camera parameters, segmentation masks, and the rest. The first three data types basically follow the same format as the first version except the segmentation masks. In the first version, white pixels mean background and black pixels mean foreground, but the meanings are flipped in the second version. So, white pixels mean foreground.
Output file formats

Reconstruction results will be saved under models in 3 different files. Let S denote the name of the option file used in the reconstruction. Then, you should see S.ply, S.patch and S.pset.
What is in the package?

The file (pmvs-2.tar.gz) contains a compiled binary (for 64-bit linux), several shared libraries, and the source codes under program. There is one sample dataset under data, with images, camera parameters, vis.dat file, several option files, and reconstruction results computed from these option files under models.you.should.get.similar.results. Make sure that you will obtain very similar reconstruction results under models, otherwise there is something wrong in your installation.

Back to the main page