Answered kinect calibration

  • Monday, March 12, 2012 1:10 AM
     
     
    Hello, 

    I am running some experiments on hand pose estimation and I am using 
    Kinect (XBOX) as well. 
    I collect both RGB and Depth synchronized frames but my main problem 
    is that they are not aligned or calibrated. 
    My hand is roughly 60-90 cm away from camera. 

    I NEED to know for each hand pixel in the depth image what is the 
    corresponding pixel in the RGB image. 

    Is there a good  kinect calibration toolbox?

    here is my  main question: 

    I need to know how good the calibration can be. 
    Is it possible to have a perfect matching between hand pixels in depth 
    and RGB image? 
    Given a depth pixel I want to know the exact RGB values for that 
    pixel. 
    could someone post a link to images (RGB and depth) before and after 
    the calibration process??? 
    It would be really useful to see such images and decide if it worth's 
    doing the whole calibration process. 

    Thank you in advance! 

    Paul

All Replies

  • Monday, March 12, 2012 4:27 PM
    Moderator
     
     Answered

    Paul-

    If you use the AllFramesReady event, it should give you the best matching color, depth, and skeleton frames.

    Then, use one of the KinectSensor.Map* apis to map from Depth to Color. There is a per pixel routine (MapDepthToColorImagePoint), if you are just mapping a few pixels...and a per frame routine (MapDepthFrameToColorFrame).

    Hope that helps.

    -Rob Relyea | @rrelyea
    Kinect for Windows team

  • Monday, March 12, 2012 7:57 PM
     
     
    You could calibrate on the computer but unlike on the xbox 360 you can use a slider in some of the v1 commerical sdk samples to elevate the kinect to correct angle and get best possible recogition.  But Paul sounds like he is on the right path.

    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda

  • Monday, March 12, 2012 8:01 PM
    Moderator
     
     Answered

    I guess I didn't talk about calibration specifically. There is no calibration necessary with the Kinect for Windows sensor.

    We calibrate the color and depth sensor in the factory...calling the MapDepth* APIs I referenced in my reply will use that built in (and not changeable) calibration to help you understand what color each depth pixel corresponds to.

    Thanks, Rob

  • Monday, March 12, 2012 8:43 PM
     
     

    Thanks for that can you provide a multi-user template for kinect users that can show how to deal with multiple users and be fine tuned for speed? Im trying to finish my kinect multipoint project but i can get the x,y coordinates to display in the correct slot on each update.


    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda

  • Thursday, March 15, 2012 12:21 PM
     
     

    Paul-

    If you use the AllFramesReady event, it should give you the best matching color, depth, and skeleton frames.

    Then, use one of the KinectSensor.Map* apis to map from Depth to Color. There is a per pixel routine (MapDepthToColorImagePoint), if you are just mapping a few pixels...and a per frame routine (MapDepthFrameToColorFrame).

    Hope that helps.

    -Rob Relyea | @rrelyea
    Kinect for Windows team

    Great, thanks for the reply.

    Actually I have noticed that after using MapDepthFrameToColorFrame there is still a small misalignment (3-5 pixels) between color and depth images.

    IS this normal.? Is there another way to achieve a near-perfect alignment?

    Thank you!

    Paul


    Paul Doliotis

  • Wednesday, March 21, 2012 6:42 PM
     
     
    It will not be 100% perfect but really close so dont sweet it if its off just a smug but its not a hd camera either so your not going to get hd quality.

    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda

  • Thursday, July 26, 2012 12:49 AM
     
     

    Hi, I use the SDK function NuiImageGetColorPixelCoordinatesFromDepthPixelAtResolution to transform the coordinate in depth image to color pixel. I found the

    performance depends on the specific pixel location, sometimes it is almost perfect, however sometimes it is not work well. Thus do we have to do calibaration of each Kincet?

  • Sunday, September 23, 2012 11:50 AM
     
     

    Hi,

    can I use MapDepthFrameToColorFrame in the Depth-With-Color-D3D project ?

    If yes, can you please let me know how can I use this function in this project?

    Best regards,

    Maniar