Roboflow Docs
DashboardResourcesProducts
  • Product Documentation
  • Developer Reference
  • Changelog
  • Roboflow Documentation
  • Quickstart
  • Workspaces
    • Workspaces, Projects, and Models
    • Create a Workspace
    • Rename a Workspace
    • Delete a Workspace
  • Team Members
    • Invite a Team Member
    • Role-Based Access Control (RBAC)
    • Change a Team Member Role
    • Remove a Team Member
  • Single Sign On (SSO)
  • Workflows
    • What is Workflows?
    • Create a Workflow
    • Build a Workflow
    • Test a Workflow
    • Deploy a Workflow
    • Workflow Examples
      • Multimodal Model Workflow
    • Share a Workflow
    • Workflows AI Assistant
  • Enterprise Integrations
  • Workflow Blocks
    • Run a Model
      • Object Detection Model
      • Single-Label Classification Model
    • Visualize Predictions
      • Bounding Box Visualization
      • Label Visualization
      • Circle Visualization
      • Background Color Visualization
      • Classification Label Visualization
      • Crop Visualization
  • Dataset Management
    • Create a Project
    • Upload Images, Videos, and Annotations
      • Import Data from Cloud Providers
        • AWS S3 Bucket
        • Azure Blob Storage
        • Google Cloud Storage
      • Import from Roboflow Universe
    • Manage Datasets
      • Dataset Batches
      • Search a Dataset
      • Set Dataset Classes
      • Add Tags to Images
      • Create an Annotation Attribute
      • Download an Image
      • Delete an Image
    • Dataset Versions
      • Create a Dataset Version
      • Preprocess Images
      • Image Augmentation
        • Augmentation Types
          • Flip Augmentation
          • 90ยบ Rotate Augmentation
          • Crop Augmentation
          • Rotation Augmentation
          • Shear Augmentation
          • Grayscale Augmentation
          • Hue Augmentation
          • Saturation Augmentation
          • Brightness Augmentation
          • Exposure Augmentation
          • Blur Augmentation
          • Noise Augmentation
          • Cutout Augmentation
          • Mosaic Augmentation
        • Add Augmentations to Images
      • Delete a Version
    • Dataset Analytics
    • Merge Projects
    • Rename a Project
    • Delete a Project
    • Project Folders
    • Make a Project Public
    • Download a Dataset
  • Annotate
    • Introduction to Roboflow Annotate
    • Annotate an Image
      • Keyboard Shortcuts
      • Comment on an Image
      • Annotation History
      • Similarity Search
    • AI Labeling
      • Label Assist
      • Smart Polygon
      • Box Prompting
      • Auto Label
    • Set Keypoint Skeletons
    • Annotate Keypoints
    • Annotate Multimodal Data
    • Collaborate on Labeling
    • Annotation Insights
  • Roboflow Labeling Services
  • Train
    • Train a Model
      • Train from a Universe Checkpoint
      • Train from Azure Vision
      • Train from Google Cloud
    • Roboflow Instant
    • Cancel a Training Job
    • Stop Training Early
    • View Training Results
    • View Trained Models
    • Evaluate Trained Models
  • Deploy
    • Deploy a Model or Workflow
    • Supported Models
    • Managed Deployments
    • Serverless Hosted API V2
      • Use in a Workflow
      • Use with the REST API
      • Run an Instant Model
    • Serverless Hosted API
      • Object Detection
      • Classification
      • Instance Segmentation
        • Semantic Segmentation
      • Keypoint Detection
      • Foundation Models
        • CLIP
        • OCR
        • YOLO-World
      • Video Inference
        • Use a Fine-Tuned Model
        • Use CLIP
        • Use Gaze Detection
        • API Reference
        • Video Inference JSON Output Format
      • Pre-Trained Model APIs
        • Blur People API
        • OCR API
        • Logistics API
        • Image Tagging API
        • People Detection API
        • Fish Detection API
        • Bird Detection API
        • PPE Detection API
        • Barcode Detection API
        • License Plate Detection API
        • Ceramic Defect Detection API
        • Metal Defect Detection API
    • Dedicated Deployments
      • Create a Dedicated Deployment
      • Make Requests to a Dedicated Deployment
      • Manage Dedicated Deployments with an API
    • Batch Processing
    • SDKs
      • Python inference-sdk
      • Web Browser
        • inferencejs Reference
        • inferencejs Requirements
      • Lens Studio
        • Changelog - Lens Studio
      • Luxonis OAK
    • Upload Custom Model Weights
    • Download Model Weights
    • Enterprise Deployment
      • License Server
      • Offline Mode
      • Kubernetes
      • Docker Compose
    • Device Manager
      • Add a Device
      • Add a Stream
      • View a Stream
    • Model Monitoring
      • Alerting
  • Universe
    • What is Roboflow Universe?
    • Find a Dataset on Universe
    • Explore Images in a Universe Dataset
    • Fork a Universe Dataset
    • Find a Model on Universe
    • Download a Universe Dataset
  • Set a Project Description
  • View Project Analytics
  • Support
    • Share a Workspace with Support
    • Delete Your Roboflow Account
    • Apply for Academic Credits
  • Billing
    • Premium Trial
    • Credits
      • View Credit Usage
      • Enable or Disable Flex Billing
      • Purchase Prepaid Credits
    • Plans
      • Purchase a Plan
      • Cancel a Plan
      • Update Billing Details
      • Update Payment Method
      • View Invoices
