Erasing Clouds from Satellite Imagery Using GANs (Generative Adversarial Networks)

Author:Murphy  |  View: 26730  |  Time: 2025-03-22 21:13:18
Photo by Michael & Diane Weidner on Unsplash

The idea of Generative Adversarial Networks, or GANs, was introduced by Goodfellow and his colleagues [1] in 2014, and shortly after that became extremely popular in the field of computer vision and image generation. Despite the last 10 years of rapid development within the domain of AI and growth of the number of new algorithms, the simplicity and brilliance of this concept are still extremely impressive. So today I want to illustrate how powerful these networks can be by attempting to remove clouds from satellite RGB (Red, Green, Blue) images.

Preparation of a properly balanced, big enough and correctly pre-processed CV dataset takes a solid amount of time, so I decided to explore what Kaggle has to offer. The dataset I found the most appropriate for this task is EuroSat [2], which has an open license. It comprises 27000 labeled RGB images 64×64 pixels from Sentinel-2 and is built for solving the multiclass classification problem.

EuroSat Dataset

EuroSat dataset imagery example. License.

We are not interested in classification itself, but one of the main features of the EuroSat dataset is that all its images have a clear sky. That's exactly what we need. Adopting this approach from [3], we will use these Sentinel-2 shots as targets and create inputs by adding noise (clouds) to them.

So let's prepare our data before actually talking about GANs. Firstly, we need to download the data and merge all the classes into one directory.

Tags: Deep Learning Machine Learning Neural Networks Remote Sensing Satellite Imagery

Comment