Skip to content

APPENDIX: LABELER

Low-Keyy edited this page Dec 26, 2025 · 1 revision

In the following, we will used LMB for the left mouse button, MMB for middle mouse button, and RMB for the right mouse button. Usually it is meant that you click with with the respective button to activate the functionality.

Overview

The point cloud is shown in the main view (1), where you also navigate with the mouse to get a closer view of the point cloud. The labels are selected in the box (2), where the currently selected label is shown by a pressed button. You can also select a label for filtering by using CTRL and clicking on the button. The timeline (3) enables you to select a specific laser scan, but this is only visible if you select show single scan from the Visuals tab of (2). The tile selector (4) is used to select a tile from a larger point cloud. The buttons in (5) are used for opening, saving a tile, reverting, etc.

Navigation in the Point Cloud

There are three colored vectors which in the tile-coordinate system correspond to:

  • red vector for the x-direction
  • green vector for the y-direction
  • blue vector for the z-direction

In the console output you will see the tile-coordinates of the currently selected tile. For example, 200, -100, 50 denotes the tile at x = 200 (red direction), y = -100 (green direction) with tile size = 50.

Tile selection

As the whole point cloud contains billions of points, we use a tile to represent a small part of the point cloud. In the tile selection view on the left side, you can select square to load all point inside the selected tile. The currently selected tile is highlighted by a orange border.

The red line running through the tiles shows the path of the car driving through the scene.

Moving the camera

You have to hold the Ctrl-button for moving around in the scene. Moving is still possible even while having the brush or polygon tool selected.

Default

The following actions will change the viewpoint of the camera:

Move in the x-y-direction relative to the camera angle (stay in z=constant plane)
Move in the y-z-direction relative to the camera angle (stay in x=constant plane)
Change viewing angle of the camera
Zoom in/out

Dataset

The point labeling tool expects the data in a certain folder format.

Preparing the dataset

The data must be organized as follows:

sequence folder
├── velodyne/             -- directory containing ".bin" files with Velodyne point clouds.   
├── labels/   [optional]  -- label directory, will be generated if not present.  
├── image_2/  [optional]  -- directory containing ".png" files from the color camera.
├── image_3/  [optional]  -- directory containing ".png" files from the other color camera (there are stereo cameras mounted on the car).
├── calib.txt             -- calibration of velodyne vs. camera. needed for projection of point cloud into camera.  
└── poses.txt             -- file containing the poses of every scan, see below on how to obtain them.

The velodyne folder contains the Velodyne scans in the KITTI .bin format, i.e., just binary floats, where each point is represented by 4 consecutive floats (x,y,z,remission). The calib.txt contains the transformation from the Velodnye to the cameras, which is needed to convert the poses in poses.txt. We kept the original convention that the ground truth poses are given in the camera coordinate system. Thus each pose is transformed via T.inv() * pose * T into the velodyne coordinate system, where T corresponds to the transformation from Velodyne to camera coordinate system. The poses.txt contains the pose for each scan, which is applied before visualizing the points.

Keyboard-Shortcuts

Key Function
+- Change point size
F1F2F3 Change brush radius to 10/25/50
1 brush
2 polygon
O overwrite
F filter
W
ASD
Move camera parallel to the ground
C Change view to camera image perspective
Next/Previous camera image
R Activate ground removal
Q/E Increase/Decrease threshold for ground removal.
space Select instance.
J or 0 Join instances.

Labeling

There are some tools and features that should make it possible to easily label even complicated point clouds.

Labels

The currently active label that will be used to label points is selected from the colored label buttons in the toolbox.

Tools

The brush tool is used to "paint" the selected label onto an area around the current mouse cursor position by pressing the LMB. The size of the area that will be labeled can be selected by using the slider below the tool buttons or by selecting a specific size from the numbered buttons above.

The polygon tool labels all points inside a given polygon. The polygon is defined by selecting corner points with the LMB. The polygon is completed by pressing the RMB.

Overwrite Labels

If the overwrite mode is active , i.e., the button is pressed/down, the aforementioned labeling tools will just overwrite or replace all labels inside the tool area. If the overwrite mode is deactivated the labeling tool will only replace unlabeled points, i.e., already labeled points will not be relabeled.

Filter Labels

As a general strategy, the annotator should label easily accessible objects in the beginning, then all the points belonging to a certain class can be hidden from view so that previously occluded points can be accessed.

After you activate the Filter Labels button you can Ctrl + LMB on a label to hide/show it in the window. A dashed blue line around a label button indicates that the filtering is active and the class is hidden from the view.

Setting

In the settings.cfg files, which should be located in point_labeler/bin, you can change the followings options:

tile size: 100.0   # size of a tile (the smaller the fewer scans get loaded.)
max scans: 500    # number of scans to load for a tile.
min range: 0.0    # minimum distance of points to consider.
max range: 50.0   # maximum distance of points in the point cloud.
add car points: true # add points at the origin. Default: false.

The tile size influences directly the number of points loaded and therefore sometimes it makes sense to increase this value.

Showing-Scans

Show single scan

If you select the show single scan check-box only the points belonging to a single Lidar-Pulse will be shown. Use the slider at the bottom or the two buttons < and > next to the slider to move backwards or forwards through the single scans.

The button showImage opens a new window and displays one of the RGB-images belonging to the scan that is currently selected, you can also use the slider at the bottom to flip through those.

Show all points

Activating this checkbox allows you to display a small range of points overlapping with the neighbouring tiles.