koide3/small_gicp

Efficient and parallel algorithms for point cloud registration [C++, Python]

何を解決するか

高パフォーマンスなC++ライブラリを提供し、2つの3D点群を正確に整列できるようにします。ICP(反復最寄り点)やGICP(一般化ICP)などの登録アルゴリズムにおける計算効率の低さという問題を解決し、従来の実装よりもはるかに高速な代替手段を提供します。

動作方法

このライブラリはICP、点対平面ICP、GICP、VGICPなどの登録アルゴリズムを実装しています。OpenMPまたはIntel TBBバックエンドを使用して、ダウンサンプリング、KdTree構築、法線/共分散推定を含むパイプライン全体を完全に並列化し、コアの登録ロジックを深く最適化することで、高速性を実現しています。ヘッダーファイルのみのライブラリとして設計されており、依存関係は最小限(Eigen、nanoflann、Sophus)に抑えられ、C++およびPythonバインディングも提供されています。

対象ユーザー

3Dデータ、ロボット工学、SLAM(同時位置推定と地図作成)に取り組む開発者向けです。C++プロジェクトに統合できる効率的で並列化された点群整列ツールや、Open3DなどのPythonライブラリで使用できるツールが必要な方々に最適です。

特徴

  • パフォーマンス:前バージョンの fast_gicp と比較して最大2倍の高速化を実現。
  • 並列化:OpenMPまたはIntel TBBを使用して、前処理と登録を完全に並列化。
  • 柔軟性:トレイトとテンプレートベースのカスタマイズにより、カスタム点群クラスをサポート。
  • 相互運用性:PCL(Point Cloud Library)の登録インターフェースを含み、即座に置き換え可能。Pythonバインディングもポータブルに提供。

関連

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