Albumentations Changelog+

Archives
March 23, 2026

Albumentations: 9 new transforms, custom targets, and a deep-dive blog post

Albumentations Monthly: 9 new transforms, custom targets, TTA, and a deep-dive blog post

Hi,

Here's what happened with Albumentations over the past month.

Blog Post: Image Augmentation in Practice

Published a comprehensive guide on image augmentation — distilling roughly a decade of training CV models and building Albumentations into one document. It covers:

  • Two regimes of augmentation: in-distribution (fill gaps in what you could have collected) vs out-of-distribution (regularization through deliberately unrealistic transforms)
  • The one rule: would a human annotator keep the same label after the transformation?
  • How to build a starter pipeline, expand it systematically, and avoid silent label corruption
  • Task-specific advice for detection, segmentation, keypoints, medical imaging, satellite, and OCR
  • Why "only use realistic augmentation" is incomplete advice for high-capacity models
  • Test-time augmentation, contrastive learning, and domain randomization

Read it in English or Russian.


Library Updates (v2.0.18 → v2.1.0)

New Transforms

parrot_demo_output.webp

Nine new transforms, all available on explore.albumentations.ai:

Transform What it does
PhotoMetricDistort SSD paper's photometric distortion pipeline, matching torchvision's API and defaults
AtmosphericFog Depth-dependent fog via scattering (linear or radial depth)
FilmGrain Luminance-dependent, spatially correlated film-style noise
Halftone Printing-style halftone dot pattern
LensFlare Starburst and ghost reflections for optical artifacts
Vignetting Darkened edges with configurable intensity and center
GridMask Grid-line dropout (thin stripes); paper-based
WaterRefraction Wave-like refraction distortion (amplitude, wavelength, num_waves)
ChannelSwap Fixed channel permutation (e.g. RGB→BGR)

New Features

  • Custom apply targets — Transforms can now define apply_to_<key> methods for arbitrary data types (labels, heatmaps, camera intrinsics, etc.) that automatically wire into Compose and ReplayCompose. No need to subclass Compose or build ad-hoc pipelines.
  • user_data target — Pass arbitrary Python objects through any pipeline alongside images, masks, bboxes, and keypoints. Override apply_to_user_data in a subclass to update them in response to transforms.
  • Test-Time Augmentation — D4, SquareSymmetry, HorizontalFlip, VerticalFlip, RandomRotate90, and Transpose now support deterministic group_element selection and .inverse() methods, making TTA pipelines straightforward to implement.

Performance

Plenty of speedups across the board — multi-channel operations, video/batch processing, vectorized internals. Full updated benchmark results: Image Benchmarks (Albumentations is fastest on 50 of 54 tested transforms, with a 14.6x average speedup over the nearest competitor).


Questions, feedback, bug reports — reach out on GitHub, Discord, Reddit or X.

Best, Vladimir Iglovikov

Don't miss what's next. Subscribe to Albumentations Changelog+:
Powered by Buttondown, the easiest way to start and grow your newsletter.