SpectacularAI / HybVIO

HybVIO visual-inertial odometry and SLAM system

Home Page:https://arxiv.org/abs/2106.11857

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

visualUpdateForEveryNFrame Quality Worse Than Skipping Entire Frame

ArmandB opened this issue · comments

Sorry in advance if you guys are no longer answering these types of questions:
Do you have any idea why skipping the visual update (visualUpdateForEveryNFrame=2) would have worse performance than skipping the frame entirely (data attached)?

We also noticed that on average, visualUpdateForEveryNFrame makes SLAM perform worse than VIO (i.e. "-visualUpdateForEveryNFrame=2" has worse quality than "-useSlam=false -visualUpdateForEveryNFrame=2").

Is this some sort of bug, or was visualUpdateForEveryNFrame (skipping visual updates) just never intended to be used in a real setting to improve performance at the expense of quality?

To do frame dropping, I modified sample_sync.cpp right under the sampleSyncSmartFrameLimiter if statement just popping every N frames.

hybvio frame skip data.xlsx

Hello. Many of the parameters, including visualUpdateForEveryNFrame are quite experimental and it is not surprising that they work badly. Some of the parameters may only be helpful to address specific types of failure cases (perhaps not present in EuRoC at all), on certain types of devices (monocular with cheap IMUs, for example) or in certain combinations (e.g., increasing that parameter might require tweaking 2 or 3 other parameters to create a beneficial effect)

Thank you!