Here at Humans in the Loop, as a member of the computer vision ecosystem, we know the importance of finding good image labeling and annotation tools in creating accurate and useful datasets. To this end on our blog, you can find our Tools we love series where we deep dive into some of our favorite annotation tools as well as our picks for the best annotation tools for 2019, 2020, and 2021.
With the growth of the image annotation space, we have seen an upsurge in the availability of open source tools which enable anyone to label their images for free and to benefit from great functionalities. Keep reading to find out which are the 10 best open source tools for computer vision annotation!
1. Label Studio
Our absolute favorite open source labeling tool is Label Studio by Heartex Inc. We recently featured the enterprise version of the tool in our 2021 article because we were impressed by its versatility and advanced functionalities for active learning and collaboration. The open source version of the tool works with all types of data such as audio, text, images, videos and time series.
It supports a wide array of annotation including image classification, object detection, semantic segmentation. It works with almost every type of data, such as audio, image, text, and HTML and has a unique configuration setup called Labeling Config where you can design your own customized UI. It has a variety of algorithm-driven automation features, including a pre-labeling option that can pre-label data based on an existing machine learning model. Finally, what we love about it is that it has a vibrant community of users and a very active slack channel where you can exchange tips or make requests to the team.
The second platform on this list is Diffgram! Diffgram has also been featured before on our Tools we love series back when it was a paid platform. Since the spring of 2021, Diffgram has switched to being a fully open-source platform with optional paid managed services and enterprise support. We fully endorse the shift and we are very excited about its extended reach.
What makes it stand out is that in addition to being an annotation platform, it also has various dataset and workflow management capabilities. It supports almost every single type of spatial annotation in both image and video including but not limited to bounding boxes, cuboids, segmentation, cuboids and keypoints. Its semantic segmentation feature also offers various tools such as auto-bordering, combo shapes, points-to-full polygon amongst many others! Additionally, its video annotation supports interpolation and sequence labeling such as event tracking and object tracking.
LabelIMG is another very popular open source and free to use image labeling tool. In fact, it was the first labeling tool that we ever used back in 2017 and it facilitated our work a ton thanks to its simple and intuitive interface and the fact that it can be used offline in order to provide maximum data security.
It can also be installed on almost every single operating system such Windows, Linux, Ubuntu and the Mac OS and its Python library can also be used in Anaconda or Docker. However, it only supports bounding boxes as the lone labeling method which is hence why it is a great first tool but often might not be enough for more complex projects. It can save the annotations as XML files in PASCAL VOC format as well as in the YOLO and CreateML formats.
The Computer Vision Annotation Tool (CVAT) is an open-source software developed by Intel. Whilst it does not have the most intuitive UI, it has very powerful and up-to-date features and functionalities and runs in Chrome. It still is among the main tools that both we and our clients use for labeling, given that it’s much faster than many of the available tools on the market.
It offers object detection, image classification and image segmentation and annotation with boxes, polygons, lines and keypoints. CVAT even offers various automation features such as copying and propagating objects, object tracking and interpolation and automatic annotation, powered by TensorFlow OD API. Collaboration is easy in CVAT and one can split and delegate work.
ImageTagger is an open-source online platform for collaborative image labeling. Developed by Niklas Fiedler from the Department of Informatics at the University of Hamburg specifically for the needs of the Robot World Cup, this platform is designed so that the actual labeling procedure is as intuitive and quick as possible.
It allows for image sets to be labeled with bounding boxes, polygons, lines and keypoints. It does offer some project management options and features that assist with QA such as image preloading, uploading existing labels, and label verification. Additionally, as it is focused on collaboration, it allows for large-scale collaboration on labeling of the image sets by splitting up labelers in teams.
LabelMe is an open-source tool that is considered an industry classic. Built by the Massachusetts Institute of Technology in 2008 in order to build the canonical LabelMe datset, LabelMe can either be used online or offline. It can be run on Windows, Ubuntu and the Mac operating system along with Python launchers. LabelMe offers image and video annotation with polygons, boxes, circles, lines, keypoints and both semantic and instance segmentation.
Additionally, it offers classification through its image flag annotation tool as well as a cleaning feature and has a customizable UI. It also allows for exporting semantic and instance segmentation in VOC and COCO-formats. However, it has almost no project management capabilities since it was not meant for collaborative labeling. Instead, there is an integration with Mechanical Turk for easy outsourcing of the manual labeling process.
The VGG Image Annotator also known as VIA was developed by the Visual Geometry Group at Oxford University. It is a rather simple annotation tool where images, audio and videos can be manually annotated – and it’s one of our favorites that we still regularly use. Very easy to use and install, it can be used as an offline application in any HTML capable browser.
VIA can be labeled with shapes such as boxes, circles, ellipses, polygons, keypoints, and lines. VIA supports CSV and JSON exporting as well as limited project management functionality, such as allowing for multiple jobs to be set up for the annotator and progress to be tracked through a simple yet easy to use UI.
8. Make Sense
Make Sense is a relatively new open source annotation platform. Released in the summer of 2019 by Piotr Skalski, Make-sense has an amazing UI and there are no-frills when it comes to annotating, with additional object detection and image recognition capabilities. To get started, go to their website, drag and drop an image and you can start annotating immediately. They do not store images online and hence there are no privacy concerns.
Make Sense supports bounding boxes, keypoints, lines and polygons and even uses AI models to automate some of the annotation such as an SSD model pretrained on the COCO dataset, and the PoseNet model, which can be used to estimate the pose of a person and key body in an image or video. Currently, Make Sense does not have any project management capabilities or an API.
9. COCO Annotator
Labeling datasets can be done with free-form curves, polygons and keypoints as well as other features to label image segments, track object instances, and even allows for the labeling objects with disconnected visible parts in a single instance, all while efficiently storing and exporting annotations in the COCO format, hence the name. COCO annotator also supports annotating images with semi-trained models and has advanced selection tools such as DEXTR, MaskRCNN and Magic Wand. Finally, it offers a user authentication system for security as well.
Our final entry is an open-source platform that is not updated anymore. Dataturks used to be a paid service which was purchased by Walmart in 2018 and the development of the labeling platform has since stopped and it is now freely available on GitHub. It is completely free to use despite several allusions to paid extras when using the software. It seems to not have been developed for a while now but still is a solid open-source data annotation tool. It allows for teams to work asynchronously on various annotation types including images, videos, text and NER.
With image annotation, it allows for free form polygons to be drawn to generate image masks for segmentation, as well as supports image classification through polygonal labels and bounding box labels. It even has a visual object tracking feature where one can draw a bounding box around a subject at certain times in the video and the tool will automatically do the interpolation between these points. Dataturks can export in VOC, Tensorflow and Keras formats.
Hope this was helpful! If you are working on an AI project and are currently reviewing which tool might be the most appropriate for it, get in touch with us and we would be happy to have a call and advise you on the best way to build your pipeline. We also offer dataset collection, labeling and annotation, as well as model validation services!