Update: Realtime 3D for you too!

[Kyle McDonald] has kept himself busy working on 3D scanning in realtime. He’s posted a writeup that takes us through the concepts, tools, and assembly of a DIY 3d scanning camera. You should remember a preview of this method posted earlier this month, but now it’s time to build your own. You’ll need a camera, a projector, and some open source software to process the image data. Using these simple tools, [Kyle] turned out much better video than before. Take a look after the break to see his results from scanning at 60 fps using a PS3 Eye. The trick to this setup is getting the correct synchronization between the projector and the camera, something that could be improved with a bit of extra hacking.

Does [Kyle's] name sound familiar? It should, he’s got a long history of quality hacks that we’ve featured over the years. If you’re looking to use a scanner as a multitouch, add some music to tea time, or play with your skittles his work will give you a shove in the right direction.

Comments

  1. Shift says:

    I love the flickering effect created.

  2. packysauce says:

    looks kinda like an effect I’d see in a music video or something. in a word: cool

  3. Reikaze says:

    It came to my mind again Miniority Report

  4. Louis II says:

    reminds me of rubber johnny.

  5. Thanks!

    One way Hack-a-day-ers could really contribute to this is by adding an Arduino.

    No, really, I’m serious!

    There is a pin on the ps3eye I’ve documented here http://www.flickr.com/photos/kylemcdonald/4132730448/ that outputs a pulse for every frame the camera captures. It’d be awesome to see someone output a 1024×768 VGA, or composite video, locked to that timer. That would keep the camera and projector in sync, and free up the computer for doing realtime decoding rather than worrying about glitch-free projection!

  6. joshua says:

    Nice effect, I could see this being used as-is in a professional video or movie. Anyone remember Max Headroom?

  7. nave.notnilc says:

    needs some work :\

  8. Jim Foster says:

    Ok, am I the only one that saw this as “Realtime 3D for you tool!” Or “your tool” which would be interesting, but probably for another site.

  9. nubie says:

    That is crazy, I like it a lot.

  10. Jonathan says:

    @Kyle McDonald

    That would indeed be a very good idea, and probably not too hard

    Also, the structured light pattern is simple enough to be generated on the fly, not have to be read from a data card or anything, which might not have been achievable (data rate etc.).

  11. markii says:

    smoke’n hot!

  12. Aaediwen says:

    Now to be able to project this back on to a volumetric display in realtime.

  13. Stu says:

    Wow. That is truly brilliant!
    Although that glitching and interference effect is quite fitting for a music vid or something like that, I would hope you are actively looking at eliminating it because it makes my eyes bleed! ;-)
    Oh yeah watch out for that big shot film director knocking at your door, or worse still just outright stealing your techniques without asking.

  14. looks like the output could be dramatically improved by adding a smoothing algorithm. really fantastic concept though.

  15. @twistedsymphony: I actually have an algorithm for doing this already, where it uses the last phase image as a guide for unwrapping the current one. Unfortunately if you have a glitch in your first scan, it keeps propagating… I’m definitely working on other ways of dealing with this. Some better (quality-guided) unwrapping algorithms should help a lot.

    @Stu: “Big shot film directors” have access to much nicer techniques. I’m developing for all the hackers and independents out there :) See “Digital Emily” for comparison http://gl.ict.usc.edu/Research/DigitalEmily/

    @Aaediwen: Would make for awesome video chat :) I’m guessing less than a month after Natal is released we’ll see something like you describe.

    @nave.notnilc: it needs a lot of work, and I would appreciate any ideas you have or more specific criticisms! Send me an email :)

  16. Hitek146 says:

    A friend of mine just bought a 3D scanner (http://www.nextengine.com/) that works in a fashion similar to this but using 8 lasers. It arrived only hours before he had to leave town for the holidays, so we only played with it for a short while. It does scan color, which was cool, but we could only get partial scans from it, and it was very slow…

  17. @Hitek146: the next engine scanner is basically an “in a box” version of DAVID http://www.david-laserscanner.com/ which is why it takes so long to scan: using a line laser you only acquire a line at a time, but with a projector you acquire the entire scene at once. Still a very cool device, and a great step towards affordable digitization of objects.

  18. Jorad says:

    Now put 3 projectors and 6 cameras in there with filters and then you can interpolate colored variants of the hashing pattern and have the sides and back also captured… for example 2 cameras have blue filters and one projector projects blue lines…. red and green follow

  19. @Jorad: would totally work, but then you’d lose the color information. You can also use two mirrors and a single projector/camera pair to get full 360. The only trick is you need big mirrors and a big fresnel lens. Check out this paper on the technique http://tinyurl.com/yh3mqwl

  20. nebulous says:

    @ Kyle:
    Polarisation filters in front of the projectors and cameras should work then. Preserves color, and should be cheap (just go see Avatar 3D with a friend and keep the glasses? :)

  21. @nebulous: Great idea (multiplexing via polarization), but unfortunately most surfaces don’t preserve polarization. This is why 3D movies can be expensive to project: it isn’t the filters or the glasses, but you need a really big silvered screen (literally, it’s coated in a thin reflective metallic layer that preserves the polarity of the light as it bounces off). If you coated your scene in a similar material it might work.

  22. Free PS3 3D says:

    Love this page, is it updated often? Bookmarked :)

  23. xdr says:

    It’s awesome! Love even the flickering!

  24. Doktor Jeep says:

    Kewl

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 93,553 other followers