Main Content

Temporal Automation Algorithms

The labeling apps in Computer Vision Toolbox™, Lidar Toolbox™, and Automated Driving Toolbox™ enable you to create and import a custom automation algorithm to automatically label your data. Automation algorithms can be time-independent or time-dependent.

  • Time-independent (nontemporal) algorithms can operate independently on each timestamp (or image). For example, a detection algorithm, such as the built-in people detector, is a time-independent algorithm.

  • Time-dependent (temporal) algorithms have a dependence on the timestamp of execution. For example, a tracking algorithm, such as the temporal built-in Point Tracker, uses tracking from a previous time stamp to track objects in the current time stamp.

The Image Labeler app supports only nontemporal algorithms. The Video Labeler, Lidar Labeler (Lidar Toolbox), and Ground Truth Labeler (Automated Driving Toolbox) apps support nontemporal and temporal algorithms.

Create Temporal Automation Algorithm

To create a temporal automation algorithm to use with a labeling app, on the app toolstrip, select Select Algorithm > Add Algorithm > Create New Algorithm. A class template opens, enabling you to define your algorithm. By default, the class inherits from the vision.labeler.AutomationAlgorithm and vision.labeler.mixin.Temporal classes, as shown by the class definition of the template:

classdef MyCustomAlgorithm < vision.labeler.AutomationAlgorithm && vision.labeler.mixin.Temporal

Time-based algorithms must inherit from both of these classes. Inheriting from the temporal mixin class enables you to access properties such as StartTime, CurrentTime and EndTime to design time-based algorithms. For more details on enabling temporal properties, see the vision.labeler.mixin.Temporal class reference page. For more details on defining custom automation algorithms in general, see the vision.labeler.AutomationAlgorithm class reference page.

After creating your algorithm, follow the instructions in the class template on where to save the algorithm.

Run Temporal Automation Algorithm

To run your temporal algorithm from the labeling, first refresh the algorithm list. On the app toolstrip, select Select Algorithm > Refresh list. Then, reopen the Select Algorithm list, select your algorithm, and run it on your data as you would any of the built-in automation algorithms.

For temporal algorithms, you can additionally configure the direction of automation. Click Configure Automation. By default, automation algorithms apply labels from the start of the time interval to the end. To change the direction and start time of the algorithm, choose one of the options shown in this table.

Direction of automationRun automation fromExample

See Also

Apps

Functions