Annotations are extra information attached to parts of any kind of media, for better understanding that portion. In case of image annotations its labels, segmentation, localization, bounding boxes. For supervised machine learning, image annotation provides labels to objects in the image. Automatic Image Annotation is the new advancement in Computer Vision; it will automatically provide metadata related to the images. It is mainly used for image retrieval(searching through large databases for showing results of exact images for that text). This is better than content-based image retrieval(CBIR) process, which is query-based and requires more time to execute.
Most image annotation tools go by bounding box methodology which is the rectangle encompassing the object and giving four coordinates(left top corner, right top corner, left down right down corner) that are used by the algorithms to locate the exact object in the image. Most object detection algorithms(R-CNN, YOLO, Faster-RCnn, etc.) are built along with this methodology. But there are certain limitations to bounding box methodology – often objects are intruded by noise in the bounding box and thus fail to detect accurately by the detection algorithm. Another limitation is that apart from objects to be identified other objects are also to be annotated in some instances such as for self-driving cars, apart from cars there’s pedestrians, poles, signals and many more.
These limitations led to the development of better data annotator tools which can provide better accuracy, speed and precision in data annotations and thus today we’ll be discussing SuperAnnotate.
What is SuperAnnotate?
SuperAnnotate is an image and video annotator automation tool developed by Vahan Petrosyan. Vahan and his brother Tigran are PhD drop out students who built this web-based application after realising the lack of efficient supervised image segmentation algorithms in their research study. In February 2020 they released this toolkit to benefit the computer vision community.
SuperAnnotate platform provides end to end service for automating computer vision projects, starting from data engineering(generating high-quality training data) to model creation(training using neural networks). Allows project management through team creation and share via an API through Python SDK to measure progress. Images can be uploaded through a local device or AWS S3 folder. One of the eminent features is that it provides annotation automation for predefined classes. Mislabelled annotations can be detected using QA automation technique. Users can make use of transfer learning to classify new data. Some efficient analytics tools are present for tracking performance speed and accuracy in the annotation. The annotated data can also be downloaded in SuperAnnotate or COCO format.
Walkthrough to SuperAnnotate working
SuperAnnotate works with pixel-accurate annotations. This could be a tedious job, but with the evolution of deep learning algorithms, pixel-level accuracy has been reached. This kind of annotation process works with pixel precision, and apart from the bounding box, it has various others- Polyline, Ellipse, Polygon, Cuboid, point, Template formats. All of those annotations formats will have the information stored in a JSON file.
This is a venture by OpenCV and SuperAnnotate to provide a desktop application based on the web app present. It is free software available in Windows, Mac and Linux OS. It has accelerated the labelling process with better accuracy. SuperAnnotate provides both manual and automatic image segmentation. Video segmentation works the same as image segmentation by breaking the video into frames and tracking multiple objects. SuperAnnotate can serve training cycles without any compromise to annotated data quality. Provides filtering of images- to allow only display images users need to work with and avoid the whole lot. The application has an advanced polygon tool to monitor minute edges of objects.
For more information on SuperAnnotate desktop, usages refer to this Github Repository.
The latest version of SuperAnnotate SDK version 2.3.8 was released yesterday.
The package is pip installable –
pip install superannotate
Then create a project in the IDE or notebook to use it:
import superannotate as sa sa.create_project("Example Project 1", "example", "Vector") sa.upload_images_from_folder_to_project("Example Project 1", "<path_to_my_images_folder>")
To create an annotation class:
sa.create_annotation_class(project, "Large car", color="#FFFFAA") Or sa.create_annotation_classes_from_classes_json(project, "<path_to_classes_json>")
To download annotations:
To add annotations to the downloaded image
sa.add_annotation_bbox_to_json("<path_to_json>", [10, 10, 100, 100], "Human")
To upload your project to platform
sa.upload_annotations_from_json_to_image(project, image, "<path_to_json>")
To create pandas dataframe from the project for annotations
df = sa.aggregate_annotations_as_df("<path_to_project_folder>")
To visualize the class distributions:
df = sa.class_distribution("<path_to_export_folder>", [project_names], visualize = True)
Solutions and Services
- Autonomous Vehicles
- Drone/Satellite imagery
- Security and Surveillance
- Medical imaging
- Invoice and Financial data
- Sports Analytics
- Infrastructure Inspection
- Retail automation
There are limitations to free services, and most high-end features are available in paid versions which have different pricing, and users can contact SuperAnnotate team for a demo and other purposes. However, it has a free academic license provided to academic and non-commercial researchers.
Companies using SuperAnnotate
- Percepto reported reducing annotation time by 60%
- Cogito Tech
- Acme AI
- Altris AI reported an increase in 12% accuracy.
Easy to use by annotators, researchers and computer vision engineers. Its user-friendly interface allows even beginners to easy access the high-end features. Services have an extension to LiDar, text and audio apart from image and video. The platform also provides hiring to 3rd party annotators who can do the work and save time. Superannotate blogs, tutorials and documents are very efficiently maintained. Every month active development is being made.