Back to projects

Visual Localization

GPS-denied 6-DOF pose estimation using camera features and IMU sensor fusion

Completed2024Robotics
Drift<1% over 100m
MethodSuperPoint + SuperGlue
FusionEKF + IMU

A GPS-denied 6-DOF pose estimation system that fuses visual feature matching with inertial measurements through an Extended Kalman Filter. Developed as part of the Autonomous UAV Tracking thesis, this subsystem provides position and orientation estimates when GPS is unavailable.

Visual Pipeline

Camera frames are processed through SuperPoint, a learned feature detector that extracts repeatable keypoints and descriptors, and SuperGlue, a graph neural network matcher that establishes robust correspondences between the camera frame and geo-referenced map tiles. The resulting 2D-to-3D correspondences are used to estimate the camera's absolute pose through Perspective-n-Point (PnP) solvers within a RANSAC loop.

Sensor Fusion

Visual pose estimates are integrated with IMU readings through an Extended Kalman Filter. The EKF predicts state transitions using accelerometer and gyroscope data, then corrects using visual position updates when available. This provides smooth, continuous pose estimation even when visual matching is temporarily degraded.

Integration

The system is built with OpenCV for image processing and integrates with a PX4 flight controller for state estimation. It can operate alongside a GPS-based navigation pipeline, with automatic fallback when GPS quality degrades below a configurable threshold. A Dynamic Resolution Scaling mechanism manages computational load when running concurrently with object detection and tracking.

Tech Stack
ekfvisual-odometrysensor-fusionopencvsuperpointsuperglue