none
Minimum Depth Distance RRS feed

  • Question

  • It seems like the smallest depth value that the Kinect SDK returns is 850mm (http://channel9.msdn.com/Series/KinectSDKQuickstarts/Working-with-Depth-Data)

    Is there an option to also receive distances closer than that?

    When using OpenNI with the Kinect, there are values below 850mm returned, so the device is capable of doing this.

    Regards,
    Stefan




    Sunday, June 19, 2011 1:49 PM

Answers

All replies

  •  

    Using the Beta SDK Skeleton Viewer sample project I threw in a min/max value check where it calculates the real depth values and found that I got returns between 0 and 3975 mm.   Have not watched the video posted above - maybe this 850 mm limit is related to skeleton tracking, rather than depth value?

    Monday, June 20, 2011 4:21 PM
  • Hi Susan

    If you run the Skeleton Viewer and you move your hands closer than 850mm you'll notice that the hands lose their color and get grey. That's where the artificial minimum depth is set, the question is, why? And can I configure that somehow?

    Regards,
    Stefan

    Monday, June 20, 2011 6:07 PM
  •  

    I read further in the forums and found that getting a depth value of 0 means a "no read" on the depth.  So I altered my min function to ignore 0 values.  Doing this, I polled and had values between 801 and 3975.  So there really does seem to be a cutoff depth of around 800 mm. 

    Tuesday, June 21, 2011 1:51 PM
  • Hi Susan

    Yes, and I'd like to know if there is a way to get values smaller than this cutoff. My guess is that it's filtered somewhere in the driver or SDK code, because when I use the 'hacked' driver with OpenNI, values below 800 are returned.

    Regards,
    Stefan

    Wednesday, June 22, 2011 7:13 AM
  • Yes, SDK introduces this artificial cap around 800 because at values smaller than that quality of data decreases significantly, e.g.: parallax effect between emitted IR beams and captured depth stream becomes really noticeable and "shadow" artifacts (see http://social.msdn.microsoft.com/Forums/en-US/kinectsdknuiapi/thread/053bf4be-6f03-4e3a-a8d4-eadb56fde186) become very pronounced. SDK does not provide any way to configure depth stream to get values smaller than this cutoff.

    Hope this helps,
    Eddy


    I'm here to help
    Wednesday, June 22, 2011 7:21 AM
  • Hi Eddy

    Thanks for the answer! That's what I expected. And I'm well aware of the "shadow" areas that result when using data that close to the device.

    Could you offer an option if a Dev wants to get that data explicitly?

    By the way, the problem that is described in the post in your link would be less confusing, because you would only have the shadow area that has depth value 0.

    Regards,
    Stefan


    Wednesday, June 22, 2011 9:31 AM
  • Candescent,

    Kinect SDK beta offers no APIs to do what you're requesting. We are listening to feedback, however, to inform our decisions regarding future releases, so thanks for your request.

    Eddy


    I'm here to help
    Thursday, June 23, 2011 6:22 PM
  • Hi Eddy

    Thanks!

    Regards,
    Stefan

    Friday, June 24, 2011 12:07 PM
  • Agreed, all the ideas I have with the kinect are based on close up depth sensing, I don't mind if I lose some quality, but it would be awesome If we could get the close up data...
    Saturday, June 25, 2011 6:06 AM
  • I think there should be configurable depth, especially if we were to use the Kinect for more generic uses like object scanning and image manipulation. since it works quite well in OpenNI (the sample mentioned above), you should have an option for the developers to switch between clean reading and open reading modes for the depth sensor. 
    Saturday, June 25, 2011 9:17 AM
  • It seems that the MS SDK also limits the maximum depth values.   We've seen higher depth values with the OpenNI SDK than the MS SDK.  Are there any plans to make these artificial limits configurable?

     

    Thanks in advance,

    Jim

    Monday, July 11, 2011 1:30 AM
  • Wow! This is really a problem.  I have a fairly sophisticated robot with a Kinect sensor that is able to pick up objects off the ground.  I have been using the open source driver, but wanted to switch to the Kinect SDK.  After spending the whole day getting it all integrated and working, I found out that the Kinect SDK is completely worthless to me due to this limitation.  The Sensor is mounted 26" above the floor, and can tilt down to find objects and pick them up.  It works fine with the open source driver, which works well up to 550mm, but I limit to 600mm to be safe.  This artificial 800mm limit is completely too high.  Don't block your developers!

    Can you provide a patch ASAP???

     

    Monday, October 24, 2011 4:24 AM
  • RobotMan26, we are aware of inconvenience of this limitation and have prioritized this request together with others, but I can't give you an official timeline as to when this might be resolved.

    Sorry for the inconvenience, and thanks for the feedback.
    Eddy


    I'm here to help
    Monday, October 24, 2011 8:08 PM
  • Any update on this?  It is a really annoying limitation.  I understand the close data might not be useful for *some* applicaitons, but why limit everyone?  Just document the limitations!  Can we get a patch or something?  I tried the November update and was disappointed to find this still was not fixed. :-(  Any ETA on a fix?

    Tuesday, December 20, 2011 8:47 PM
  • P.S. There is a whole community of people that are blocked and annoyed by this.  Most have just given up on the Microsoft SDK and moved on with the Open Source version.  Unfortunate, as I think the Micosoft provided SDK is better (at least would be, if it did not have this one Show-Stopper bug).
    Tuesday, December 20, 2011 8:52 PM
  • RobotMan26, we are aware of inconvenience of this limitation and have prioritized this request together with others, but I can't give you an official timeline as to when this might be resolved.

    Sorry for the inconvenience, and thanks for the feedback.
    Eddy


    I'm here to help

    Why not?

    If your developers aren't capable of it, I'm sure anyone here in this forum could fix it for you almost instantly. It's a limitation that you deliberately introduced, so all you have to do is delete your IF statement. It shouldn't take more than a few minutes. It would be a huge benefit for everyone.

    Wednesday, December 28, 2011 11:38 AM