Data Augmentation Strategies
CV Augmentation (albumentations)
import albumentations as A
transform = A.Compose([
A.RandomResizedCrop(224, 224, scale=(0.2, 1.0)),
A.HorizontalFlip(p=0.5),
A.ColorJitter(brightness=0.4, contrast=0.4, saturation=0.2, hue=0.1),
A.GaussianBlur(blur_limit=(3, 7), p=0.5),
A.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
ToTensorV2(),
])
Mixing Strategies
- CutMix: replace random patch with another image's patch + mix labels
- MixUp: linear interpolation of images and labels
- Mosaic: 4 images in quadrants (YOLO-style)
Domain-Specific
- Medical: intensity windowing, elastic deformation, no flips if laterality matters
- Satellite: full rotation invariance, multi-scale crops
- Robotics: viewpoint synthesis, lighting variation, background randomization
Rules
- Never augment validation/test sets (except TTA at inference)
- Visually inspect augmented samples before training
- Match augmentation strength to dataset size (stronger for small datasets)
Key Libraries
albumentations, torchvision.transforms.v2, kornia
1---2name: data-augmentation-strategies3version: 1.0.04description: Domain-appropriate data augmentation for CV, robotics, and NLP pipelines.5---67# Data Augmentation Strategies89## CV Augmentation (albumentations)10```python11import albumentations as A12transform = A.Compose([13 A.RandomResizedCrop(224, 224, scale=(0.2, 1.0)),14 A.HorizontalFlip(p=0.5),15 A.ColorJitter(brightness=0.4, contrast=0.4, saturation=0.2, hue=0.1),16 A.GaussianBlur(blur_limit=(3, 7), p=0.5),17 A.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),18 ToTensorV2(),19])20```2122## Mixing Strategies23- **CutMix**: replace random patch with another image's patch + mix labels24- **MixUp**: linear interpolation of images and labels25- **Mosaic**: 4 images in quadrants (YOLO-style)2627## Domain-Specific28- **Medical**: intensity windowing, elastic deformation, no flips if laterality matters29- **Satellite**: full rotation invariance, multi-scale crops30- **Robotics**: viewpoint synthesis, lighting variation, background randomization3132## Rules33- Never augment validation/test sets (except TTA at inference)34- Visually inspect augmented samples before training35- Match augmentation strength to dataset size (stronger for small datasets)3637## Key Libraries38albumentations, torchvision.transforms.v2, kornia