luigifreda/pyslam
pySLAM is a hybrid Python/C++ Visual SLAM pipeline supporting monocular, stereo, and RGB-D cameras. It provides a broad set of modern local and global feature extractors, multiple loop-closure strategies, a volumetric reconstruction module, integrated depth-prediction models, and semantic segmentation capabilities for enhanced scene understanding.
What it solves
pySLAM provides a modular and extensible framework for Visual Simultaneous Localization And Mapping (SLAM). It solves the complexity of prototyping and experimenting with different VO/SLAM techniques by integrating a wide array of local and global features, depth prediction models, and semantic segmentation tools into a single, interoperable Python/C++ environment.
How it works
The project implements a hybrid pipeline that supports monocular, stereo, and RGBD cameras. It features a modular sparse-SLAM core available in both Python (for flexibility) and C++ (for performance), with maps being interoperable between the two. The pipeline integrates:
- Feature Tracking: A variety of classical and modern local features and matchers.
- Loop Closing: Methods using descriptor aggregators (BoW, VLAD) and global descriptors (NetVLAD, CosPlace, etc.).
- Volumetric Reconstruction: A pipeline that converts depth and color images into dense reconstructions using TSDF with voxel hashing or incremental Gaussian Splatting.
- AI Integration: Built-in support for depth prediction (e.g., DepthAnythingV2) and semantic segmentation (e.g., YOLO, Segformer) to enhance scene understanding.
- 3D Inference: A feed-forward pipeline for reconstructing 3D scenes from multiple images using models like DUSt3R and Mast3r.
Who it’s for
It is designed for researchers and developers who need a flexible baseline framework to experiment with, prototype, and develop Visual Odometry (VO) and SLAM pipelines.
Highlights
- Hybrid Implementation: Seamlessly switch between Python and C++ for the sparse-SLAM core.
- Extensive Model Support: Integrates numerous state-of-the-art depth prediction and semantic segmentation models.
- Multi-Camera Support: Works with monocular, stereo, and RGBD camera setups.
- Dense Mapping: Supports volumetric integration and Gaussian Splatting for high-quality 3D reconstructions.
- Broad Dataset Compatibility: Built-in support for over 10 major dataset types, including KITTI, TUM, and EuRoC.
Related
- Project
- Project
- Project
- Project
- Project