GitHub

AIDE banner

Ubuntu build macOS build Docker build

This is the new official repository for AIDE, superseding the previous one.

AIDE teaser

AIDE is two things in one: a tool for manually annotating images and a tool for training and running machine (deep) learning models. Those two things are coupled in an active learning loop: the human annotates a few images, the system trains a model, that model is used to make predictions and to select more images for the human to annotate, etc.

More generally, AIDE is a modular Web framework for labeling image datasets with AI assistance. AIDE is configurable for a variety of tasks, but it is particularly intended for ecological applications, such as the acceleration wildlife surveys that use aerial images.

AIDE is primarily developed by Benjamin Kellenberger. The project emerged within the Microsoft AI for Earth program but is now implemented independently.

Contents

Highlights

  • Powerful: AIDE explicitly integrates humans and AI models in an annotation loop.
  • Fast: AIDE has been designed with speed in mind, both in terms of computations and workflow.
  • Flexible: The framework allows full customizability, from hyperparameters to models to annotation types to libraries. It provides:
    • Support for image classification, point annotations, and bounding boxes (object detection)
    • Many deep learning-based AI models and Active Learning criteria built-in
    • Interfaces for custom AI models and criteria, using any framework or library you want (see how to write your own model).
  • Fully featured: Beyond image labeling and model training, AIDE has management and graphical user/machine performance evaluation tools built-in, right in the web browser, allowing for advanced, manual label quality checks.
  • Modular: AIDE is separated into individual modules, each of which can be run on separate machines for scalability. It even supports on-the-fly addition of computational workers for computationally intensive model training!

AIDE highlights

News

April 26, 2024

AIDE has moved to its new home: https://github.com/bkellenb/AIDE. All future code developments will happen in this repository. Note that this builds on the yet to be officially releaset version 3.0 (see here for development status).

Older news

Demo

A demo of AIDE can be accessed here.

This demo allows exploring the annotation front-end with a number of example datasets, including:

Installation and launching AIDE

See here.

AI models in AIDE

Built-in AI models

AIDE ships with a set of built-in models that can be configured and customized:

Label type AI model Model variants / backbones More info
Image labels AlexNet AlexNet paper
DenseNet DenseNet-161 paper
MNASNet MNASNet paper
MobileNet MobileNet V2 paper
ResNet ResNet-18; ResNet-34; ResNet-50; ResNet-101; ResNet-152 paper
ResNeXt ResNeXt-50; ResNeXt-101 paper
ShuffleNet ShuffleNet V2 paper
SqueezeNet SqueezeNet paper
VGG VGG-16 paper
Wide ResNet Wide ResNet-50; Wide ResNet-101 info
Bounding boxes Faster R-CNN with ResNet-50 (PASCAL VOC); with ResNet-50 (MS-COCO); with ResNeXt-101 FPN (MS-COCO) paper, implementation details
RetinaNet with ResNet-50 FPN (MS-COCO); with ResNet-101 FPN (MS-COCO) paper, implementation details
TridentNet with ResNet-50; ResNet-101 (MS-COCO) paper, implementation details
YOLOv5 with all YOLOv5 models (nano to xlarge; MS-COCO) with MegaDetector v5a and v5b YOLOv5; MegaDetector
DeepForest with DeepForest and BirdDetector DeepForest
Segmentation masks DeepLabV3+ with modified ResNet-101 (Cityscapes) paper, implementation details
U-net (currently no pre-trained state) paper

All models can be configured in various ways through the AI model settings page in the Web browser. They all are pre-trained on ImageNet unless specified otherwise. To use one of the built-in models, simply import the requested one to your project through the Model Marketplace in the Web browser and start training/predicting!

Writing your own AI model

AIDE is fully modular and supports custom AI models, as long as they provide a Python interface and can handle at least one of the different annotation and prediction types appropriately. We greatly welcome contributions and are happy to help in the implementation of your custom models!

See here for instructions on implementing custom models into AIDE.

Publications and References

Please cite the following paper if you use AIDE in your work:

Kellenberger, Benjamin, Devis Tuia, and Dan Morris. "AIDE: Accelerating image‐based ecological surveys with interactive machine learning." Methods in Ecology and Evolution 11(12), 1716-1727. DOI: 10.1111/2041-210X.13489.

@article{kellenberger2020aide,
  title={AIDE: Accelerating image-based ecological surveys with interactive machine learning},
  author={Kellenberger, Benjamin and Tuia, Devis and Morris, Dan},
  journal={Methods in Ecology and Evolution},
  volume={11},
  number={12},
  pages={1716--1727},
  year={2020},
  publisher={Wiley Online Library}
}

License

This repository adopts the MIT license.

All code written prior to April 26, 2024 is copyright Microsoft.

Contributing

Contributions in any form to AIDE are most welcome! These include (but are not limited to):

  • Feedback about user experience, suggestions, etc.
  • Trained/fine-tuned model instances from the Model Marketplace (here are some examples for you to use for free!)
  • Custom model implementations (see here for details)
  • Reports on hard- and software compatibility (see here)
  • Bug reports (please open an issue for an encountered bug) and bug fixes/suggestions
  • Any message, positive or negative, about your usage and experience of AIDE!

In general, if you use AIDE, we would be happy to hear from you! Please send us an E-mail with a little bit of info about your use case; besides getting to know the fellow usership of our software, this also enables us to provide somewhat more tailored support for you if needed. Thank you very much.

Read the original on github.com ↗