url-kaist/patchwork-plusplus
⭐⭐⭐☆☆ (3/5)
🧩 软硬件结合
已发布
项目简介
Patchwork++: Fast and robust ground segmentation method for 3D LiDAR scans. @ IROS'22
Patchwork++ 是由 KAIST 团队开发的一款针对 3D 点云数据的快速、鲁棒且自适应的地面分割算法,是经典算法 Patchwork 的升级版本。该项目主要解决自动驾驶、机器人导航和三维重建等场景中,如何从杂乱的三维激光雷达点云中高效、准确地分离出地面与非地面点的问题。传统地面分割算法在面对复杂地形(如陡坡、草地)或传感器噪声(如反射伪影)时,往往需要手动调整大量阈值,泛化能力差。Patchwork++ 通过引入四项核心创新机制实现了自适应处理:自适应高程与平坦度阈值、基于强度的反射噪声去除(RNR)、垂直结构抑制(RVPF)以及基于概率的地面恢复(TGR)。这些机制使得算法能够自动适应不同环境,无需人工调参,同时保持极高的处理速度。项目技术栈以 C++ 为核心,提供高性能的原生实现,并通过 pybind11 提供了完整的 Python 绑定,支持 pip 一键安装。此外,项目还深度集成了 ROS2(Humble),方便机器人开发者直接使用。项目支持 Ubuntu、macOS 和 Windows 多平台,依赖极少(仅需 Eigen 和 CMake),并提供了完整的 SemanticKITTI 评估工具链,便于学术研究中的复现与对比。无论是用于自动驾驶汽车的路面感知、服务机器人的地形识别,还是无人机测绘中的点云预处理,Patchwork++ 都能提供开箱即用、稳定可靠的地面分割能力。