Powered by GitBook
On this page
  • How Augmentations Are Applied
  • Limiting Augmentations
  • Augmentation Options
  • Image Level Augmentations
  • Bounding Box Level Augmentations
  • Learn More

Was this helpful?

  1. Dataset Management
  2. Dataset Versions

Image Augmentation

Create augmented images to improve model performance.

PreviousPreprocess ImagesNextAugmentation Types

Last updated 3 days ago

Was this helpful?

Image augmentation is a step where augmentations are applied to existing images marked as "Train" in your dataset. This process can help improve the ability of your model to generalize and thus perform more effectively on unseen images.

We recommend starting a project with no augmentations. This allows you to evaluate the quality of your raw dataset. If you add augmentations and your dataset doesn't perform as well as expected, you will not have a baseline to which you can compare model performance.

If your model doesn't perform well without augmentations, you may need to investigate class balance, data representation, and dataset size. When you have a dataset on which you have successfully trained a model without augmentations, you can add augmentations to further help improve model performance.

Augmentations are applied through a dataset version ("offline augmentation") rather than at the time of training for a few key reasons:

  1. Model reproducibility is increased. With Roboflow, you have a copy of how each image was augmented. For example, you may find your model performs better on bright images rather than dark images, so you should collect more low-light training data.

  2. Training time is decreased. Augmentations are CPU-constrained operations. When youโ€™re training on your GPU and conducting augmentations on-the-fly, your GPU is often waiting for your CPU to provide augmented data at each epoch. That adds up!

  3. Training costs are decreased. Because augmentations are CPU-constrained operations, your expensive, rented GPU is often waiting to be fed images for training.

How Augmentations Are Applied

Augmentations are always applied to training images after . The selected augmentations are stacked together, with randomization for the augmentation settings, and values for each setting, applied to each augmented image. Any images that appear as duplicates during this process are filtered out of the created version.

For example, if you select augmentations to โ€œflip horizontallyโ€ and โ€œsalt and pepper noise,โ€ a given image will randomly be reflected as a horizontal flip and receive random salt and pepper noise.

Limiting Augmentations

When creating a dataset version with augmentations, you can select the maximum number of augmented images to include through the "Maximum Version Size" option.

For example, selecting 3x means that your final dataset version will contain each training source image with applied and 2 random augmentations of each image based on the settings you select.

If you had 100 images in your dataset with a train/valid/test split of 70/20/10 and selected 3x augmentations, your final dataset would roughly have a 210/20/10 split.

Your version's final number of images may be smaller than this estimate because we de-duplicate images and certain options (like "Filter Null") can remove images from the output.

Augmentation Options

Augmentations in Roboflow can either be "Basic" or "Enhanced" and can be applied at two different levels.

Image Level Augmentations

Image level augmentations create new training data by applying transformations to the entire image rather than individual objects or regions. By modifying the full image, developers can simulate a wider range of visual conditions, helping models learn to generalize better to new data.

Bounding Box Level Augmentations

Bounding box level augmentation creates new training data by only altering the content of a source imageโ€™s bounding boxes. In doing so, developers have greater control over creating training data that is more suitable to their problemโ€™s conditions.

Enhanced Augmentations and Bounding Box Augmentations are premium features.

Image Level Augmentation
Bounding Box Augmentation
Augmentation Type
Basic
Basic
Basic
Basic
Basic
Basic
Basic
Basic
Basic
Basic
Basic
Basic
Enhanced
Enhanced

Learn More

A from Google researchers introduces the idea of using bounding box only augmentation to create optimal data for their models. In this paper, researchers showed bounding box only modifications create systemic improvements, especially for models that were fit on small datasets.

For up-to-date information on our plans and their associated features, see our .

2019 paper
pricing page
The Ultimate Guide for Data Augmentation
How to Augment Images for Object Detection
Flip Augmentation
90ยช Rotate Augmentation
Crop Augmentation
Rotation Augmentation
Shear Augmentation
Grayscale Augmentation
Hue Augmentation
Saturation Augmentation
Brightness Augmentation
Exposure Augmentation
Blur Augmentation
Noise Augmentation
Cutout Augmentation
Mosaic Augmentation
preprocessing steps
preprocessing steps