Friday, April 3, 2015

3D Photos - Friendly bunch of geese


Left image.


Right image.

Thanks to Peter Simcoe for the original stereo pair. These are 400 pixels wide. The minimum and maximum disparities are -17 and 7. The disparity range is 24, which is about 1/16 of the width (400 pixels). That's a bit much (The disparity range is best at about 1/30 of the width.) Here, I am gonna use Depth Map Automatic Generator 2 to get the depth map because I recently overhauled it (it's significantly faster although still slow compared to DMAG5).


Radius = 9, gamma proximity = 17, gamma color = 12, alpha = 0.9, truncation (color) = 30, truncation (gradient) = 2, disparity tolerance = 0. Not sure why I get those artifacts on both sides. Probably, because the alignment is far from perfect even though the images were auto-aligned in StereoPhoto Maker.


Radius = 9, gamma proximity = 10000, gamma color = 10000, alpha = 0.9, truncation (color) = 30, truncation (gradient) = 2, disparity tolerance = 0. By setting gamma proximity and gamma color to infinity, DMAG2 behaves like a classic weight-less window-based local stereo matching algorithm, which always fattens object boundaries. I gotta say though that it's not bad at all especially considering that the depth map is gonna have be tweaked anyway in depthy.me or whatever else. In the interface, you can't go past 99 for gamma proximity or gamma color, but I thought that was interesting to see what would happen if they were pushed to infinity. I may have to implement a (hopefully fast) weight-less classic window-based stereo matching algorithm in the near future (probably under the DMAG6 moniker).


Radius = 9, gamma proximity = 17, gamma color = 12, alpha = 0.9, truncation (color) = 256, truncation (gradient) = 100, disparity tolerance = 0. By setting the truncation (color or gradient) to something large, the raw matching cost (color or gradient) is actually not truncated. Truncation is usually put in place to avoid artificially large matching cost when pixels are occluded.


Radius = 12, gamma proximity = 17, gamma color = 24, alpha = 0.9, truncation (color) = 256, truncation (gradient) = 100, disparity tolerance = 0. Here, I have increased gamma color to get a behavior a bit closer to the classic weight-less window-based stereo matching algorithm. I have also sneaked in an increase in the window radius.


Radius = 12, gamma proximity = 17, gamma color = 36, alpha = 0.9, truncation (color) = 256, truncation (gradient) = 100, disparity tolerance = 0. You don't want to increase gamma color too much otherwise you'll start to get significant fattening of object boundaries.

That's the depth map I uploaded to depty.me (after having doubled its size to 800 pixels and inverted the colors).


That's the depth map I got after doing a little bit of painting in depthy.me.


That's the animated gif created by depthy.me.