  Deep learning (DL) algorithms have shown significant performance in various
computer vision tasks. However, having limited labelled data lead to a network
overfitting problem, where network performance is bad on unseen data as
compared to training data. Consequently, it limits performance improvement. To
cope with this problem, various techniques have been proposed such as dropout,
normalization and advanced data augmentation. Among these, data augmentation,
which aims to enlarge the dataset size by including sample diversity, has been
a hot topic in recent times. In this article, we focus on advanced data
augmentation techniques. we provide a background of data augmentation, a novel
and comprehensive taxonomy of reviewed data augmentation techniques, and the
strengths and weaknesses (wherever possible) of each technique. We also provide
comprehensive results of the data augmentation effect on three popular computer
vision tasks, such as image classification, object detection and semantic
segmentation. For results reproducibility, we compiled available codes of all
data augmentation techniques. Finally, we discuss the challenges and
difficulties, and possible future direction for the research community. We
believe, this survey provides several benefits i) readers will understand the
data augmentation working mechanism to fix overfitting problems ii) results
will save the searching time of the researcher for comparison purposes. iii)
Codes of the mentioned data augmentation techniques are available at
https://github.com/kmr2017/Advanced-Data-augmentation-codes iv) Future work
will spark interest in research community.
