biigle / core

:large_blue_circle: Application core of BIIGLE
https://biigle.de
GNU General Public License v3.0
12 stars 15 forks source link

ML Annotations #679

Open dlangenk opened 11 months ago

dlangenk commented 11 months ago

We discussed to potentially add a confidence and flag for ML annotations in the backend. In the frontend we could display it like in one of the mockups below.

mockupa mockupb

mzur commented 11 months ago

A good start! The confidence values are too highlighted IMO. Maybe they can just be displayed as muted numbers on the right. In contrast to that, the "ML" label should be highlighted somehow (like in your mockups). But maybe just put the label in the same font size before the user name.

Alternative suggestions for the text: "AI" (I know...), "SCRIPT" or "API". ML is the most correct but AI will be most intuitive for the users. SCRIPT would be correct, too (2nd place after ML) but is probably too long. API is very generic.

mzur commented 11 months ago

Technical details for the implementation:

The image_annotations and video_annotations DB tables can get a new nullable ai_confidence column. When a new annotation is created, the ai_confidence attribute can optionally be specified. If the attribute is null, the annotation is not made by ML. If the attribute is anything else, it is made by ML. If the ML method does not support confidence values, ai_confidence can be set to 0. In this case the "ML" (or similar) label will be displayed in the UI but not the confidence number.

The existing confidence column will not be touched by the implementation. We need to decide in https://github.com/biigle/core/issues/182 what to do with the confidence. If we keep it, we can display it in the same way than the ML confidence just without the "ML" label.

mzur commented 5 months ago

The ai_confidence also needs to be added to the relevant reports (e.g. iFDO) and to the biigle/sync export/import (maybe together with https://github.com/biigle/sync/issues/18).

Also there should be a new option in https://github.com/biigle/core/pull/709 to specify if imported annotations were made by an AI.