Is your feature request related to a problem? If so, Please describe.
Currently when a user loads an annotation file, there are two options:
- Either overwrite the existing annotations
- Or append new annotation to the current dataset (with an optional "prepend" type)
Then, if a user runs an inference pipeline, it currently force the overwrite of the existing groundtruth, which is not necessarily expected from a user. When sharing datasets, this can be confusing, were the annotations manually labeled, or were those detected ? What if I want to still keep the orginal groudtruth after loading another detection set ?
Another issue comes from the fact that the user does not have a choice when training a model: which annotations will be used?
If you run inference on an existing dataset, the newly created "annotations" (detections) will serve as groundtruth when we train a new model. This is not really expected, by default I want to train from a ground truth annotation, or maybe from generated annotations.
Describe the solution you'd like
Having a more elaborated versioning / history mechanism for annotations, and being able to select which version of annotation I want. Also decouple the notion of "ground-truth" annotations (for training and evaluation) from "detected" annotations (for evaluation, or production).
Describe alternatives you've considered
For decoupling, a simple solution would be to update the dataset with new annotation prepended by for e.g. "detected_".
Additional context
This ticket was opened so we can start discussing if that makes sense for dive
Is your feature request related to a problem? If so, Please describe.
Currently when a user loads an annotation file, there are two options:
Then, if a user runs an inference pipeline, it currently force the overwrite of the existing groundtruth, which is not necessarily expected from a user. When sharing datasets, this can be confusing, were the annotations manually labeled, or were those detected ? What if I want to still keep the orginal groudtruth after loading another detection set ?
Another issue comes from the fact that the user does not have a choice when training a model: which annotations will be used?
If you run inference on an existing dataset, the newly created "annotations" (detections) will serve as groundtruth when we train a new model. This is not really expected, by default I want to train from a ground truth annotation, or maybe from generated annotations.
Describe the solution you'd like
Having a more elaborated versioning / history mechanism for annotations, and being able to select which version of annotation I want. Also decouple the notion of "ground-truth" annotations (for training and evaluation) from "detected" annotations (for evaluation, or production).
Describe alternatives you've considered
For decoupling, a simple solution would be to update the dataset with new annotation prepended by for e.g. "detected_".
Additional context
This ticket was opened so we can start discussing if that makes sense for dive