Saturday, February 6, 2016

Depth Map Automatic Generator 8b (DMAG8b)

DMAG8b is a multi-view stereo automatic depth map generator based on the plane-sweep approach originally developed by Robert T. Collins in A Space-Sweep Approach to True Multi-Image Matching by Robert T. Collins.

It is quite similar in principle to Depth Map Automatic Generator 8 (DMAG8). The difference with DMAG8 is that the matching is performed using the methodology of Depth Map Automatic Generator 5 (DMAG5).

How to run DMAG8b (on Windows 64 bit) is explained in the DMAG8b manual that's inside ugosoft3d-8-x64 archive.

Update: Instead of using VisualSFM to get the camera positions and orientations (and the sparse reconstruction), use Structure from Motion 10 (SfM10). It's, in my opinion, much better and simpler to use.

Here's an example:

This is a set of three images taken with a regular non-stereo camera. Those are of course not aligned in any way.

Depth map produced by DMAG8b.

The windows executable (guaranteed to be virus free) is available for free via the 3D Software Page.


  1. Hi Ugo! I love your site and have downloaded and used many of your packages. I have a question about DMAG8b.

    When I allow the algorithm to automatically estimate the number of depth planes from an NVM file, I can get very wildly different numbers of planes for very similar NVM files - anywhere from 200 to 2000 planes for similar NVMs using identical input images. I've got good results with ~200 planes and I'm trying to avoid the 10x time increase from using 2000 planes. Manually specifying a number of planes isn't a good option since, like you mention in the manual, ideally we want many more planes in the foreground and few in the BG.

    Is there something I can change about the NVM file to reduce the number of planes that DMAG8/8b will automatically calculate?

    Thank you for the free software! Cheers!

    1. Dear Jason:
      Thanks for using the software and being patient with it. How do you get the nvm file? Do you use VisualSFM or my own SFM10 to get the nvm file? You have to be careful with VisualSFM because it is non-deterministic and you get different results every time you run it, which i really don't like. To make visualSFM more deterministic, set param_deterministic_behaviour 0 in the nv.ini file. To get back to your question, the number of planes can explode in a hurry if the camera geometry is a bit off. I think it's better at some point to switch to a fixed number of planes. I must admit it's been a very long time since I have used the code. How many images do you start with? Maybe send me your input images via email.