luigifreda/pyslam
pySLAM is a hybrid Python/C++ Visual SLAM pipeline supporting monocular, stereo, and RGB-D cameras. It provides a broad set of modern local and global feature extractors, multiple loop-closure strategies, a volumetric reconstruction module, integrated depth-prediction models, and semantic segmentation capabilities for enhanced scene understanding.
解決する課題
pySLAMは、Visual Simultaneous Localization And Mapping (SLAM) のためのモジュール式で拡張性の高いフレームワークを提供します。多様なローカルおよびグローバル特徴量、深度予測モデル、セマンティックセグメンテーションツールを単一の相互運用可能なPython/C++環境に統合することで、さまざまなVO/SLAM技術のプロトタイピングや実験における複雑さを解消します。
仕組み
このプロジェクトは、単眼、ステレオ、RGBDカメラをサポートするハイブリッドパイプラインを実装しています。Python(柔軟性)とC++(パフォーマンス)の両方で利用可能なモジュール式の疎SLAMコアを備えており、マップは両者間で相互運用可能です。パイプラインには以下が統合されています:
- 特徴追跡: 多様な古典的および現代的なローカル特徴量とマッチング手法。
- ループクロージング: 記述子アグリゲーター (BoW, VLAD) やグローバル記述子 (NetVLAD, CosPlaceなど) を使用した手法。
- ボリューム再構成: 深度画像とカラー画像を、ボクセルハッシュを用いたTSDFやインクリメンタルなGaussian Splattingを使用して高密度再構成に変換するパイプライン。
- AI統合: 深度予測 (例: DepthAnythingV2) やセマンティックセグメンテーション (例: YOLO, Segformer) の組み込みサポートにより、シーン理解を強化。
- 3D推論: DUSt3RやMast3rなどのモデルを使用して、複数の画像から3Dシーンを再構成するフィードフォワードパイプライン。
対象ユーザー
視覚オドメトリ (VO) やSLAMパイプラインの実験、プロトタイピング、開発を行うための柔軟なベースラインフレームワークを必要とする研究者や開発者向けに設計されています。
ハイライト
- ハイブリッド実装: 疎SLAMコアにおいてPythonとC++をシームレスに切り替え可能。
- 広範なモデルサポート: 最先端の深度予測およびセマンティックセグメンテーションモデルを多数統合。
- マルチカメラサポート: 単眼、ステレオ、RGBDカメラセットアップに対応。
- 高密度マッピング: ボリューム統合とGaussian Splattingをサポートし、高品質な3D再構成を実現。
- 幅広いデータセット互換性: KITTI, TUM, EuRoCを含む10種類以上の主要なデータセットタイプを組み込みでサポート。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト