Recipe & Ontology
The Dataloop system has the following structure for ontology, instructions, and recipe:
Ontology - Holds the labels (classes) and attributes used in your project. The ontology of a dataset is the building block of your model and will help you define the object detection your trained model provides.
- Labels (like classes) are the names you use to classify your annotations.
- Attributes allow additional independent degrees of freedom while building a world definition.
Recipe – linked with an Ontology, the recipe adds labeling instructions and settings, such as labeling tools to be used, mapping of tools to specific labels/attributes, PDF instructions file, and more.
Although you can define attributes according to your business needs, Dataloop standard definition for attributes in a taxonomy is that its the "answer sentence" to the following model question:
<subject (label)> <verb(attribute)> <adjective/Noun (attribute/label)>
For example, you may have annotators use labels such as "car," "bike," "truck," and "building" to annotate objects and add an attribute such as "main color" that will have checkboxes for the annotator to choose from "red," "white," "silver," etc.
When creating a Dataset from the UI, it is created with a default Ontology and default Recipe already interconnected. When creating a dataset from the SDK, specific connections need to be made.
When a labeling task is created, it uses the recipe (and linked Ontology) connected with the Dataset containing the items.
To navigate to the recipe page:
- In the project dashboard's dataset table, click the 3 dots on the right and click on the "Edit Recipe" icon.
- Select the "Recipes" item from the left-side navigation menu to access the full list of project recipes
- From annotation-studio, click the 'Recipe' icon in the Item-Info tab, or the 'Recipe' link above the label-picker section.
Add your labels in the "Labels & Attributes" tab and click "Enter" or click the "+" button.
When creating a label in the recipe, the label is given a default color. For all annotation tools except Semantic Segmentation, the label color will only affect the platform UI and is for the user’s convenience to differentiate between annotations of different labels over an image/video and other files.
For Semantic Segmentation tool, the color of the label will be reflected in the masked item’s output. If your model already has its own RGB for the masked output, make sure to set the label's colors accordingly.
**Changing the default color **- The default color assigned t a label can be changed. Click the colored circle to select a different color from the pallete, or enter RGB values.
Changing color for semantic segementation - changing the color of label used for semantic segmentation will affect only new annotations from that point onward. The color of exisitng annotations is saved on the mask in the item's JSON, and therefore won't affect all exisitng JSON files.
For more information about the Semantic Segmentation tool, click here tool.
Hierarchical/Nested Labels (sub-labels)
Labels in the recipe have a "Dot Name Spacing" (dot-separated structure), allowing you to create tree-like label descriptions (sub-labels that are in a hierarchy with other labels).
Well-defined labels hierarchy enables annotators to accurately classify annotations based on logical structure, with correlation with Dataloop advanced tools for labels-based search and filter on items and annotations level.
In "New Label", enter the ‘Parent’ label name + "." + "child" label, and click the plus icon. For example:
Labels as Images
Add images to labels in the recipe, to enable label selection in annotation tasks based on the similarity of the image to the label’s thumbnail. Ideal for retail annotation tasks.
Click on the 'X' icon next to the label and select the image from your computer directory.
Labels can be reordered differently than creation order, to allow prioritizing and displaying at the top of the list during labeling tasks.
Attributes are created separately and can be mapped to specific labels, e.g. determining for each attribute the labels it applies to. Attributes have the following fields:
- Scope - where mapping to labels is done. The default applies any attribute to all labels, but individual selection can be done.
- Mandatory - enforce annotators to answer attributes in Studio 2.0 before clicking “Done” and moving to the next item. The feature is enabled from recipe instructions, and applies to any attribute set as ‘Mandatory’.
While working in the Studio, mandatory attributes skipped will show with a red flag icon, requiring annotators attention.
Mandatory attributes enforcement occurs only when working on a single item in the respective studio. Mandatory attributes are not enforced when working in bulk from the Assignment-Browser, due to the nature of this work.
- Type - selection and representation type of the attribute:
- Checkbox - multiple selection option
- Radio button - single choice type
- Slider - selecting from a range of values (for example between 1 and 10)
- Yes/No - a shortcut for you to have radio button based yes/no attribute
- Free text - allows an annotator to use free text to answer questions and provide information
- Subject - The guidance/question presented to the annotator, on how to fill this attribute
- Section ID - Allows referring to this attribute via JSON exports and metadata. Its auto-populated with running number, but can be edited to any value
To start a new attribute, click “Create Section” from the “Labels & attributes” tab.
Import or Export
You can also export or import the ontology to your recipe.
Press The following buttons to do so.
Label or Attributes
You may also import a predefined list of labels or attributes using a simple text file (via “Notepad”) - please make sure the labels or attributes are separated by new lines.
Create a Standalone Recipe
Create recipe templates to use across datasets.
Click "Create New Recipe", type in the recipe's name in the popup box, and then click "Create" or "Enter."
Clone your recipe to later edit/delete this recipe without affecting the original one.
Click "clone" to clone the recipe. The cloned recipe can be edited or deleted without affecting the original one.
From the dataset page, click "Switch Recipe" to switch the dataset's recipe to a different one.
When deleting a recipe from a dataset, that has been set as the recipe for other datasets too (switched recipe), it will be delete from all linked dataset.