I am using Kinect DK for a robotic bin-picking task. As such, I have mounted the Kinect so that it is looking straight downward at a flat table top. I have mechanically aligned and verified that the Kinect XY plane is parallel to the tabletop -- to within a degree or so. I imaged the table top with the depth sensor (NFOV attached)!
and taking an excerpt from the middle of the depth image I get the image I shared below !
; because the Kinect and the table top are parallel the Kinect -- since the depth image reports the distance from the XY plane to the table top parallel to the Z axis of the Kinect -- the image should be uniform. But it is not. There is a decided change in the depth correlated with changes in Y; I have extracted a plot of the profile of depth values roughly parallel to the Y axis which is in the image below!
A crude calculation shows that the slope of the profile is roughly 11.5 or 12 degrees which is not even close to being flat as should be expected. BUT the Kinect documentation does point out that the range sensor is rotated by 6 degrees about the X axis. So it seems to me that the processing carried out to convert the range sensor data into a rectified depth image would include a rotation about the X axis in order to bring the depth image into conformance with the Kinect coordinate system; and it looks to me like instead of rotating 6 degrees properly the Microsoft processing is rotating 6 degrees in the wrong direction thus creating a total rotation of 12 degrees as I have measured.
My question then is this: Is there in fact an error in rotation in the processing of the range data into the depth image ?