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.
解决的问题
pySLAM 是一个用于视觉 SLAM(同时定位与地图构建)的模块化研究框架。它通过提供一个集成多种局部和全局特征、深度预测模型以及语义分割工具的单一环境,解决了原型设计和实验不同 VO/SLAM 技术的复杂性,支持单目、双目和 RGBD 相机。
工作原理
该项目采用 Python/C++ 混合架构。模块化的稀疏 SLAM 核心在两种语言中均实现,用户可选择高性能(C++)或高灵活性(Python)模式。该流水线集成了:
- 特征跟踪:涵盖经典与现代的局部特征和匹配器。
- 回环检测:使用描述子聚合器(BoW、VLAD)和全局描述子(NetVLAD、CosPlace 等)检测已访问过的位置。
- 体素重建:利用深度图和彩色图像,通过 TSDF 与体素哈希或增量式高斯点阵法生成密集重建。
- AI 集成:内置深度预测模型(如 DepthAnythingV2)和语义分割模型(如 Segformer、YOLO),支持场景理解。
- 3D 场景推理:使用 DUSt3R、Mast3r 等模型,通过前馈流水线从多张图像重建 3D 场景。
适用人群
主要面向从事视觉里程计(VO)和 SLAM 的研究人员与开发者,适用于需要灵活基线来原型化新算法、测试不同特征提取器,或集成现代 AI 驱动的深度与语义模型的场景。
核心亮点
- 混合实现:可互操作的 Python 与 C++ 核心,兼顾速度与灵活性。
- 全面的 AI 支持:集成深度预测与语义分割模型。
- 多相机支持:兼容单目、双目和 RGBD 设置。
- 高密度映射:支持体素融合与高斯点阵法,实现高质量 3D 重建。
- 丰富的数据集支持:内置兼容超过 10 个主流数据集(KITTI、TUM、EuRoC 等)。
- 图优化:集成 g2o 和 GTSAM 实现轨迹优化。
相关
- 项目
- 项目
- 项目
- 项目
- 项目