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

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 intoComposeandReplayCompose. No need to subclassComposeor build ad-hoc pipelines.
user_datatarget — Pass arbitrary Python objects through any pipeline alongside images, masks, bboxes, and keypoints. Overrideapply_to_user_datain a subclass to update them in response to transforms.
- Test-Time Augmentation — D4, SquareSymmetry, HorizontalFlip, VerticalFlip, RandomRotate90, and Transpose now support deterministic
group_elementselection 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+: