Skip to content

Repository files navigation

GRIDS: GAN Recognition for Integrity in Deep-learning Satellite Data

GRIDS is a research-focused deep learning framework for detecting manipulated, forged, or otherwise integrity-compromised satellite imagery, with experiments targeting both RGB (4-band) and multispectral Sentinel‑2 (13-band) settings.

This repository currently provides:

  • Reproducible Jupyter notebooks implementing the project workflow
  • Pretrained / saved model artifacts under GRIDS_Models_4Band/ and GRIDS_Models_13Band/

Authors / Maintainers


Abstract

Satellite imagery supports high-impact decision-making in environmental monitoring, urban planning, defense, and disaster response. As generative models and editing tools improve, satellite products become more vulnerable to tampering and synthetic forgeries. GRIDS explores deep-learning-based integrity recognition pipelines for satellite image data, emphasizing robust evaluation across manipulations and band configurations.


Background & Motivation

Remote sensing pipelines often assume data provenance and integrity. However, the rise of GAN-based synthesis and targeted manipulations increases the risk of:

  • fabricated scenes,
  • localized inpainting or splicing,
  • distribution shifts introduced by editing,
  • and model deception through adversarial perturbations.

GRIDS is intended as a research baseline for studying such threats and developing detectors that generalize across plausible manipulations.


Dataset

GRIDS is designed around EuroSAT, a Sentinel‑2 derived patch dataset commonly used in remote sensing ML research.

Please follow EuroSAT’s licensing/terms and citation guidance when using the dataset.


Repository Structure

Top-level contents:

  • GRIDS_DL_Project.ipynb
    Primary notebook for the project workflow (dataset preparation, training/evaluation experiments).
  • GRIDS_13Band.ipynb
    Notebook focused on the 13-band multispectral setting.
  • GRIDS_Models_4Band/
    Saved model artifacts for 4-band/RGB experiments (e.g., .pth, .pkl).
  • GRIDS_Models_13Band/
    Saved model artifacts for 13-band experiments (e.g., .pth, .pkl).

Model artifact files currently present include (non-exhaustive):

  • GRIDS_Models_4Band/: densenet_mg.pth, densenet_sg.pth, stack_mg.pkl, stack_sg.pkl
  • GRIDS_Models_13Band/: model_mg.pth, model_sg.pth, stack_mg.pkl, stack_sg.pkl

Security note: .pkl files use Python pickle; do not unpickle files from untrusted sources.


Getting Started

1) Clone

git clone https://github.com/GlobosNik/GRIDS-Deep_Learning_Satellite_Data.git
cd GRIDS-Deep_Learning_Satellite_Data

2) Create an environment (recommended)

Because the repo is notebook-based and may evolve, using an isolated environment is strongly recommended.

Option A: Conda (example) (recommended)

conda create -n grids python=3.10 -y
conda activate grids

Option B: venv (example)

python -m venv .venv
# macOS/Linux
source .venv/bin/activate
# Windows (PowerShell)
# .venv\Scripts\Activate.ps1

3) Install dependencies

A pinned requirements.txt is not currently tracked in the repository. Install the core scientific stack commonly used for this workflow:

pip install --upgrade pip
pip install numpy pandas matplotlib
pip install torch torchvision torchaudio
pip install rasterio
pip install jupyter

If a notebook cell indicates additional packages, install them into the same environment and re-run.


Running the Notebooks

Start Jupyter:

jupyter notebook

You can also use Jupyter notebook extension in VS Code IDE.

Then open one of:

  • GRIDS_DL_Project.ipynb (project workflow)
  • GRIDS_13Band.ipynb (multispectral focus)

Expected data paths

The notebooks may expect EuroSAT data to be present locally. If you encounter path variables (e.g., DATA_DIR), set them to your dataset location before running training/evaluation cells.


Reproducibility (Recommended for Research Use)

To make experiments comparable across machines, we recommend documenting:

  • OS, Python version, CUDA/cuDNN versions (if applicable)
  • package versions (pip freeze > requirements-lock.txt)
  • random seeds used for training/evaluation
  • dataset split definitions and preprocessing steps

Future improvement: add requirements.txt and/or environment.yml to enable one-command environment recreation.


Model Artifacts

This repo includes pretrained/saved models (.pth) and serialized objects (.pkl) in the GRIDS_Models_* directories.

If you plan to:

  • reuse models for inference,
  • reproduce reported metrics,
  • or perform transfer learning,

please ensure your environment matches the framework versions used at training time (PyTorch + serialization compatibility matters).


Results

This repository contains notebooks and artifacts intended to support experimental evaluation. If you use this work in a report or publication, consider adding:

  • a table of metrics (accuracy/ROC-AUC/F1, etc.),
  • evaluation protocol details (splits, manipulations),
  • and figures generated by the notebooks.

Citation

If you use this repository in academic work, please cite:

  • this repository (GitHub URL + access date),
  • and the underlying dataset(s) (e.g., EuroSAT) per their citation instructions.

Optional improvement: add a CITATION.cff file to enable GitHub-native citation export.


Contributing

Contributions are welcome—especially improvements that increase reproducibility and ease of use:

  • environment files (requirements.txt, environment.yml)
  • scripts that move notebook code into importable modules
  • clearer dataset download/setup steps
  • unit tests for preprocessing utilities

Suggested workflow:

  1. Fork the repo
  2. Create a feature branch
  3. Commit changes
  4. Push to your fork
  5. Open a Pull Request

License

Licensed under the Apache License 2.0. See LICENSE.


Acknowledgements

About

GRIDS (GAN Recognition for Integrity in Deep-learning Satellite data) is a robust neural network-based implementation for detecting manipulated or fake satellite data.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages