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

could we recover the abiltry to name on upload #253

Open dobkeratops opened 4 years ago

dobkeratops commented 4 years ago

so the request to remove 'upload which represents...' was a workaround to the small vocabulary, (i.e. for many images you have no word yet)

.. so we've now got the problem that it's hard to get to images that you upload .. can't find them

suggestions:- (i) recover the 'upload which represents...' dialogue, but give an option for 'anything' as a default, so you're never stuck

(ii) upload with a free label - give a text box allowing a description. It will at least allow a user to always find their own uploads in a meaningful way, even if their free label isn't accepted.

(iii) allow uploading in the "add labels" view - imagine if dragging an image into the add labels screen would select it immediately letting

(iv) give a way to search for unlabelled or recent images in the browse modes (special keywords in the search dialogue?)

not sure which of these would be easiest .. (iv) of course helps us deal with images we've already uploaded.

I think the 'default' mode might already prioritise unlablled images, but this has a problem that it can stick showing you similar things, which you might not know about. if a browse mode showed a random selection (rather than the most recent) you'd have a higher chance of finding something you can give good input on

bbernhard commented 4 years ago

We could definitely do that. But I am not sure if this would really solve the problem. At the moment, the images in the browse based modes are (almost) always randomly ordered. That's mostly to avoid clashes (= two or more people work on the same image/annotation). Of course we could also add an option to order the images by "recently submitted". :)

On a related note: What do you think about image collections?

At the moment it's only possible to use them via API (see https://github.com/bbernhard/imagemonkey-libs/tree/master/python/snippets), but we could also expose the UI option also to the donations page. What's also missing is, that you can search for images that belong to a specific image collection in the browse based views...but that shouldn't be hard to add.

Image Collections are bound to a user account and private per default (i.e nobody besides the user that created the image collection can see it's actual name). I think those are great way to group bulk uploads (e.g: "oldtimer musem - 07/29/2019")

dobkeratops commented 4 years ago

Randomly ordered but from unlabelled would still be useful, eg if you wanted to focus on categorising. I think the automatic add labels mode does it, but there’s a slight problem that it doesn’t let you skip the ones you can’t do (I started using labels like “unclear” or “Unknown” as markers for those)

Image collections... great idea. I suppose simply having an option to show your uploads, or the uploads of any user might partially cover it,.... or a free label at the point of upload could serve as a collection name?

I kind of hoped scene labels would do part of the job of collections, but a real collection could be more specific.

dobkeratops commented 4 years ago

bit more to say here, "theme labels" .. more like search tags, even broader than 'scene labels'. I think these would be useful at the point of upload. some scene labels are borderline annotatable, eg a view of a door into a kitchen.. but (most of these) are definitely not annotetable.

The ones i've been using so far: you should be able to do image searches for examples.. Some of them were used in my bulk upload from the scrape

you could definitely 'label the labels' and say each object or scene label in turn relates to themes, but I've only used these where they fit as a summary of the entire image. (eg a street scene might have a truck, a truck relates to transport, but the whole image relates to many things.. a better summary for the whole image would be the scene label 'street')

food and drink - images focussing on plates of food, restaurants, kitchens with food preparation, foodstuffs (I did a bulk upload of these from the scrape) it's foodANDdrink because meals usually have both, but you'd also want food,drink. 'drink' itself is an ambiguous word (verb or noun) but in the context "food and drink" it's a noun. retail - shopping malls, shops,
botany - 'the study of plants' - images which focus on plants (someone seems to have done a bulk upload) military - not really a scene as such, but relates to various scenes and objects (weapons, tanks, soldiers, airbases, warships) aviation - images which focus on aircraft, or airfields, industry - factories, workshops architecture - not just images containing buildings, but images which focus on buildings or details agriculture ... broader than farm. fields, tractors, farm implemnts, livestock music - musical instruments, performances sport - sportsfields, sports equipment, sports playets exercise - gyms, people running or doing yoga, etc,exercise equipment motorsport - kind of like sport & automotive education - classrooms, lecture halls, students reading, teaching materials religion - religous symbols, ceremonies, buildings holiday - beaches with people (not just geographic beach), hotels, resorts,poolside,.. medical - hospitals, medical equipment, medicines,doctors/nurses,ambulances? science - laboratory nature - sometimes when there was no clearer summary i used this: images focussing on plants+animals, in a natural setting, not pets/zoos/parks/gardens/agriculture entertainment - shows, fairgrounds, amusements, entertainers,theatre, stage performances transport - railways, roads, vehicles.. romance - some of the stock photos have couples in an embrace or whatever. fashion - images focussing on clothes models, fashion shows, possibly certain types of clothes shop art - paintings, art materials (brushes),people painting .. again not necaserily the objects, but the theme

bbernhard commented 4 years ago

like that!

Do you think it makes sense to introduce another label type for that (e.g "theme labels") or should we add those to the existing scene labels? Not sure whether it adds any value to differentiate between scene labels and theme labels or if both are too similar anyhow to hold them apart?

dobkeratops commented 4 years ago

Not sure. right it's kind of fuzzy... the difference is that some scene labels are potentially annotateable; they are often still nouns (you could argue they're objects that just happen to fill the whole image).. whereas 'theme-labels' are just broad word-association... but they can still be a good way to identify and summarise images .. they salient points that differentiate one image from another

