# mdbloice/augmentor

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/mdbloice-augmentor).**

5,137 stars · 873 forks · Python · MIT

## Links

- GitHub: https://github.com/mdbloice/Augmentor
- Homepage: https://augmentor.readthedocs.io/en/stable
- awesome-repositories: https://awesome-repositories.com/repository/mdbloice-augmentor.md

## Description

Augmentor is a Python image augmentation library and framework designed to expand machine learning datasets. It functions as a preprocessing tool that generates synthetic image variations to increase data diversity and as a training data streamer that feeds augmented images and labels directly into neural network loops without requiring intermediate disk storage.

The framework maintains spatial alignment between images and their corresponding masks, which is required for semantic segmentation training. It supports various geometric and pixel-level transformations, including elastic distortions, perspective shifts via tilt and skew, rotation, shearing, and random region erasing.

The system includes capabilities for per-class processing strategies to address data imbalance and uses multi-threading to accelerate the parallel generation of augmented datasets. It also provides utilities for cleaning and standardizing raw image files during the preprocessing stage.

## Tags

### Artificial Intelligence & ML

- [Computer Vision Dataset Expansion](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-dataset-expansion.md) — Increases training set size and diversity by generating multiple synthetic variations of images. ([source](https://cdn.jsdelivr.net/gh/mdbloice/augmentor@main/README.md))
- [Image Augmentation](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-systems/computer-vision/image-augmentation.md) — Applies geometric distortions and random erasures to images to improve vision model robustness.
- [Transform Sequence Assemblers](https://awesome-repositories.com/f/artificial-intelligence-ml/data-augmentation-pipelines/transform-sequence-assemblers.md) — Implements sequences of transformations to generate augmented data from a single input image.
- [Image Data Preprocessing](https://awesome-repositories.com/f/artificial-intelligence-ml/image-data-preprocessing.md) — Provides utilities to clean and standardize raw image files for use in machine learning processing pipelines. ([source](https://augmentor.readthedocs.io/en/stable))
- [Image Dataset Expansion Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/image-dataset-expansion-frameworks.md) — Provides a framework to expand image datasets using synchronized transformations for images and masks.
- [ML Training Data Streamers](https://awesome-repositories.com/f/artificial-intelligence-ml/ml-training-data-streamers.md) — Streams augmented images and labels directly into training loops to avoid storing intermediate files.
- [On-the-Fly Training Transformations](https://awesome-repositories.com/f/artificial-intelligence-ml/on-the-fly-training-transformations.md) — Streams augmented images and labels directly into training loops to avoid writing intermediate files to disk.
- [Synchronized Label Augmentations](https://awesome-repositories.com/f/artificial-intelligence-ml/synchronized-label-augmentations.md) — Applies identical geometric transformations to images and labels to maintain spatial alignment. ([source](https://cdn.jsdelivr.net/gh/mdbloice/augmentor@main/README.md))
- [Image Augmentations](https://awesome-repositories.com/f/artificial-intelligence-ml/training-data-transformations/image-augmentations.md) — A Python library for generating synthetic image variations to increase training dataset diversity.
- [Class-Specific Augmentation Strategies](https://awesome-repositories.com/f/artificial-intelligence-ml/class-imbalance-handling/class-specific-augmentation-strategies.md) — Allows defining unique processing pipelines for different object categories to handle data imbalances.
- [Per-Class Processing Configurations](https://awesome-repositories.com/f/artificial-intelligence-ml/class-imbalance-handling/per-class-processing-configurations.md) — Provides a configuration system for unique processing pipelines tailored to different object categories. ([source](https://cdn.jsdelivr.net/gh/mdbloice/augmentor@main/README.md))
- [Computer Vision Preprocessing](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-preprocessing.md) — Provides utilities for cleaning and standardizing raw image files to prepare them for training.
- [Region Erasers](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-systems/computer-vision/image-augmentation/region-erasers.md) — Implements random region erasing to obscure portions of images, improving model robustness against occlusions. ([source](https://cdn.jsdelivr.net/gh/mdbloice/augmentor@main/README.md))
- [Semantic Segmentation Training](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-systems/image-segmentation/segmentation-model-training/semantic-segmentation-training.md) — Maintains spatial alignment between images and masks during transformations for pixel-level labeling.
- [Parallel Image Generation](https://awesome-repositories.com/f/artificial-intelligence-ml/parallel-image-generation.md) — Uses multi-threading to distribute image processing tasks across CPU cores for faster dataset generation.

### Data & Databases

- [Training Sample Streaming](https://awesome-repositories.com/f/data-databases/incremental-data-streaming/large-dataset-streaming/training-sample-streaming.md) — Streams augmented image batches and labels directly into neural network training loops. ([source](https://cdn.jsdelivr.net/gh/mdbloice/augmentor@main/README.md))

### User Interface & Experience

- [Geometric Mask Synchronization](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/image-masking/segmentation-mask-handlers/geometric-mask-synchronization.md) — Ensures that spatial coordinates and rotation parameters are applied identically to both images and their label masks.

### Graphics & Multimedia

- [Rotation and Shear transforms](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/coordinate-viewport-transformations/affine-transformation-matrices/image-geometric-transformations/image-rotation/rotation-and-shear-transforms.md) — Provides capabilities to rotate and shear images while cropping results to maintain consistent dimensions. ([source](https://cdn.jsdelivr.net/gh/mdbloice/augmentor@main/README.md))
- [Coordinate-Based Spatial Distortions](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/post-processing-effects/lens-distortion/distortion-simulation/coordinate-based-spatial-distortions.md) — Provides spatial distortions like tilt, skew, and elastic warping to simulate various camera perspectives.
- [Elastic Distortion Augmentations](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/post-processing-effects/lens-distortion/distortion-simulation/elastic-distortion-augmentations.md) — Implements elastic distortions to create realistic image variations while preserving labels and aspect ratios. ([source](https://cdn.jsdelivr.net/gh/mdbloice/augmentor@main/README.md))
- [Perspective Warping](https://awesome-repositories.com/f/graphics-multimedia/perspective-warping.md) — Provides geometric transformations to alter image viewpoints and simulate different camera angles through tilt and skew. ([source](https://cdn.jsdelivr.net/gh/mdbloice/augmentor@main/README.md))

### Scientific & Mathematical Computing

- [Parallel Image Transformers](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/high-performance-and-parallel-computing/parallel-processing/parallel-image-transformers.md) — Uses multi-threading to accelerate the parallel generation and saving of augmented image datasets across CPU cores. ([source](https://cdn.jsdelivr.net/gh/mdbloice/augmentor@main/README.md))

### Part of an Awesome List

- [Computer Vision](https://awesome-repositories.com/f/awesome-lists/ai/computer-vision.md) — Image augmentation library.
- [Developer Tools](https://awesome-repositories.com/f/awesome-lists/devtools/developer-tools.md) — Python library for image augmentation in machine learning pipelines.
