pypose/bae

[T-RO 2026] Bundle Adjustment in the Eager Mode

What it solves

bae は、ロボティクスにおける高性能で正確な2次スパース最適化のために設計されたPyTorchベースのライブラリです。3D再構成や空間認識に不可欠なBundle Adjustment (BA) や Pose Graph Optimization (PGO) といった大規模なスパース最適化問題の計算上の課題を解決します。

How it works

このライブラリは、効率的なスパースブロック行列演算とカスタムCUDA kernelを使用して、スパース線形代数を加速します。PyTorchの自動微分フレームワークとシームレスに統合されており、以下の2つの主要な最適化戦略を提供します:

  • 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およびPGOのための正確な2次最適化技術をサポートします。
  • Memory Efficiency: メモリ使用量を抑えつつ、大規模な問題を解決するためのSchur complement optimizerが含まれています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト