Image Data Augmentation
Image Data Augmentation is the most well-known type of data augmentation and involves creating transformed versions of images in the dataset and is used to expand the training dataset to improve model performance.
These are the following topics under Image Augmentation
Image Augmentation is an integral process in Deep Learning , as in deep learning we need large amounts of data and in some cases it is not feasible to collect thousands or millions of images, so Image Augmentation comes to the rescue. It helps us to increase the size of the dataset and introduce variability in the dataset.
The most commonly used operations are-
Keras is a high-level Machine Learning framework build on top of TensorFlow.We can perform Image Augmentation by using the ImageDataGenerator class. It takes in various arguments like – rotation_range, brightness_range, shear_range, zoom_range etc.
import tqdm as tqdm from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img # Initialising the ImageDataGenerator class. datagen = ImageDataGenerator( rotation_range = 40, shear_range = 0.2, zoom_range = 0.2, horizontal_flip = True, brightness_range = (0.5, 1.5)) # Loading a sample image img = load_img('gavin-allanwood-hcxqLJjI99E-unsplash.jpg') # Converting the input sample image to an array x = img_to_array(img) # Reshaping the input image x = x.reshape((1, ) + x.shape) # Generating and saving 5 augmented samples # using the above defined parameters. i = 0 for batch in tqdm.tqdm(datagen.flow(x, batch_size = 1,save_to_dir ='Downloads/Aug/', save_prefix ='rabbit', save_format ='jpg')): i += 1 if i > 5: break
5it [00:51, 10.34s/it]
!pip3 install Augmentor
import Augmentor # Passing the path of the image directory p = Augmentor.Pipeline("Downloads/Aug/") # Defining augmentation parameters and generating 5 samples p.flip_left_right(0.2) p.black_and_white(0.5) p.rotate(0.5, 25, 25) p.skew(0.4, 0.5) p.zoom(probability = 0.2, min_factor = 1.1, max_factor = 1.5) p.sample(6)
Executing Pipeline: 0%| | 0/6 [00:00<?, ? Samples/s]
Initialised with 7 image(s) found. Output directory set to Downloads/Aug/output.
Processing <PIL.Image.Image image mode=RGB size=6016x4016 at 0x7F9D66BB8D68>: 100%|██████████| 6/6 [00:10<00:00, 1.77s/ Samples]