Giter Club home page Giter Club logo

stereovo's Introduction

Stereo Visual Odometry using Kitti Dataset

Decisions

Concepts used

  1. Optical flow
  2. GFTT
  3. Multi-threading, mutex locks

Edge cases taken care of

  1. Max active keyframes are taken to be 7. If active keyframes < 7, this has been taken care of.

Edge cases not taken care of

  1. Brightness not constant
  2. Lost tracking, reset function is not implemented

Scope of improvements

  1. Compare with other open source libraries
  2. I used GFTT as feature detector. This is not fast. Can use ORB, SIFT etc
  3. Taking care of edge cases, like changing brightness, lost tracking
  4. Used direct method for estimating pose and features for faster computation. Can compare with other techniques like OpticalFlow
  5. Can use pose graph instead of BA
  6. Add ways to quantify results
  7. Include features in major pipeline
  8. C++

Running the code

Build the file using

cd ~/ws
mkdir build
cd build
cmake ..
make

Then to run on KITTI dataset

cd ~/ws
bin/run_kitti_stereo

Results

Output will be like

0204 14:58:25.402386 29886 visual_odometry.cpp:41] VO is running
I0204 14:58:25.413861 29886 frontend.cpp:265] Find 130 in the last image.
I0204 14:58:25.415143 29886 frontend.cpp:211] Outlier/Inlier in pose estimating: 16/88
I0204 14:58:25.415163 29886 frontend.cpp:216] Current Pose = 
000.559344 0-0.798614 000.222148 00-25.5681
000.825838 000.560017 0-0.066126 00-302.885
-0.0715975 000.220446 000.972768 00-356.362
0000000000 0000000000 0000000000 0000000001
I0204 14:58:25.420295 29886 visual_odometry.cpp:62] VO cost time: 0.00845767 seconds.

Output GIF of the visual odometry

Output

Things to take care of

  1. Use 3rd party libraries for version compatibility
  2. May need to run commands (or add in .bashrc):
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libffi.so.7

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.