-
Notifications
You must be signed in to change notification settings - Fork 2
Feat: Annotate Directory of Images #243
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we have some example usage?
Is it possible to configure also "post-processing" parameters like confidence, IoU threshold, ...? I assume that's defined through the architecture itself?
@tersekmatija Model outputs can be grouped into common task types. That’s why there is a single annotate() function for the base head, which works with luxonis-train task types. For custom tasks, users can implement their own annotate() function for the head. Regarding the parameters you mentioned: they are configured in the YAML config. However, for some custom parameters, users can modify their annotate() function to perform additional processing. |
Purpose
This feature annotates a directory of images by performing predictions with a model and creating a dataset in LDF from those predictions.
A new command
annotate
is added to the CLI, and you can also use it viamodel.annotate(...)
.The
annotate
functionality uses the config YAML file where the model is defined, and performs inference on the given image directory. For example, if a user defines a detection head like this:The
annotate
process will use theconf_thres
value of0.03
andiou_thres
of0.65
when performing Non-Maximum Suppression (NMS) for that head.By default,
annotate
supports all built-inluxonis-train
tasks. If the head operates in a way that's aligned with these default tasks, it will work out of the box since the base head is designed for compatibility.However, if custom post-processing of labels is needed, the user must implement their own
annotate
function for the head. In such a case, the user can apply any custom filtering logic to the model outputs.Specification
None / not applicable
Dependencies & Potential Impact
None / not applicable
Deployment Plan
None / not applicable
Testing & Validation
None / not applicable