Creation of additional image data using Keras ImageDataGenerator

Creation of additional image data using Keras ImageDataGenerator

In the past I have worked on the development of neural networks for participation in several different Kaggle competitions. One of the competitions I have entered is the ‘Statoil/C-CORE Iceberg Classifier Challenge’ which presents participants with satellite images classified as either boats or icebergs. We are then tasked with developing an algorithm to classify images as containing icebergs. To do this I set about designing a convolutional neural network to classify images as boats or icebergs. The problem with the dataset is that there are only 1604 training instances, which is not a very large dataset to train the nn from. To address this problem I set out to augment the data by tilting, rotating, blurring and shifting the original images to create additional training data. I did this using the Keras ImageDataGenerator function and the explanation and code can be found below. This approach has provided a larger training set to train my models off of and has led to improvements in my score on the Kaggle leaderboard!

Avatar
Cameron Nugent
Research Scientist