Image annotation tool

Hi everyone

Can anyone recommend a tool for annotating images for segmentation? I want to try out the Camvid notebook on my own data, so ideally the annotations should be downloadable in the same format as what we used in Lesson 3.

Regards
Ron

2 Likes

Hi,

How about this repo: https://github.com/wkentaro/labelme?

Labelme is a graphical image annotation tool inspired by http://labelme.csail.mit.edu.
It is written in Python and uses Qt for its graphical interface.

7 Likes

I haven’t tried it but CVAT looks great (although maybe complex to set up?).

There’s also image-labelling-tool which can apparently be used as a widget in a Jupyter notebook.

There are also closed source paid tools out there with a free trial.

Please let us know how you go

4 Likes

Thanks everyone - I’ll try them out and let you know!

Hi Ronald,

I have used label box before: https://labelbox.com. They provide the tool for free for smaller projects and I was extremely happy how easy it was to use and set up. Maybe it helps for your purpose as well.

4 Likes

There are a lot of tools to annotate images. A bit of context. Before the start of fast.ai course v3, I was attempting to replicate the 3rd place winner of the Kaggle DSB 2018 nuclei segmentation competition. The solution is the simplest (no ensemble), based on a single Mask-RCNN implementation by Matterport. While digging into this, I discovered this blog post:

From the blog post:

… I ended up using VIA (VGG Image Annotator) because of its simplicity. It’s a single HTML file that you download and open in a browser. Annotating the first few images was very slow, but once I got used to the user interface, I was annotating at around an object a minute.

If you don’t like the VIA tool, here is a list of the other tools I tested:

  • LabelMe: One of the most known tools. The UI was a bit too slow, though, especially when zooming in on large images.
  • RectLabel: Simple and easy to work with. Mac only.
  • LabelBox: Pretty good for larger labeling projects and has options for different types of labeling tasks.
  • VGG Image Annotator (VIA): Fast, light, and really well designed. This is the one I ended up using.
  • COCO UI: The tool used to annotate the COCO dataset.

Recently, I also stumbled upon Prodigy, from the maker of spaCy. I have not personally tested Prodigy, but looks very interesting.

13 Likes

Thanks Cedric!

For video check out Diffgram! https://diffgram.com/video

In case anyone else stumbles on this thread I’ve briefly tried Label Studio recently and it seems pretty nice so far. Alongside images it also has support for text and audio which might be nice if you want one platform for doing multiple types of annotation.

1 Like

I agree label studio is nice. Good thing is that we can annotate text , image , audio using the same tool.

Hey, you can check out - Labellerr is an ai-powered and retail-focused data annotation platform. It assists you in building reliable and smart datasets to power your robots with precision and smartness. Labellerr’s machine-learning platform performs 2D & 3D Cuboid Annotations, bounding boxes annotation for Robotics at a much faster pace with accuracy.

With their platform, smart drones can be powered with accurate data annotation to identify codes of goods, QR codes, etc. You can also hire data annotators from their marketplace. Basically, Labellerr is the one-stop-shop for all your data annotation requirements.

Labellerr, enabling AI in Retail provides high-quality machine learning-assisted data annotations with unbeatable service. Take a free trial to experience the magic of the smartest Data Labeling Platform for Retail - Labellerr

You can reach us at labellerr@tensormatics.com for more info

1 Like

I have been using Labellerr for my machine or deep learning projects which require extensive image annotation. While using the tool I liked it so much that I applied straight away to work as a Data Science Intern at Labellerr.

