1
\$\begingroup\$

I want to build my own depth sensor like the way Kinect does it, using IR and a Camera but I can't find anywhere where I can get the "IR Camera". I do not need a CMOS board as I will be computing everything on a computer instead of a "middleware". What companies/brands sell them? Also can you provide a link or something, so I can research?

Every time I check out Infrared Lights, all I generally find is infrared LEDs, but nothing about the receivers...

\$\endgroup\$
  • 1
    \$\begingroup\$ The question, and comments by OP on answers, seem to indicate a misunderstanding of the way IR depth detection works. The two common methods are (1) IR intensity mapping based on reflected chopped-IR signal captured by a CMOS or other camera sensor, with chopped IR (38 KHz for instance) originating from IR emitters (LEDs) on the camera sensor board, and (2) time-of-flight mapping using special-purpose emitters, either laser or LED type, a sensitive IR receiver with a notch filter to allow the desired wavelength in, and a Digital Signal Processing module to calculate time-of-flight of the IR. \$\endgroup\$ – Anindo Ghosh Aug 18 '14 at 16:25
  • 2
    \$\begingroup\$ Fairly detailed info on how the Kinect does depth perception, here. Basically, a strong IR emitter (IR LED) with encoded IR being sent out to bathe the area, and a camera-sensor without IR-block filter ("IR camera") to sense relative intensities of returned encoded IR. On the other hand, this document speculates (and admits this is speculation) that the Kinect emits and senses structured light i.e. IR speckle pattern - which would indicate an IR laser as emitter. \$\endgroup\$ – Anindo Ghosh Aug 18 '14 at 16:31
  • \$\begingroup\$ @AnindoGhosh, Great +1. Say if anyone has a spectrometer and a Kinet it would be pretty easy to see if it's a laser or not. (LED's should have tens of nanometers of bandwidth.) I understand how structured light could give you depth information, but it's hard to see how the speckle pattern does that. \$\endgroup\$ – George Herold Aug 18 '14 at 18:03
  • \$\begingroup\$ I thought there was an IR receiver that took the info but now I understand. Thank you @AnindoGhosh. \$\endgroup\$ – Gasim Aug 18 '14 at 19:03
1
\$\begingroup\$

Cheap CCD camera's will see into the NIR (about to 1 um.) The more expensive cameras have an IR filter in front of the CCD. If you want something beyond 1 um, then it gets expensive.

\$\endgroup\$
  • \$\begingroup\$ Is IR Filter what I need to calculate the depth? \$\endgroup\$ – Gasim Aug 18 '14 at 15:19
  • \$\begingroup\$ No it blocks the IR from getting into the detector. I have no idea how you calculate depth \$\endgroup\$ – George Herold Aug 18 '14 at 15:42
  • \$\begingroup\$ I am looking for an IR laser like in Microsoft's Kinect Sensor. I have actually found the camera but I the IR module too, which will receive IR "wavelengths" from the environment, so that I can then calculate the depth in software. \$\endgroup\$ – Gasim Aug 18 '14 at 16:10
  • 1
    \$\begingroup\$ OK I have no idea how the Kinect sensor works. I would bet there is no IR laser though. (those can be dangerous.) (Looking at a picture it looks to have two depth sensors... which would lead me to think it does the binocular vision type thing.. the same way your brain does 3-d.) Your first job is to find out how the Kinect thing works. \$\endgroup\$ – George Herold Aug 18 '14 at 16:27
1
\$\begingroup\$

I have worked on the Kinect and its hardware and I have written code for recovering 3D depth using similar techniques.

The Kinect uses an infra red laser speckle projector to project a dense pattern of dots on the whole scene which are infra red and therefore invisible to the eye. The Kinect has a camera that can pick up the IR pattern. The hardware is able to recover the 3D depth because there is a distance between the center of projection of the speckle pattern and the optical center of the camera. This means that the location of the spots changes in the camera image as the object moves further away. In fact the pattern of dots is a known thing to the hardware. The camera is sensitive to the displacement of the dots from the known location that they would be for planes at infinity when a close object is imaged.

There is also an RGB color camera that allows color images also to be extracted.

One can use a speckle projector and two infra cameras to reconstruct the depth information in an ad hoc configuration without using a kinect. The cameras should be sensitive to IR but the also need an IR filter whose purpose is to just let IR light through and not visible light. This increases the contrast of the dots and removes general scene illumination. Using stereo algorithms it is possible to detect the locations of the dots in the two camera images and match them together. From these point matches and the known camera geometry it is possible to infer the depth of these points and to obtain a 3D point cloud. I have personally implemented this setup a few years ago.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.