RolnickLab / ami-platform

GNU General Public License v3.0
8 stars 2 forks source link

Pass confidence threshold param to other views #357

Open mihow opened 4 months ago

mihow commented 4 months ago

The occurrences, species and summary views are filtered by the default confidence threshold. This can be changed with the confidence_threshold query parameter to those views (at least on occurrences, taxa and summary). This should be exposed to the user. It already is exposed in the session detail view. Perhaps we save it to the current session? Or in the user's settings object? (backend)

In general I would like an easier way to pass certain URL params from the browser to certain API calls made from the current React view.

annavik commented 1 month ago

@mihow is issue this still relevant? We talked about showing all detections in session detail view, instead highlight detections above the threshold in some way? For the other views, perhaps the threshold will be a (preserved?) filter setting instead? Let me know if we should close this and open a new one!

annavik commented 1 month ago

I found the other issue I had in mind: https://github.com/RolnickLab/ami-platform/issues/361

mihow commented 1 month ago

Thanks for linking these two issues! They are related but different. This one is about saving the selected threshold parameter and passing it to other endpoints that return occurrences, detections, species and the summary counts. Currently the threshold is hardcoded on the backend to 0.30 for every endpoint except the session detail. However this can be overriden by passing the confidence_threshold parameter in the URL.

Another detail: the threshold will likely be more complex later. there is no general threshold. each model will have it's own threshold, and actually each species (category) returned by the model will have its own threshold. Right now its a very rough estimate of what is useful. Kavi and I discussed abstracting this to a general 1-10 score for the UI. Then the model owner is in charge of mapping each model's output to a useful 1-10 confidence score.

annavik commented 1 month ago

I see, thank you for clarifying! I guess what I was thinking is if we do the task "Show all detections, regardless of confidence threshold selected", why would you expect other views to not also behave like this (unless a filter is applied)? But it will probably make sense, since we will also highlight detections above the threshold for the capture!

mihow commented 1 month ago

Oh I see! "Show all detections, regardless of confidence threshold selected" is specifically about the bounding boxes on the big image in the session detail view. The confidence score comes from the just species ID classifier, but it the threshold is currently applied to BOTH the species ID and the original bounding box detection. Users are mistakenly thinking that the object detector is just terrible and can't find 1/2 of the moths in the image. Maybe we show all boxes with a dim/gray style on hover, but then only the moths that pass the selected threshold get the current style treatment and are visible before you hover.