When creating computer vision models, data augmentation can improve model performance with an existing image dataset. Image augmentation increases the size and variability of a dataset, thereby improving model generalizability.

Want this post as a video walkthrough? See above and subscribe: https://bit.ly/rf-yt-sub

Image augmentations should be selected based on the domain problem one is tackling. Aerial data, specifically, often shares a number of characteristics that enable similar selection of image augmentation to be performed. Aerial data is any data captured from above looking down. Commonly, this includes drone and satellite imagery.

The below recommendations may not be applicable in every situation but are likely relevant in many aerial computer vision problems like when using drones for computer vision or satellite images for computer vision.

Brightness

Brightness image augmentation involves randomly increasing or decreasing an image – like applying a uniform +/- percentage change to all pixels in an image. Brightness as an image augmentation step for aerial data is often reasonable as aerial data may be captured in varying degrees of sunlight.

Brightness image augmentation alters the image lightness.
Brightness image augmentation alters the image lightness.

Flip

Flip image augmentation means mirroring an image about its y or x axis. (It is distinct from rotation.) For aerial data, objects below can often be mirrored about their y- or x-axis, making it a good choice.

Random flip image augmentation mirrors an image across its x or y axis.
Random flip image augmentation mirrors an image across its x or y axis.

90-Degree Rotations

Rotate image augmentation means moving an image about its center some number of degrees. A 90-degree rotation is a special type of rotation that only applies rotation in 90-degree multiples, thereby keeping bounding box size otherwise identical. (Non-90 degree image rotation augmentation can alter bounding box size.) Rotating an image clockwise or counter-clockwise by 90-degrees is often a good choice for aerial datasets as the objects below could be viewed from any orientation above – there is not a fixed perspective from which they may be viewed.

Random 90-degree rotation randomly rotates an image 90 degrees clockwise or counter clockwise (even upside down).
Random 90-degree rotation randomly rotates an image 90 degrees clockwise or counter clockwise (even upside down).

Crop

Crop image augmentation involves randomly creating a subset of the overall source image and then resizing that subset to be the same size as other images in the dataset. In effect, random crop almost "zooms in" on random portions of the image. (We've also written more about how and why to use random crop image augmentation.) For aerial data in particular, this can be massively useful as objects below will vary in size and, potentially, closeness to the camera perspective.

Crop image augmentation randomly uses a subset of a source image, creating a "zoomed in" effect of the resulting image.
Crop image augmentation randomly uses a subset of a source image, creating a "zoomed in" effect of the resulting image.

Color Changes (Hue)

Hue image augmentation randomly alters the colors of an image, thereby making a model more resilient to specific colors of objects. For aerial data, this can be useful for seasonal changes that alter the colors of objects.

Hue image augmentation randomly alters image colors, thereby making a model more resilient to color changes of objects.
Hue image augmentation randomly alters image colors, thereby making a model more resilient to color changes of objects.

The above list are fairly 'safe' bets to select for image augmentation for any given aerial problem. Depending on the problem you're tackling, it may also be relevant to include blur, noise, mosaic, or other image augmentations. As always, happy building!