Slashdot Mirror


Capturing 3D Surfaces Simply With a Flash Camera

MojoKid writes with this excerpt from Hot Hardware (linking to a video demonstration): "Creating 3D maps and worlds can be extremely labor intensive and time consuming. Also, the final result might not be all that accurate or realistic. A new technique developed by scientists at The University of Manchester's School of Computer Science and Dolby Canada, however, might make capturing depth and textures for 3D surfaces as simple as shooting two pictures with a digital camera — one with flash and one without. First an image of a surface is captured without flash. The problem is that the different colors of a surface also reflect light differently, making it difficult to determine if the brightness difference is a function of depth or color. By taking a second photo with flash, however, the accurate colors of all visible portions of the surface can be captured. The two captured images essentially become a reflectance map (albedo) and a depth map (height field)."

10 of 131 comments (clear)

  1. Quite old news by gardyloo · · Score: 4, Informative

    Slashdot (can't be bothered to find it) had a story several years ago about the (then old!) technique of capturing complicated 3D objects, such as car engines, by using two flash images, each with the flash located in slightly different locations. Threshholding the difference between the images gives very nice edge detection, along with very accurate depth information.

    A project I'm working on uses the technique to capture information about arrowheads/spearheads.

    1. Re:Quite old news by jellomizer · · Score: 4, Informative

      But this time the camera stays fixed and there is one without flash and the other with it. Allowing for 3D Cameras to be made on the cheap by just a firmware upgrade (one click of the camera takes 2 shots 1 without flash the next with. Your way is different as it requires the camera to have 2 flash thus needed the making of new cameras.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    2. Re:Quite old news by glyph42 · · Score: 4, Informative

      NOT old news. Google for "2008 siggraph papers". Read the paper. Google for "2004 siggraph papers". Read about the old paper. Note the differences. Tim Rowley posts links to the papers from each year, so his site is recommended. Virtually all of these image-processing-related news items can be read long before they reach slashdot simply by keeping up with the latest papers from siggraph. In case you're lazy, the old paper is "Non-photorealistic Camera: Depth Edge Detection and Stylized Rendering Using a Multi-Flash Camera". Oddly, it's offline now. But I do have a copy of it on my hard drive. If you're not lazy, I HIGHLY recommend perusing all of the years' papers listed on Tim's site.

      --
      Music speeds up when you yawn, but does not change pitch.
  2. Don't get too excited by Rui+del-Negro · · Score: 3, Informative

    This is just a way to automatically generate surface bump maps. It does not really capture depth information (like a Z-buffer).

    Conceptually it seems simple enough (take a photo with shadows from a light source not in line with the camera, take another where all the shadows are in line with the camera (making them virtually invisible), tell the software which direction the light is coming from in the first photo, and let it figure out the relative height of each pixel, by analysing the difference between it and the uniform (flash-lit) version, after averaging the brightness of the two. It's similar to the technique some film scanners use to automatically remove scratches.

    I can think of a lot of cases where it won't work at all (shiny objects, detached layers, photos with multiple "natural" light sources, photos with long shadows), but still, for stuff like rock or tree bark textures it should save a lot of time. As the video suggests, this should be very pretty useful for archaeologists.

    1. Re:Don't get too excited by collywally · · Score: 2, Informative

      Actually you can use a bump map (which just changes the angle light is reflected without deforming the actual surface) to create a displacement map (which actually moves the polygons up and down). You just have to play a little with the depth to get it right. And when using something like RenderMan which does displacement almost as fast as other renderers do bump maps it doesn't take long to figure out the right depth.

    2. Re:Don't get too excited by Rui+del-Negro · · Score: 2, Informative

      Well, yes and no. The problem isn't how you use the map (to fake the normals or actually displace vertices), the problem is what kind of maps this technique can create. And my point is that it can't handle (for example) the Z-range of something like a person's face. Anything deep enough to actually cast shadows over other (relevant) parts of the geometry will break it (a shadow will appear much darker and the algorithm will assume it's a suface facing away from the light (or a hole). Use the result as a displacement map and it'll look very weird.

      Panasonic (IIRC, possibly JVC or someone else) was working on a video camera that could capture a Z-buffer in real time (meant to be used as a replacement for chroma-keying), but I don't think they ever put a usable product out the door. The techniques used in Radiohead's "House of Cards" video look interesting, too, but also not really usable in most cases.

      Anyway, the technique mentioned in this article should still be practical for bas-reliefs and shallow matte surfaces, which is what archaeologists deal with most of the time.

      P.S. - Dense geometry (required by displacement maps) isn't particularly slower to render for any high-end shaders (raytracing / photons / GI / QMC / whatever). But those are always painfully slow (compared to basic non-GI, shadow mapped, non-bouncing renderers), and the denser meshes required for good displacement mapping still take up huge amounts of RAM, so bump still has its place.

  3. Re:Article has a minor gaffe by sm62704 · · Score: 3, Informative

    No, with flash (light source coming from the camera) shows the colors without shadows; i.e. without color perspective. Without flash (light source at an angle to the model/subject) shows the deeper parts in shadow (known to us former art students as "color perspective").

    You could actually fo this with two flashes, provided one was on the camera and one to the side. The fact that it flashes has nothing to do with it, it has to do with the angle of the light sources.

    --
    mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
  4. Re:Why a flash? by Anonymous Coward · · Score: 2, Informative

    RTFA. Because it is a cheap method. This way you do not need expensive infrared cameras or polarizers or, as mentioned in the article, laser equipement.

    And the great thing is, the results are perceived as as good as those obtained from more expensive equipement.

  5. There's a reason for that... by m.ducharme · · Score: 3, Informative
    --
    Rule of Slashdot #0: You and people like you are not representative of the larger population. - A.C.