The Ontology Manager allows job owners to create and edit the ontology within an image or text annotation job. The Ontology Manager supports up to 1,000 unique classes for image shapes, video annotation, and text annotation. For pixel labeling jobs, the class limit is 250 unique classes.
cml:video in conjunction with the parameter
ontology=”true”, you will be prompted to create an ontology from the design page of the job. In contrast, all text annotation jobs (
cml:text_annotation) will require an ontology and you will receive the prompt automatically when adding a text annotation form element. There are two ways to create an ontology:
Creating an ontology via the UI
You can create and edit an ontology using the Ontology Manager within the job. On this page, you’ll see three columns: color, title, and description.
Fig. 1: Ontology Manager
- Color defaults to a randomly selected value, but can be customized using a selector by clicking on the arrow next to the color.
- Title is a required field. This is the name of the class in the ontology; it is what contributors will see when annotating. Be aware, each title must be unique and differ from any other class names.
- Description is optional. This gives contributors a brief, inline description of a class. We highly recommend providing a clear and concise description of each class for the best quality results.
Actions within the Ontology Manager:
- To add a new class, click ‘Add Class’. This will insert another row below the last class created.
- To delete a class, hover over its row in the table and click the trash icon to the right.
- If desired, you can nest ontologies (create a hierarchical tree of classes to label) by dragging and dropping.
- Once you’ve created your ontology, click ‘Save’.
Note: To edit the color, title, description, and output value for each class click on the pencil icon
Fig 2: Nesting Ontologies with the Ontology Manager
Fig. 3: Nested Ontology
Ontology Manager Settings:
The settings allow you to configure how nesting should behave in the ontology. If you have nesting in your ontology and would like parent classes to act as directories (for an organization, rather than as an annotatable class), you can turn that on under the settings button.
Fig. 4: Ontology Settings
Creating an ontology via CSV/JSON upload
You can also create an ontology by uploading a CSV (for flat ontologies) or JSON (for nested ontologies). To do so, you can follow these steps:
- Create a UTF-8 encoded CSV with your ontology. You’ll need the following column headers:
- display_color (requires a hex code)
Fig. 5: CSV with Ontology Data
To see how this ontology will look for contributors, preview the job:
Fig. 6: Preview of the bounding box tool
Moving Ontologies Between Jobs
In some cases, you may need to re-use the same ontology across multiple jobs. The fastest way to achieve this is:
- Copying the job containing the ontology with no rows.
- Make any edits to the ontology in the copy as needed.
- Upload and run new data through the copy.
You may also download the ontology (it will download as a .json file) and upload it to any other job. Uploaded ontologies should always overwrite existing ontologies.