Timing of work (Advanced)

  • Task Templates isolate Label Templates.

  • A file may be perpetually annotated and improved. Each version may be kept isolated.

  • Use caution if editing an existing Label Template

  • The default is to preserve state. For example, editing a Label Template in the project, does not directly effect existing Task Templates.
    If it should effect, you can update the Task Template as desired.

  • In some contexts, such as file isolation mode, use caution if working on a file directly in the studio, as a change may be overwritten once the task is complete.

  • If a file is undergoing multiple passes, a new batch of work should be created to maintain isolation between tasks.

👍

Using tasks is preferred over editing directly in the studio

And using multiple tasks for the same file is normal.

Label Edits

tl;dr If you are editing labels in advance of creating tasks, edit away and everything is fine. If you need to edit labels after work has already started then there are considerations here.

🚧

Be aware of how label changes effect existing work.

Depending on how strict your project requirements are any substantial changes to a label may invalidate portions of prior work. As an example consider I label something a "Tree" and then the label gets changed to "Branch". At the time of labeling, I was labeling "Trees", not "Branches"! Editing labels after work has started is non trivial, for that reason labels that are edited do not cascade to prior tasks. The labels for those tasks for "frozen". So in theory the system protects you from this automatically but it's something to understand and be aware of.

👍

New label creation prior to launching a new task is perfectly fine.

For example I previously created "Cat" and a batch of work. Now I want a second batch of work with "Dog". I create "Dog" but misspell it. I can edit it and use it with the next batch of work.

The distinction is if I create "Cat", use it in a task, and then want to edit "Cat" into "Dog". (That should be avoided!)

Patterns for editing Labels after work has started

Leave existing labels as is and create new ones

Go for it! This is one of the best ways to maintain past isolation.

Create new Attributes and edit only the attributes

This works especially well for upgrading data. For example a first pass to find the faces, and then attributes can be added after, ie for occlusion. This sidesteps the label concerns, since the raw label is not being edited directly.

Edit labels

Use caution! See warnings above.

Manual, after the fact overrides (Very rare case)

Once a task has launched then it can only be done manually after the fact. One method is using IDs. The IDs do not change, and the IDs are used in the mapping that's exported. So while changes to label names won't show up in the UI (for past tasks), they will show up when exporting a project directory, under the new label map.

Context, why isolation is important

In addition to concerns about preserving past work:

Imagine we create a label "Cat", and then annotate Cats in a Task. In our first batch of work we only wanted "Cat"s to be labelled, so if we also created "Dog" we don't want that to show up in the "Cat" batch of work.