bbernhard commented 4 years ago

short update: I am soon going to push an update to production that will allow to select an image collection before upload. see: Selection_021

Once that's done, I will add the possibility to search for images in an image collections to the browsed based views.

In case there is demand for that, then we could also add the possibility to select (meta-)labels before upload.

dobkeratops commented 4 years ago

Interesting.. If the image collection is an arbritrary name, that would be very useful .. you could make collection names which are just label requests.

I’ve been killing a bit of time doing some manual image scrapes and uploads.. I do think labels at the point of upload are useful - because images do come in batches (groups of photos from the same location, or the same search)

Another option to speed up retroactively labelling them would be to display the most popular scene and theme labels in the “add labels” page.

I was also going to suggest some sort of bulk labelling mode - eg imagine if you could drop labels on in the browse views directly, without needing to load another page .. probably a lot more work, but it might overlap with some sort of bulk validation mode aswell?

dobkeratops commented 4 years ago

In case there is demand for that, then we could also add the possibility to select (meta-)labels before upload.

just to clarify: I think this IS definitely 100% useful (IMO more useful than collections): because it means the mere act of uploading gives a training sample: eg if a net is trained to tell the difference between "kitchen vs bedroom vs living_room" , it should have internal nodes that pick up on sinks/kettles/cookers vs beds/wardrobes vs sofas/TVs. collections can eventually do both jobs though (if you make something to retroactively apply a label to an entire collection?)

dobkeratops commented 4 years ago

Ok I see the coll3ctions feature. I wasn’t able to add any new collection (the selector doesn’t allow text entry.. might be interesting if it did? .. and the profile page didn’t seem to work). Nonetheless I was able to add a few as “street”, which is a long running label request.

I guess these collection names could double up as “personal vocabulary labels”, awaiting mapping to global vocabulary.

It’s an interesting capability to have, but I’d wonder if it’s just easier to focus on improving the ability to set labels on upload: it was removed as an emergency measure, but with a bypass it would be useful. Maybe the ability to set a couple of labels simultaneously would be expressive enough to avoid needing collections.

But if we can eventually map collections to labels that’ll do it.

