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 实现轨迹优化。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目