Main Content

Ground Truth Labeler

Label ground truth data for automated driving applications

Description

TheGround Truth Labelerapp enables you to label ground truth data in multiple videos, image sequences, or lidar point clouds.

Using the app, you can:

  • Simultaneously label multiple time-overlapped signals representing the same scene.

  • Define rectangular region of interest (ROI) labels, polyline ROI labels, pixel ROI labels, cuboid ROI labels for lidar labeling, and scene label definitions. Use these labels to interactively label your ground truth data.

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

  • Use built-in detection or tracking algorithms to label ground truth data.

  • Write, import, and use custom automation algorithms to automatically label ground truth data.

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

  • 导出地面真理作为一个标签groundTruthMultisignalobject. You can use this object for system verification or for training an object detector or semantic segmentation network.

  • Display time-synchronized signals, such as CAN bus data, by using thedriving.connector.ConnectorAPI.

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

Open the Ground Truth Labeler App

  • MATLAB®Toolstrip: On theAppstab, underAutomotive, click the app icon.

  • MATLAB command prompt: EntergroundTruthLabeler.

Programmatic Use

expand all

groundTruthLabeleropens a new session of the app, enabling you to label ground truth data.

groundTruthLabeler(videoFileName)opens the app and loads the input video. The video file must have an extension supported byVideoReader.

Example:groundTruthLabeler('caltech_cordova1.avi')

groundTruthLabeler(imageSeqFolder)opens the app and loads the image sequence from the input folder. Animage sequenceis an ordered set of images that resembles a video.

imageSeqFoldermust be a string scalar or character vector that specifies the folder containing the image files. The image files must have extensions supported byimformatsand are loaded in the order returned by thedirfunction.

groundTruthLabeler(imageSeqFolder,timestamps)opens the app and loads a sequence of images with their corresponding timestamps.timestampsmust be adurationvector of the same length as the number of images in the sequence.

For example, load a sequence of road images and their corresponding timestamps into the app.

imageDir = fullfile(toolboxdir('driving'),'drivingdata','roadSequence'); load(fullfile(imageDir,'timeStamps.mat')) groundTruthLabeler(imageDir,timeStamps)

groundTruthLabeler(___,'ConnectorTargetHandle',connector)opens the app and loads both of these components:

  • A video or image sequence signal, depending on the input argument combination you specify

  • An external analysis or visualization tool that is time-synchronized with the specified signal

Theconnectorinput is a handle to adriving.connector.Connectorclass that implements the external tool.

For example, this syntax opens the app with a video signal and synchronized lidar visualization tool.

groundTruthLabeler('01_city_c2s_fcw_10s.mp4','ConnectorTargetHandle',@LidarDisplay);

When you have an external tool connected to a signal in the app, consider these tips.

  • If you remove the signal that is connected to the tool, the app disconnects the tool and closes it.

  • The signal connected to the tool must be themain signal, that is, the signal whose timestamps are used in the playback controls at the bottom of the app. If you change the main signal, the app disconnects the tool and closes it.

  • If you start a new app session, the app disconnects the tool and closes it.

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

groundTruthLabeler(gTruth)opens the app and loads agroundTruthobject . The ground truth object data source must be an image sequence, video, or a custom data source.

Limitations

  • Lidar signals do not support line or pixel ROI labels.

  • Pixel ROI labels do not support sublabels or attributes.

  • Cuboid ROI labels do not support sublabels.

  • The Label Summary window does not support sublabels or attributes

More About

expand all

Tips

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

  • You can copy and paste 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. If you imported multiple signals, clickSelect Signalsand, in the Select Signals window, select one or more signals to automate. ClickOK.

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

Version History

Introduced in R2017a

expand all

行为改变未来的法则ase