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. 

Introduction and Hardware Environmental Constraints of using Kinect
POST A COMMENT

72 Comments

View All Comments

  • brundleflyguy - Friday, December 10, 2010 - link

    "My guess is, if you are using a projector, you should put Kinect in front of you... if there is enough cable length."

    Yeah, I know. :)

    My current set up is:

    Wall<--4ft-->WiiBar<---6ft--->Me<---4ft--->Wii<--1ft-->Projector.

    I can't get much closer to the wall or my shadow blocks the projected image. My question is: If I replace the WiiBar and the Wii with the Kinect and XBox360 (respectively) would that work? Or would I be too close/far away from some component? I know I can get an active USB cable to reach from the XBox360 to the Kinect.
    Reply
  • JonathanYoung - Friday, December 10, 2010 - link

    I think I used up my quota for seeing the word "itself" in an article. Reply
  • brshoemak - Friday, December 10, 2010 - link

    Totally OT, but I loved the pictures last.fm showed for Xzibit - we just need active content to rotate 'yo dawg' taglines over it. Reply
  • GTVic - Friday, December 10, 2010 - link

    I shall now title all of my comments with my name. Reply
  • melgross - Friday, December 10, 2010 - link

    I don't have an XBox and aren't interested in getting one, so I'm no XBox fanboy. But, for all those complaining about various problems, just remember that this is a 1st generation product. It's the first device of its type in the consumer market. It's got its problems, but it does a credible job. A year or two from now, either MS, or Sony, or Nintendo, or Apple will come out with a new one that works much better, as always happens. But this seems pretty good for what it is in this timespace. Reply
  • Portablenuke - Friday, December 10, 2010 - link

    Forget the Kinect, where can I get wafer mask coasters!? Reply
  • trip1ex - Friday, December 10, 2010 - link

    I think the reviewer was a little too generous.

    First he's too hung up on the fact you can cheat on the Wii. SEems to be his basis for liking Kinect.

    I don't think he called out Kinect enough on its drawbacks or the quality of some of the games.

    See what the reviewer failed to mention is how sloppy many of the games are.

    Take Kinect Adventures.

    YOu have to jump way before you think you have to in one of the games. Pretty darn laggy. And there's jaggedy jumping animation as well.

    Waving your arms to hit balls in another game was just so un precise. You basically swing in the ballpark and you connect. It doesn't leave you with a solid precise feeling. You don't feel connected to what is happening on the screen. There's something missing between your actions and what happens on the screen.

    It's the same with plugging wiki-leaks in Kinect Adventures. You see where the leak is and even though KInect tracks your hand/arm fairly accurately you're still just reaching in the dark to plug the Wiki-leak. There is no preciseness or feedback to the gameplay. OH this leak is down here somewhere I will just move my hand down there in the general vicinity until the screen shows the hole is plugged.

    The only thing I found Kinect did really well in Kinect Adventures was track me as I moved left and right to avoid obstacles in the "moving platform" game. That was the only solid part.

    Overall I found the KA and the integration of Kinect into the dashboard along with the voice commands and hand gestures to be pretty sloppy. I think that after the xmas gold rush wears off this device is going to die out pretty quickly unless someone comes out with a killer app.
    Reply
  • DanaG - Friday, December 10, 2010 - link

    Is there any way to put the XBox 360 in a sort of "kiosk" mode, where the only way to exit games would be to push a button somewhere? I see online that there's some "kiosk mode" disk, but I have no idea what other features it would disable, and that kiosk mode is supposedly irreversible. Reply
  • DanaG - Friday, December 10, 2010 - link

    I'd be interested to see how much of that latency is caused by the receiver and the TV. I've seen some TVs where even a computer mouse is laggy enough to notice even with game mode (that disabled itself every time you turned off the TV); I had to switch back from HDMI to VGA on that device.

    Please try connecting the 360's HDMI to a known low-latency monitor that can do 720 or 1080.
    Reply
  • clasam - Saturday, December 11, 2010 - link

    Could we get an update about the lag WITHOUT the Onkyo ? Thx! Reply

Log in

Don't have an account? Sign up now