ImageMonkey / imagemonkey-core

ImageMonkey is an attempt to create a free, public open source image dataset.
https://imagemonkey.io
47 stars 10 forks source link

Extend existing annotation tools? #256

Open bbernhard opened 4 years ago

bbernhard commented 4 years ago

One of the things I would like to implement next is free labeling (see also #254). Free labeling is a rather big feature that requires quite a lot of changes. Apart from the backend changes, there are also a few frontend changes needed in order to fully support free labeling. Although the unified mode is already a good starting point, I think we need to rework that a bit, in order to make it "free labeling ready".

But should we really do that? Should we invest time in maintaining our own annotation tool? Is it worth it? Or should we rather build upon an existing tool and extend that, to make it ImageMonkey ready?

What are the pros and cons of each approach?

Personally, I am a bit torn back and forth. On the one hand, having our own annotation tool gives us great freedom & flexibility, but on the other hand it's quite maintenance intensive (and not the core value of ImageMonkey).

I am wondering, whether a mixed approach would work here. i.e: having a simple annotation tool ourselves (with some basic functionality) and for more advanced use cases we provide a third party annotation tool that was extended with ImageMonkey support. Would that work or is that a bad idea? (@@dobkeratops)

e.g: The labelme annotation tool looks really good (I've tried it myself) and also seems to be rather easy to extend (at least the code base doesn't seem to be that big).

Other interesting annotation tools (that I haven't tried yet):

https://github.com/opencv/cvat https://github.com/microsoft/VoTT

dobkeratops commented 4 years ago

A big factor here is what you happen to find most personally satisfying to work on.

What’s interesting here so far is that you’ve got integrated search and annotation, and the UI looks more modern than labelme. “Perfect is the enemy of good” - the annotation tool is good enough to be useable.

I’m sure this could go further (eg imagine being able to show crops for a specific label query, or browse co-occuring labels as a way of exploring the label database). A label browser with examples would be great. Imaging being able to navigate back and forth (eg jump into the unified editor for anything you found in search, or search for related images to anything you just annotated). Reference images in a side pane might help you figure out the best labels for the image you’re looking at.

Regarding annotation tools -being able to import data from another tool could certainly be useful. It could encourage crossover between different attempts at open source datasets.

One idea there could be a way to just group images together on upload and manage colour coding schemes to use paint tools (remember the scribbles idea).. starting with a colour coded segmentation of some labels (eg road,pavement,building) for a street scene then adding more named rectangles to get more specific would give the best of both. Not sure how many users have them, but a tablet with a pen is great to use casually.

You’re also right that the label me tool is good.. the hierarchy feature is neat. Being able to import that data might save time compared to replicating similar UI.