Scaling monocular SLAM with stereo odometry?

asked 2017-02-26 07:18:57 -0500

antithing gravatar image

updated 2017-02-26 07:46:47 -0500

Hi all, sorry if this is the wrong place to post this.

I have a monocular slam system (based on ORBSLAM2) running well, but obviously, as it is Mono, the world scale is not accurate, and changes on every run. To compensate for this, i am running a stereo odometry algorithm at the same time (libviso2).

Now, what i need to do is have the Odometry, with its world-accurate scale, adjust the values of the mono slam, so that I get the scale factor that I need to get everything in the proper world space.

Right now I am storing the value of both, moving the sensors 1m, getting the values again and comparing them to get the scale factor, then multiplying the mono data by that value. This works, but is very manual.

My question is:

Has anyone taken a similar approach to scaling mono slam? Or successfully added world-accurate scale in any way? Does anyone have any thoughts on how best to approach this problem? (Ideally, whenever the two data streams are up, an algorithm would be refining the scale factor to give me the best result, but I am unsure how to do this).


(The obvious answer is to run stereo slam, but i need such a fast update rate that I cannot. Mono = 30ms, stereo is up to 60);

edit retag flag offensive close merge delete