borglab/gtsfm

End-to-end SFM framework based on GTSAM

解决的问题

GTSfM 提供了一个端到端的 Structure-from-Motion (SfM) 流水线,用于从一组 2D 图像中重建 3D 场景。它特别解决了 3D 重建中对可扩展、分布式计算的需求,允许将处理过程并行化到多台机器或工作节点上,从而更高效地处理更大规模的数据集。

工作原理

该项目基于 GTSAM 构建,并使用 Dask 实现原生并行计算。采用模块化架构,SfM 流水线的不同组件可以轻松替换:

  • 前端:处理关键点检测、特征描述(使用 SIFT 或 SuperPoint 等工具)、匹配(例如 SuperGlue)、对应关系验证。
  • 平均化:实现旋转和位移平均化,以建立初始位姿。
  • 数据关联:从 2D 轨迹中进行 3D 点三角化。
  • 束调整:优化 3D 结构和相机位姿。
  • 稠密化:支持高保真场景表示的密集多视图立体(MVS)和 Gaussian Splatting。

适用人群

专为从事计算机视觉、机器人和 3D 重建的研究人员和开发者设计,适用于需要处理多种数据集格式(如 COLMAP、Argoverse 和 Tanks and Temples)的高性能、分布式流水线的用户。

主要亮点

  • 分布式处理:原生支持通过 Dask 实现并行计算,包括多机器集群部署。
  • 模块化设计:抽象基类允许轻松替换检测器、描述符和匹配器。
  • 深度学习集成:支持 SuperPoint、SuperGlue 和 PatchmatchNet 的预训练权重。
  • 广泛兼容性:包含多个行业标准数据集的加载器,并提供 Nerfstudio 的转换脚本。
  • 可视化支持:集成 Open3D 和 COLMAP GUI,用于查看重建后的场景。

相关

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