ch-sa/labelCloud
A lightweight tool for labeling 3D bounding boxes in point clouds.
What it solves
labelCloud is a lightweight tool designed to create training data for 3D object detection and 6D pose estimation. It allows users to manually label 3D bounding boxes around objects in point clouds, solving the problem of efficiently generating high-quality ground truth labels for 3D vision AI models.
How it works
The tool provides an interactive 3D environment where users can define bounding boxes using two primary methods:
- Picking Mode: The user picks the front-top edge of the box and adjusts the rotation using the mouse wheel.
- Spanning Mode: The user selects four vertices to define the length, width, and height of the box.
Once a box is defined, it can be refined using keyboard shortcuts for translation, rotation (supporting up to 9 DoF), and resizing. The tool also supports semantic segmentation by allowing users to assign labels to all points within a bounding box.
Who it’s for
Researchers and developers working with 3D point cloud data for computer vision, robotics, and autonomous driving (e.g., using KITTI format), who need a tool to create custom labeled datasets.
Highlights
- Versatile Import/Export: Supports a wide range of point cloud formats (
.pcd,.ply,.pts,.xyzrgb,.xyz,.xyzn,.bin) and multiple label export formats including KITTI and vertex-based coordinates. - Flexible Labeling: Offers both picking and spanning modes for intuitive 3D box creation.
- Semantic Segmentation: Ability to actually label individual points within a bounding box for segmentation tasks.
- Extensible: Users can create custom exporters by subclassing the
BaseLabelFormatclass. - Detailed Control: Comprehensive keyboard shortcuts for precise adjustment of bounding box dimensions and rotation.