c++, Featured, News, openFrameworks
comments 20

Kinect – OpenSource [News]


There have been a number of exciting developments in the last few days related to XBox Kinect. For those that may not be aware of what it is, it’s a brand new interface to their Microsoft XBox games console. Kinect brings games without using a controller. By using projected infra-red light, the device is able to map the environment and via xbox built in software recognise gestures of any kind (see video below).

Only few hours after the worldwide release of Kinect, guys at NUI Group, who posted results first, planed to only release the driver as open source once their $10k donation fund was filled up. In the meantime, Hector Martin performed a quick and hack of his own (three hours into the European launch) and released his results and code into the wild – named ‘libfreenect’.

Within a few hours of that Theo Watson ported it, making Kinect run from OSX for the first time. Most of Hector’s code was left unchanged but with some hacks to the libusb which were needed (and a few extra libusb commands ).

At the same time as Theo was posting the work, Kyle McDonald was working on his point cloud app to make it work with Kinect by just using the saturation value (close range). manually aligning the texture to the depth.

Working together with the rest of the oF community, Kyle, Theo and Joshua Noble, the work they have done has now become an openFrameworks addon and available for download here.

This was quickly followed with openCV blob detection working with ofxKinect, allowing for detection of elements such as hands in real time.

Memo Akten wrote a little demo to analyse the depth map for gestural 3D interaction. One hand to draw in 3D, two hands to rotate the view. Although just an early prototype, very impressive nevertheless. You can download the source for the below demo (GPL v2) here.

Simultaneously, Kyle continued with further point cloud experiments and in his words “you can never have too much DOF” this was the image posted on the forum (download).

and this work by Jason Laan, creating a colour point cloud (download).

Now, using OpenKinect + OpenCV + FestVox + some basic image processing by yankeyan, Kinect is recognising objects in real time on the PC.

Amazing work by the communities and clearly an example of the power of opensource. Daniel Shiffman is now working on the port for Processing and undoubtedly many more are playing with what’s already been created. What is also amazing is that this is just the beginning. It’s only been few days and some truly amazing work is being created. When  it comes to arts/installations and innovative utilisations of Kinect now that different ports are available, makes me wonder how many people will buy Kinect not for their XBoxes but to experiment on their PCs – many for sure, myself included.

/// UPDATE: Nov 15, 2010

With the help of Hector Martin and various members of the openFrameworks community, Daniel Shiffman has just released Processing Kinect library. You can download it here.

  • Anonymous

    It’s been a real fun few days watching all the developments across the world, and this page summarizes it quite nicely! Of course there were lots of other cool demos, but one in particular I really liked is this one

    I thought I’d post it here on this page so I can find it again easily in the future :)

  • This is a great summary. Kinect hacking is going to get really exiting, especially when the usability is .

    I have created a forum for discussion about Kinect hacking and would love to have you guys join the discussion. The address is http://kinecthacks.net/forum

    Please notify me if you have ideas on how to improve the forum. :)

  • @KinectHacks: Why are you setting up a different community site? We already have a very large (532+ people) mailing list at http://groups.google.com/group/openkinect/ and at the main code repository is at https://github.com/OpenKinect. We’re currently waiting for DNS to propogate but our website is set up for http://openkinect.org. I’d love for you to join our effort rather than split the community. Please contact me to discuss.

  • I’m not splitting the community or anything like that. I’m aware of your mailing list and git repo, but both of those are 100% aimed at the developers. Normal people don’t know how to join a mailing list or a github repo, and frankly, having normal people joining them would only bring clutter. The KinectHacks.net site and forums is meant as place for normal people who have nothing to contribute to learn about the newest developments and discuss them.

  • Very nice work from the community! If only we can create an HD Kinect like device :) I heard from the mailing list that the hardware of Kinect right now costs under $60 CAD to construct! But they are selling it for $150 CAD. Now if we could swap the camera and place an HD substitute, that would be awesome!

  • Floe

    Aaah, you missed my multi-“touch” demo :-) http://www.youtube.com/watch?v=ho6Yhz21BJI

  • FDameronut

    This has quite a bit of potential for 3D digitizing and mocap applications.

    – Floyd

  • ordered my hw today. can’t wait to start playing.

  • Jasper

    I have to agree with Joshua Blake. It would be better to add the non-developer info to the openkinect.org page, instead of creating another community. One place for both developers and non-developers would be best for all I think.

    I though Microsoft claimed the device was somehow protected and they would do anything to stop people from using Kinect on other devices than the Xbox 360. Has Microsoft responded yet?

  • Brettz9

    The object recognition could revolutionize learning. Imagine the demo being expanded a little to bring up the Wikipedia article for those objects. Imagine strolling down the street and your contact lenses (another budding technology interfaceable with the Net) picking up the image of the object, and being able to inform you about details of what you were looking at.

  • Jreaves

    We’re interested in using Kinect for a variety of non-profit projects, including interacting with home-bound seniors and long-term care patients, as well as virtual learning spaces and installation / performances. We’re based in NYC, would love to host a forum or brainstorm about Kinect applications and where the open source movement is going.

  • Haeclark

    I thought this was very amazing and neat…Then I noticed some pics, and the Mac itself…Now all I can think is: “Ewww, they use Macs!”

  • I want to see some video of people using more infrared lights or pressing buttons on a TV remote in front of the kinect. I bet it would look cool.

  • Gtoledo3

    “…they went and made depth maps,
    hacked Microsoft with a Mac,
    and isn’t it ironic….”

  • Anonymous

    want kinect for free?
    go here to learn how:

  • Tiago Serra

    See also http://www

    for a low cost motion capture system ;)

  • mkp

    another cool application of the kinect I came across on youtube- http://www.youtube.com/watch?v=YsY_A0kLh-g

  • Did anyone tried the unofficial SDK?, nice summary of hacks if you like to see more hacks you should take a look over here http://www.kinecthacks.nl daily updates :)

  • evkiss

    p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 18.0px; font: 13.0px Arial}
    p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 18.0px; font: 13.0px Arial; color: #4172db}
    span.s1 {direction: ltr; unicode-bidi: embed}

    check out my Kinect game “Dance 2 Music”, please vote if you like it:


  • Bek

    Hi Guys,I am a new comer in the world of kinect. I’ve already installed WinSDK and WisStudio C++, namely I have got everything for some dummy project with kinect and all works OK. My purpose is to create an application which can sense the human hand raised upward and at the same time it can sense a sound coming from slapping your raised hand fingers. The point is here, just this idea is part of my lab project (turning on/off the lamp with hand gestures and I want to use kinect sensor). Could you give me some basic suggestions/directions to implement it and one more thing I need some source codes related to my project. Thanks in advance for everybody who will be helping me, I’ll appreciate all comments.