Giter Site home page Giter Site logo

hiteshhedwig / visual_odo_max Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 56.45 MB

wanna make the best visual odo knowledge out there

Python 16.67% Jupyter Notebook 83.33%
3dcomputergraphics camera-calibration computer-vision computervi epipolar-geometry linear-algebra opencv ransac slam visual-odometry

visual_odo_max's Introduction

A step to be more better in VO :

Disclaimer :

I am starting this repo to revisit all the basics and fill in the gaps in my knowledge. I have several years of experience in Computer Vision and Deep Learning, but I haven't documented any notes for review. This repo is designed to address that exact issue. In the process, I aim to help people who are interested in building a strong foundation in the visual odo.

  1. Foundational Knowledge :
  • [Done] Linear Algebra: Understand matrices, vectors, eigenvalues, and eigenvectors.
  • [Done] Probability and Statistics: Basics of probability, Bayes' theorem, and statistical estimation techniques.
  • [Done] Computer Vision Basics: Familiarize yourself with image processing, feature extraction, and camera models.
  1. Understand Camera Models and Calibration:
  • [Done] Learn about different camera models, especially the pinhole camera model.
  • [Done] Understand camera calibration techniques to determine intrinsic and extrinsic parameters.
  1. Study Epipolar Geometry:
  • [Done] Get a grasp of concepts like epipolar lines, epipoles, and the essential and fundamental matrices.
  • [Done] These concepts are crucial for understanding the geometric relationship between multiple camera views.
  1. Hands-on with Basic VO:
  • Start with 2-view VO, where you estimate the motion between two consecutive frames.
  • Use feature matching techniques (alike SIFT, SURF, ORB) to find correspondences between frames.
  • Estimate the relative pose (rotation and translation) between frames.
  1. Explore Robust Estimation Techniques:
  • Learn about RANSAC and its variants to handle outliers in feature matching.
  • Understand how to refine pose estimates using bundle adjustment.
  1. Dive into Advanced VO Techniques:
  • Explore direct methods (which use pixel intensity values) in addition to feature-based methods.
  • Study multi-view optimization where more than two views are used to estimate motion.
  • Look into loop closure detection to correct drift over long sequences.
  1. Hands-on Projects:
  • Implement a basic VO pipeline using a library like OpenCV.
  • Use datasets like KITTI or TUM to test and benchmark your VO implementation.
  • Explore open-source VO and SLAM systems like ORB-SLAM to understand advanced implementations.
  1. Deepen Your Understanding:
  • Delve into probabilistic approaches to VO, understanding how uncertainty is modeled and propagated.
  • Explore the integration of VO with inertial measurement units (IMUs) for more robust motion estimation.
  1. Stay Updated and Engage with the Community:
  • VO is an active research area. Regularly read new research papers and articles.
  • Engage with online forums, attend workshops or conferences, and participate in open-source projects.
  1. Expand to Visual SLAM:
  • Once you're comfortable with VO, you can expand to Visual Simultaneous Localization and Mapping (SLAM), which combines VO with mapping capabilities.

Recommended Resources**:

Books: "Multiple View Geometry in Computer Vision" by Richard Hartley and Andrew Zisserman.
Online Courses: "Visual Perception for Self-Driving Cars" on Coursera by the University of Toronto.
Tutorials: OpenCV tutorials, ROS visual odometry tutorials.
Datasets: KITTI Vision Benchmark Suite, TUM MonoVO dataset.

visual_odo_max's People

Contributors

hiteshhedwig avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

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.