Deepomatic Platform
  • Overview
  • Release notes
    • January 2025
    • November 21, 2024
    • October 17, 2024
    • September 19, 2024
    • July 18, 2024
    • June 27, 2024
    • May 23, 2024
    • April 18, 2024
    • March 21, 2024
    • February 22, 2024
    • January 18, 2024
    • December 13, 2023
    • October 26, 2023
    • July 20, 2023
    • June 29, 2023
    • May 29, 2023
    • April 27, 2023
    • March 30, 2023
    • February 17, 2023
    • January 19, 2023
    • December 22, 2022
    • November 18, 2022
    • October 19, 2022
    • September 19, 2022
    • July 27, 2022
    • June 26, 2022
    • May 17, 2022
    • April 13, 2022
    • March 17, 2022
    • February 10, 2022
    • December 21, 2021
    • October 26, 2021
  • Getting started
  • ADMIN & USER MANAGEMENT
    • Invite and manage users
      • Invite group of users at once
      • SSO
        • Azure Active Directory
  • Deepomatic Engage
    • Integrate applications
      • Deepomatic vocabulary
      • Deepomatic connectors
        • Set-up
        • Camera Connector
        • Work Order Connector
      • API integration
        • Authentication
        • Errors
        • API reference
          • Work order management
          • Analysis
            • Guide field workers
            • Perform an analysis
            • Correct an analysis
          • Data retrieval
          • Endpoints' list
      • Batch processing
        • Format
        • Naming conventions
        • Processing
        • Batch status & errors
      • Data export
    • Use the mobile application
      • Configure a mobile application
      • Create & visualize work orders
      • Complete work orders
      • Offline experience
    • Manage your business operations with customisable solutions
      • Roles
      • Alerting
      • Field services
        • Reviewing work orders
        • Exploring work orders
        • Grouping work orders
        • Monitoring assets performance
      • Insights
  • Security
    • Security
    • Data Protection
Powered by GitBook
On this page
  • Horizontal flip
  • Vertical flip
  • 90° rotation
  • Modify brightness
  • Modify contrast
  • Add gaussian noise
  • AutoAugment

Was this helpful?

  1. Deepomatic Drive
  2. Configuring Visual Automation Applications
  3. Training models and model versions

Data Augmentation

Here we describe the data augmentation techniques that you can use during your trainings.

Last updated 2 months ago

Was this helpful?

By applying modifications to the images in your dataset, data augmentation artificially widens the scope of your data domain search. It can be an excellent strategy to boost your performances to add more variation to your dataset by making new images from the existing ones in it.

Each operation has a probability factor attached, thus when a certain image is used, there is an x% chance that the activated technique will be employed. This occurs each time an image is extracted from your dataset, so different transformations of the same image may occur over different epochs (or not transformed).

  • All augmentations can be used

  • You can add them only once

  • The order in which you add them can matter

  • For YOLO architectures, data augmentation is not available

Horizontal flip

The image is flipped horizontally randomly with 50% chance, meaning it is mirrored on a X-centered axis.

If you are trying to detect right or left-sided objects, this one augmentation is of course highly discouraged.

Vertical flip

The image is flipped vertically randomly with 50% chance, it is mirrored on a Y-centered axis.

It is different from a 180° rotation

90° rotation

Randomly rotates the image by 90° counter-clockwise with 50% chance. Combine it with 'Random Horizontal Flip' and 'Random Vertical Flip' to get rotations and symetries in all directions.

Modify brightness

Randomly changes image brightness with a 20% chance. This modifies the image by adding a single random number uniformly sampled from [-max_delta, max_delta] to all pixel RGB channels. Image outputs will be saturated between 0 and 1.

The max_delta parameter indicates the range up to which your image could get brighter or dimmer.

This means that a value of 0 will not dim the image, but rather prevent any change.

Modify contrast

Randomly scales contrast by a value between [min_delta, max_delta]. For each RGB channel, this operation computes the mean of the image pixels in the channel and then adjusts each component x of each pixel to '(x - mean) * contrast_factor + mean' with a single 'contrast_factor' uniformly sampled from [min_delta, max_delta] for the whole image.

This operation has not a probability factor, when activated it is applied every time

Add gaussian noise

Randomly modify a patch of the image by adding gaussian noise to the image pixels normalized between 0 and 1.

This operation has not a probability factor, when activated it is applied every time

AutoAugment

AutoAugment is an algorithm which learns the best augmentations to apply during the training. It is a mix of random image translations, color histogram equilizations, "graying" patches of the image, sharpness adjustments, image shearing, image rotating and color balance adjustments.

The original paper proposes several "policies" which are different combinations of transformations. Based on our own research, we use the v3 policy which had the best results.

This original paper proposes an ideal policy (~ series of transformations) that performed best on ImageNet in their benchmarks, in a classification task. It is the one called "Original AutoAugment policy" when you select AutoAugment as your preprocessing.

  • v1: "More color & BBoxes vertical translate transformations"

  • v3: "More contrast & vertical translate transformations"

We found that AutoAugment had better outcomes with detection tasks, and/or smaller architectures such as MobileNet or ResNet-50.

You may want to disable other data augmentations to avoid interfering.

This operation has not a probability factor, when activated it is applied every time

You can find the original paper explaining the technique here:

AutoAugment is a method to find the best augmentations to apply during the training, that was published in . It is a mix of random image translations, color histogram equilizations, "graying" patches of the image, sharpness adjustments, image shearing, image rotating and color balance adjustments.

did a similar work in a detection setting, and released several policies which they found worked best while training on the COCO dataset. We selected the v1 and v3 versions, which you can select when working in a detection view, under the following, more descriptive names:

https://arxiv.org/abs/1805.09501
this 2018 paper "AutoAugment: Learning Augmentation Policies from Data"
Another paper