Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EurocMono params on master gives poor VIO performance #254

Open
sarika93 opened this issue Feb 13, 2025 · 0 comments
Open

EurocMono params on master gives poor VIO performance #254

sarika93 opened this issue Feb 13, 2025 · 0 comments

Comments

@sarika93
Copy link

Description:
Running the master branch using the stereoVIOeuroc.bash script with Euroc V1_01_easy dataset using the default EurocMono params on master gives very poor VIO performance. The pipeline runs until completion. Note: stereo performance is still good at less than +/-0.1m of error in each axis with the same dataset.

The below shows the error performance with the default EurocMono setup:

Image

This was not the case in an older version of master (git hash: a2cf0af), which gave the following error performance.

Image

It looks like with OpenCV or GTSAM related updates something was broken.

However, I was able to find a working config which gives good VIO performance when running with master. Changing the frontend detector from GFTT (feature_detector_type: 3 in FrontendParams.yaml) to FAST (feature_detector_type: 0 in FrontendParams.yaml) , the performance improves signficantly. See below:

Image

Changing the linearization mode from Hessian to Implicit Schur (linearizationMode: 1 in BackendParams.yaml) further improves performance:

Image

All graphs were generated using this script.

I will be submitting a PR with these updated params for the EurocMono configuration. However, this doesn't fix any possible underlying issues here.

Steps to reproduce error:

  1. Checkout this repository to the latest version of master
  2. Update the scripts/stereoVIOeuroc.bash file to use EurocMono params and point to the relevant dataset path. Output should also be logged.
  3. Run scripts/stereoVIOeuroc.bash. Using the visualizer, the explosion in pose estimation should be easily visible. Alternatively, the script linked above can be used to produce an error graph.

My testing setup

  • Kimera-Vio branch, tag or commit used: master, git hash: acf45cb
  • GTSAM version used: 4.2
  • OpenGV version used:
  • OpenCV version used: 4.2.0
  • Operating system and version : Ubuntu 20.04 via Docker
  • Did you change the source code? (yes / no): No, this was tested on the master branch.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant