The traditional limitations of augmented reality (as far as something that is a couple years old can be traditional) can be summarized like this:
- your virtual world lives on a marker. also so-called markerless AR solutions make use of some kind of beautfied marker in the form of a photograph, drawing, etc. The only exception that come to my mind is PTAM, but it still needs camera calibration (read: waving the camera so that the software can make an idea of the physical space) Having a physical object that pops out a virtual world can be a great feature, but in some scenarios you simply don’t want to carry a marker with you.
- your virtual world does not really interact with the physical one. You can’t easily touch what’s on your marker or make it collide with something that does not live on marker too.
- there is no foreground/background segmentation. Normally virtual stuff is always in foreground, you can’t stick your hand in front of it.
With the depth data captured by the kinect you can avoid these limitations: you can project a 3d virtual world over a the 3d physical world, you can make a physical object collide with your desk or your hand, you can walk between physical and virtual stuff and have a correct foreground/background segmentation.
Here’s a quick demo of this deep augmented reality idea: the virtual ball has x,y,z coordinates that make sense also in the physical room and can bounce on people and object.
Very cool demo! The kinnect has added an amazing tool to the Augmented Reality hackers arsenal. Great job.
thanks! having a cheap depth cam is awesome because you can concentrate your computer vision tricks and cpu/gpu power to make the real magic happen instead of spending half the time in complex foreground segmentations: that’s the way our brain work too
btw: I love Vuzix! If you need a freelance or a reseller drop me a line: I want to play together
[...] http://geekjutsu.wordpress.com/2010/12/02/dar-deep-augmented-reality/ http://animata.kibu.hu/ [...]
I think the word that you’re looking for is “occlusion culling” or “hidden surface determination”.
http://en.wikipedia.org/wiki/Hidden_surface_determination
Apparently, others have accomplished this: http://www.youtube.com/watch?v=nNDfW-vbGUc
And I would love for occlusion buffering in Kinect to be applied to AR keyboards like this one from Japan: http://www.youtube.com/watch?v=V4Yj1Y3Pg20
(Of course, the keyboard if done in Kinect using OpenCV, would not have to use markers.)
yes, it’s culling (I simply wanted a catchy acronym for the post
) performed loading float data inside an *IplImage and using OpenCV “flatland” techniques to split the surfaces. Now this kind of approach is widely used and implemented, but back in the first “kinect hackers days” it felt kind of hardcore
Using this kind of approach in UX is definitely something interesting these days: a lot of people are developing interesting stuff; personally I’m working (among 1k other things) on a gesture based keyboard/mouse remote.
[...] / mixed media TED speech by Marco Tempest. A few months ago I had a chat with Marco about an old multi layer AR demo: he needed something similar for a new performance, so I started to develop a platform that [...]