Microsoft Kinect: The AnandTech Reviewby Brian Klug on December 9, 2010 3:20 PM EST
Kinect - The Sensor
The sensor itself matches the style and appearance of - you guessed it - the new Xbox 360 S. That means its every surface is glossy black plastic which looks nice, but immediately shows fingerprints, dust, and scratches. If you’re OCD like me and don’t happen to live in a clean room, this is a constant but minor annoyance. Oh well, at least it matches the console.
The Kinect is noticeably bottom-heavy, with a center of gravity closer to the bottom and somewhere in the base most likely. This makes sense since the horizontal arm housing the optical system and microphone array pivots vertically - the base is a stage of sorts which lets the top arm sweep through around 30 degrees to adapt itself to placement on top of a TV or below on a table, basically to suit your entertainment setup.
There’s a three-axis MEMS accelerometer onboard ostensibly for determining the tilt of the sensor relative to the base of the device - if you put Kinect on top of a TV for example, there’s no assurance that the surface the Kinect is resting on is normal to the ground.
Down on the bottom you’ll notice an obvious grating, under which hides a four-microphone array for some beamforming goodness. The result is that the Kinect can sense which direction sounds are coming from, for isolating a single speaker rather than an omnidirectional or even stereo microphone. That's critically important for also picking out voice commands while there's music and game noise blaring in the same room.
The most prominent physical feature on the Kinect, however, is its relatively sophisticated optical system. From left to right is an IR laser projector (more on this in a second), RGB camera, and IR camera. Between the RGB camera and IR laser is simply a green LED for status - it plays no role in the actual optical system. Also on the bottom of the sensor is a nondescript class-1 laser product notice - yes, the Kinect indeed uses an IR laser, but it’s completely eye safe at class-1.
There’s also a requisite laser warning buried in one of the three booklets that ship inside the Kinect sensor box, but you’ll notice that Microsoft has been careful to avoid drawing attention to the fact that there’s a laser in Kinect - people have a strange aversion to looking at or into perfectly eye-safe lasers. There’s no marked wavelength that I could find, but the Kinect’s IR projector is visible to my naked eye and exhibits trademark laser speckle - my guesses are that the laser is between 750 and 900 nm, with 808 and 880 nm being common commercial “IR” laser diode wavelengths.
From the Xbox’s perspective, there are two separate video streams which come from the Kinect - one 640x480 (VGA) 30FPS stream from the RGB color camera, and one 640x480 11-bit 30FPS image stream which is the output 3D depth image after processing. Kinect implements a subset of Prime Sense’s natural interaction reference design, which originally specified a much higher resolution color sensor and 60FPS depth image. Other subtle differences are that Prime Sense specifies two audio streams, whereas Kinect uses an obvious four, but such tweaks are ultimately the result of Microsoft having to maintain a delicate balance between optical performance and staying within a reasonable price point.
Original Prime Sense reference design specification
How Kinect senses depth is half of the magic behind how it works - the other half is software. There’s actually not a lot behind how Kinect creates that 11-bit depth image once you understand how it works. Kinect uses a structured light IR projector and sensor system - something widely used in both industrial manufacturing and inspection. The principle of structured light sensing is that given a specific angle between emitter and sensor, depth can be recovered from simple triangulation. Expand this to a predictable structure, and the corresponding image shift directly relates to depth.
Example structured-light system optical system, from Spacecraft hazard avoidance utilizing structured light
In Kinect, that system is comprised of an IR laser (which I’ve already touched on), a carefully engineered diffraction grating (in this case, the diffraction grating is actually a computer-generated hologram - CGH - with a specific periodic structure), and a relatively standard CMOS detector with a band-pass filter centered at the IR laser wavelength. Inspecting the sensor with the naked eye, you can easily see the characteristic rainbow-effect from the CGH atop the IR projector, and that shiny layer on the IR-sensitive CMOS is likely a band-pass filter.
That carefully-engineered CGH produces a specific periodic structure of IR light when the laser shines through it. There’s a computationally-derived periodic structure of undoubtedly square cells inside which diffract light into a periodic structure. The first day I had Kinect, I immediately set out to find what that pattern was, and it’s simple to measure. Although the laser itself is intense enough to see with the naked eye at the source, the projected pattern thankfully isn’t, but the solution is trivial. Stick a lambertian reflector (read: piece of paper) in front of Kinect, and you can see the pattern with any IR-sensitive device. Though my DSLR has a low-pass IR cut filter like most cameras (since IR is generally undesirable in visible imaging systems), the most immediate device I found which was sensitive enough to photograph the pattern was a smartphone camera - an iPhone 4. The image is obviously false-color - this radiation is actually in the far red/near IR part of the spectrum. That pattern is below:
You can immediately notice some things - first, there are 9 clearly visible repeating blocks with a specific semi-random pattern of points inside. This structure is repeated across the blocks, and it’s obvious this pattern arises from a holographic structure from the bright 0-order point at the center of each block. Note also how the structure is also engineered to be spherical, which gives it that curvy edge shape - the paper is actually being held perpendicular to the projector. This projection grid defines the field of view of the Kinect sensor, and the distance between points inside the grid likewise defines the spatial resolution of the depth sensor. I’m only holding the paper about a foot away from the projector. Close up inside one of those cells you can see the structure which consists of many small points:
The projected image doesn’t change in time - it’s fixed this way. The IR CMOS sensor images this pattern projected onto the room and scene, and given the camera’s displacement a few inches from the projector, from the displacements in the semi-random projected pattern is able to back out the corresponding depth image. That compuation is done onboard the Kinect itself, and it’s entirely possible (read: likely) that the IR sensor inside the Kinect is higher than the 640x480 resolution of the resulting image.
When iFixit tore apart the Kinect, it was immediately apparent that Microsoft had devoted a lot of engineering into the sensor’s cooling solution, which at first thought seems strange - why do two cameras and a bunch of microphones need fans? Cue RROD jokes. Further, in the disassembly photos, I noticed a peltier cooler on the back of the IR laser diode.
The peltier cooler is what's being pried off - Courtesy iFixit
The reason for the cooler should now be obvious - diffraction gratings are extremely wavelength-dependent, and the Kinect functions or doesn’t based on its ability to properly detect the projected IR image. The result is that the IR diode likely needs to be kept inside a window of under 10 degrees C of some temperature so the laser’s peak output is at or very close to the wavelength the CGH was designed to work at. The other consideration is that the top of most TVs where you could conceivably place a Kinect can be notably warm. Kinect’s somewhat overengineered thermal design now makes sense - the peltier cooler likely gets hot on the back side which connects to the metal base plate, the front which touches the diode laser gets cool, and the fan sweeps air through the whole box when required. RROD jokes aside, making sure that the system is carefully thermally regulated is an important part of the optical design.
I decided I was going to see if I could make the Kinect fans turn on, or the device overheat. I left the Kinect sensor turned on for 48+ hours atop my rather-warm LCD TV, and later an even hotter plasma TV and could never once feel it get noticeably warm, or even detect airflow through the Kinect. It’s possible that the fans were spinning, but if that’s the case I couldn’t detect it.
Post Your CommentPlease log in or sign up to comment.
View All Comments
Aloonatic - Friday, December 10, 2010 - linkI come from the UK, where we have very expensive homes that somehow still have average room sizes that are so small that Guantánamo Bay residents would think that their lodgings were spacious loft apartments in comparison, so I was wandering if anyone has tried tinkering with the placement of Kinect?
As every inch counts (no sniggering at the back) has anyone tried placing this on a wall mounting above and behind a TV? I'm guessing that there might be issues with the TV itself obscuring the device's field of view, but it might just work if moved high enough?
Love the idea of Kinect, and could just about find the space as recommended on the box, but I am not sure that I have the room that Anand recommends. :(
Oh, and will Kinect be used on the next generation xBox too? Might have to wait for Kinect 2, which will hopefully work in smaller rooms, if there ever is such a device.
DesktopMan - Friday, December 10, 2010 - linkOriginal release Wiimote only had a 3-axis accelerometer. Motion plus didn't add a three-axis gyro until 2009. Even calling it six-axis with the gyro is stretching the definition of six-axis as it can't detect motion with constant speed unless the IR camera is pointing towards the motion bar. (Same is true for the PS3 "6-axis" controller of course. It's not six axis, it's 3-axis accelerometer and 3-axis gyro.)
DesktopMan - Friday, December 10, 2010 - linkMotion bar should of course have been sensor bar. Why is there no edit button ;)
gvaley - Friday, December 10, 2010 - linkThere are all in all 3 (three) axes in a three dimensional world and this is exactly what we are existing in. Everything else is marketing nonsense.
DesktopMan - Friday, December 10, 2010 - linkQuite. Though this is what they're actually somewhat referring to:
But neither wiimote with motion plus nor ps3 6-axis actually allows you to track all types of motion in 3 dimensions. So it's false either way :)
gvaley - Friday, December 10, 2010 - linkImagine if marketers actually respected the principals of the language, "do not use a random expression in lieu of another expression just because it's shorter" for one. "Degrees of freedom" is quite different from "axes." All robots boo.
landerf - Friday, December 10, 2010 - linkIs the lag due to processing or camera frame rate? As i understand it the 360 does the processing with a cap of 10% cpu usage. So I'd then assume on the pc it could have better response time. Also can it be powered by usb 3 and or 2 on the pc? Without the need for the power plug.
brundleflyguy - Friday, December 10, 2010 - linkI notice in the review it says "On the other hand, there's no possible way that Kinect would ever work in the average dorm room - you really do need 9' - 12' behind the TV to play with two people." Do you mean "in front of the TV"?
I'm wondering because I'm using a projector. The projector is about five feet behind me on the ceiling, and the Xbox would be about four feet behind me. The wall on which I projected is about 10 feet in front of me. Would this setup work for the Kinect?
Gonemad - Friday, December 10, 2010 - linkMy guess is, if you are using a projector, you should put Kinect in front of you... if there is enough cable length.
Those applications that take a picture of your face would be taking a picture of your... haircut?
Good point! Inquiring minds...
Now, from what I could understand... Kinect will fit right in places that have pool tables, basketball courts, large mess halls... places with plenty of room. My condo has a gym, it wouldn't be misplaced there. So much for enjoying private gaming at home. This thing would fit right in old style arcades!
On another note, kids jumping in apartments... think about that.
Well, the Wii had lanyards, to prevent damage to your TV. Can you attach lanyards to your limbs?
Trolling possibilities / funny ideas:
1- Your pedantic little brother rushes behind you, just to throw Kinetic off.
2- Your mom learns learns how to shutdown your Xbox by talking to it, if she ever reads this article.
3- Trash talking... with your hips. Girls know that pretty well. Do the chicken dance!
4- Not only air guitar and air drums... air orchestra. Air violin. FTW.
1a. Hackers find a way into Kinect and can record you at home.
1b. You hack into your own Kinect and turn it into a full fledged PTZ surveillance camera.
1c. You find out that you can build your own Kinect with industrial cameras, and it will work 20 times better... at 200 times the cost.
1d. You find out that you can use Kinect outside a Xbox360, cutting costs in special cameras for industrial inspection (that cost above $20k easily).
1e. You find out you could have done everything Kinect does with a regular webcam, and a range finder pulled from a parking sensor, costing you just 10 bucks.
1f. Fighting games? Judo? Karate? Jiu-Jitsu? Tae-kwon-do? Be sure your boots are strapped tight. Roundhouse-kick your sofa's gotta hurt. Street Fighter 7?
SlyNine - Friday, December 10, 2010 - link"Your pedantic little brother " are you sure you know what that word means ? Seems to me little brothers would be less then pedantic, unless your little brother is an egg head.