Kinect Hacking 105: Full Resolution, Public Domain Images of the Speckle Pattern.

On the OpenKinect Google Group, Zsolt Ero asked the following:

Zsolt Ero Nov 18 02:28PM
Can someone actually count the x and y resolution of the emitted image? If
someone could take a really high resolution IR photograph, it would be easy
to count the dots in x and y resolution.

Sure.

Here are some 5Mpix images of the dot pattern [1 2 3 4 5 6]. I make no claim to copyright on these images, anyone can use them as they see fit. They should be good enough to count the dots using standard computer vision techniques… or do other analysis. Tonight, when I get home, I’ll see about doing the same thing in the dark, which should lead to slightly better images.

This entry was posted in Uncategorized. Bookmark the permalink.

8 Responses to Kinect Hacking 105: Full Resolution, Public Domain Images of the Speckle Pattern.

  1. Ismael says:

    Please, can you also set a higher quality for JPGs, compression makes the points noisy.

    Thanks in advance.

  2. admin says:

    I am pretty sure this is the highest JPG quality this camera is capable of, but I will try to take some better ones tonight.

  3. Igor Carron says:

    Daniel,

    Are these photos different from each other ? In the affirmative, do you have any estimate of the framerate at which these images are being cycled through ?

    Thanks in advance,

    Igor.

  4. admin says:

    Hey Igor,

    The projector is not modulated in time at all. It is just a laser continuously shining through some holographic diffuser. The diffuser material creates a fixed pattern of speckle. The speckle is essentially “in focus” from the front of the Kinect sensor all the way to the furthest back surface that it can see.

    So there seems to be no time-domain subsampling to be had from the projector. The camera which images the projected images to do depth estimation is rather high resolution (1280×920, offhand), and seems to be being read out at 30hz. The resulting depth map has only 320×240 pixels, but not necessarily 320×240 actual resolution.

    So the answer is a little complicated. The projected speckle image is unchanging. In this case, I took a bunch of pictures of this non-changing pattern so that the images could be averaged together for better speckle counting.

    I can’t wait to get back to LA where I can do the speckle generation demonstration I have in mind, and spend some more time with these patents/papers to get to the core of this technology.

  5. Igor Carron says:

    Daniel,

    Thanks for the reply. I mentioned it in today’s entry:
    http://nuit-blanche.blogspot.com/2010/11/unsing-kinect-for-compressive-sensing.html

    Cheers,

    Igor.

  6. mirror2image says:

    It looks like PrimeSense is using stereo triangulation for depth calculations.
    http://en.wikipedia.org/wiki/Range_imaging#Stereo_triangulation
    First picture (used instead of the first camera) is the spec pattern on the laser, second is the actual image from the IR sensor. With camera calibrated, same orientation and known baseline it’s easy to calc efor each spec. Pseudorandom pattern instead of regular is for point matching between pattern and image.

  7. Martin says:

    Due to the different sizes of the points and the image compression it is a bit hard to tell what dots to count, but if I threshold the image such that the points outside of the main rectangular region are not counted, I end up with 31974 points.

    If you could provide several uncompressed images from exactly the same viewpoint, this could be done more accurately.

  8. Chris says:

    I am trying to understand the kinect and want to make some measurements. In that aspect there are some questions.
    Why is that dot pattern not an real rectangle? Maybe because of the lens. But what advantages are the result in usage of that pattern?
    Thanks for answers and links to this topic.

Leave a Reply

Your email address will not be published. Required fields are marked *