Skip to content

psygos/rust-vslam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust Monoculer ORB-Visual SLAM

A fast, memory-safe Visual Odometry implementation in Rust with GPU-accelerated image processing and no OpenCV.

[This is still an ongoing project, with current immediate goals mentioned below]

Feature Matching Trajectory

Features

  • Feature detection and tracking using FAST corners with ORB descriptors
  • GPU-accelerated image pyramid generation
  • Hybrid pose estimation (PnP + Essential Matrix)
  • Local mapping with keyframe management
  • Real-time trajectory visualization
  • Quadtree-based feature distribution for robust tracking

Quick Start

Prerequisites

  • Rust 1.70+
  • OpenCL-capable GPU (optional, falls back to CPU)
  • ffmpeg (for video preprocessing)

Installation

git clone https://github.com/yourusername/rust-vslam
cd rust-vslam
cargo build --release

Converting Video to Image Sequence

# Create image sequence directory
mkdir -p test/outside

# Convert video to image sequence (30 fps)
ffmpeg -i your_video.mp4 -vf fps=30 test/outside/%04d.jpg

Camera Calibration

Obtain your camera parameters using either:

Update main.rs with your camera parameters:

let camera = Arc::new(CameraIntrinsics::new(
    fx,    // focal length x
    fy,    // focal length y
    cx,    // principal point x
    cy,    // principal point y
    width, // image width
    height // image height
));

Running

cargo run --release

Output files will be generated in output/:

  • trajectory_plot.png: Top-down view of camera motion
  • matches_*.png: Feature matching visualizations

Immediate Roadmap

  • Loop closure detection and correction
  • Local bundle adjustment
  • TUM dataset compatibility
  • Improved scale consistency
  • Bidirectional feature matching

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages