Main Content

Lidar Labeler

Label ground truth data in lidar point clouds

Description

TheLidar Labelerapp enables you to label objects in a point cloud or a point cloud sequence. The app reads point cloud data from PLY, PCAP, LAS, LAZ, ROS and PCD files. Using the app, you can:

  • Define cuboid region of interest (ROI), line, voxel ROI labels, and scene labels. Use them to interactively label your ground truth data.

  • Define attributes for the labels and use them to provide further detail about the labels.

  • Use built-in algorithms for clustering, ground plane segmentation, automated labeling, and tracking.

  • Save label definitions, point cloud data, and ground truth data to a session file for future use.

  • Use theProjected Viewoption to view the labels in top, front and side views simultaneously.

  • Use theCamera Viewoption to create and reuse custom views of the point cloud data.

  • Use theAuto Alignoption to rotate and best fit the cuboid to the cluster.

  • Use thelidar.syncImageViewer.SyncImageViewerclass to sync the app to an external visualization or analysis tool.

  • Write, import, and use a custom automation algorithm for automated labeling.

  • Evaluate the performance of your label automation algorithms with a visual summary.

  • Export the labeled ground truth as agroundTruthLidarobject. This object can be used for system verification and training an object detector.

To learn more about this app, seeGet Started with the Lidar Labeler.

Open the Lidar Labeler App

  • MATLAB®Toolstrip: On theAppstab, underImage Processing and Computer Vision, click the app icon.

  • MATLAB command prompt: EnterlidarLabeler.

Programmatic Use

expand all

lidarLabeleropens a new session of the app, enabling you to label ground truth data in point clouds.

lidarLabeler(velodyneLidarFileName,deviceModel,calibrationFile)opens the app and loads thevelodyneLidarFileName.

lidarLabeler(ptCloudSeqFolder)opens the app and loads the point cloud sequence from the folderptCloudSeqFolder, whereptCloudSeqFolderis a string scalar or character vector specifying a folder that contains point cloud files. The point cloud files must have extensions supported bypcformats, and are loaded in the order returned by thedirfunction.

lidarLabeler(lasSeqFolder)opens the app and loads the LAS sequence from the folderlasSeqFolder, wherelasSeqFolderis a string scalar or character vector specifying a folder contains LAS files. LAS files must have extensions supported bylasformats, and are loaded in the order returned by thedirfunction.

lidarLabeler(___,'SyncImageViewerTargetHandle',syncImageViewer)opens the app and loads both of these components:

  • A point cloud signal, specified using any of the input argument combinations from previous syntaxes.

  • An external video or image sequence display tool that is time-synchronized with the specified point cloud signal.

ThesyncImageViewerinput is a handle to alidar.syncImageViewer.SyncImageViewerclass that implements the external tool.

For example, this code opens the app with a point cloud signal and synchronized video visualization tool.

sourceName = fullfile(toolboxdir('lidar'),'lidardata','lcc',...'HDL64','pointCloud'); lidarLabeler(sourceName,'SyncImageViewerTargetHandle',@SyncImageDisplay)

lidarLabeler(sessionFile)opens the app and loads a saved app sessionsessionFile. ThesessionFileinput contains the path and file name of a MAT-file. The MAT-file thatsessionFilepoints to contains the saved session.

lidarLabeler(gTruth)opens the app and loads agroundTruthobject .

Limitations

  • The labels do not support sublabels.

  • The Label Summary window does not support sublabels.

More About

expand all

Tips

  • Use thelidar.syncImageViewer.SyncImageViewerclass to create a tool for viewing the image corresponding to the point cloud data.

  • Remove the ground plane to clearly view the created object labels.

  • Use the rotate, translate, expand, and shrink options to edit the cuboids after drawing them.

  • Use theCamera Viewoption to save the a view of the data from the current angle and direction.

  • To avoid having to relabel ground truth with new labels, organize the labeling scheme you want to use before you begin marking your ground truth.

  • You can copy and paste the labels between signals that are of the same type.

Algorithms

expand all

You can use label automation algorithms to speed up labeling within the app. To create your own label automation algorithm to use within the app, seeCreate Automation Algorithm for Labeling. You can also use one of the built-in algorithms by following these steps:

  1. Import the data you want to label, and create at least one label definition.

  2. On the app toolstrip, clickSelect Algorithmand select one of the built-in automation algorithms.

  3. ClickAutomate, and then follow the automation instructions in the right pane of the automation window.

版本历史

介绍了R2020b