Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Data Science
  3. imgaug

imgaug

MITPython0.4.0

A Python library for augmenting images and associated data (heatmaps, keypoints, bounding boxes) for machine learning projects.

Visit WebsiteGitHubGitHub
14.7k stars2.4k forks0 contributors

What is imgaug?

imgaug is a Python library for image augmentation in machine learning projects. It transforms a set of input images into a larger, more diverse dataset by applying various alterations like rotations, flips, noise, and color changes. This helps improve model generalization and performance by providing more varied training examples.

Target Audience

Machine learning engineers, data scientists, and researchers working on computer vision projects who need to augment their training datasets to enhance model robustness and prevent overfitting.

Value Proposition

Developers choose imgaug for its extensive range of augmentation techniques, support for multiple data types (images, keypoints, bounding boxes, etc.), high performance, and ease of integration into existing machine learning pipelines.

Overview

Image augmentation for machine learning experiments.

Use Cases

Best For

  • Augmenting image datasets for deep learning models like CNNs
  • Applying consistent transformations to images and their annotations (e.g., bounding boxes, keypoints)
  • Generating synthetic training data to improve model generalization
  • Experimenting with various augmentation techniques for computer vision research
  • Preprocessing images for object detection or segmentation tasks
  • Increasing dataset size when labeled data is limited

Not Ideal For

  • Real-time data pipelines that depend on GPU acceleration for augmentation speed
  • Projects deeply integrated with TensorFlow's tf.data or PyTorch's torchvision.transforms without extra abstraction layers
  • Applications where only a few standard augmentations (e.g., flip, rotate) are required, as simpler tools can reduce overhead

Pros & Cons

Pros

Extensive Augmentation Range

Supports over 100 augmenters including affine transformations, noise addition, and artistic effects, as detailed in the comprehensive example images table.

Consistent Multi-Data Support

Automatically aligns augmentations across images, heatmaps, segmentation maps, keypoints, and bounding boxes without extra code, ensuring annotation integrity as demonstrated in the README's visual examples.

High Performance Design

Optimized for batchwise processing and multicore CPU usage, leveraging multiple cores to accelerate large dataset augmentation, as highlighted in the features section.

Flexible Probability Distributions

Allows parameters to be defined using probability distributions like uniform or beta, enabling fine-tuned random augmentation sampling, as shown in the code examples.

Cons

Limited Dtype Support

Full support only for uint8 images; other data types require additional handling as noted in the documentation, which can complicate workflows with specialized formats.

API Complexity

With a vast array of augmenters and parameters, the learning curve is steep, and the separate documentation repo (imgaug-doc) might lead to fragmented information access.

CPU-Only Execution

Lacks native GPU acceleration, which can be a bottleneck for real-time augmentation in GPU-intensive deep learning workflows, despite multicore optimizations.

Frequently Asked Questions

Quick Stats

Stars14,736
Forks2,443
Contributors0
Open Issues290
Last commit2 years ago
CreatedSince 2015

Tags

#python-library#training-data#image-augmentation#images#deep-learning#heatmap#polygon#augmentation#data-augmentation#computer-vision#machine-learning

Built With

P
Python

Links & Resources

Website

Included in

Robotic Tooling3.8kData Science3.4k
Auto-fetched 7 hours ago

Related Projects

OpenCVOpenCV

Open Source Computer Vision Library

Stars91,313
Forks57,058
Last commit18 hours ago
detectron2detectron2

Detectron2 is a platform for object detection, segmentation and other visual recognition tasks.

Stars34,944
Forks7,943
Last commit3 days ago
EasyOCREasyOCR

Ready-to-use OCR with 80+ supported languages and all popular writing scripts including Latin, Chinese, Arabic, Devanagari, Cyrillic and etc.

Stars30,095
Forks3,615
Last commit10 months ago
torchvisiontorchvision

Datasets, Transforms and Models specific to Computer Vision

Stars17,969
Forks7,282
Last commit12 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub