TransWikia.com

Tool to label images for classification

Data Science Asked by jlarsch on May 4, 2021

Can anyone recommend a tool to quickly label several hundred images as an input for classification?

I have ~500 microscopy images of cells. I would like to assign categories such as 'healthy', 'dead', 'sick' manually for a training set and save those to a csv file.

Basically, the same as described in this question, except I do not have proprietary images, so maybe that opens up additional possibilities?

6 Answers

I just hacked together a very basic helper in python it requires that all images are stored in a pyton list allImages.

import matplotlib.pyplot as plt
category=[]
plt.ion()

for i,image in enumerate(allImages):
    plt.imshow(image)
    plt.pause(0.05)
    category.append(raw_input('category: '))

Correct answer by jlarsch on May 4, 2021

Try Supervisely.

For your task you could create classes: 'healthy', 'dead', 'sick' and associate them with Rectangle tool. Then you just put a box around each cell with corresponding class. Below is an example:

  1. Definitions of classes enter image description here
  2. Labeling enter image description here

If your categories are not mutually exclusive, you may create “cell” class (and associate it with rectangle) and then create several tags - one for each of your categories. Below is an example:

  1. Definitions of classes and tags enter image description here
  2. Labeling enter image description here

Answered by Yuri on May 4, 2021

I have created a code doing what you need, it is available on GitHub as image-sorter2. Instead of "labelling" images, it puts the images into a new folder, but creating the csv you are talking about is a straight forward extension. Compared to the other suggested scripts here image-sorter2 is 100% free of charges and you don't need to spend time on drawing bounding boxes - the script simply opens a GUI for you, you click on one of multiple buttons and correspondingly each image is sorted into the desired class-folder, e.g. "cats", "dogs", "trucks" a.s.o.

enter image description here

Answered by NeStack on May 4, 2021

Try using EVA annotation tool. Ericsson/eva ,this has an excellent tracking function. you mark the object in only 1 frame and rest/many of the frames are automatically annotated. This also has lock unlock feature to help annotate faster and more number of objects in each frame. This supports video upload or image data sets.

Best thing, completely Free/open source ! enter image description here

Answered by Manish S on May 4, 2021

pidgey - widget for jupyter notebook with active learning

I have just found this open-source tool, and it looks amazing: enter image description here

It's an interactive widget for Jupyter Notebook and the best thing about it - according to this commit you can add your own sklearn-like classifier and use it for predicting classes as you annotate! The classifier keeps learning as you proceed with labeling.


tkteach - Super Fast Image Categorization Python Tool

Also, there is a tool called tkteach and it's great because you can annotate images really fast using only your keyboard. I have improved the original version a little bit. The fork is here: https://github.com/Serhiy-Shekhovtsov/tkteach

enter image description here

Answered by Serhiy on May 4, 2021

Try this tool. It is very simple and does exactly what you want → assign label(s) to images in a given folder.

https://github.com/robertbrada/PyQt-image-annotation-tool

enter image description here

Answered by Robert Brada on May 4, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP