AnnoMage: A Semi-Automatic Image Annotation Tool

Abstract

When building artificial intelligence systems that can detect objects from any scene, we need a huge dataset to train and test our models on and discover shortcomings. Existing tools for image annotation can help, but they require much work to be put in. We therefore present a new image annotation tool that incorporates an existing state-of-the-art object detection model called RetinaNet to show suggestions of 80 common object classes while annotation to reduce the amount of human effort to be put in to annotate images.

For the community!

User Guide

Installation

  1. Clone this repository.
  2. In the repository, execute `pip install -r requirements.txt`. Note that due to inconsistencies with how `tensorflow` should be installed, this package does not define a dependency on `tensorflow` as it will try to install that (which at least on Arch Linux results in an incorrect installation). Please make sure `tensorflow` is installed as per your systems requirements. Also, make sure Keras 2.1.3 or higher and OpenCV 3.x is installed.
    1. For Keras model - Download the pretrained weights and save it in /snapshots/keras.
    2. For tensorflow model get the desired model from here and extract it in /sanpshots/tensorfow
    3. You can even save custom pre trained model in the respective directory.

Instructions

  1. Select the COCO object classes for which you need suggestions from the drop-down menu and add them. Or simply click on Add all classes.
  2. Select the desired model and click on Add model.
  3. Click on detect button.
  4. When annotating manually, select the object class from the List and while keep it selected, select the BBox.
  5. The final annotations can be found in the file annotations.csv in ./annotations/ . Also a xml file will saved.

Usage

For MSCOCO dataset
python main.py
For any other dataset-
First change the labels in config.py (for keras model) or in tf_config.py( for tensorflow model). Then run:
python main.py

Tested on:

  • Windows 10
  • Linux 16.04
  • macOS High Sierra

Join the developers channel for contributions

Slack: https://join.slack.com/t/annomage/shared_invite/zt-dh4ca9du-4VOcwUMCSNA6lmyG~tNUPg