30 day free trial of Pro/E!

I Will 3D Scan You with Structured Light… and You Will Like It

by Josh on December 30, 2009 · View Comments

Prepare your light sensitive skins with ointments and lotions. You WILL be scanned with LIGHT.

Don’t worry, it’s more a threat more than a warning. I’ll do it… and so will Kyle McDonald. But not only will he scan you, he’ll show you how to scan everybody and everything you want with pure, radiant light. He’s been developing nifty ways to visualize and capture life through music and code. This week he posted an Instructable on his latest experiments with a digital camera, projector and some sweet three-phase trigonometric chicanery.

Structure that light scannin’ son

We’ve seen some sweet real-time scanning via webcam, but what happens if you use projected light to collect butterflies geometric data? After seeing the following, I’d say pure awesomeness happens. The only thing missing is an apparatus to blast that light from my hands or eyeball to scan objects. That’s what we really need. Check it out.

or instead of static images, how about capturing the 3D in realtime at 60 fps?

How’s it Work?

Structures light is one of the many ways of capturing 3-dimensional data with stripes of light.

“Projecting a narrow band of light onto a three-dimensionally shaped surface produces a line of illumination that appears distorted from other perspectives than that of the projector, and can be used for an exact geometric reconstruction of the surface shape.”Wikipedia

Kyle lay’s it all out in his Structured Light Instructable very nicely and the ways he’s doing it to capture near photo-realistic quality is amazing. Basically, he takes three photos from different angles using the projection method and his own threephase code to capture and tweak the image. As seen in the second video above, he’s also using it to capture data in real-time.

Can it be Exported to a Usable 3D format?

Here’s what Kyle has to say about that:

“Exporting the 3D data for use with other applications is obviously important if you want to do something with the data. Maybe fabricating a miniature, or using the mesh for a character in a video game. A more complex application simply called capture.zip is available from the structured-light project. It can handle exporting into various 3D formats like .png depth maps, .ply and .obj triangle meshes and point clouds. It will also allow you to capture motion as described above. As this application develops, I’ll write another Instructable describing how to capture 3D video.”

The 3D modeling angle

It’s getting easier and easier to capture 3D data. The thought of simply using a webcam, a camera or a projector to add usable data seems unbelievable. Ultimately, this type of technology will allow data to be fed real-time into game, retail, advertising and yes, even 3D modeling and rendering environments. It won’t be your avatar in the ‘display’ any longer, it will be you interacting within the environment or your physical self interacting with those environments. kerrrraaaazy!

More! Please!

Kyle’s work is an open-source project hosted on Google Code. You can keep an eye on what he’s doing with light capture and 3D motion on his Vimeo channel or at kylemcdonald.net. You’ll definitely want to see what he’s developed in the past for a 3D control interface.

via Instructables – Thanks Ben!

  • Awesome write up! It also helped me spot a typo in the Instructable: the application for exporting 3D geometry is into .ply, .obj, etc is called "decode.zip", not "capture.zip".

    Also, notice that the camera and projector stay still (always at the same angle) during the capture. Otherwise there'd be no way of doing this in realtime: you'd have to move a camera back and forth at super high speeds, or use a bunch of cameras :)
  • Thanks Kyle! and thanks for doing the Instructable. very well described throughout. I'm watching your stuff to see what you do next :) have a great new year!
  • That's really interesting...I'm interested in a combination with Papervision3D [http://blog.papervision3d.org/]
  • well, papervision3D can also be used with processing which Kyle is familiar with and talks about using in the instructable. could likely be used in conjunction with each other or just getting the scanned data into papervision's script. would be interesting to see.
blog comments powered by Disqus