A GPU-accelerated C++ library for visual-inertial odometry frontend tasks, optimized for high-speed robotics.
Vilib is a CUDA Visual Library that provides GPU-optimized algorithms for visual-inertial odometry frontend tasks. It accelerates feature detection, tracking, and image preprocessing to enable real-time performance in high-speed robotic applications. The library is designed to handle the computational demands of VIO pipelines by offloading work to NVIDIA GPUs.
Robotics researchers and engineers working on visual-inertial odometry, SLAM, or autonomous navigation systems that require real-time visual processing. It's particularly relevant for those using NVIDIA GPUs and ROS-based robotic platforms.
Developers choose Vilib for its GPU-accelerated performance that significantly outperforms CPU-based alternatives, its modular design focused on VIO frontend tasks, and its seamless integration with ROS for robotic applications.
CUDA Visual Library by RPG
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements feature detectors like FAST on CUDA, enabling real-time processing for high-frame-rate robotic applications as validated in the IROS 2020 paper.
Provides a ROS node with example configurations for datasets like EuRoC, simplifying deployment in robotic systems without extensive customization.
Organizes functionalities into clear categories like storage and preprocessing, making it easier to adapt for custom VIO pipeline development.
Developed by the Robotics and Perception Group at UZH and ETH Zurich, with peer-reviewed publication ensuring state-of-the-art methods and academic rigor.
Exclusively relies on NVIDIA GPUs and the CUDA toolkit, excluding systems with AMD or integrated graphics and limiting hardware flexibility.
The installation process requires manual driver management and multiple reboots, as detailed in the README, which can be daunting and error-prone for new users.
Focuses solely on feature detection and tracking, forcing developers to integrate separate backends for a full VIO or SLAM solution, increasing development effort.