A back-projection algorithm to extract 3D volume from shadows
jack.minardi.org
jack.minardi.org
Awesome writeup and experiments. Especially like the crossed-eyes stereo image.
http://gfx.cs.princeton.edu/proj/3dscanning/
Or you might find some things of interest in my article collection https://dl.dropboxusercontent.com/u/315/articles/index_no_im...
(No doubt Dropbox will disable my public links soon. I wish there were an easy way to mirror my Dropbox folder to S3.)
I'd always meant to make a writeup about it. I thought your article was great. Email me sometime if you continue to geek out in this space.
I can see how you'd do it for a 3d object you can easily render out various ways, but I'm a bit puzzled by the photos.
Edit: Ok so I found this: http://www.zarria.net/nrmphoto/nrmphoto.html
Seems easy enough, except for the 'standing still' long enough to capture a live model lit from multiple angles in the same pose. Is that the key? Was it all that difficult, and did you use any particular techniques?
See: http://dl.acm.org/citation.cfm?id=378484 and http://en.wikipedia.org/wiki/Tomographic_reconstruction
Very cool for a simple implementation, and considering that the author doesn't appear to have dug deep into existing work.
Extracting the spatial information is a subset of the same problem, I think. Things like tomographic reconstruction use either multiple rays through the same object or parallel rays through the object at different angles, but this gives density through the object and from that the volume and its shape. If you consider the same problem where you have no density or 100% density, you get the spatial information from multiple 2d objects.
I ran into this when playing with IDL ages ago: http://northstar-www.dartmouth.edu/doc/idl/html_6.2/VOXEL_PR... and learned about the rest from the references there.
I'm not really savvy on the problems though so the math could be totally different and unrelated, but I think you can accomplish the same thing with either method.
[1] http://www.disp.duke.edu/~dbrady/imaTutorial/papers/science6... [2] http://www.disp.duke.edu/~sfeller/Publications/spiecr76-13.p...
Or search for "Shape from Shading" or "shape from occluding contours"
[1]http://www.cs.rutgers.edu/~decarlo/readings/koenderink-perce...
Edit: Hough
It does the same thing, but more rigorously and flexibly. Imagine instead of just looking at the shadows (which are essentially a binary 'this is part of the object/this is not') and reconstructing the surface ad hoc like OP did[1], you could also apply it to a translucent object and reconstruct its interior as well.
[0] https://en.wikipedia.org/wiki/Radon_transform
[1] Not to criticize OP here. It's cool to solve problems from scratch as practice and I don't think the Radon transform is common knowledge.
I also applied a triangular mesh to the surface, extracted textures for each triangle, and then tried to optimize edge flips to minimize blurriness in the resultant triangles.
Only, in this case the negative space (from a shadow) is the raw data instead of diffraction spots. So no Bragg's law or Ewald's spheres involved here, but fascinating nonetheless!