Skip to content
/ GeoGAN Public

Conditional GANs for Semantic Segmentation of Multispectral Satellite Images

License

Notifications You must be signed in to change notification settings

vlkniaz/GeoGAN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GeoGAN

This is PyTorch implementation of a GeoGAN network for for dense labeling of RGB+IR optical imagery. The code is based on the pytorch-CycleGAN-and-pix2pix

GeoGAN: Project | Paper

Prerequisites

  • Linux or macOS
  • Python 2 or 3
  • CPU or NVIDIA GPU + CUDA CuDNN

Getting Started

Installation

pip install visdom dominate
  • Alternatively, all dependencies can be installed by
pip install -r requirements.txt
  • Clone this repo:
git clone https://github.com/vlkniaz/GeoGAN.git
cd GeoGAN
  • For Conda users, we include a script ./scripts/conda_deps.sh to install PyTorch and other libraries.

GeoGAN train/test

  • Download a GeoGAN dataset (e.g. maps):
bash ./datasets/download_geogan_dataset.sh maps
  • Train a model:
#!./scripts/train_geogan.sh
python train.py --dataroot ./datasets/maps --name maps_geogan --model geo_gan
  • To view training results and loss plots, run python -m visdom.server and click the URL https://localhost:8097. To see more intermediate results, check out ./checkpoints/maps_geogan/web/index.html
  • Test the model:
#!./scripts/test_geogan.sh
python test.py --dataroot ./datasets/maps --name maps_geogan --model geo_gan

The test results will be saved to a html file here: ./results/maps_geogan/latest_test/index.html.

Apply a pre-trained model (GeoGAN)

  • You can download a pretrained model (e.g. isprs) with the following script:
bash ./scripts/download_geogan_model.sh isprs

The pretrained model is saved at ./checkpoints/{name}_pretrained/latest_net_G.pth. The available model is isprs.

  • To test the model, you also need to download the isprs dataset:
bash ./datasets/download_geogan_dataset.sh horse2zebra
  • Then generate the results using
python test.py --dataroot datasets/horse2zebra/testA --name horse2zebra_pretrained --model test

The option --model test is used for generating results of GeoGAN only for one side. python test.py --model geo_gan will require loading and generating results in both directions, which is sometimes unnecessary. The results will be saved at ./results/. Use --results_dir {directory_path_to_save_result} to specify the results directory.

Download GeoGAN datasets and create your own datasets.

Best practice for training and testing your models.

Citation

If you use this code for your research, please cite our papers.

@inproceedings{Kniaz:2018fq,
author = {Kniaz, V V},
title = {{Conditional GANs for Semantic Segmentation of Multispectral Satellite Images}},
booktitle = {SPIE Remote Sensing},
year = {2018},
publisher = {SPIE},
month = sep
}

Related Projects

CycleGAN-Torch | pix2pix-Torch | pix2pixHD | iGAN | BicycleGAN

Acknowledgments

Code is inspired by pytorch-DCGAN.

About

Conditional GANs for Semantic Segmentation of Multispectral Satellite Images

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published