A ROS library for LiDAR point cloud segmentation, enabling ground removal and object clustering for autonomous vehicle perception.
segmenters_lib is a ROS library for segmenting LiDAR point clouds, specifically designed for autonomous vehicle perception. It processes raw LiDAR data to separate ground points from non-ground points and clusters the latter into candidate objects for further detection and tracking. The library implements multiple segmentation algorithms from academic research to handle different environmental conditions and sensor configurations.
Autonomous vehicle and robotics engineers building LiDAR-based perception stacks, particularly those working on object detection, tracking, and environmental mapping in ROS environments.
It provides a modular, research-backed collection of segmentation algorithms in a ready-to-use ROS package, saving development time compared to implementing algorithms from scratch. The library's flexibility allows engineers to mix and match components and tune parameters for specific sensor setups and use cases.
The LiDAR segmenters library, for segmentation-based detection.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports cascading use of ROI filters, ground removers, and segmenters, enabling custom perception stacks as demonstrated in the detection_node example.
Includes launch files, configurable YAML parameters, and a demo with the KiTTI dataset using kitti_ros, facilitating easy testing and deployment in ROS environments.
Implements algorithms from academic papers like GPF (ICRA 2017) and region-based clustering (IROS 2017), providing a flexible foundation for segmentation-based detection.
Offers configurable parameters via segmenter.yaml, with utilities from common_lib to adjust settings for different hardware installations, as noted in the README.
Requires multiple external libraries like common_lib, object_builders_lib, and roi_filters_lib, complicating installation and increasing setup time.
The TODO list admits several missing features, such as linefit_ground_segmentation and deep-learning methods, limiting out-of-the-box options for advanced use cases.
Installation involves manual steps like uncommenting add_subdirectory in CMakeLists.txt and organizing the workspace in a specific way, which can be error-prone.