biigle / maia

:m: BIIGLE module for the Machine Learning Assisted Image Annotation method
GNU General Public License v3.0
2 stars 3 forks source link

Training annotations vs training candidates: duplicates? #56

Closed charleygros closed 3 years ago

charleygros commented 4 years ago

Hi @mzur ,

I was wondering: Let's say I label few images manually. Then use these annotations to train the Mask-RCNN (ie I skip the AutoEncoder) --> Is it possible that some "annotation candidates" that MAIA is giving me are actually duplicates of my training annotations? If so, is there a way to avoid this? Otherwise, after integration of MAIA candidates, I may have twice the same annotation for a given object.

Many thanks Charley

mzur commented 4 years ago

Is it possible that some "annotation candidates" that MAIA is giving me are actually duplicates of my training annotations?

Yes, this is even likely. The logical way to do this would be to annotate images of a separate volume and then use these annotations for MAIA on an unannotated volume. This is not possible, yet, as it is not an easy problem to solve. However, such a feature might become available in the future.

As a workaround, you could use different labels for the annotated training annotations and the final annotations produced by MAIA. For example you could use an "interesting" label for the training annotations. After you have finished the MAIA job, you could delete the "interesting" annotations using Largo or just ignore them in further processing.

mzur commented 4 years ago

The feature proposed in #49 would work, too.

charleygros commented 4 years ago

After you have finished the MAIA job, you could delete the "interesting" annotations using Largo or just ignore them in further processing.

Yes! I was thinking of doing a script that uses your API to delete the former annotation when two annotations with the same label overlap.

Or add a more flexible solution to manually choose a subset of images to apply the object detection to. This could include a button to automatically include all images without annotations.

This would be really awesome! In my case, the volumes are quite different one from another... so I was thinking of manually labeling a subset of each volume and use MAIA on the remaining.

Many thanks @mzur for your prompt reply, always appreciated!

mzur commented 4 years ago

[...] delete the former annotation when two annotations with the same label overlap.

This is the complicated part because there can be instances where you can't decide which annotation to delete or if an annotation should be deleted at all (e.g. a smaller fish swims in front of a larger fish). That's why BIIGLE doesn't offer such a feature anywhere.

If you use the API you could use the timestamps of the annotations and delete all annotations that were created before the MAIA job started (or assign a different label to them).

charleygros commented 4 years ago

If you use the API you could use the timestamps of the annotations

Yup, could work with created_at, as you said.

charleygros commented 4 years ago

@mzur : Just wondering: Do you plan on implementing #49 in a near-ish future? Otherwise no worries, I will implement the workarounds you mentioned. Cheers.

mzur commented 4 years ago

I won't implement #49 in the near future, sorry. But pull requests are always welcome.