Constructing deep learning models can be significantly challenging due to a scarcity of data. An effective and concise training of these models depends heavily on amassing and annotating giant datasets, which can be both expensive and time-consuming. As a result, data augmentation has emerged as a solution to this problem, as it generates new data from the existing information. Let’s go with VinLab to discover about this techniques.
Why should you know about data augmentation?
When faced with a limited amount of data to train a model, there are several options available to improve its performance.
- One option is to abandon deep learning, but this can be challenging. Another option is to adjust the network architecture or apply transfer learning, which reuses knowledge from data-intensive applications.
- If those options aren’t feasible, adding more data is an intuitive solution. There are several ways to add data: we can collect more data, which requires time, effort, and money, or we can synthesize data using computer graphics, such as depth images or images at different angles of view.
- Data augmentation is the simplest technique, which involves processing available data using linear or nonlinear operations, such as generating new data through a GAN.
What is Data Augmentation?
Data augmentation is a technique used in deep learning to increase the size and diversity of a training dataset without collecting additional data. It is a popular method for improving the performance of machine learning models, especially in computer vision tasks.
For example, imagine you have a dataset of pictures of cats, but you only have a few hundred images. By using data augmentation, you can generate more images by flipping them horizontally or vertically, rotating them slightly…
This increases the number of images in your dataset, making it more diverse and helping your machine learning model learn to recognize cats in different poses, lighting conditions, and backgrounds.
How does data augmentation work?
To apply data augmentation, we use software tools that are specifically designed for some purpose. These tools allow us to perform a wide range of transformations on the original data, such as flipping, rotating, scaling, cropping, and changing the brightness and contrast.
For example, let’s say we have a dataset of images of dogs. To augment the data, we might use a tool to randomly flip the images horizontally or vertically, rotate them by a few degrees, or change the brightness and contrast. These modifications create new, augmented images that are similar to the original images but have some variations that make them different.
By applying data augmentation, we can create many new data samples from a small set of original data. This increases the size and diversity of the training dataset, which can help machine learning models to learn more generalized features, avoid overfitting, and perform better on new, unseen data.
Data augmentation techniques in Computer Vision
Some popular data augmentation techniques in deep learning
- Random rotation: Rotate the image by a random angle.
- Random crop: Crop the image randomly to a smaller size.
- Horizontal and vertical flipping: Flip the image horizontally and/or vertically.
- Random brightness and contrast adjustment: Adjust the brightness and contrast of the image randomly.
- Random zoom: Zoom the image in or out randomly
- Brightness Adjustment: This technique helps stimulate different lighting conditions or to reduce the effect of illumination bias in the dataset.
- Contrast Adjustment: This technique makes the light areas lighter and the dark areas darker → Create images that are easier to classify or to reduce the effect of contrast bias in the dataset.
- Saturation Adjustment: This technique helps reduce the effect of color bias in the dataset.
- Color Space Conversion: This technique involves converting an image from one color space to another, such as from RGB to HSV → Create new images that simulate different color conditions or to reduce the effect of color space bias in the dataset.
GANs — Advanced model for Data Augmentation
These techniques are more complex than basic data augmentation techniques and require more computational resources. You can take a look in this articles to find out “Why are GANs Worth Paying Attention to in 2023”
GANs (Generative adversarial networks) are used to generate synthetic images in a target domain.
The model receives augmented photos as input in addition to the synthetically created images produced by the GANs. Nevertheless, depending on the use case, this would end up training the generator, discriminator, and classifier. The drawback of employing GANs is that it requires a lot of resources and work.
You may view CT scan images created by a cycleGAN, a GAN variant, in the figure below. This is how the medical industry is expanding the dataset by using GAN-generated CT scan images. The dataset can be utilized for classification or any other activity after it has been prepared.
CT Scan high-resolution images generated by CycleGAN
Data Augmentation in healthcare
One of the most often used techniques for artificially boosting the amount of data required to train reliable AI models is data augmentation. It’s crucial in fields where obtaining high-quality data can be difficult.
In Healthcare industry
Curating datasets is not an option for medical imaging applications because it takes a long time and money to get a lot of expertly labeled samples. The network developed by augmentation must be more reliable and precise than anticipated changes of the identical X-Ray pictures.
🚀 Have a look at VinLab best medical public datasets for Computer Vision.
Thanks for reading!
If you are looking for information about artificial intelligence, machine learning, general data concepts, or medical data science applications, follow us to acquire more useful knowledge about these topics.
Open source project: https://github.com/vinbigdata-medical/vindr-lab