Jetson-SLAM Is a Slam Dunk for Autonomous Systems

Jetson-SLAM is a GPU-accelerated visual SLAM system, for low-power devices like the NVIDIA Jetson, that can operate in excess of 60 FPS.

nickbild
about 1 year ago • Robotics
Jetson-SLAM runs efficiently on embedded computing systems (đź“·: A. Kumar et al.)

Accurate positioning systems are essential to any autonomous robotic system, from drones to robotic vacuums. But when it comes to applications like self-driving cars, the precision of these systems is far more important as an error can lead to tragedy. Visual simultaneous localization and mapping (SLAM), and especially stereo visual SLAM, are methods that have proven themselves to be very valuable for critical applications. They are very accurate and maintain global consistency, which prevents pose-estimation drifts over time.

However, stereo visual SLAM algorithms have very high computational demands on both the frontend (feature detection, stereo matching) and backend (graph optimization). This can cause catastrophic failures in systems sharing resources, such as delays in position feedback, which disrupts control systems. Refined approaches are sorely needed to maintain the advantages of stereo visual SLAM, but in a more computationally-efficient way.

The design of Jetson-SLAM (đź“·: A. Kumar et al.)

A trio of researchers at the Indian Institute of Technology and Seoul National University have recently reported on the development of a high-speed stereo visual SLAM system targeted at low-powered computing devices that could help to fill this need. Their solution, called Jetson-SLAM, is a GPU-accelerated SLAM system designed to overcome the limitations of existing systems by improving efficiency and speed. These improvements enable the algorithm to run on NVIDIA Jetson embedded computers at speeds in excess of 60 frames per second.

The key contributions of the proposed Jetson-SLAM system are focused on addressing the computational inefficiencies of stereo visual SLAM on embedded devices. The first contribution, Bounded Rectification, enhances the accuracy of feature detection by preventing the misclassification of non-corner points as corners in the FAST feature detector. This technique improves the precision of SLAM by focusing on detecting more meaningful corner features, which is critical for accurate localization and mapping in autonomous systems.

The second major contribution is the Pyramidal Culling and Aggregation algorithm. This leverages a method called Multi-Location Per-Thread culling to select high-quality features across multiple image scales, ensuring efficient feature selection. Additionally, the Thread Efficient Warp-Allocation technique optimizes the allocation of computational threads on the GPU, leading to a highly efficient use of available GPU cores. These innovations allow Jetson-SLAM to achieve remarkable speeds while maintaining high computational efficiency, even on devices with limited GPU resources.

Jetson-SLAM is faster than the alternatives (đź“·: A. Kumar et al.)

The third contribution is the Frontend–Middle-end–Backend Design of Jetson-SLAM. In this architecture, the "middle-end" is introduced as a new component that handles tasks such as stereo matching, feature tracking, and data sharing between the frontend and backend. This design eliminates the need for frequent and costly memory transfers between the CPU and GPU, which can create significant bottlenecks in SLAM systems. By storing intermediate results within the GPU memory, Jetson-SLAM reduces overhead and enhances overall system performance. This architecture boosts not only the frontend's performance but also improves the efficiency of the backend, leading to better localization and mapping results.

Jetson-SLAM has been shown to significantly outperform many existing SLAM pipelines when working with Jetson devices. If you would like to learn more about this system, the source code is available on GitHub.

nickbild

R&D, creativity, and building the next big thing you never knew you wanted are my specialties.

Latest Articles