How does the Microsoft Surface table detect objects?
A step-by-step look at how PixelSense works:
  
  
  A contact (finger/blob/tag/object) is placed on the display
  IR back light unit provides light (though the optical sheets, LCD and protection glass) that hits the contact.
  Light reflected back from the contact is seen by the integrated sensors
  Sensors convert the light signal into an electrical signal/value
  Values reported from all of the sensors are used to create a picture of what is on the display
  The picture is analyzed using image processing techniques
  The output is sent to the PC. It includes the corrected sensor image and various contact types (fingers/blobs/tags)
  


Source: Microsoft Pixelsense

Also, take a look at a similar conceptual implementation (i.e., IR-camera-based) by Johnny Lee (who in fact is now in the Microsoft team AFAIK): Tracking Fingers with the Wii Remote