If you have ever worked on a Computer Vision project, you might know that using augmentations to diversify the dataset is the best practice. On this page, we will:
Сover the Shift Scale Rotate augmentation;
Check out its parameters;
See how Shift Scale Rotate affects an image;
And check out how to work with Shift Scale Rotate using Python through the Albumentations library.
Let’s jump in.
To define the term, Shift Scale Rotate is a data augmentation technique used to randomly apply affine transformations such as shift, scale, and rotate.
Using Shift Scale Rotate helps Data Scientists increase the variety of points of view on an object in the training set. This approach creates the needed diversity without the need to find and label more data.
Shift factor - specifies a specific range from which a random shift factor is picked and used to shift an image both horizontally and vertically;
Scale factor - specifies a specific range from which a random scale factor is picked and used to rescale an image;
Rotation range - specifies a specific range from which a random angle (in degrees) is picked and used to rotate an image;
Probability of applying transform - defines the likelihood of applying Shift Scale Rotate to an image.
import albumentations as albu from PIL import Image import numpy as np transform = albu.augmentations.geometric.transforms.ShiftScaleRotate(shift_limit = 0.0625, scale_limit = 0.1, rotate_limit = 45) image = np.array(Image.open('/some/random/image.png')) augmented_image = transform(image=image)['image'] # We have the augmented image in augmented_image.