The difference between something in a lab and a commercial product -- or even something that is moderately usable in uncontrolled conditions -- is often vastly underestimated. The effort to make something real is probably several orders of magnitude harder than what's required for "I can hack something up in a couple of weeks."
I believe it has more to do with how much data you can get your hands on. With the kinect - widely available depth data, and cloud computing, I believe a lot of things that seemed difficult are now possible. Open source movement needs to start shifting to crowd sourced data and volunteered compute time movement.