Kitware / dive

Media annotation and analysis tools for web and desktop. Get started at https://viame.kitware.com
https://kitware.github.io/dive
Apache License 2.0
82 stars 21 forks source link

[FEATURE] Seek to frame #684

Open russelldj opened 3 years ago

russelldj commented 3 years ago

Is your feature request related to a problem? If so, Please describe. It's challenging to compare approaches when there's no way to seek by frame name or ID. More generally, if you want to inspect a given frame that would be challenging.

Describe the solution you'd like An option to seek to a frame ID or a filename. Frame ID seems easier to implement, e.g. a single text entry box rather than a long dropdown, and works well for videos.

Describe alternatives you've considered For my particular example of comparing the results of two methods on the same data, there are a few other solutions that might work better. For example, you could visualize two sets of detections at once on the same imagery. Or have a split mode that shows both at the same time on duplicate imagery.

subdavis commented 3 years ago

Couple of questions:

This is related to #614, #578, and #678

The first thing is doable quickly. If you're interested in having the second thing, it'd be great if you could describe exactly what your ideal solution looks like.

russelldj commented 3 years ago

Scrubbing can work for what I'm asking. But what I'm suggesting is a way to seek to a precise frame more quickly.

To describe my usecase a bit more: I have four different datasets each with two clones representing a different prediction method. Ideally, I'd compare say ~5 frames from each, sampled roughly equally throughout the duration of the capture to avoid any bias toward one sort of environment, assuming they may be captured sequentially. I can easily pick one frame in the middle of one dataset by scrubbing but the challenge is selecting the corresponding one in the other dataset. I'm not saying this is a huge concern, but it seems a bit annoying if this is a core part of your workflow.

To your second point, I'm not sure I have a clear top choice. I think comparing detections on top of each other is appealing but we'd almost certainly have to sacrifice some functionality, e.g. the class labels, to leave room for a mechanism to distinguish the two sets of annotations. Splitting the viewing screen left-right seems nice and may allows us to preserve all the information, but that seems like it might get pretty cramped. I'm happy to brainstorm this offline at some point if that's useful.

russelldj commented 3 years ago

As an aside, I think the current setup is perfectly adequate for comparing two datasets with different imagery. I think the issue arises when trying to compare two clones that need to be kept in sync.

Also, the data can be found here if that gives any insights into possible solutions.

russelldj commented 3 years ago

Perhaps a neat solution would be a mechanism to view two clones in different browser windows with linked frame and zoom settings. This seems like it would be pretty simple on the UI side but I could understand if this is far trickier than I realize on the backend.

waxlamp commented 2 years ago

@russelldj, is your goal to open, for example, 2007_grabcut and 2007_watershed side by side and compare the detections? And to do that, you need to examine the same frame in both sessions always in lockstep?

Unfortunately, without a dedicated comparison mode in which both datasets could be opened in the same view, I don't think we'll be able to accommodate the request of yoking together the frame control in two independent browser windows.

I think I've missed a bit of context though, because your issue is asking for a specific mechanism to scrub to a frame, which I believe is now possible by using the scrubber and watching the frame number display. Do you mind providing a bit more detail on what you might need?

russelldj commented 2 years ago

@waxlamp, yes, what you describe was the premise of my request.

I'm no longer at Kitware, so I'm a bit out of the loop here as well. It looks the frame number is now displayed as @subdavis suggested, which fixes a large portion of my issue since it makes scrubbing to a particular frame much easier. While not a huge concern, it would be nice for that display to accept entries so you could quickly seek to a given frame. But that's minor.

I'm not surprised that a more complex comparison mode is challenging/out of scope. I just wanted to bring it up in case there happened to be an easy fix.

waxlamp commented 2 years ago

Thanks for the response, @russelldj. I agree the comparison mode would be a nice feature. In the meantime, I'll update this issue to add a combobox-style input to set the frame number explicitly.