koide3/small_gicp

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

解决的问题

提供一个高性能的 C++ 库,用于精确对齐两个 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(点云库)注册接口,可直接替换,并提供可移植的 Python 绑定。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目