← AI Terminology
Augmentation (CV)
Augmentation in computer vision (CV) is the practice of applying label-preserving transformations to training images — flips, crops, rotations, colour jitter — to artificially expand the dataset and improve model generalisation.
A cat image flipped horizontally is still a cat; augmentation uses this redundancy to train a more robust model.
A cat image flipped horizontally is still a cat; augmentation uses this redundancy to train a more robust model.
Why It Matters in AI
Labelled image data is expensive and scarce; augmentation multiplies its value. A model trained without augmentation memorises the exact orientations and lighting in training images; one trained with augmentation learns that a cat is a cat regardless of orientation or brightness. Strong augmentation policies often contribute 2–5% accuracy gains, and techniques like MixUp and CutMix have closed the gap between smaller and larger datasets.
Key Points
| Aspect | Description |
|---|---|
| Colour | Brightness, contrast, saturation, hue jitter — simulate lighting variation |
| Advanced | MixUp (blend two images), CutMix (paste a patch from another image), RandAugment |
| Geometric | Flip, rotate, crop, resize, perspective warp — change spatial layout while preserving label |
| Frameworks | torchvision.transforms, Albumentations, tf.image, Kornia |
| AutoAugment | Learns the best augmentation policy for a dataset via search (Google, 2018) |
| Self-supervised | Augmentation is the core signal in SimCLR, BYOL, DINO — two views of the same image |
Simple Analogy
Teaching a child to recognise dogs using only photos of dogs sitting still in good lighting — then testing on dogs running in rain. Augmentation is showing the child dogs in every imaginable pose and condition during training so the concept generalises rather than over-fitting to one presentation.
Common Usage Examples
transforms.Compose([RandomHorizontalFlip(), ColorJitter(0.4, 0.4, 0.4)])in PyTorch- Albumentations:
A.RandomRotate90(),A.RandomBrightnessContrast()— fast CPU augmentation library - MixUp:
x_mix = λ*x_i + (1-λ)*x_j; y_mix = λ*y_i + (1-λ)*y_j - AutoAugment policy used in EfficientNet training — learned augmentation schedule
- DINO / SimCLR: two differently-augmented crops of the same image form a positive pair for contrastive learning
Summary
In short: CV augmentation is the cheapest way to get more data — transform what you have so the model learns the concept, not the exact pixels.