Shashwat
Shashwat

Reputation: 2668

How does Kinect calculates depth?

I'm getting a little bit confused here.

How does Kinect calculates depth: What I understand is that

Question 1: Does it consider the distance between IR projector and IR camera? I guess no because they are too close to be considered.

Question 2: Now we are getting the depth directly from the pattern. When are we using disparity map to calculate depth?

Upvotes: 6

Views: 2840

Answers (1)

Sassa
Sassa

Reputation: 3334

The disparity map is basically the difference between the known and the observed pattern that you mention in the beginning. You use this during the depth computation.

The distance between the projector and the camera gets taken into account too.

Check out the following figure:

enter image description here

Pr is the position of a speckle in a reference depth Zr, and Po is the same speckle captured by the Kinect at a depth Zo (the depth we want to calculate). D is the 3D disparity between the 2 points, while d is the disparity on the 2D image plane. f is the focal length, and b is the is the distance between the camera C and the laser projector L.

As you mentioned, using similar triangles, the depth is calculated as:

enter image description here

The paper where the figure is from is Accuracy Analysis of Kinect Depth Data by K. Khoshelham. I'd suggest reading it for a more thorough explanation of the depth calculation process.

Upvotes: 7

Related Questions