Back to Home

Visual SLAM Front-End (C++)

A robust, mathematically rigorous Visual Odometry (VO) pipeline written in modern C++. This repository represents the perception front-end of a Simultaneous Localization and Mapping (vSLAM) system, engineered to track camera ego-motion across sequential video frames in real-time.

C++17OpenCVEigen3ORBRANSACvcpkg

Key Engineering Features

  • Strict Dependency Segregation: The pipeline ingests frames using OpenCV (cv::Mat) but actively shields downstream modules by outputting relative poses using pure Eigen types (Eigen::Matrix3d, Eigen::Vector3d).
  • Real-Time Feature Tracking: Utilizes ORB (Oriented FAST and Rotated BRIEF) coupled with a Hamming-distance Brute-Force Matcher.
  • Aggressive Outlier Rejection: Applies Lowe’s Ratio Test to discard ambiguous feature matches, followed by RANSAC during Epipolar geometry estimation to mathematically eliminate dynamic outliers.
  • Epipolar Geometry: Robustly solves the Essential Matrix E to recover the relative rotation R and translation t between frames.