Contenu principal

Automate Labeling for Multi-Sensor Data

R2026b

The Multi-Sensor Labeler app provides multiple automation options to accelerate the labeling process for both image and point cloud data. The automation features fall into two categories:

  • Semi-automated labeling — You provide initial guidance, such as drawing labels on key frames or selecting a time range, and the app completes or propagates the labels across the remaining frames. Semi-automated algorithms require some manual input before running.

  • Fully automated labeling — An algorithm processes the data and generates labels automatically without requiring manual label input. The app includes built-in fully automated algorithms and also supports custom automation algorithms that you create and import.

The following table summarizes the available automation options by signal type.

Automation TypeImage SignalsPoint Cloud Signals
Semi-Automated Algorithms (Built-In)Point Tracker, Temporal InterpolatorBurst Mode, Lidar Object Tracker, Point Cloud Temporal Interpolator
Fully Automated Algorithms (Built-In)

ACF People Detector

ACF Vehicle Detector, Lane Boundary Detector (requires Automated Driving Toolbox™)

Pretrained PointPillars, SalsaNext, and SqueezeSegV2 Models
Custom Algorithms (Examples)Automate Vehicle Labels and Distance Attributes Using YOLOv2 in Multi-Sensor LabelerAutomate Point Cloud Labeling Using SNAP Model

Run an Automation Algorithm

The following workflow applies to all automation algorithms — both semi-automated and fully automated, built-in and custom. Follow these steps to label multi-sensor data using an automation algorithm:

  1. Load the data into the app, and create ROI label definitions. For more details, see Create Labels and Label Multi-Sensor Data.

  2. On the Labeler tab of the app toolstrip, click Select Algorithm in the Automate Labeling section.

  3. Select an existing automation algorithm, or click Add Algorithm to import or create a new algorithm. To see the code for the chosen automation algorithm, click Open Selected Algorithm.

  4. Click Select Signals to choose which signals to include in the automation session. Ensure that you select signal and label types supported by the automation algorithm.

  5. Click Automate. The app opens the Automate tab. Follow the automation instructions on the right pane of the app. For semi-automated algorithms, draw the required initial labels before running.

  6. Click Run to apply the automation algorithm. When satisfied with the results, click Accept to close the session and apply the labels.

Automate Image and Video Labeling

The app includes these built-in automation algorithms for image signals:

Automation AlgorithmAutomation TypeSupported Label Definition TypesDescription
ACF People DetectorFully AutomatedRectangle ROI LabelsDetect people in video frames using aggregate channel features.
ACF Vehicle Detector

Fully Automated

(requires Automated Driving Toolbox)

Rectangle ROI LabelsDetect vehicles in video frames using aggregate channel features.
Lane Boundary Detector

Fully Automated

(requires Automated Driving Toolbox)

Line ROI LabelsDetect lane boundaries in video frames.
Point TrackerSemi-AutomatedRectangle ROI LabelsTrack a labeled object across video frames. Draw an initial label on the object to track before running.
Temporal InterpolatorSemi-AutomatedRectangle ROI LabelsEstimate rectangle ROI labels between video frames by interpolating positions. Draw labels on at least two frames before running.

To use a built-in image algorithm, select it from the Select Algorithm drop-down in the Automate Labeling section of the app toolstrip, then follow the automation algorithm workflow.

Automate Point Cloud Labeling

The app includes these built-in automation algorithms for point cloud signals:

Automation Using Pretrained Models (Fully Automated)

Use deep learning models to automatically label point cloud data. This algorithm uses pretrained models to detect objects or segment points in a point cloud. To use this algorithm:

  1. In the Settings dialog box, select from a list of existing pretrained models for PointPillars, SalsaNext, and SqueezeSegV2 networks, or import a custom deep learning network.

    Note

    The custom network must be a dlnetwork (Deep Learning Toolbox) object trained for segmentation or object detection in point clouds.

  2. Map the label definitions to the output classes of the network.

  3. Run the automation algorithm, and get your automated labels.

Lidar Object Tracker (Semi-Automated)

Track an object across different point cloud frames. To use this algorithm, you must draw a cuboid ROI label on the object to track before running. You can also draw multiple labels to track more than one object. Once you run the algorithm, you can accept or reject the generated labels. You can also undo the run and perform it again.

The app displays the step-by-step procedure on the right pane when you select the Lidar Object Tracker algorithm.

Point Cloud Temporal Interpolator (Semi-Automated)

Estimate cuboid ROI labels between point cloud frames by interpolating the ROI locations across a time interval. To use this algorithm, you must draw a cuboid ROI on a minimum of two frames before running: one at the beginning of the interval and one at the end of the interval. The interpolation algorithm estimates and draws ROI labels in the intermediate frames.

