0

I have an homography matrix H, by using keypoints correspondence, and I want to find the camera pose by using it.

For now, I know that you can get R1 and R2 from columns 1 and 2 of H, and R3 is the cross product of R1 and R2, while T is column 3 of H. So with it, I can build a [R|t] 3x4 matrix.

There are some things that still aren't clear for me:

  • What is this RT ? Camera to Keypoints, or Keypoints to camera?

  • I also know that you can decompose H and you get a list of possible rotation and translation vectors with the decomposeHomographyMat() function, but how I can select the correct ones.

  • By knowing that H=K[R|t], if I multiply calibration matrix (K) which is 3x3 in [R|t] which is 3x4, then I get a 3x4 matrix, and that's not equal to H. So I'm very confused about that.

  • Talking about SolvePnP() function, I don't know how to apply it here. Because I have the 2d points, which could be a random projected Keypoint obtained, but don't know how can I get the 3d object points. And, I also don't know if its necessary to do SolvePnp() because I'm supposed to have a "rvect" and "tvect" by extracting them of the Homography Matrix.

I know that maybe I am so lost in various concepts, but please have in mind that I am just starting.

Jason Aller
  • 3,541
  • 28
  • 38
  • 38
xXNukem KS
  • 79
  • 8
  • Probably related to https://stackoverflow.com/q/35942095/3067485 – jlandercy Oct 07 '21 at 09:37
  • @jlandercy i read this already, but i still have the same questions haha. – xXNukem KS Oct 07 '21 at 09:39
  • 1
    Homography is a transformation from one plane to the other. The internal rotations and translations are not directly related to camera motion. You will need decomposeHomography or recoverPose (with fundamental or essential mat) for that. If you want to use solvePnp you will need a known reference object and its pixel positions for it. – Micka Oct 07 '21 at 10:58
  • pose without homography: https://stackoverflow.com/questions/69429075/what-could-be-the-reason-for-triangulation-3d-points-to-result-in-a-warped-para – Micka Oct 07 '21 at 11:53
  • @Micka i was trying with decomposeHomographyMat too, but dont know what to do with all The resulta, how do you know wich is The correct one ? – xXNukem KS Oct 07 '21 at 13:44
  • 1
    I ldidnt try, but afaik there are ways to reject at least 2 of them. If I remember right it was by assuming that in the right motion, both captured images/scenes have to be in front of the camera in 3D space. – Micka Oct 07 '21 at 21:45

0 Answers0