If you are someone looking forward to creating your own dataset for your various computer vision tasks then Labellerr is a platform where you can perform the annotation part. Labellerr is an Automated AI and Data Annotation SAAS platform. Here is a short video that demonstrates the process of image annotation: Revolutionizing entertainment industry with Labellerr, Automated AI & Data Annotation SAAS platform - YouTube
Link to the blogs: (https://blog.labellerr.com/)

I highly recommend checking out labelbox.com. It’s a training data platform specifically designed for image, video and text annotation with a strong focus on image and video. Check it out!

Can you explain how to use your code for converting Aperio Imagescope annotation to Coco .json annotation?
I have an annotation file in this format:

Annotations MicronsPerPixel="0.500000">
	<Annotation Id="1" Name="" ReadOnly="0" NameReadOnly="0" LineColorReadOnly="0" Incremental="0" Type="4" LineColor="65280" Visible="1" Selected="1" MarkupImagePath="" MacroName="">
		<Attributes>
			<Attribute Name="Description" Id="0" Value=""/>
		</Attributes>
		<Regions>
			<RegionAttributeHeaders>
				<AttributeHeader Id="9999" Name="Region" ColumnWidth="-1"/>
				<AttributeHeader Id="9997" Name="Length" ColumnWidth="-1"/>
				<AttributeHeader Id="9996" Name="Area" ColumnWidth="-1"/>
				<AttributeHeader Id="9998" Name="Text" ColumnWidth="-1"/>
				<AttributeHeader Id="1" Name="Description" ColumnWidth="-1"/>
			</RegionAttributeHeaders>
			<Region Id="1" Type="2" Zoom="1" Selected="0" ImageLocation="" ImageFocus="0" Length="138.3" Area="1517.4" LengthMicrons="69.2" AreaMicrons="379.3" Text="Mitosis" NegativeROA="0" InputRegionId="0" Analyze="0" DisplayId="1">
				<Attributes/>
				<Vertices>
					<Vertex X="6595" Y="24009"/>
					<Vertex X="6642" Y="24051"/>
				</Vertices>
.
.
.
.
.
				</Vertices>
			</Region>
		</Regions>
		<Plots/>
	</Annotation>
</Annotations>

And I want to convert this annotation .XML file into Coco.json format :

{"info": {"description": "MItosis Domain Generalization Challenge (MIDOG) 2021 - Training set", "version": "1.0", "year": 2020, "contributor": "Marc Aubreville, Christof Bertram, Mitko Veta, Robert Klopfleisch, Nikolas Stathonikos, Natalie ter Hoeve, Taryn Donovan, Katharina Breininger, Andreas Maier", "date_created": "2021/04/01"}, "licenses": [{"url": "http://creativecommons.org/licenses/by-nc-nd/2.0/", "id": 1, "name": "Attribution-NonCommercial-NoDerivs License"}], "images": [{"license": 1, "file_name": "001.tiff", "id": 1, "width": 7215, "height": 5412}, {"license": 1, "file_name": "002.tiff", "id": 2, "width": 7215, "height": 5412}, {"license": 1, "file_name": "003.tiff", "id": 3, "width": 7215, "height": 5412},......
 "categories": [{"id": 1, "name": "mitotic figure"}, {"id": 2, "name": "not mitotic figure"}], "annotations": [{"bbox": [4336, 346, 4386, 396], "category_id": 2, "image_id": 1, "id": 1}, {"bbox": [756, 872, 806, 922], "category_id": 2, "image_id": 1, "id": 2}, {"bbox": [270, 4044, 320, 4094], "category_id": 2, "image_id": 1, "id": 3}, {"bbox": [6672.5, 706.5, 6722.5, 756.5], "category_id": 2, "image_id": 1, "id": 4}, {"bbox": [1872, 319, 1922, 369], "category_id": 2, "image_id": 2, "id": 5}, {"bbox": [4397, 191, 4447, 241], "category_id": 1, "image_id": 2, "id": 6}, 
...........
"category_id": 2, "image_id": 150, "id": 4434}, {"bbox": [2681.5, 2846, 2731.5, 2896], "category_id": 2, "image_id": 150, "id": 4435}]}

Can you please help me with how to perform the following conversion?
Thanking you in advance,
Warm regards,

Hi,
Several tools available for Images Annotating for segmentation.Labelbox,VGG Image Annotator, RectLabel and LabelImg: LabelImg is a free, open-source graphical image annotation tool that supports various annotation types, including segmentation. It can be used on Windows, macOS, and Linux, and the annotations can be exported in the same format as what was used in Lesson 3.