Projection matrix from Fundamental matrix

不羁的心 提交于 2019-11-29 15:39:13

问题


I have obtained fundamental matrix between two cameras. I also, have their internal parameters in a 3 X 3 matrix which I had obtained earlier through chess board. Using the fundamental matrix, I have obtained P1 and P2 by

P1 = [I | 0] and P2 = [ [e']x * F | e']

These projection matrices are not really useful in getting the exact 3D location. Since, I have the internal parameters K1 and K2, I changed P1 and P2 as

P1 = K1 * [I | 0] and P2 = K2 * [ [e']x * F | e']

  • Is this the right way to get the real projection matrices which gives the actual relation between the 3D world and the image?
  • If not, please help me understand the right way and where I have gone wrong.
  • If this is the right approach, how do I verify these matrices?

回答1:


A good reference book is "Multiple View Geometry in Computer Vision" from Hartley and Zisserman. First, your formula for P is wrong. If you want the formula with K inside, it is rather

P = K * [R | t]

or

P = [ [e']x * F | e']

but not a mix of both.

If you computed F from the 8 points algorithm, then you can recover only projective geometry up to a 3D homography (i.e. a 4x4 transformation).

To upgrade to euclidian space, there are 2 possibilities, both starting by computing the essential matrix.

First possibility is to compute the essential matrix from F: E = transpose(K2)*F*K1.

Second possibility, is to estimate directly the essential matrix for these 2 views:

  • Normalize your 2D points by pre multiplying with inverse of K for each image ("normalized image coordinates")
  • Apply the (same than for F) 8 points algorithm on these normalized points
  • Enforce the fact that the essential matrix has its 2 singular values equal to 1 and last is 0, by SVD decomposition and forcing the diagonal values.

Once you have the essential matrix, we can compute the projection matrix in the form

P = K * [R | t]

R and t can be found thanks to the elements of the SVD of E (cf the previously mentioned book). However, you will have 4 possibilities. Only one of them projects points in front of both cameras, so you shall test a point (if you are sure of it) to remove the ambiguity among the 4. And in this case you will be able to place the camera and its orientation (with R and t of the projection) in your 3D scene.

Not so obvious, indeed...



来源:https://stackoverflow.com/questions/18018924/projection-matrix-from-fundamental-matrix

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!