Open Sustainable Technology

A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

Browse accepted projects | Review proposed projects | Propose new project | Open Issues

Annotation Interface for Data-driven Ecology

Tools for detecting wildlife in aerial images using active learning.
https://github.com/microsoft/aerial_wildlife_detection

active-learning aerial-imagery aiforearth conservation wildlife

Last synced: about 23 hours ago
JSON representation

Repository metadata

Tools for detecting wildlife in aerial images using active learning

README

        

# AIDE: Annotation Interface for Data-driven Ecology

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](https://bkellenb.github.io), supported by the [Microsoft AI for Earth](https://www.microsoft.com/en-us/ai/ai-for-earth) program.

## Contents
* [Highlights](#highlights)
* [News](#news)
* [Demo](#demo)
* [Installation and launching AIDE](#installation-and-launching-aide)
* [AI models in AIDE](#ai-models-in-aide)
* [Built-in AI models](#built-in-ai-models)
* [Writing your own AI model](#writing-your-own-ai-model)
* [Publications and References](#publications-and-references)
* [Contributing](#contributing)

## 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](doc/custom_model.md)).
* **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](doc/figures/AIDE_workflow.png)

## News

### AIDE v2.1 is out

AIDE v2.1 is out! This includes a new interactive installer for Debian/Ubuntu systems as well as a plethora of bug fixes.

[Older news](doc/news.md)

## Demo

A demo of AIDE v2 can be accessed **[here](http://aidedemo.westeurope.cloudapp.azure.com:8080/)**.

This demo allows exploring the annotation front-end with a number of example datasets, including:
* **[Image labels](http://aidedemo.westeurope.cloudapp.azure.com:8080/snapshot_serengeti/interface)** on the [Snapshot Serengeti camera traps dataset](http://lila.science/datasets/snapshot-serengeti)
* **[Points](http://aidedemo.westeurope.cloudapp.azure.com:8080/vgg_penguins/interface)** on the [VGG Penguins dataset](http://www.robots.ox.ac.uk/~vgg/data/penguins/)
* **[Bounding boxes](http://aidedemo.westeurope.cloudapp.azure.com:8080/arcticseals/interface)** on the [NOAA Arctic Seals aerial imagery](http://lila.science/datasets/arcticseals)
* **[Semantic segmentation](http://aidedemo.westeurope.cloudapp.azure.com:8080/landcover/interface)** on the [Chesapeake Land Cover satellite imagery](http://lila.science/datasets/chesapeakelandcover)

## Installation and launching AIDE

See [here](doc/install_overview.md).

## 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](https://arxiv.org/abs/1404.5997) |
| | DenseNet | DenseNet-161 | [paper](https://arxiv.org/abs/1608.06993) |
| | MNASNet | MNASNet | [paper](https://arxiv.org/abs/1807.11626) |
| | MobileNet | MobileNet V2 | [paper](https://arxiv.org/abs/1801.04381) |
| | ResNet | ResNet-18; ResNet-34; ResNet-50; ResNet-101; ResNet-152 | [paper](https://arxiv.org/abs/1512.03385) |
| | ResNeXt | ResNeXt-50; ResNeXt-101 | [paper](https://arxiv.org/abs/1611.05431) |
| | ShuffleNet | ShuffleNet V2 | [paper](https://arxiv.org/abs/1807.11164) |
| | SqueezeNet | SqueezeNet | [paper](https://arxiv.org/abs/1602.07360) |
| | VGG | VGG-16 | [paper](https://arxiv.org/abs/1409.1556) |
| | Wide ResNet | Wide ResNet-50; Wide ResNet-101 | [info](https://pytorch.org/vision/stable/models.html#wide-resnet) |
| Bounding boxes | Faster R-CNN | with ResNet-50 (PASCAL VOC); with ResNet-50 (MS-COCO); with ResNeXt-101 FPN (MS-COCO) | [paper](https://arxiv.org/pdf/1506.01497.pdf), [implementation details](https://github.com/facebookresearch/detectron2/blob/master/MODEL_ZOO.md#faster-r-cnn) |
| | RetinaNet | with ResNet-50 FPN (MS-COCO); with ResNet-101 FPN (MS-COCO) | [paper](https://openaccess.thecvf.com/content_ICCV_2017/papers/Lin_Focal_Loss_for_ICCV_2017_paper.pdf), [implementation details](https://github.com/facebookresearch/detectron2/blob/master/MODEL_ZOO.md#retinanet) |
| | TridentNet | with ResNet-50; ResNet-101 (MS-COCO) | [paper](https://arxiv.org/abs/1901.01892), [implementation details](https://github.com/facebookresearch/detectron2/tree/master/projects/TridentNet)
| Segmentation masks | DeepLabV3+ | with modified ResNet-101 (Cityscapes) | [paper](http://openaccess.thecvf.com/content_ECCV_2018/papers/Liang-Chieh_Chen_Encoder-Decoder_with_Atrous_ECCV_2018_paper.pdf), [implementation details](https://github.com/facebookresearch/detectron2/tree/master/projects/DeepLab) |

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](https://ieeexplore.ieee.org/document/5206848) 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](doc/custom_model.md) 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](https://doi.org/10.1111/2041-210X.13489).

```BibTeX
@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}
}
```

If you use AIDE, we would be happy to hear from you! Please send us an [E-mail](mailto:[email protected]) 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.

## Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide
a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
contact [[email protected]](mailto:[email protected]) with any additional questions or comments.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 24 days ago

Total Commits: 744
Total Committers: 14
Avg Commits per committer: 53.143
Development Distribution Score (DDS): 0.536

Commits in past year: 12
Committers in past year: 2
Avg Commits per committer in past year: 6.0
Development Distribution Score (DDS) in past year: 0.083

Name Email Commits
bkellenb k****u@k****t 345
bkellenb p****n@p****t 159
bkellenb b****r@e****h 142
= =**** 47
Dan Morris d****s@c****u 18
szjarek s****k@o****m 15
amritagupta g****0@g****m 9
Jaroslaw Szczegielniak j****k@o****k 2
= b****r@w****l 2
microsoft-github-policy-service[bot] 7****] 1
Matthew Skiffington 4****f 1
bkellenb r****t@k****t 1
Francesco Frassinelli f****i@n****o 1
junxnone j****2@g****m 1

Committer domains:


Issue and Pull Request metadata

Last synced: 2 days ago

Total issues: 47
Total pull requests: 18
Average time to close issues: 23 days
Average time to close pull requests: 3 months
Total issue authors: 21
Total pull request authors: 11
Average comments per issue: 2.34
Average comments per pull request: 0.78
Merged pull request: 6
Bot issues: 0
Bot pull requests: 1

Past year issues: 3
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 2
Past year pull request authors: 0
Past year average comments per issue: 0.0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/microsoft/aerial_wildlife_detection

Top Issue Authors

  • ctorney (9)
  • frafra (7)
  • AllenDun (3)
  • simbamangu (3)
  • mikeyEcology (3)
  • MattSkiff (3)
  • YangZhangMizzou (2)
  • VLucet (2)
  • scfulford (2)
  • bkellenb (2)
  • jstabach (1)
  • marireeves (1)
  • JCAAUSFRA (1)
  • HPL123 (1)
  • robmarkcole (1)

Top Pull Request Authors

  • frafra (5)
  • Infinite-Blue-1042 (2)
  • MattSkiff (2)
  • szjarek (2)
  • microsoft-github-policy-service[bot] (1)
  • Forchapeatl (1)
  • kushalsingh-00 (1)
  • ctorney (1)
  • bkellenb (1)
  • junxnone (1)
  • agentmorris (1)

Top Issue Labels

Top Pull Request Labels


Dependencies

docker/requirements.txt pypi
  • Pillow >=2.2.1
  • bcrypt >=3.1.6
  • bottle >=0.12
  • celery *
  • detectron2 *
  • gunicorn >=19.9.0
  • netifaces >=0.10.9
  • numpy *
  • opencv-python *
  • psycopg2 >=2.8.2
  • python-dateutil *
  • requests *
  • torch ==1.9.0
  • torchvision ==0.10.0
  • tqdm >=4.32.1
requirements.txt pypi
  • Pillow >=2.2.1
  • bcrypt >=3.1.6
  • bottle >=0.12
  • celery *
  • detectron2 *
  • gunicorn >=19.9.0
  • netifaces >=0.10.9
  • numpy *
  • opencv-python *
  • psycopg2-binary >=2.8.2
  • python-dateutil *
  • requests *
  • torch ==1.9.0
  • torchvision ==0.10.0
  • tqdm >=4.32.1
docker/Dockerfile docker
  • pytorch/pytorch 1.9.0-cuda11.1-cudnn8-devel build
docker/docker-compose.yml docker
  • aide_app latest
setup.py pypi

Score: 8.10711747075039