3
$\begingroup$

I need to manually classify thousands of pictures into discrete categories, say, where each picture is to be tagged either A, B, or C.

Edit: I want to do this work myself, not outsource / crowdsource / whatever online collaborative distributed shenanigans. Also, I'm currently not interested in active learning. Finally, I don't need to label features inside the images (eg. Sloth) just file each image as either A, B, or C.

Ideally I need a tool that will show me a picture, wait for me to press a single key (0 to 9 or A to Z), save the classification (filename + chosen character) in a simple CSV file in the same directory as the pictures, and show the next picture. Maybe also showing a progress bar for the entire work and ETA estimation.

Before I go ahead and code it myself, is there anything like this already available?

$\endgroup$
3
$\begingroup$

There are a few tools that you can use to annotate (or label) data. For example, labelme or Labelbox. Have a look at this question for more alternatives.

$\endgroup$
  • $\begingroup$ Thank you, but all of these tools are either: 1. online services, 2. active learning, 3. collaborative, or 4. tools to label features inside images. None of them comes close to my needs. $\endgroup$ – Tobia Jun 4 at 21:11
  • $\begingroup$ @Tobia Most of them are not active learning tools. They should also provide the feature to label the images (not just for image segmentation or object recognition). Maybe have a look at this other tool: github.com/wkentaro/labelme. I haven't personally explored them yet. $\endgroup$ – nbro Jun 4 at 21:17
  • $\begingroup$ Labelme comes very close, I can probably customize it into what I need. $\endgroup$ – Tobia Jun 4 at 21:58
3
$\begingroup$

I do not know a specific tool that meets all the mentioned requirements. However, a long time ago, I had to do a very similar task of labeling tons of images into 10 classes. This is how I did this:

  1. Used a very basic clustering tool to cluster images into clusters (I set the number of clusters larger than 10 as I new some classes have very different subclasses inside).
  2. Moved all images of each cluster to a separate folder. Named each folder after one of the classes/subclasses.
  3. Double checked the folders content to make sure there is no outlier or mismatched sample. In the case of wrong labels, I just moved them to the correct folder.
  4. Merged subclasses to form the 10 classes that I was interested in.
  5. Done!
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.