Many multi-view stereo (MVS) algorithms do not scale well to a large
number of input images (lack of computational and memory resources).
This software (CMVS) takes the output of a structure-from-motion (SfM)
software as input, then decomposes the input images into a set of
image clusters of managable size. An MVS software can be used to
process each cluster independently and in parallel, where the union of
reconstructions from all the clusters should not miss any details that
can be otherwise obtained from the whole image set. CMVS should be
used in conjunction with an SfM software Bundler and an
MVS software PMVS2 (PMVS
version 2). The software package includes all the source code distributed under GPL.
The software was developped when Yasutaka Furukawa was a postdoc at
University of Washington under the supervision of Prof. Brian Curless and
Prof. Steve Seitz at University of Washington, and Richard Szeliski at
Microsoft Research.
Multi-view stereo software PMVS2, which is included in the CMVS package,
was developped when Yasutaka Furukawa was a graduate student at University of
Illinois at Urbana-Champaign under the supervision of Prof. Jean Ponce, who was
affiliated with University of Illinois at Urbana-Champaign and Ecole
Normale Supérieure. Further modifications and enhancements were added when
Yasutaka Furukawa was a postdoc at University of Washington.
cmvs-fix2.tar.gz (243Mb)
A bug fix in Cbundle::mergeSfMPThread(void) (updated on 3/27/2011)
We thank Romuald Perrot for reporting this bug to us.
cmvs-fix1.tar.gz (243Mb)
A bug fix in Cbundle::setWidthsHeightsLevels in bundle.cc (updated on 7/17/2010).
A bug fix in writePatches2 in patchOrganizerS.cc (updated on 7/13/2010).
CMVS source code.
Documentation
Some other software and libraries are necessary for the installation of
CMVS. Please refer to this documentation for more details.
CMVS for Windows by Pierre Moulon.
CMVS Windows binaries and modified source codes.
If you use Windows, please use his version.
Gallery
CMVS and PMVS2 are used to obtain reconstructions in the video. Refer to our paper (CVPR 2010) for details.
Terms and Conditions
ANY
MATERIAL DOWNLOADED IS AT YOUR OWN DISCRETION AND RISK, AND YOU ARE
SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM OR LOSS OF
DATA THAT RESULTS FROM THE DOWNLOAD OF SUCH MATERIAL, INCLUDING ANY
DAMAGE RESULTING FROM COMPUTER VIRUSES.
In case you use this software, include an acknowledgement that PMVS2 was
developped by Yasutaka Furukawa (University of Illinois at
Urbana-Champaign, University of Washington) and Jean Ponce (University of
Illinois at Urbana-Champaign, Ecole Normale Supérieure), where CMVS was
developped by Yasutaka Furukawa (University of Washington).
In case you use this software for a publication, it is enough to just include citations to
our CVPR10 paper (for CMVS) and PAMI paper (for PMVS2) (bibtex).
You should ALWAYS use CMVS
after Bundler and before PMVS2 (even when your image set is small),
because
PMVS2 will run faster and produce more accurate results with
the produced clusters (see the bullet below for the reasoning.)
CMVS produces option files (option-0000, option-0001, ...) for
PMVS2 and a script file (pmvs.sh) containing PMVS2 commands. You just
need to run pmvs.sh.
CMVS produces "vis.dat", which is an optional input file for
PMVS2 containing image-neighborhood information. PMVS2 should run
significantly faster with this additional input file.
Besides clustering input images, CMVS also removes redundant
images that are unnecessary for MVS
reconstructions, which speeds up PMVS2 as well as
improves reconstruction accuracy (redundant image clusters without
enough baseline degrades reconstruction accuracy.)
We appreciate any comments and feedbacks sent to Yasutaka Furukawa. Please
use "multi view stereo" as a subject of an email. We have just started
distributing this software, and are eager to hear any bug-reports.
Acknowledgements
This work was supported in part by National Science Foundation grant
IIS-0811878, SPAWAR, the Office of Naval Research, the University of
Washington Animation Research Labs, and Microsoft. We than Sameer
Agarwal and Noah Snavely for the datasets, Szymon Rusinkiewicz for
Qsplat software, and Michael Goesele for the multi-view stereo software.
Finally, we thank Pierre Moulon for porting our software to Windows.