Hacked Kinect running on PC?
Open source drivers in development.
Gizmodo reported over the weekend that Kinect for Xbox 360 has been hacked, or rather reverse-engineered, with the motion-sensing hardware operating on an ordinary PC.
Two videos, uploaded to YouTube by NUIGroup admin AlexP, show the compromised motion sensor in action, demonstrating the progress made in the few days since Kinect arrived at US retail. While some may might consider this is an elaborate fake, AlexP is something of a renowned reverse-engineer, having produced open source drivers for PlayStation Eye, so the chances are this is very much the real deal.
Alex's first video demonstrates how the Kinect motor is controlled via PC while a second reveals the RGB and depth camera feeds running on PC. The latter video is especially intriguing as, according to Alex, the depth feed can be captured at 640x480 - just like the PrimeSense reference camera from which Kinect is adapted - while the official Kinect spec lists depth resolution at a quarter of that - 320x240.
The popular conception is that Kinect has been cut down in several ways from the original PrimeSense tech, and enhanced in others (the multi-array mic, for example). However, iFixit's brilliant teardown of the sensor reveals that the "brain" of Kinect - the PrimeSense processor - has indeed made its way through into the final shipping product.
The PrimeSense website shows a PS1080-A1 processor at the centre of the design, whereas iFixit's article shows that a PS1080-A2 chip is contained within Kinect's innards. This is curious bearing in mind comments from Alex Kipman, director of incubation at Xbox, who recently confirmed reports that the processor was removed. Perhaps the A2 version of the PrimeSense chip is a cut-down version of the original, or maybe there is more to the Kinect's guts than we're aware of? The chances are that the truth will out sooner rather than later.
In the meantime, amateur robotics enthusiasts around the world will be watching AlexP's progress very closely. Kinect's ability to see in 3D and "hear" so precisely while consuming a relatively miniscule 18 watts of power makes it the perfect device to add to a homemade robot, and it's likely that many other innovative homebrew applications for the sensor could be conjured up once fully refined PC drivers are available.
You may also like...
-
Gravity Rush Review 48
-
Sony patents method to interrupt your gaming with an ad 107
-
Wii U Aliens: Colonial Marines is best-looking version because of console's "more modern tech" 74
-
Kingdoms of Amalur: Reckoning needed to sell 3 million to break even 65
-
Activision vs. Vince Zampella and Jason West: Inside the game industry trial of the decade 70
-
Skyrim gets mounted combat in new update 53
-
Arma 3 in-engine footage shows off lighting tech 18
-
App of the Day: Go Robo! 2
-
Dirt Showdown Review 89
-
Ghost Recon: Future Soldier Review 132
-
Minecraft overtakes Black Ops on XBL activity chart 25
-
Minecraft total sales hit 9.2 million 8
-
FIFA has a new world champion 8
-
How the Darksiders 2 delay benefits you 9
-
Tony Hawk's Pro Skater HD soundtrack listing revealed 18
Comments (32) Latest comment 2 years ago
Comments for this article are now closed, but please feel free to continue chatting on the forum!
Comment below viewing threshold Show
Comment below viewing threshold Show
Hoping there will be some nice HTPC uses for this. Still haven't found a completely satisfying way to control the PC from the sofa. Ironically I hope this can end up replacing the Xbox controller that I currently use for navigating XBMC
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Sure, maybe you have a motorised webcam straight away. But the depth sensing camera? A driver just lets you read the data from it. A hell of a lot of software - not present on the device is needed to make sense of that, it's not going to be part of any driver. So with a new driver, new software is needed, complex software to analyse the position and movement of the human body which took years for MS to make from scratch.
And then what? Existing software in Windows - OS or otherwise - is designed to work with specific devices. Mice, drawing tablets etc. The Kinect input is analogous to none of them. Can software be written to 'pretend' a hand is a mouse pointer, to act between driver and Windows software? No - you can't 'remove' a mouse pointer from the screen like an indicating hand can be withdrawn, and programs do not expect a hand held steady to be analogous to a mouse click.
No, I can't see this getting any practical use.
Edit1: You can state your case with common sense and logic and get a kicking...
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Windows can work with touchscreens and trackpads, which have exactly those properties, you divot.
Use as a handsfree mouse is one obvious option, another is recognising a set of gestures and interpreting that as keypresses or system messages, equivalent to media control keys on the likes of keyboards, laptops and Media Center remotes.
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Trackpad is used to shove a pointer around, where you touch it has nothing to do with the pointer position, which is not like Kinect at all.
Either way, software that sees a depth map, converts it to a skeletal frame, sees the hand(s), tracks/predicts their motion...if all those highly paid MS people had so much trouble with it, we can't expect it to be done by hobbyists!
Divot? I didn't neg you for that, but as you can see there's a valid debate to be had, I'm not bone-headed in my reasoning here.
Edit2:...and later restate your case and get a plus. Madness.
Comment below viewing threshold Show
but for doing full skeletal mapping will be hard...
Comment below viewing threshold Show
look at this first few sec of the video. The bare hand control the "audiosurf" car just like mouse.
<a href="http://www.youtube.com/watch?v=I15fp4iG5NM
">http://www.youtube.com/watch?v=I15fp4iG5NM
</a>
also used to do the clicking by doing "On_rollover, do click" thing.
this also only use bare head
<a href="http://www.youtube.com/watch?v=yMJDoXXdnOU
">http://www.youtube.com/watch?v=yMJDoXXdnOU
</a>
Comment below viewing threshold Show
Converting all movement to a skeletal frame with minimal lag is obviously a big ask (although I've been surprised by hobbyists before), but it might not be necessary to do something cool with the device. Just having an affordable depth-mapping sensor and the 4-mic array will get people thinking.
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Easy. 3D modeling. Either use your arms to sculpt any shape you like, as though there's a big block of plasticine between you and the screen. Or have it scan real objects.
For game development this could be a massive time and money saver.
Comment below viewing threshold Show
Actually I always wondered why there is no adult only stuff for the Wii (I mean it's motion-sensoring).
As probably Nintendo wants to keep their console free from this stuff Kinect might be the answer.
Yourself 3d in some porn game or something. Maybe a couple living in different cities and only seeing each other rarely.
I see a potential market in that (stuff like Virtual Girl sell quite nicely as far as I know).
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
I second being able to feed the data direct into a 3D program. Would make my life tons easier
Comment below viewing threshold Show
I doubt they are, though.
Comment below viewing threshold Show
Indeed. MS invest so much money in new technologies and research, but then this is the same company that cancels great ideas like Courier and decides Windows Phone 7 users don't want copy and paste or memory cards!
Comment below viewing threshold Show
In order for skeletal tracking to work you would need several examples (the more the better) of different poses which have the correct labelling of the different points of which you wish to track. These need to be passed through an algorithm in order for it to learn how to label based on the information given it.
A good article can be found at wired (here) which explains some of the required process.
The people who are leaders in this field all work at the Microsoft Reasearch Centre so it is unlikely anything that comes out of homebrew applications will be as good as what Kinect can do now.
This also relates to the array microphone. They use several algorithms to calibrate the microphone which allows it to cancel sound and even combine it with the skeletal tracking which gives even more information to the software to allow it to "hear" you. This does have more of a chance though of being done well as it is easier.
One other thought I had about the downplay in specs. These algorithms are probabilistic which means they assign values to different skeletal points. The less points the more likely you are to hit the right area I would think. Therefore there is probably no need for a higher resolution to be used with the algorithms at the moment hence it probably feeds over USB a lower resolution than it captures for quicker analysis.
If Microsoft were clever they would design a free game which gave rewards (small monetary value) and made you do certain poses. Then this information of the depth camera and the pose given to you would be sent back and used in the algorithm. The key here really is the more data the more reliable the tracking would be and hence perhaps more precise??
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
Comment below viewing threshold Show
You wrong about this. Every device is only push some data to computer. And if we know data format, we could use it to implement, for example, a "device" abstraction. It's a file, and data in it is 3-d coordinates of viewed points, and some other info. It's raw device is not a mouse at all, but we could then wrote another mouse device, that would use it to move a mouse cursor, just like any additional mouse do. You could have a lot of pointer device with cursor, such as touchpad, touchscreen, tracball, and all of this could exists simultaneously. For example, in HP tablet notebooks touchscreen is 3 different devices (and one of this is a magnet surface, you could use stilo without touching).