Skip to content

glidecaps/GLidE-SLAM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 

Repository files navigation

GLidE-SLAM: GL-Accelerated Indirect-Direct Embedded SLAM

Overview

GLidE-SLAM is a monocular hybrid indirect-direct visual SLAM framework for embedded and resource-constrained devices. It offloads direct photometric tracking to vendor-agnostic OpenGL ES 3.1 compute shaders, reducing CPU bottlenecks and preserving CPU resources for mapping, bundle adjustment, loop closure, and other backend tasks.

The key result is not only relative speedup, but practical usability on small embedded hardware. On platforms such as the Radxa Zero 3W, a CPU-only baseline can be prohibitive for online SLAM, while GLidE-SLAM brings performance into a usable online regime (from an average of ~7 FPS to over 20 FPS).

radxa

To our knowledge, this is the first complete direct photometric pose estimator for embedded-class devices implemented with compute shaders rather than CUDA. GLidE-SLAM is designed for portability and scalability across GPU-equipped embedded platforms, leveraging the integrated GPUs already present on many small boards without vendor-specific dependencies. This supports commodity hardware, larger gains on stronger embedded GPUs, and scalable deployments such as multi-robot and multi-agent systems.

Main Idea

GLidE-SLAM combines two complementary tracking paradigms:

  • Indirect keyframe pipeline: used for map extension, relocalization, and global consistency
  • Direct photometric tracking: used on intermediate frames for efficient pose-only estimation
  • GPU acceleration: direct tracking is executed end-to-end with OpenGL ES 3.1 compute shaders
  • Efficient workload separation: tracking is moved off the CPU, preserving compute budget for the rest of the SLAM pipeline

In this design, direct tracking handles the high-frequency pose estimation workload, while the indirect pipeline is invoked when map maintenance, recovery, or keyframe updates are required.

SystemOverview

Supplementary Videos

Submission video clips:

GLidE_SLAM.mp4

https://youtu.be/CUJF1Cmh_bI?si=n0GhJMzCTt14lTG2

Submitted-Paper Results

The submitted paper reports over 2× speedup on the originally evaluated platforms while maintaining comparable trajectory accuracy. Evaluation was performed on the Radxa Zero 3W (RK3566, Mali-G52 MP2) and a development laptop (AMD Radeon 890M), with five runs per sequence.

Original submitted evaluation platforms:

  • Radxa Zero 3W (RK3566, Mali-G52)
  • Development laptop (AMD Radeon 890M)

Frame Processing Time

Development Laptop

Median per-frame processing time in seconds:

Sequence ORB-SLAM2 GLidE-SLAM Speedup
fr3/long office 0.009 0.004 2.2×
fr2/desk 0.010 0.004 2.5×
fr2/xyz 0.008 0.003 2.6×
MH01 0.012 0.006 2.0×
MH03 0.010 0.010 1.0×
MH05 0.010 0.009 1.1×

Radxa Zero 3W

Median per-frame processing time in seconds:

Sequence ORB-SLAM2 GLidE-SLAM Speedup
fr3/long office 0.131 0.061 2.1×
fr2/desk 0.132 0.067 2.0×
fr2/xyz 0.127 0.050 2.5×
MH01 0.136 0.106 1.3×
MH03 0.135 0.112 1.2×
MH05 0.124 0.167 0.7×

Trajectory Accuracy

Development Laptop

Absolute Trajectory Error (ATE RMSE) in meters:

Sequence ORB-SLAM2 GLidE-SLAM
fr3/long office 0.011 0.015
fr2/desk 0.008 0.007
fr2/xyz 0.002 0.003
MH01 0.037 0.033
MH03 0.030 0.035
MH05 0.051 0.040

Radxa Zero 3W

Absolute Trajectory Error (ATE RMSE) in meters:

Sequence ORB-SLAM2 GLidE-SLAM
fr3/long office 0.009 0.013
fr2/desk 0.006 0.008
fr2/xyz 0.002 0.002
MH01 0.036 0.042
MH03 0.032 0.030
MH05 0.037 0.041

Target Platforms

  • autonomous robots and drones
  • wearable AR/VR/XR systems
  • multi-robot and multi-agent systems
  • commodity GPU-equipped embedded hardware

Availability

This repository serves as a supplementary project page with videos and benchmark updates.

Public release information for code, benchmark scripts, and citation details will be added later.

Releases

No releases published

Packages

 
 
 

Contributors