tomtom
tomtom

Reputation: 1

Obtain translation vector from three frames and a common 3D point

I am using OpenCV for visual odometry. I have a video of a road taken from a monocular camera mounted on a moving car. I would like to obtain the translation vectors between frames.

What I have done so far:

My issue is that with just two frames I cannot recover the real translation vector (just the direction). But if I find the same point in three different frames and triangulate its 3D coordinates with respect to the first and second reference frame I think I can retrieve the real translation vector between the camera at t0 and t1 as the difference of the coordinates which I find in the two frames.

Is the above statement correct?

Of course it would be better to have multiple points and some kind of voting method. I just want to know if the method is feasible or I am missing some fundamental problem.

Upvotes: 0

Views: 169

Answers (1)

Piotr Siekański
Piotr Siekański

Reputation: 1715

It is incorrect. You can only recover translation vector up to unknown scale factor from the set of images regardless of technique used. You need another source of real-world information to recover correct scale and get real translation vector. See my answer to similar question.

Upvotes: 0

Related Questions