AnnoMage: A Semi-Automatic Image Annotation Tool


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


  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.


  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.


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

Tested on:

  • Windows 10
  • Linux 16.04
  • macOS High Sierra

Join the developers channel for contributions