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 Random Sized Crop augmentation;
Check out its parameters;
See how Random Sized Crop affects an image;
And check out how to work with Random Sized Crop using Python through the Albumentations library.
Let's get into it!
To define the term, Random Sized Crop is a data augmentation technique that helps researchers to crop an image to any size within a certain specified bound.
Please make sure that the original image size is larger than the requested crop size.
Min max height - sets the crop size limits;
Height - sets the height of the desired resized and cropped image in pixels;
Width - sets the width of the desired resized and cropped image in pixels.
First, an image is cropped to any size within the given crop size limits. Then, it is resized to correspond to the Height and Width parameters.For example, the range is set from 1500 to 2000, and the height and width are set to 200. Then an image is cropped anywhere between 1500 to 2000 pixels, and the cropped image is then resized to 200x200 pixels. This is why some of the objects in the image might look distorted.
- Width to height ratio - defines an aspect ratio of the crop;
- Interpolation - used to specify the interpolation algorithm:
import albumentations as albu
from PIL import Image
transform = albu.RandomSizedCrop([1500,2000], 100, 100, 1.0, cv2.INTER_NEAREST, 1)
augmented_image = transform(image=figure)['image']