pypose/bae
[T-RO 2026] Bundle Adjustment in the Eager Mode
What it solves
bae 是一个基于 PyTorch 的库,专用于机器人学中的高性能、精确二阶优化。它特别解决了大规模稀疏优化问题的计算挑战,例如 Bundle Adjustment (BA) 和 Pose Graph Optimization (PGO),这些对于 3D 重建和空间感知至关重要。
How it works
该库实现了高效的稀疏块矩阵运算和自定义 CUDA kernel,以加速稀疏线性代数。它与 PyTorch 的自动微分框架无缝集成,并提供两种主要的优化策略:
- Levenberg-Marquardt (LM) Optimizer: 一种用于解决非线性最小二乘问题的问题的算法。
- Schur Complement Optimizer: 一种减少线性系统规模的方法,可以显著优化内存消耗。
它还支持 torch.compile 以减少运行时开销和延迟,并为稀疏 Jacobian 提供了一个与 PyPose 的共享 API。
Who it’s for
此工具旨在用于机器人学研究人员和开发人员,正在进行 SLAM (Simultaneous Localization and Mapping)、3D 重建和空间 AI 的工作,特别是那些需要对相机位姿和 3D 点进行 GPU 加速优化的用户。
Highlights
- CUDA Acceleration: 使用自定义 kernel 来实现高性能的稀疏线性代数。
- PyTorch Integration: 直接与 PyTorch 的 autograd 系统集成。
- Exact 2nd-Order Optimization: 支持对 BA and PGO 的精确优化技术。
- Memory Efficiency: 包含一个 Schur complement optimizer,以处理大规模问题时具有较低的内存占用。
相关
- 项目
- 项目
- 项目
- 项目
- 项目