Create Automation Algorithm Function for Labeling
The Image Labeler, Video Labeler, and Ground Truth Labeler (Automated Driving Toolbox) apps enable you to label ground truth data in a collection of images or sequences of images. You can use an automation algorithm in these apps to automatically label your data by using a built-in automation algorithm or by creating a custom automation algorithm. You can create an automation algorithm programmatically using a class or function. The labeler apps provide templates for creating each type of interface.
Function — This interface enables you to easily create an automation algorithm or migrate your functional algorithm to work with the app.
Class — This interface is used to specify a custom automation algorithm with a greater number of capabilities. You can include user-instructions, methods that check label validity, and runtime execution behavior. See Create Automation Algorithm for Labeling.
Use the class implementation when your automation algorithm requires any of these capabilities:
Access to temporal information.
Support for automating
blockedImage
labels.Customized initialization and termination steps.
Customized settings dialog.
Customized name and description.
Customized instructions.
Customized algorithm state across image frames.
Support for multiple signals or point cloud signals, such as what you might use with the Ground Truth Labeler (Automated Driving Toolbox).
How to Specify an Automation Function in an App
To create an automation algorithm using the built-in function template:
On the app toolstrip, click Select Algorithm > Custom Automation Function.
In the BrowserPanelDisplay pane, select the images for which to automate labeling, then click Automate in the toolbar.
On the app toolstrip, select Settings, and then specify the algorithm function. If you need to create a new function, you can click the blue information icon to open the automation function template.
The app invokes the automation algorithm on each image selected for
automation. The app returns the labels created by the automation algorithm in an
autoLabels
structure. To automate pixel labeling, the
autoLabels
structure must be a categorical matrix. Otherwise,
autoLabels
must be a structure or a table.
Use a Function to Automate Labeling with Your Custom Detector
The labeler app built-in algorithms may not work to explicitly detect the features unique to your data. Therefore, you can train a detector using your data, and then create a custom algorithm using the function template provided within the app. The function requires a minimum set of parameters, which are related to the type of labels suited to your detector. Specifying a function handle within the app enables you to quickly test different automation algorithms and change the parameters of your algorithm.
This is an example of a function that creates an algorithm to use with a labeling app.
It runs a pretrained aggregate channel features (ACF) object detector to label people in
the input image. The function returns the predicted labels
autoLabels
, which is a structure array that contains the
Name
, Type
, and Position
fields.
Create an Automation Algorithm Function
The function template contains descriptions for the fields in
autoLabels
and an example of how to set the fields. The template
also specifies where to insert your custom algorithm function by name, or by specifying
a function handle. Use a function handle to pass additional inputs to your function, if
required. To access the template, select Settings, and then click
the blue information icon in the Custom Automation Function
Settings dialog box. The template contains this information:
See Also
Apps
- Video Labeler | Image Labeler | Ground Truth Labeler (Automated Driving Toolbox)
Classes
vision.labeler.AutomationAlgorithm
|vision.labeler.mixin.BlockedImageAutomation
|vision.labeler.mixin.Temporal