Skip to content

monoMAV is a Python-based project that implements Monocular Visual Odometry

License

Notifications You must be signed in to change notification settings

ufukasia/Mono-VO-with-KLT-on-Euroc-MAV-dataset-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Visual Odometry (VO) with KLT tracker for Euroc MAV Dataset

The Euroc MAV dataset is not a stable dataset like the kitti. It is almost impossible for the system to make inferences using only visual elements. However, it is clear that such a software will be very useful for understanding coordinate system transformations. This code will form a basis for various fusions.

This project implements a Visual Odometry (VO) application using the Euroc MAV dataset. Stereo camera images synchronized with IMU data are used for feature tracking and pose estimation. Real-time trajectory predictions and comparisons of Euler angles are presented with visual outputs.

Installation and Usage

1. Setting the Dataset Path

You can set the dataset path at the beginning of the test.py file:

# test.py
dataset_path = Path("MH_01_easy/mav0/")  # Change this to your own dataset path.

2. Required Libraries

To install the required libraries, run the following command:

pip install numpy opencv-python-headless pandas matplotlib

3. Running the Project

Use the following command to run the project:

python test.py

4. Results and Visual Outputs

Euler Angles and Velocity Comparisons

Euler Angles and Velocity Comparisons

Real-Time Trajectory

Real-Time Trajectory

Visual Odometry (VO)

The VisualOdometry class in visual_odometry.py performs the following tasks:

  1. Feature Detection: Detects feature points in the first frame using the FAST detector.
  2. Feature Tracking: Tracks feature points between consecutive frames using the Lucas-Kanade method.
  3. Pose Estimation: Estimates pose by computing the essential matrix.
  4. Trajectory Update: Updates the real-time trajectory with the estimated pose information.

Trajectory Visualization

In test.py, the real-time trajectory is drawn in three different planes:

  • XY Projection
  • XZ Projection
  • YZ Projection

File Structure

├── test.py                # Main executable file
├── visual_odometry.py     # Visual odometry class and helper functions

License

This project is licensed under the MIT License.

About

monoMAV is a Python-based project that implements Monocular Visual Odometry

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages