Source-linked AI summary
OpenVSLAM: A Versatile Visual SLAM Framework
Shinya Sumikura, Mikiya Shibuya, Ken Sakurada
TL;DR
Open-source visual SLAM frameworks have not been appropriately designed as libraries for third-party programs, despite their importance in robotics and AR. OpenVSLAM addresses this gap with modular APIs, documentation, broad camera-model support, and practical map functions. The framework is evaluated quantitatively and experimentally across standard and non-perspective camera settings.
Problem
Conventional open-source visual SLAM frameworks are not appropriately designed as libraries called from third-party programs, limiting their usability and extensibility.
Method
OpenVSLAM encapsulates well-known SLAM approaches in separated components with clear APIs, documentation, multiple camera models, and map-storage and prebuilt-map localization functions.
Results
OpenVSLAM supports perspective, fisheye, and equirectangular cameras, achieves tracking accuracy comparable to ORB–SLAM on EuRoC MAV, and consumes less tracking time in the reported comparison.
Takeaways & Limitations
OpenVSLAM provides a visual SLAM framework designed for easier use and extension across application scenarios and research and development.
Abstract
from arXiv · showhide
In this paper, we introduce OpenVSLAM, a visual SLAM framework with high usability and extensibility. Visual SLAM systems are essential for AR devices, autonomous control of robots and drones, etc. However, conventional open-source visual SLAM frameworks are not appropriately designed as libraries called from third-party programs. To overcome this situation, we have developed a novel visual SLAM framework. This software is designed to be easily used and extended. It incorporates several useful features and functions for research and development.
1 INTRODUCTION
OpenVSLAM addresses the usability and extensibility limitations of conventional open-source visual SLAM frameworks by packaging established approaches into documented, modular components. It supports multiple camera models and practical map-management functions for research and applications.
- Its framework is intended to let researchers and engineers use and extend visual SLAM more easily than conventional open-source systems designed primarily as standalone programs.
- OpenVSLAM packages well-known SLAM approaches into separated components with clear APIs and extensive documentation, including sample code snippets.
- OpenVSLAM stores and loads map databases and localizes new images using prebuilt maps.
- The framework supports perspective, fisheye, and equirectangular cameras, with nearly the same implementation for perspective and fisheye models.Equirectangular input enables tracking and mapping independent of camera direction.
- The project is provided as a community framework so researchers can jointly contribute to its development.
2 RELATED WORK
Related work spans batch SfM and real-time visual SLAM, including indirect feature-based and direct brightness-based methods. OpenVSLAM targets usability, extensibility, and broader camera-model compatibility, including map database I/O.
- SfM typically reconstructs 3D scenes from an image set prepared in advance using batch processing, whereas visual SLAM processes sequential images in real time.
- Open-source visual SLAM frameworks mostly handle perspective imagery, motivating OpenVSLAM’s compatibility with various camera models.
- OpenVSLAM is presented as a novel framework designed to improve usability and extensibility for 3D mapping and localization.
- Indirect SLAM uses local feature matching, while direct SLAM exploits image brightness information without explicitly extracting keypoints.The passage states that direct methods can operate correctly in more texture-less environments but also notes additional drawbacks.
- Most visual SLAM frameworks cannot store and load map databases, although prebuilt-map localization is important for practical applications.OpenVSLAM implements map-database input and output functions in response to this gap.
3 IMPLEMENTATION
OpenVSLAM uses a modular, API-oriented design built around established graph-based indirect SLAM components, with support for multiple camera models and reusable maps.
- Module Structure: The framework uses graph-based indirect SLAM with ORB feature extraction, while its module structure is designed for customizability.
- Module Structure: OpenVSLAM separates tracking, mapping, and global optimization into modules, with tracking estimating poses and selecting keyframes for downstream processing.The mapping module triangulates new 3D points from inserted keyframes.
- Camera Models: OpenVSLAM accepts perspective, fisheye, and equirectangular cameras, including monocular, stereo, and RGBD setups for perspective and fisheye models.
- Camera Models: Users can add camera models such as dual fisheye and catadioptric by implementing classes derived from camera::base.
- Camera Models: Equirectangular support provides omnidirectional imagery compatibility, which the paper identifies as novel among open-source visual SLAM frameworks.
- Map I/O and Localization: OpenVSLAM stores and loads maps, supports localization against prebuilt maps, and saves map databases in MessagePack for third-party reuse.
4 QUANTITATIVE EVALUATION
OpenVSLAM is evaluated against ORB–SLAM2 on trajectory accuracy and tracking time using EuRoC MAV and KITTI Odometry benchmarks, with comparable accuracy and lower tracking time reported.
- Evaluation Setup: Tracking accuracy and tracking times are compared with ORB–SLAM2 on EuRoC MAV and KITTI Odometry datasets containing ground-truth trajectories.
- Evaluation Setup: ATE evaluates estimated trajectories after alignment using Sim(3) for monocular sequences and SE(3) for stereo sequences.
- EuRoC MAV: OpenVSLAM has comparable tracking accuracy to ORB–SLAM on 11 EuRoC MAV monocular sequences and is more accurate on dark MH_04 and MH_05 scenes.The paper attributes the dark-scene result mainly to robust matching in frame tracking.
- EuRoC MAV: OpenVSLAM consumes less tracking time than ORB–SLAM on EuRoC MAV MH_02, including later sequence parts.The paper attributes this to optimized ORB extraction and preventing unnecessary local-map enlargement during global-map expansion.
- KITTI Odometry: OpenVSLAM has comparable tracking accuracy to ORB–SLAM on 11 KITTI Odometry stereo sequences.
- KITTI Odometry: OpenVSLAM consumes less tracking time than ORB–SLAM on KITTI sequence 05, with a larger difference attributed to larger images and more optimized stereo matching.
5 QUALITATIVE RESULTS
Qualitative experiments demonstrate successful fisheye and equirectangular visual SLAM indoors and outdoors, including mapping and tracking in challenging visual conditions.
- Fisheye Camera: Outdoor fisheye mapping uses about 6400 frames and preserves elevation differences in the 3D map’s side view.Camera pose tracking also succeeded in high dynamic range scenes.
- Fisheye Camera: Indoor fisheye mapping uses about 6700 frames, reconstructs the room clearly, and tracks successfully in areas with less common views.
- Fisheye Camera: The fisheye experiments conclude that visual SLAM is correctly performed both outdoors and indoors.
- Equirectangular Camera: Outdoor equirectangular mapping uses 15,000 frames at 10.0 FPS, with camera tracking, loop-closing, and global optimization working on a large-scale sequence.
- Equirectangular Camera: Indoor equirectangular mapping uses 1,430 frames at 10.0 FPS and tracks camera poses in texture-less areas through omnidirectional observation.
- Equirectangular Camera: The equirectangular experiments conclude that visual SLAM is correctly performed both outdoors and indoors.
6 CONCLUSION
OpenVSLAM is presented as a usable and extensible visual SLAM framework for varied application scenarios, with quantitative benchmark evaluation and qualitative camera-model experiments.
- Conclusion: OpenVSLAM is designed for usability and extensibility across visual SLAM application scenarios and includes functions useful for research and development.The paper reports benchmark-based quantitative evaluation and experiments with fisheye and equirectangular camera models.