In this post, we will walk through how to jumpstart your image annotation process using LabelMe, a free, open source labeling tool.

Labeling images from the public aerial maritime dataset in LableMe

To get started with LabelMe, we will walk through the steps to:

  • Sign Up and Login to LabelMe
  • Upload Images to LabelMe
  • Make Annotations in LabelMe
  • Adhere to Common Labeling Practices in LabelMe
  • Download Data From LabelMe
  • Covert LabelMe to Any Destination
  • Train A Model from LabelMe Data

Let's crack it open.

What is LabelMe?

LabelMe is a free open source labeling software for computer vision published by MIT. LabelMe was written with the goal of gathering a large collection of images with ground truth labels.

LabelMe is designed to be very easy to use and you can get started via a web interface.

Within LabelMe, you can annotate polygons with a simple point and click. See how LabelMe stacks up against other annotation tools by checking out our other blogs on:

Sign Up and Login to LabelMe

To get started with LabelMe, go ahead and head over to http://labelme.csail.mit.edu/Release3.0/, and fill out the sign up form.

Signing up for LabelMe

Upload Images to LabelMe

Once you've signed up, you will see a navigation bar on the left. Go ahead and click on My Collections and then + Collection.

That gives you a chance to create a collection.

Create a new dataset collection in LabelMe

Once you've created a new collection, to add pictures you just hit + Pictures, and drag and drop images, or select them from your local file structure.

The biggest downside of LabelMe is that you can only add up to 20 images in each upload and you need to have the intent of sharing them publicly.

Only upload images to LabelMe with the goal of making them publicly available for research. You can select multiple images for upload (max 20 images in one upload).

Once your images have processed uploading, you will see them available in the dashboard.

Loading an image dataset into LabelMe

Making Annotations in LabelMe

Now we can accomplish the goal of annotating our images. When you click on an image it will take you into an annotation interface.

LabelMe Annotation Interface

On the left you have a few tools you can use to label objects. To label with the polygon drawer, you click all of the points around an object, connecting to the first one after you are done drawing. To draw boxes, you can click the box and simply drag and drop. To label masks, you can use the mask tools to intelligently label the mask around the object of interest.

Once you finished a polygon, a dialogue window will pop up where you can input the name of the object and any descriptions about the object.

Naming classes in LabelMe

Adhere to Common Labeling Practices in LabelMe

We recommend following the following labeling best practices:

  • Label entirely around the object, with a tight bounding polygon
  • Label occluded objects as if they were fully present
  • Label objects that may be slightly off to the side of the image
  • Save your work!

During labeling, it is often hard to decide exactly which objects you want to label and how to name them. One approach is to label everything with specificity. Afterwards, you can use an approach like Roboflow's ontology management to omit and remap your class labels, to construct your final model.

Download Data From LabelMe

To download your data from LabelMe, navigate to your collection.

Downloading images from LabelMe

In the upper right you will see an icon for Download. This will zip up your images and annotations into a .tar file that you can open and use in the setting of your choice.

Covert LabelMe Data to Any Destination

At Roboflow, we are excited to announce support for uploading LabelMe annotations. Once you have uploaded your data to Roboflow, you can convert to any of our 30+ computer vision formats.

An example of some formats that Roboflow exports

Uploading your roboflow is easy. Simply sign up, untar the export you received from LabelMe and drag and drop data into Roboflow.

Uploading LabelMe data to Roboflow

Once your model is in Roboflow, you can do much more than just convert annotations. You can also make important preprocessing and augmentation decisions to create versions of your dataset so you can spend less time labeling, and more time making the best computer vision model for your task.

Train A Model from LabelMe Data

To train a model on your LabelMe data, you may find the Roboflow Model Library of use to model object detection (bounding box) datasets. The Roboflow Model Library contains a series of example Colab Notebooks to drop your dataset in and start training.

Conclusion

Congratulations! Now you know how to use LabelMe to get started labeling your own dataset for computer vision.

LabelMe is a great way to get started on dataset annotation for computer vision and can be easily leveraged through a web UI.

As always, happy labeling.