Consider a point cloud sequence with 10 frames. The first frame has a cuboid ROI centered at (5, 5, 0). The 10th frame has a cuboid ROI centered at (25, 25, 0). At each frame, the algorithm moves the ROI 2 points in the x-direction, 2 points in the y-direction, and 0 points in the z-direction. Therefore, the algorithm centers the ROI at (7, 7, 0) in the second frame, (9, 9, 0) in the third frame, and so on, up to (23, 23, 0) in the second-to-last frame.

Create and Use Custom Automation Algorithms

In addition to the built-in algorithms, you can create and import custom automation algorithms into the Multi-Sensor Labeler app. You can implement custom algorithms using either a function-based or class-based interface.

Interface TypeDescriptionUse Case
Function-basedDefine automation logic using a standalone function with parameter tuning.Quick setup, prototyping, migrating existing code
Class-basedCreate a custom class inheriting from vision.labeler.AutomationAlgorithm, which offers full control over labeling behavior and app interaction.Complex workflows, temporal automation, custom settings, multi-signal support

The apps provide templates for both interface types. To create a custom automation algorithm,

  1. Define the algorithm logic in the template.

  2. Save the algorithm file to a package folder (+pointcloud/+labeler/) on the MATLAB path.

  3. Import the algorithm into the app by selecting Select Algorithm > Add Algorithm in the Automate Labeling section under the Label tab of the app toolstrip.

For more details on how to create and import a custom automation algorithm, see Create Custom Automation Algorithm for Labeling.

AI-Assisted Algorithm Examples

The following AI-assisted algorithms use deep learning foundation models for labeling. These algorithms are implemented as custom automation algorithms and can be added to the app using the custom algorithm workflow.

AlgorithmSignal TypeSupported Label Definition TypesExamples
Automated object detection and labelingImageRectangle, Pixel, Polygon ROI LabelsAutomate Vehicle Labels and Distance Attributes Using YOLOv2 in Multi-Sensor Labeler
Automated cross-sensor labelingImage and Point CloudRectangle ROI Labels, Cuboid ROI LabelsAutomate Multi-Sensor Ground Truth Labeling Using Moondream Vision-Language Model
Automated Point Cloud SegmentationPoint CloudSemantic Point ROI LabelsAutomate Point Cloud Labeling Using SNAP Model

Label Point Cloud Data Using Burst Mode

Burst mode is a semi-automated labeling feature for point cloud signals. It merges point clouds across a selected time range into a single view, enabling you to annotate static or semi-static objects once and apply the labels across all timestamps in that range. Burst mode supports Cuboid and Semantic Point ROI labels only. It is useful for large point cloud sequences where per-frame labeling is inefficient, or when automation algorithms are not suitable but the same objects appear across many timestamps.

To label data using burst mode:

  1. In the labeling window, select the point cloud signal that you want to label.

  2. In the ROI Label Definitions pane, select a Cuboid or Semantic Point ROI label definition. The Burst Mode button in the range slider pane becomes enabled.

  3. Use the left and right flag knobs on the range slider to define the timestamp range that you want to label. By default, the range starts at 0 seconds and ends at the selected signal's end time. If the flag range extends outside the selected signal's timestamp extent, the app displays an error dialog prompting you to readjust the flags. If you adjust the flags to constrain the range, the app displays a confirmation dialog showing the effective range that will be used.

  4. Click Burst Mode. The app merges the point clouds from all timestamps in the selected range into a single view. Non-selected signals are hidden and playback controls are removed from the range slider.

    Burst mode tooltip in the slider range pane.

  5. Draw labels on the merged point cloud. In the merged view, static objects appear as dense point clusters, while moving objects appear elongated due to the combined timestamps. For Cuboid labels, you can use the Projected View to fine-tune the label in front, top, and side views simultaneously. For Semantic Point ROI labels, use the Brush, Lasso, and other labeling tools as in normal mode — the labeling footprints apply across all timestamps in the selected range.

    Burst mode labeling panel.

  6. When you finish labeling, click Accept and Exit to apply the labels across all timestamps in the selected range and return to normal mode. Alternatively, click Exit to discard all burst mode annotations. On exit, all previously hidden signals are restored.

Note

Burst mode uses timestamp-based range selection, not frame numbers. It operates on one point cloud signal at a time. Burst mode is not available for non-point-cloud signals or for point cloud signals that contain only a single frame (for example, LAS or LAZ files).

See Also

| (Computer Vision Toolbox)

Topics