After your Classes have been created, you have the option to create Sub-Annotation types for those classes, allowing you to map relationships between related annotations for model training. The 4 different Sub-Annotation types are Attribute, Text, Directional Vector or Instance ID. Classes and attributes help you build a consistent data model for your ground truth, enabling clear labelling schema, higher quality data and accurate model predictions.

Here is an overview of the sub-annotation types and how to use them.


Attributes function as tag for an annotation which will be important features of your ground truth, to describe features in greater detail. They can be added to any Class to enable model training on these features.


Text attributes allow you to apply free text to an annotation, and can be used to train OCR or to include unique textual information about a class.

Directional Vectors

Directional vectors define a radian value of an annotation to indicate the 2D pose or direction of an object. These vectors can be used to predict movement or define an object’s tilt.

Instance ID

Instance IDs allow you to re-identify a specific object throughout a dataset. Each annotation is given a numeric ID so that the object may be tracked, or simply distinguished among other objects of the same class in an image. Darwin isolates all annotations in instances by default, however adding an Instance ID allows you to preserve and re-use this ID between images.


Sub-Annotations in Videos

When annotating videos, any sub-annotations will be present in all frames from the first frame onward.

If the annotation is extended backwards after it's creation, all frames from the original first frame to the new first frame will not contain the sub-annotations.