GPS-denied 6-DOF pose estimation using camera features and IMU sensor fusion
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.
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.
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.
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.