Building a better Kinect with a… pager motor?

Fresh from Microsoft Research is an ingenious way to reduce interference and decrease the error in a Kinect. Bonus: the technique only requires a motor with an offset weight, or just an oversized version of the vibration motor found in a pager.

Being the first of its kind of commodity 3D depth sensors, the tracking on a Kinect really isn’t that good. In every Kinect demo we’ve ever seen, there are always errors in the 3D tracking or missing data in the point cloud. The Shake ‘n’ Sense, as Microsoft Research calls it, does away with these problems simply by vibrating the IR projector and camera with a single motor.

In addition to getting high quality point clouds from a Kinect, this technique also allows for multiple Kinects to be used in the same room. In the video (and title pic for this post), you can see a guy walking around a room filled with beach balls in 3D, captured from an array of four Kinects.

This opens up the doors to a whole lot of builds that were impossible with the current iteration of the Kinect, but we’re thinking this is far too easy and too clever not to be though of before. We’d love to see some independent verification of this technique, so if you’ve got a Kinect project sitting around, strap a motor onto it, make a video and send it in.

Comments

  1. Kaj says:

    This is truly elegant engineering, I love it!

  2. Tinkerer says:

    Not want to be a spoiler, but this is meant to solve interference between *several* Kinects; from the youtube text: “Shake ‘n’ Sense is a novel yet simple mechanical technique for mitigating the interference when two or more Kinect cameras point at the same part of a physical scene”
    It does not improve performance for a single kinect, as far as the info of the movie goes.

    • Mythgarr says:

      It’s true that it doesn’t improve the quality of a single sensor, but it DOES enable multiple sensors to be used on the same scene (stated in the summary and the movie). Multiple inputs can be combined to provide enhanced sensor quality, increased coverage, and increase the number of possibilities for this technology.
      Also, this same method would work fine with improved optics in the Kinect 2, allowing for potential support for multiple sensors.

  3. Chris C. says:

    Who’da thunk it, so simple. I wonder any care needs to be taken to keep the weighted motors out of sync with each other.

  4. boondaburrah says:

    Look up the “V Motion Project” on vimeo. It was done for an energy drink company, but it uses this principle.

    After you’ve been dubstepped out, the writeup is kinda interesting:

    http://www.custom-logic.com/blog/v-motion-project-the-instrument/

  5. Mohonri says:

    I imagine this would work for a single Kinect, actually. It’s a physical version of a technique used to increase the number of bits of accuracy for an ADC: introduce noise into your input and average the measurements. Atmel actually has an application note describing it here (PDF)

  6. Leithoa says:

    Dithering on instruments to increase accuracy isn’t particularly new, although application to the kniect is obviously novel. This is definitely one of those things that now that you see it you’re surprised it hadn’t been done before.

  7. Aaron says:

    Basically saccades, innit? Agreeing with those who are saying “How did everyone else not think of that?”

  8. willrandship says:

    I’m surprised the kinect doesn’t have some latency in the IR sensor compared to the camera that causes problems with accuracy.

  9. ajacks504 says:

    Dithering…

  10. David s says:

    Is there a way to attenuate the noise so it doesn’t sound like my Xbox is getting an unending stream of text messages?

  11. kuxas says:

    The vibration motor found in a pager… or for those of us living in 2012, a phone…

  12. Jim McC says:

    Dithering, true, but motion blur is the more important aspect here.

    Basically each infrared projector stops putting out a point cloud and starts putting out a motion-blurred point cloud. Because the infrared camera is undergoing the same motion blur, it sees the points it is projecting as true points still, but each other kinect only sees blurry indistinct IR light, not a point cloud that its trying to measure.

    Genius!

  13. wondertest says:

    This technique works with a single kinect too. I wrote a piece of software that ran the motor up and down in slight increments, and captured depth data only while the lens was moving. It was hell on the motor, but it improved the capture quality significantly.

  14. minipimmer says:

    Does this have anything to do with the stochastic ressonance phenomena? http://en.wikipedia.org/wiki/Stochastic_resonance

  15. Hirudinea says:

    If microsoft doesn’t put this into Kinect 2.0 they’re crazy.

  16. Wilcorp70 says:

    I haven’t had a chance to read the source article, does this work with the stock firmware? Would this be able to improve accuracy using Kinect Games?

  17. burkley says:

    This makes me think of how a lock-in amplifier works.

  18. Adrian says:

    This was originally published by Andrew Maimone and
    Henry Fuchs at the IEEE VR conference this March, I was there and it was a pretty interesting talk, and the general feeling in the crowd was “why didn’t we think of that?”

    Here’s a link to the paper from IEEE VR if anyone is interested in more details:
    http://www.cs.unc.edu/~fuchs/kinect_VR_2012.pdf

  19. dopetik1911 says:

    Pretty simple and incredibly powerful!!!
    Do you think this idea can help kinect to sense fast motions more accurately?

  20. notmyfault2000 says:

    What the hell’s a “pager?” And why do my grandparents keep giving me these sheets of paper with all these numbers on them? I think they call them “chaks” or something like that…

  21. nah! says:

    i can see many hackaday reader (those who own an xbox) playing xbox without force feedback, because they needed the motor for their kinect

  22. Whatnot says:

    I’m sorry but may I ask that they do the voiceover for their video with an actual microphone and more importantly by a person not having a severe headcold? I found in unbearable and had to turn the sound off.

  23. Ryoku says:

    now if someone can make a case mod for the kenetic that takes advantage of this and the “glasses” research that improves the scan resolution that would be awesome. just another reason for me to get off my butt and go buy a kinetic sadly I’ll have to invest in a more powerful netbook to pull it off while on the go ^^;

  24. Galane says:

    How about applying super resolution techniques to a multiple Kinect setup?

    http://en.wikipedia.org/wiki/Super-resolution

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