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의 자동 미분 프레임워크와 원활하게 통합되며, 두 가지 주요 최적화 전략을 제공합니다:

  • Levenberg-Marquardt (LM) Optimizer: 비선형 최소제곱 문제를 해결하기 위한 표준 알고리즘입니다.
  • Schur Complement Optimizer: 선형 시스템의 크기를 줄여 메모리 소비를 크게 최적화화합니다.

또한 torch.compile을 지원하여 런타임 오버헤드와 지연 시간을 줄일 수 있으며, sparse 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를 위한 정밀한 최적화 기술을을 지원합니다.
  • Memory Efficiency: 대규모 문제를 낮은 메모리 사용량으로 처리할 수 있는 Schur complement optimizer를 포함합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트