All depends what is more natural to implement.. how much UI can be maintained. (Label me organises things in collections, but you’ve already got label based search... with scene and theme labels, I think this would be superior. Would you get more value from continuing to improve the search modes? Filters for “my uploads” etc..

bbernhard commented 4 years ago

Interesting.. If the image collection is an arbritrary name, that would be very useful .. you could make collection names which are just label requests.

I am afraid that's not possible..at least at the moment.

At the moment image collections are only visible to the creator. The main intention behind that was to create the ability to group images by personal information (that are not relevant to others). e.g yesterday Rammstein (a german rock band) played in Vienna and I was there and shot some pictures while enjoying their awesome live performance. Those pictures will be uploaded later and assigned to my personal image collection named "Rammstein-Wien-2019".

Although nobody besides me can see the image collection's name, it's still useful to me. Because later, when I'm in the mood I can come back and search for my image collection in the browse based views to label/annotate them.

Of course, a similar thing could be implemented by allowing to search for own uploads (which is still something we could add), but I kind of like the possibility to group image uploads by my own keywords. This allows me to do a "mood based search" more easily. e.g If I am in the mood to work on concert images then I can search for my "Rammstein" image collection, if I want to work on something a bit more colorful (the concert was at night), I can open my "hiking" image collection..etc.

just to clarify: I think this IS definitely 100% useful (IMO more useful than collections)

The main reason why I removed the option in the first place was that I think it's quite easy to make mistakes.

e.g: if you upload a lot of images via the web ui, most of the time the images are quite different. (i.e different labels). So before you drag and drop images into the dropzone, you always have to make sure that you've selected the right label..which (depending on the variety of images) could lead to mistakes.

(I also have to admit that the web ui wasn't intended to be used for bulk uploading...for that I always imagined a scripting based approach. But I can see that there are cases where one can't run scripts easily..e.g on a mobile device/tablet).

But I can see, that there are use cases where one wants to set the (meta/scene-)label(s) before upload. I think with the "additional options" dropdown menu we could revert the old behavior again and allow to set (meta/scene) label(s) before upload. :)

bbernhard commented 4 years ago

Ok I see the coll3ctions feature. I wasn’t able to add any new collection (the selector doesn’t allow text entry.. might be interesting if it did? .. and the profile page didn’t seem to work)

Oh damn, looks like there is a bug. :/

I'll have a look - thanks for the info.

bbernhard commented 4 years ago

ok, it should work now (silly me forgot to push something to production)

you should now be able to create a image collection in your profile and then reference it in the donation page.

Selection_023

dobkeratops commented 4 years ago

But I can see that there are cases where one can't run scripts easily..e.g on a mobile device/tablet).

Indeed that’s exactly what I’d ended up doing - uploading directly from the device that took the photos

The main intention behind that was to create the ability to group images by personal informationking photos and uploading directly

Ok that sounds useful for privacy. (“Photos from my living room” etc)

I suppose with labels publically searchable, the private collection idea is indeed orthogonal to labelme’s idea.

Perhaps a later “add label to collection” button would let it do both jobs .. or a checkbox “use collection name as label”, defaulting to “on” when the collection name is just a label name? (Flipping that around.. imagine the collection box is a label name, and it shows a “private/public” tick box .. default to private when the name is not a simple label) .. maybe it’s too convoluted to mix the concepts, or maybe they really can be different facets of the same idea.. unsure.

dobkeratops commented 4 years ago

Ok that’s great.. could keep track of scrapes , etc

dobkeratops commented 4 years ago

You might have noticed I’ve done some more uploads ( I see the number of images is nearly 64000 ). These are mostly higher res images. Regarding getting labels onto them -it seems the automatic “add labels” mode uses a queue (so currently it’s mostly serving flowers and food from some earlier bulk uploads)

Would it be possible to tweak this.. a pure random choice from the unlabelled set might be better - currently if you’re not logged in , you can’t skip when you reach an image for which there is no label (sometimes I use this casually from the iPad instead of my desktop).. it will remain stuck on that image.

Another idea would be to reverse the order, ie serve most recent uploads first - you can always change it by uploading something new , if you get stuck.

You could even prioritise the users own uploads , if someone is logged in - the idea being that they’re fresh in the mind (e.g: serve the users own uploads first, else a pure random choice?)

bbernhard commented 4 years ago

You might have noticed I’ve done some more uploads ( I see the number of images is nearly 64000 ). These are mostly higher res images.

awesome - thanks a lot! :)

regarding the ordering: I am currently working on some query improvements. Something that's already finished (and probably will be pushed to production soon) is the possibility to query

I hope this changes already result in some noticeable improvements :).

currently if you’re not logged in , you can’t skip when you reach an image for which there is no label

Thanks for the info, I'll have a look. That sounds like a bug :D

dobkeratops commented 4 years ago

Querying collections and unlabelled.. that will be perfect. Perhaps at the point of upload you could assign to a default collection for the user (“my uploads” perhaps..) .. but even without that, what you describe will be enough (making real named collections will be a good habit for people to get into)