Tuesday, July 26, 2011

PMVS2 Memory Usage

I've been playing with the excellent PMVS2 dense scene reconstruction from Furukawa and Ponce.
In reality I've been playing with the whole Bundler+CMVS+PMVS2 sequence, provided very kindly by Henri Astre as a single toolkit (for Windows 64bit), there is a Mac OSX version lurking around somewhere in his blog, to which I can't find a link right now.

The very modest tests I've made all come from a Canon 5d MarkII with a 16mm lens (20 Mpixels = 3744x5616) in an indoors environment. I took ~360 pictures of which bundler selected roughly 260. I then ran CMVS to cluster it up using different values for maximages. This is what it took (roughly) to process them (all default settings from genOption/PMVS2):
  • 14-images clusters: 2.5GB of RAM | ~1000 sec* (Macbook Pro 2.8GHz dual, 4GB)
  • 40-images clusters: 7.2GB of RAM | ~6000 sec(Xeon 3.4GHz quad, 16GB)
  • 80-images clusters: 16GB of RAM  | ~13600 sec* (Xeon 3.4GHz quad, 16GB)
*per patch expansions
I can imagine that the large time for the 80-images clusters comes from the need to use swapping, but then again the time for each step seems to be quite exponential depending on the number of images used. I will make some more serious tests later on, but this should give you a rough idea.

No comments: