flanggut / smvs

Shading-aware Multi-view Stereo
BSD 3-Clause "New" or "Revised" License
252 stars 76 forks source link

Shading-aware Multi-view Stereo

Build Status

This repository contains an implementation of 'Shading-aware Multi-view Stereo' [1] [pdf]. The framework itself is based on 'A New Variational Framework for Multiview Surface Reconstruction' [2] [pdf].

How to compile

The code only depends on MVE, libjpeg, libpng, and libtiff. Compilation is supported on Unix and macOS systems:

git clone https://github.com/simonfuhrmann/mve.git
git clone https://github.com/flanggut/smvs.git
make -C mve
make -C smvs

How to use

Before you start please have a look at the general reconstruction pipeline in the MVE Wiki. This project is intended as an alternative multi-view stereo step and replaces the dmrecon and scene2pset applications with the smvsrecon. The complete pipeline is therefore:

makescene -i <image-dir> <scene-dir>
sfmrecon <scene-dir>
smvsrecon <scene-dir>
fssrecon <scene-dir>/smvs-[B,S].ply <scene-dir>/smvs-surface.ply
meshclean -p10 <scene-dir>/smvs-surface.ply <scene-dir>/smvs-clean.ply

Arguments

If you run smvsrecon without any arguments it automatically chooses the most robust and reasonably fast setting. The images are rescaled to be on average around 2MP, the shading-based optimization is disabled and the optimization is running up to scale 2; the output will be smvs-B.ply. This behavior can be changed with various command line arguments.

For more details please also have a look at the usage output of the application. Note that some of the features are still WIP.

References

[1] Shading-aware Multi-view Stereo - Fabian Langguth, Kalyan Sunkavalli, Sunil Hadap, Michael Goesele - ECCV 2016

@inproceedings{langguth-2016-smvs,
  title = {Shading-aware Multi-view Stereo},
  author = {F. Langguth and K. Sunkavalli and S. Hadap and M. Goesele},
  booktitle = {Proceedings of the European Conference on Computer Vision ({ECCV})},
  year = {2016}
}

[2] A New Variational Framework for Multiview Surface Reconstruction - Ben Semerjian - ECCV 2014

@inproceedings{semerjian-2014-varsurf,
  title = {A New Variational Framework for Multiview Surface Reconstruction},
  author = {B. Semerjian},
  booktitle = {Proceedings of the European Conference on Computer Vision ({ECCV})},
  year = {2014}
}