Often it has been observed that analysts and data scientists want to apply deep learning models to solve the problem but they don't have enough data to train. There are three main ways to improve data: collecting more data, synthesizing new data, or augmenting existing data.. But what if not much academic work is there on the problem you want to solve. Convolutional Neural Networks have worked pretty well on most of the Computer Vision tasks. But all the CNN's (particularly deep CNN's) are heavily dependent on availability of very large training data to avoid overfitting. So in almost all computer vision tasks having more data help. In today’s world for the majority of Computer Vision tasks we don’t have enough data. So when you are training the computer vision model, often data augmentation is must.
Some of the common data augmentation used in Computer vision models are as given below.
a) Mirroring
Below is the example of mirroring on the vertical axis.
b) Random Cropping
It is not the ideal method for data augmentation but works well as long as your cropped images are reasonable subset of original image.
c) Other Techniques like Rotation, Shearing and Local warping
d) Color Shifting
Color shifting is about adding different distortion to RGB channels of an image.
Implementing distortions during training
We employ two distinct forms of data augmentation, both of which allow transformed images to be produced from the original images with very little computation, so the transformed images do not need to be stored on disk.
In our implementation, the transformed images are generated in Python code on the CPU while the GPU is training on the previous batch of images. So these data augmentation schemes are, in effect, computationally free.
A quick taxonomy of data augmentation method in general is depicted below for a big picture
References:
1) Andrew NG Deep Learning deeplearning.ai
2) Data Augmentation on Workera.ai
3) AlexNet Paper on PCA color augmentation
4) Datahackers.rs blog
No comments:
Post a Comment