[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.
[vimeo=http://www.vimeo.com/8392566]
I love the flickering effect created.
looks kinda like an effect I’d see in a music video or something. in a word: cool
It came to my mind again Miniority Report
reminds me of rubber johnny.
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!
Nice effect, I could see this being used as-is in a professional video or movie. Anyone remember Max Headroom?
needs some work :\
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.
Nobody cares what you saw, it is completely irrelevant to anything.
That is crazy, I like it a lot.
@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.).
smoke’n hot!
Now to be able to project this back on to a volumetric display in realtime.
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.
looks like the output could be dramatically improved by adding a smoothing algorithm. really fantastic concept though.
@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 :)
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…
@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.
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
@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
@ 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? :)
@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.
Love this page, is it updated often? Bookmarked :)
It’s awesome! Love even the flickering!
Kewl