Skip to content

ekcomputer/pixel-smasher

 
 

Repository files navigation

We have forked from BasicSR

For the original README document from BasicSR, refer to README.md.txt.

Our changes

We have updated model tunings for high-resolution satellite data and modified the architecture to allow for a 10x super resolution transformation (in additional to 2x and 4x). We also added a simple water classification based on adaptive thresholding.

These new changes are authored by Ethan D. Kyzivat and Ekaterina Lezine.

Our paper is now published in the Canadian Journal of Remote Sensing.

Lezine, E. M. D., Kyzivat, E. D., & Smith, L. C. (2021). Super-Resolution Surface Water Mapping on the Canadian Shield Using Planet CubeSat Images and a Generative Adversarial Network. Canadian Journal of Remote Sensing, 47(2), 261–275. https://doi.org/10.1080/07038992.2021.1924646

Image import and preprocessing workflow

  1. Download images to Scenes folder
  2. plot_hists_serial.py > saves histogram for each scene
  3. Compute_mean_hist.py > averages these histograms
  4. extract_subimgs_single.py > Divides satellite scenes into subsets
  5. rand_shuf.sh > Randomly creates training and validation partitions
  6. generate_mod_LR_bic_parallel.py > Upscales and downscales subsets via a number of methods

Dependencies and Installation

  • Python 3 (Recommend to use Anaconda)
  • PyTorch >= 1.0
  • NVIDIA GPU + CUDA
  • Python packages: pip install numpy opencv-python lmdb pyyaml
  • TensorBoard:
    • PyTorch >= 1.1: pip install tb-nightly future
    • PyTorch == 1.0: pip install tensorboardX

Datasets

TBD

Get Started

Please see wiki for the basic usage, i.e., training and testing.

About

Working version of Basic Super-Resolution Toolbox for class project.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 84.2%
  • Python 12.7%
  • Shell 1.3%
  • Other 1.8%