VI-Stereo-DSO

July 20, 2019 · View on GitHub

  • Direct Sparse Odometry, J. Engel, V. Koltun, D. Cremers, In arXiv:1607.02565, 2016

  • Stereo DSO:Large-Scale Direct Sparse Visual Odometry with Stereo Cameras, Rui Wang, Martin Schwörer, Daniel Cremers, 2017 IEEE International Conference on Computer Vision

  • Direct Sparse Visual-Inertial Odometry using Dynamic Marginalization, Lukas von Stumberg, Vladyslav Usenko, Daniel Cremers, 2018 IEEE International Conference on Robotics and Automation (ICRA)

1. Installation

Please follow https://github.com/JakobEngel/dso.

2. Usage

  1. Modify the bash file

  2. For stereo:

    bash ./run.bash
    
  3. For mono:

    bash ./run_mono.bash
    
  • T_stereo file:
    transform matrix from right camera to left camera (4x4).
  • imu_info file:
    transform matrix from left camera to imu (4x4).
    gyroscope noise density [ rad / s / sqrt(Hz) ] ( gyro "white noise" )
    accelerometer noise density [ m / s^2 / sqrt(Hz) ]   ( accel "white noise" )
    gyroscope random walk [ rad / s^2 / sqrt(Hz) ] ( gyro bias diffusion )
    accelerometer random walk [ m / s^3 / sqrt(Hz) ].  ( accel bias diffusion ) 

Experiments

  • 20190424

SE(3) Umeyama alignment:

weight 6,0.6,0.5MH01MH02MH03MH04MH05V101V102V103V201V202V203
ape rmse(m)0.03210.02880.07430.1190.0720.05990.1050.1680.08520.06670.211

No alignment(Initialization may have an impact on the results):

weight 6,0.6,0.5MH01MH02MH03MH04MH05V101V102V103V201V202V203
ape rmse(m)0.09930.05570.2340.1940.1110.2320.2020.27770.1020.1140.263
  • 20190416

Apply First Estimates Jacobians to scale to maintain consistency.

EuRoC MH01:

  • EuRoC V1_03:

  • EuRoC V2_03:

  • 20190409:

green line: groundtruth, redline: VI-Stereo-DSO

P.S.

This project aims at verifying the location performance of VI-Stero-DSO. The computational efficiency is to be improved. Actually in current code, many preintergration operations are redundant and can be simplified.