Software:Albumentations

From HandWiki
Albumentations
Original author(s)
  • Alexander Buslaev
  • Vladimir I. Iglovikov
  • Alex Parinov
Initial releaseJune 2018; 7 years ago (2018-06)
Repositorygithub.com/albumentations-team/albumentations
Written in
Operating system
Available inEnglish
TypeLibrary for machine learning and deep learning
LicenseMIT[1]
Websitealbumentations.ai

Albumentations is an open-source image augmentation library introduced in 2018 by researchers Alexander Buslaev, Vladimir Iglovikov, and Alex Parinov. The library provides a flexible and efficient framework for applying data augmentation techniques in computer vision workflows.[2] Additional core contributors include Eugene Khvedchenya and Mikhail Druzhinin.[3]

Albumentations is built on top of the OpenCV library and provides optimized implementations of many image-processing operations. Its API enables composition of augmentation pipelines for tasks including image classification, object detection, semantic segmentation, instance segmentation, keypoint detection, and multi-target workflows.[4]

Adoption

Albumentations is widely used in academic research, industrial machine learning pipelines, and Kaggle competitions.[5]

The project is an Affiliated Project of NumFOCUS, a non-profit organization supporting open-source scientific computing.[6]

The Albumentations research paper has received more than 3000 citations according to Google Scholar.[7]

The library has been used in solutions to computer vision challenges, including the Kaggle Deepfake Detection Challenge (DFDC).[8]

Package analytics indicate more than 100 million cumulative installations.[9]

Features

Albumentations supports deterministic and randomized augmentation pipelines for a broad range of annotation types.

2D image and annotation targets

Supported 2D targets include:

  • Images in RGB, grayscale, and arbitrary multi-channel configurations[10]
  • Segmentation masks and dense label maps with any number of channels, including instance segmentation multi-mask workflows[11]
  • Bounding boxes in COCO, Pascal VOC, YOLO, and Albumentations formats[12]
  • Keypoints in multiple coordinate systems[13]

Albumentations can synchronize transforms across many targets simultaneously, including:

  • multiple images,
  • multiple masks,
  • multiple bounding-box sets,
  • multiple keypoint sets.

This enables workflows such as stereo vision, multi-view datasets, and multi-sensor fusion.

A full compatibility matrix of transforms and supported targets is documented online.[14]

Video and temporal data

Albumentations supports consistent augmentation of video sequences by applying transforms with shared random parameters across frames.[15]

Volumetric (3D) data

Albumentations supports 3D augmentation for medical imaging and scientific computing, including:

  • 3D images with arbitrary channel counts,
  • 3D multi-class or multi-channel masks,
  • 3D keypoints.

Volumetric transforms are available in the core library and through ecosystem extensions such as Albucore.[16][17]

Fork and successor project

In 2024–2025, the original Albumentations project entered maintenance mode. A successor project, AlbumentationsX, was created to extend functionality and continue active development.

AlbumentationsX expands support for 2D, 3D, and video targets, introduces new transformations, and provides internal performance improvements while staying API-compatible with Albumentations.

AlbumentationsX uses a dual licensing model: AGPL-3.0 or a commercial license.[18]

A benchmarking repository comparing AlbumentationsX with other libraries is publicly available.[19]

Example

The following program applies the same augmentation pipeline to an image and its segmentation mask:

import albumentations as A
import cv2

transform = A.Compose([
    A.RandomCrop(width=256, height=256),
    A.HorizontalFlip(p=0.5),
    A.RandomBrightnessContrast(p=0.2),
])

image = cv2.imread("image.jpg")
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

mask = cv2.imread("mask.png", cv2.IMREAD_GRAYSCALE)

transformed = transform(image=image, mask=mask)
aug_image = transformed["image"]
aug_mask = transformed["mask"]

References

  1. "MIT License". GitHub. https://github.com/albumentations-team/albumentations/blob/master/LICENSE. 
  2. Alexander Buslaev; Vladimir Iglovikov; Alex Parinov; Eugene Khvedchenya; Alexandr A. Kalinin (2020). "Albumentations: Fast and Flexible Image Augmentations". Information (MDPI) 11 (2): 125. doi:10.3390/info11020125. 
  3. "Albumentations contributors". GitHub. https://github.com/albumentations-team/albumentations/graphs/contributors. 
  4. "Albumentations Documentation – Basic Usage". Albumentations. https://albumentations.ai/docs/3-basic-usage/. 
  5. Alexander Buslaev; Vladimir Iglovikov; Alex Parinov; Eugene Khvedchenya; Alexandr A. Kalinin (2020). "Albumentations: Fast and Flexible Image Augmentations". Information (MDPI) 11 (2): 125. doi:10.3390/info11020125. 
  6. "Affiliated Projects". NumFOCUS. https://numfocus.org/sponsored-projects/affiliated-projects. 
  7. "Google Scholar – Albumentations: Fast and Flexible Image Augmentations". Google Scholar. https://scholar.google.com/citations?view_op=view_citation&hl=en&user=vkjh9X0AAAAJ&citation_for_view=vkjh9X0AAAAJ:r0BpntZqJG4C. 
  8. Brian Dolhansky; Joan Hu; Evgeniya Ferrer (2020). "The DeepFake Detection Challenge Dataset". arXiv:2006.07397 [cs.CV].
  9. "Albumentations – Download Statistics". PePy. https://pepy.tech/project/albumentations. 
  10. "Image Classification". Albumentations. https://albumentations.ai/docs/3-basic-usage/image-classification/. 
  11. "Semantic Segmentation". Albumentations. https://albumentations.ai/docs/3-basic-usage/semantic-segmentation/. 
  12. "Bounding Boxes Augmentation". Albumentations. https://albumentations.ai/docs/3-basic-usage/bounding-boxes-augmentations/. 
  13. "Keypoint Augmentation". Albumentations. https://albumentations.ai/docs/3-basic-usage/keypoint-augmentations/. 
  14. "Supported Targets by Transform". Albumentations. https://albumentations.ai/docs/reference/supported-targets-by-transform/. 
  15. "Video Augmentation". Albumentations. https://albumentations.ai/docs/3-basic-usage/video-augmentation/. 
  16. "Volumetric Augmentation (3D)". Albumentations. https://albumentations.ai/docs/3-basic-usage/volumetric-augmentation/. 
  17. "Albucore: High-Performance Image Processing Utilities". Albumentations Team. https://github.com/albumentations-team/albucore. 
  18. "Announcing AlbumentationsX". Albumentations. https://albumentations.ai/blog/announcing-albumentationsx/. 
  19. "Albumentations Benchmarks". GitHub. https://github.com/albumentations-team/benchmark.