solvePnP not giving identity

asked 2013-12-05 08:47:26 -0500

Guido gravatar image


I'm trying to understand how solvePnP really works. I use a kinect camera to get SIFT keypoints and the corresponding 3D points. I give the 2D/3D couples to solvePnP and I expect it to give me the identity matrix as this is equivalent to stare at the same scene without moving.

Result : though the rotation part is the identity, I get a strange translation vector : [0.05, 0.1, 0.8]. These values seem too large, and I can't understand why the Z part is so big compared to the others.

Overall the result is wrong as I get a huge translation along Z.

Any idea as to why this happens ?

edit retag flag offensive close merge delete


example code ? mock data ? please help us help you.

berak gravatar imageberak ( 2013-12-05 08:59:26 -0500 )edit

The whole problem was due to calibration issues. The kinect with factory calibration (rgb intrinsic and rgb/ir registration) has a huge reprojection error.

Guido gravatar imageGuido ( 2013-12-11 03:50:51 -0500 )edit