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/andGRIDS_Models_13Band/
- Nikhil Bhaktha (GitHub: GlobosNik)
- Architha H (GitHub: Architha-2005)
- H P Nanditha (GitHub: hanasogenanditha)
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.
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.
GRIDS is designed around EuroSAT, a Sentinel‑2 derived patch dataset commonly used in remote sensing ML research.
- EuroSAT official repository: https://github.com/phelber/EuroSAT
- Typical patch characteristics:
- RGB:
64×64×3 - Multispectral:
64×64×13
- RGB:
Please follow EuroSAT’s licensing/terms and citation guidance when using the dataset.
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.pklGRIDS_Models_13Band/:model_mg.pth,model_sg.pth,stack_mg.pkl,stack_sg.pkl
Security note:
.pklfiles use Python pickle; do not unpickle files from untrusted sources.
git clone https://github.com/GlobosNik/GRIDS-Deep_Learning_Satellite_Data.git
cd GRIDS-Deep_Learning_Satellite_DataBecause the repo is notebook-based and may evolve, using an isolated environment is strongly recommended.
conda create -n grids python=3.10 -y
conda activate gridspython -m venv .venv# macOS/Linux
source .venv/bin/activate
# Windows (PowerShell)
# .venv\Scripts\Activate.ps1A 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 jupyterIf a notebook cell indicates additional packages, install them into the same environment and re-run.
Start Jupyter:
jupyter notebookYou 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)
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.
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.txtand/orenvironment.ymlto enable one-command environment recreation.
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).
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.
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.cfffile to enable GitHub-native citation export.
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:
- Fork the repo
- Create a feature branch
- Commit changes
- Push to your fork
- Open a Pull Request
Licensed under the Apache License 2.0. See LICENSE.
- EuroSAT dataset authors and maintainers (see https://github.com/phelber/EuroSAT)