Show of hands, who has done any image or video processing programming? Did you have fun trying to get the lighting right? Did you enjoy writing morphological operators to locate and track objects? The PrimeSense library takes care of all of that. It works in a room with bright lights, a room with no lights. You don’t write any code to track players, you just access the player object and ask for the spatial coordinates of the player’s joints. If you would rather roll your own toolset, you still have a headstart with the depth camera
It is important to point out here that there are two flavors of Kinect open source programming right now: OpenKinect (result of the original Adafruit contest) and OpenNI/NITE (result of PrimeSense making their driver and middleware available). The OpenKinect drivers are very basic and allow you to access the raw data coming from the IR and RGB cameras (also allows motor control). The OpenNI/NITE tools allow the same, plus they add a layer of abstraction where you can deal directly with player data instead of the IR/RGB feeds. OpenNI/NITE does not allow motor control currently.
1. Hacking the Kinect for good and/or evil (mostly good) Pierre Baillargeon (@Kabong) February 5, 2011
2. The story <ul><li>Kinect is released by Microsoft on November 4 th , 2010 </li></ul><ul><li>The same day, Adafruit Industries announced a cash prize to the first person to provide open source drivers that could access both the visible light RGB camera and the IR depth camera ( http://www.adafruit.com/blog/2010/11/04/the-open-kinect-project-the-ok-prize-get-1000-bounty-for-kinect-for-xbox-360-open-source-drivers/ ) </li></ul><ul><li>Six days later, Héctor Martín Cantero publishes first open source driver and claims prize </li></ul><ul><li>PrimeSense (Kinect hardware developers) release their own open source driver and motion tracking middleware (NITE) on December 10, 2010 ( http://www.joystiq.com/2010/12/10/primesense-releases-open-source-drivers-middleware-for-kinect/ ) </li></ul>
3. Why do I care?! I’ll just use a COTS USB camera! <ul><li>Two reasons: </li></ul><ul><li>Depth camera </li></ul>Image credit Matthew Fisher ( http://graphics.stanford.edu/~mdfisher/Kinect.html ) 2) Brains (NITE middleware)
4. Where do I start? <ul><li>What you’re going to need: </li></ul><ul><li>A Kinect </li></ul><ul><li>Drivers for your Kinect (OpenKinect or OpenNI) </li></ul><ul><li>NOTE: The NITE middleware only works with the OpenNI driver! </li></ul><ul><li>What you’re probably going to want </li></ul><ul><li>A helpful programming framework (OpenFrameworks) </li></ul><ul><li>Documentation (sparse now, best source of documentation is the example programs that come with OpenNI/NITE & OpenKinect) </li></ul>
5. Why did you do this? Needed something to update the robotics display for third annual Scripps science education day. How can we get kids excited about science and engineering? What can I build in one week?
6. How does it work?
7. How does it work? (the ‘cool stuff here’ part)
8. How do I use it?!
9. Demo & Acknowledgements <ul><li>Volunteers for demo? </li></ul><ul><li>Thanks to the OpenFrameworks and OpenKinect communities for providing the open source software </li></ul><ul><li>Thanks to Mike Greenberg and The Collide Factory for hosting this event! </li></ul><ul><li>Thanks to Brian Campbell (@Chophaus) for helping with awesome robot graphics </li></ul>
10. Where can I go to learn more? Jiggywatts.com (source code and presentation posted on my blog): http:// www.jiggywatts.com / Wired: “How Motion Detection works in Xbox Kinect” - http://www.wired.com/gadgetlab/2010/11/tonights-release-xbox-kinect-how-does-it-work/ OpenKinect Drivers – http:// www.openkinect.org / OpenNI (PrimeSense backed) Drivers – http:// www.openni.org / OpenFrameworks Forums (tons of great Kinect demos) - http:// www.openframeworks.cc /forum/