albumentations-team / autoalbument

AutoML for image augmentation. AutoAlbument uses the Faster AutoAugment algorithm to find optimal augmentation policies. Documentation - https://albumentations.ai/docs/autoalbument/
https://albumentations.ai/docs/autoalbument/
MIT License
203 stars 20 forks source link
augmentation automated-machine-learning automl computer-vision deep-learning image-augmentation machine-learning pytorch

AutoAlbument

AutoAlbument is an AutoML tool that learns image augmentation policies from data using the Faster AutoAugment algorithm. It relieves the user from the burden of manually selecting augmentations and tuning their parameters. AutoAlbument provides a complete ready-to-use configuration for an augmentation pipeline.

The library supports image classification and semantic segmentation tasks. You can use Albumentations to utilize policies discovered by AutoAlbument in your computer vision pipelines.

The documentation is available at https://albumentations.ai/docs/autoalbument/

Benchmarks

Here is a comparison between a baseline augmentation strategy and an augmentation policy discovered by AutoAlbument for different classification and semantic segmentation tasks. You can read more about these benchmarks in the autoalbument-benchmarks repository.

Classification

Dataset Baseline Top-1 Accuracy AutoAlbument Top-1 Accuracy
CIFAR10 91.79 96.02
SVHN 98.31 98.48
ImageNet 73.27 75.17

Semantic segmentation

Dataset Baseline mIOU AutoAlbument mIOU
Pascal VOC 73.34 75.55
Cityscapes 79.47 79.92

Installation

AutoAlbument requires Python 3.6 or higher. To install the latest stable version from PyPI:

pip install -U autoalbument

How to use AutoAlbument

How to use AutoAlbument

  1. You need to create a configuration file with AutoAlbument parameters and a Python file that implements a custom PyTorch Dataset for your data. Next, you need to pass those files to AutoAlbument.
  2. AutoAlbument will use Generative Adversarial Network to discover augmentation policies and then create a file containing those policies.
  3. Finally, you can use Albumentations to load augmentation policies from the file and utilize them in your computer vision pipelines.

You can read the detailed description of all steps at https://albumentations.ai/docs/autoalbument/how_to_use/

Examples

The examples directory contains example configs for different tasks and datasets:

Classification

Semantic segmentation

To run the search with an example config:

autoalbument-search --config-dir </path/to/directory_with_dataset.py_and_search.yaml>