Reputation: 21
Im currently working on 3D-reconstrucion project and I got stuck. I use the matlab-code Kneip suggest and provides and theory from:
http://publications.asl.ethz.ch/files/kneip11novel.pdf.
I cant figure out what the feature vectors should be. It seems in theory to be the vectors pointing at the 3D-points from the Camera matrix C (see figure). But it is C that Pnp (p3p) should find, so how can I get the feature vectors without C?
Can anyone help me figure out how to obtain the feature vectors.
best Regards Pontus
Upvotes: 2
Views: 2573
Reputation: 21
For a discussion on what the feature vectors and their advantages are, please refer to Kneips more recent paper in Section II under Point A:
L. Kneip, P. Furgale, "OpenGV: A unified and generalized approach to real-time calibrated geometric vision", Proc. of The IEEE International Conference on Robotics and Automation (ICRA), Hong Kong, China. May 2014.
Let me cite the relevant paragraph here: "The specifics of particular camera models are hidden from the interface [remark: of the solver] by representing each image measurement as a 3D bearing vector: a unit vector originating at the camera center and pointing toward the landmark."
In this paper the feature vectors are called bearing vectors and 3D world points are called landmarks. As he wrote, the feature vectors ( f1, f2, ... fn ) are vectors pointing in the direction of the 3D world points ( P1, P2, ..., Pn ) seen from the perspective center of the camera ( C ). They are also normalized to length 1.
He furthermore wrote: "Each bearing vector has only two degrees of freedom, which are the azimuth and elevation inside the camera reference frame. 3D bearing vectors are — next to normalized image coordinates — a standard choice in computer vision."
The P3P algorithm of Kneip assumes an already calibrated camera (i.e. a camera for which the internal parameters are known). Therefore you know in advance the focal length (i.e. the distance between the camera perspective center from the image plane), the position of the principal point and so on.
Out of these you can compute the 3D feature vectors in the camera reference frame ( {C} ), that actually as only 2 degrees of freedom due to the restrictions:
You can choose different descriptions of the camera image taken:
Both descriptions have two degrees of freedom and contain the same amount of information, but the latter is particularly useful for providing a general interface to the P3P solver, as stated in the first citation.
Upvotes: 2