Skip to content

FatimaYousif/Stereo_VO

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stereo Visual Odometry

This repository contains the implementation of Stereo Visual Odometry (VO) pipeline in Python on the KITTI dataset. It processes stereo image data to estimate the motion of a camera (w.r.t its starting position) in 3D space using the approach of minimizing the 3D to 2D reprojection error.

Features

  • Feature detection using SIFT (Scale-Invariant Feature Transform)
  • Feature matching using BFMatcher (Brute-Force Matcher)
  • Triangulation of points
  • 3D-2D motion estimation using PnP (Perspective-n-Point) with RANSAC (Random Sample Consensus)

Methodology

Requirements

  • Python 3.8 or higher
  • Required Python libraries:
    • numpy
    • matplotlib
    • opencv-python
    • pytorch
    • tqdm

Installation

  1. Clone this repository:
    git clone https://github.com/FatimaYousif-01/Stereo_VO.git
  2. Navigate to the cloned directory:
     cd Stereo_VO
  3. Load the KITTI dataset in the folder dataset/
  4. Run the main script:
     python stereo_vo.py
  5. For checking the evaluation script:
    • Copy the groundtruth trajectories (_gt.txt) for first 11 sequences and their estimated trajectories (_est.txt) in folder evo_eval/results
    • In the evo_eval folder run:
     python evo_metrics.py
    

Results

The results below were evaluated using EVO, a recommended odometry and SLAM evaluation toolbox. Using this tool, we plotted the X-Z trajectory and computed the Absolute Pose Error (APE) and Relative Pose Error (RPE) metrics.

00 Sequence

Two Lines

Estimated Trajectory and Groundtruth Trajectory

testing

Absolute Pose Error

testing

Relative Pose Error

01 Sequence

Two Lines

Estimated Trajectory and Groundtruth Trajectory

testing

Absolute Pose Error

testing

Relative Pose Error

02 Sequence

Two Lines

Estimated Trajectory and Groundtruth Trajectory

testing

Absolute Pose Error

testing

Relative Pose Error

03 Sequence

Two Lines

Estimated Trajectory and Groundtruth Trajectory

testing

Absolute Pose Error

testing

Relative Pose Error

05 Sequence

Two Lines

Estimated Trajectory and Groundtruth Trajectory

testing

Absolute Pose Error

testing

Relative Pose Error

06 Sequence

Two Lines

Estimated Trajectory and Groundtruth Trajectory

testing

Absolute Pose Error

testing

Relative Pose Error

07 Sequence

Two Lines

Estimated Trajectory and Groundtruth Trajectory

testing

Absolute Pose Error

testing

Relative Pose Error

08 Sequence

Two Lines

Estimated Trajectory and Groundtruth Trajectory

testing

Absolute Pose Error

testing

Relative Pose Error

09 Sequence

Two Lines

Estimated Trajectory and Groundtruth Trajectory

testing

Absolute Pose Error

testing

Relative Pose Error

10 Sequence

Two Lines

Estimated Trajectory and Groundtruth Trajectory

testing

Absolute Pose Error

testing

Relative Pose Error

Authors

  1. Fatima Yousif
  2. Sawera Yaseen

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%