Image Augmentation Techniques for Deep Learning Datasets

  1. Color adjustment (brightness, saturation, contrast)
  2. Random scaling
  3. Random cropping
  4. PCA-based color augmentation
  5. Translation shifting
  6. Horizontal/vertical flipping
  7. Rotation and affine transformations
  8. Gaussian noise additoin
  9. Class imbalance correction

Implementation Example (NumPy/PIL)

from PIL import Image, ImageEnhance import numpy as np import random

class ImageTransformer: @staticmethod def adjust_colors(img): """Apply random color transformations""" factors = { 'saturation': np.random.uniform(0.5, 1.5), 'brightness': np.random.uniform(0.7, 1.3), 'contrast': np.random.uniform(0.8, 1.2), 'sharpness': np.random.uniform(0.5, 1.5) } img = ImageEnhance.Color(img).enhance(factors['saturation']) img = ImageEnhance.Brightness(img).enhance(factors['brightness']) img = ImageEnhance.Contrast(img).enhance(factors['contrast']) return ImageEnhance.Sharpness(img).enhance(factors['sharpness'])

@staticmethod
def add_noise(img, intensity=0.3):
    """Add Gaussian noise to image"""
    arr = np.array(img)
    noise = np.random.normal(0, intensity, arr.shape)
    noisy_img = np.clip(arr + noise * 255, 0, 255).astype(np.uint8)
    return Image.fromarray(noisy_img)

@staticmethod
def random_rotate(img, max_angle=45):
    """Rotate image by random angle"""
    angle = random.uniform(-max_angle, max_angle)
    return img.rotate(angle, expand=True)

</div>### TensorFlow Implementation

<div>```

import tensorflow as tf

def tf_augment(image):
    """TensorFlow image augmentation pipeline"""
    image = tf.image.random_flip_left_right(image)
    image = tf.image.random_brightness(image, 0.2)
    image = tf.image.random_contrast(image, 0.8, 1.2)
    image = tf.image.random_saturation(image, 0.8, 1.2)
    image = tf.image.random_hue(image, 0.1)
    return tf.clip_by_value(image, 0.0, 1.0)

Tags: image-processing data-augmentation deep-learning computer-vision TensorFlow

Posted on Wed, 15 Jul 2026 16:32:53 +0000 by gareh