PyPose
ディープラーニングとリー群最適化による微分可能ロボティクスのためのPyTorchライブラリ
ライセンス
Apache-2.0
概要
PyPoseは、ロボティクスにおけるディープラーニングと物理ベースの最適化を橋渡しするPyTorchベースのライブラリです。リー群演算、カルマンフィルター(EKF、UKF)、ポーズグラフ最適化、二次最適化器(ガウス・ニュートン法、レーベンバーグ・マルカート法)、IMUプレインテグレーション、LQR制御の微分可能な実装を提供し、すべてPyTorchのautogradと統合されてロボティクススタック全体を通じたエンドツーエンドの勾配計算が可能です。
PyPoseは、PyTorch内で微分可能なリー群演算、状態推定フィルター、二次最適化器を提供することで、ロボティクスにおけるディープラーニングと物理ベースの最適化を橋渡しします。ロボティクスの知覚と制御パイプライン全体を通じたエンドツーエンドの勾配ベース学習を可能にします。
重要な理由
PyPoseは、古典的なアルゴリズムを微分可能にし現代のディープラーニングと互換性を持たせることで、ロボティクスソフトウェアの重要なギャップに対処します。研究者がSLAM、制御、状態推定のために物理ベースの手法の汎化能力とニューラルネットワークの柔軟性を組み合わせることを可能にします。
解決する課題
SLAM、制御、状態推定のための従来のロボティクスアルゴリズムは微分不可能であり、ディープラーニングのトレーニングパイプラインと互換性がありません。PyPoseはこれらのアルゴリズムを微分可能なPyTorch演算でラップし、ロボティクススタック全体を通じた勾配ベースの学習を可能にします。
主なポイント
- PyTorchにおける微分可能なリー群演算(SO3、SE3、Sim3)
- 状態推定:EKF、UKF、パーティクルフィルター、IMUプレインテグレーション
- 二次最適化器:ガウス・ニュートン法、レーベンバーグ・マルカート法
- PyTorch autograd完全統合でpipインストール可能
対象
- ディープラーニングと古典的手法の交差点にいるロボティクス研究者
- 微分可能なパイプラインを求めるSLAMおよびビジュアルオドメトリ研究者
- ニューラルネットワークに物理ベースの事前知識が必要なロボット学習実践者
制限事項
- PyTorchとリー群理論の両方の知識が必要
- 非常に大規模なSLAMの性能は専用C++実装に及ばない可能性がある
- ライブラリはまだ成熟途中——一部の高度な機能が不完全な場合がある