Skip to content

A fully automated, high-fidelity, and multi-input GAN-based framework for precise cloud removal from satellite images with enhanced interpretability and performance across varying cloud types and terrains.

Notifications You must be signed in to change notification settings

TrixiePhany/GAN-Driven-Cloud-Removal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

GAN-Driven Cloud Removal and Image Enhancement in Satellite Imagery: A Framework for High-Fidelity Remote Sensing

Introduction

Hi, My name is Trixie 👋,

My approach involves a GAN(Generative Adversarial Network) architecture consisting of two main components: a U-Net based Generator and a PatchGAN Discriminator. The Generator is tasked with creating clear images from cloudy ones, utilising additional inputs from automatically generated cloud masks that pinpoint the location and type of clouds in the images. This method ensures that the cloud removal process is informed and precise, addressing only the parts of the image that are cloud covered without degrading the rest of the image. The Discriminator then evaluates these generated images against real, cloud-free images to ensure the outputs are indistinguishable from actual satellite imagery in terms of quality and realism.

This project harnesses the power of GANs to develop a robust system that not only removes clouds from satellite imagery but also enhances the quality of the images post- processing. This dual capability is particularly crucial for maintaining the integrity of the imagery’s use in precise applications such as land cover classification, agricultural monitoring, military surveillance, and disaster response planning.

Architecture System

The system follows a modular architecture designed around a cloud-enabled microservices structure. It separates data ingestion, preprocessing, model inference, evaluation, and output management into distinct, independently scalable services. This division ensures flexibility, ease of deployment, and maintainability. The core application is built using Python, TensorFlow (or PyTorch), and integrates Google Earth Engine (GEE) APIs for data fetching and cloud mask generation. I have shared the Architecture Diagram Below: ArchitectureDiagramFinal

Now, moving on to the Outputs and Graphs of this project, it is all there in the .ipynb file, and I have added as much comments I could in the original file itself so one can get the flow of my work. Secondly lets talk about the graph and the key features you should look out :

Screenshot 2025-09-18 at 9 28 31 PM

⚠️

  • The generator loss decreases over time → that means it’s learning to fool the discriminator better.
  • The discriminator loss is low and steady → it’s not collapsing, it’s still able to distinguish real vs fake to some degree.
  • After ~50 epochs, both losses stabilize → a good sign of equilibrium.
  • Oscillations in generator loss (big spikes in the early epochs) are normal for GANs, but if they continued until the end, it would mean unstable training.
  • Discriminator loss being too low (<0.5) could mean it’s overpowering the generator (mode collapse risk). But in our case, it’s hovering around 1.2 → balanced.
  • Ideally, one wants both losses to converge slowly without either hitting 0. Here, that’s roughly what’s happening.

Thank you for your time, this project was done after a lot of research work and practices

About

A fully automated, high-fidelity, and multi-input GAN-based framework for precise cloud removal from satellite images with enhanced interpretability and performance across varying cloud types and terrains.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published