All Projects β†’ isikdogan β†’ deepwatermap

isikdogan / deepwatermap

Licence: other
a deep model that segments water on multispectral images

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to deepwatermap

awesome-spectral-indices
A ready-to-use curated list of Spectral Indices for Remote Sensing applications.
Stars: ✭ 357 (+340.74%)
Mutual labels:  landsat, remote-sensing, sentinel-2
lsru
πŸ” 🌐Query and Order Landsat Surface Reflectance data via ESPA
Stars: ✭ 24 (-70.37%)
Mutual labels:  landsat, remote-sensing
Landsat578
Very simple API to download Landsat [1-5, 7, 8] data from Google
Stars: ✭ 54 (-33.33%)
Mutual labels:  landsat, remote-sensing
Bayesian LSP
A Bayesian hierarchical model that quantifies long-term annual land surface phenology from sparse time series of vegetation indices.
Stars: ✭ 32 (-60.49%)
Mutual labels:  landsat, remote-sensing
pylandtemp
Algorithms for computing global land surface temperature and emissivity from NASA's Landsat satellite images with Python.
Stars: ✭ 110 (+35.8%)
Mutual labels:  landsat, remote-sensing
spectral
Awesome Spectral Indices for the Google Earth Engine JavaScript API (Code Editor).
Stars: ✭ 68 (-16.05%)
Mutual labels:  landsat, remote-sensing
starfm4py
The STARFM fusion model for Python
Stars: ✭ 86 (+6.17%)
Mutual labels:  remote-sensing, sentinel-2
Imagery-Apps
Example JavaScript source code for ArcGIS imagery apps (Landsat Explorer and Sentinel Explorer) that you can expand or customize.
Stars: ✭ 24 (-70.37%)
Mutual labels:  landsat, sentinel-2
deck.gl-raster
deck.gl layers and WebGL modules for client-side satellite imagery analysis
Stars: ✭ 60 (-25.93%)
Mutual labels:  landsat, remote-sensing
pylandsat
Search, download, and preprocess Landsat imagery πŸ›°οΈ
Stars: ✭ 49 (-39.51%)
Mutual labels:  landsat, remote-sensing
eodag
Earth Observation Data Access Gateway
Stars: ✭ 183 (+125.93%)
Mutual labels:  landsat, remote-sensing
Start maja
To process a Sentinel-2 time series with MAJA cloud detection and atmospheric correction processor
Stars: ✭ 47 (-41.98%)
Mutual labels:  remote-sensing, sentinel-2
biodivMapR
biodivMapR: an R package for Ξ±- and Ξ²-diversity mapping using remotely-sensed images
Stars: ✭ 18 (-77.78%)
Mutual labels:  remote-sensing, sentinel-2
land-cover-to-land-use-classification
Satellite image processing pipeline to classify land-cover and land-use
Stars: ✭ 64 (-20.99%)
Mutual labels:  landsat, remote-sensing
waterquality
Package designed to detect and quantify water quality and cyanobacterial harmful algal bloom (CHABs) from remotely sensed imagery
Stars: ✭ 31 (-61.73%)
Mutual labels:  remote-sensing, sentinel-2
geeSharp.js
Pan-sharpening in the Earth Engine code editor
Stars: ✭ 25 (-69.14%)
Mutual labels:  landsat, remote-sensing
ee extra
A ninja python package that unifies the Google Earth Engine ecosystem.
Stars: ✭ 42 (-48.15%)
Mutual labels:  landsat, remote-sensing
gsky
Distributed Scalable Geospatial Data Server
Stars: ✭ 23 (-71.6%)
Mutual labels:  remote-sensing
piradar
Radar using Red Pitaya for RF: using Raspberry Pi 3 for quad-core radar signal processing
Stars: ✭ 59 (-27.16%)
Mutual labels:  remote-sensing
programming-for-gis-and-rs
Materials for the Intro to Programming for GIS and Remote Sensing Course that I teach at Saint Louis University. They include the updates I made for the spring 2020 and fall 2020 semesters.
Stars: ✭ 61 (-24.69%)
Mutual labels:  remote-sensing

DeepWaterMap

DeepWaterMap is a deep convolutional neural network trained to segment surface water on multispectral imagery. This repository contains the resources for the most recent version of DeepWaterMap (v2.0).

Sample input and output

Papers

If you find our code, models, or dataset useful in your research, please cite our papers:

  • L. F. Isikdogan, A.C. Bovik, and P. Passalacqua, "Seeing Through the Clouds with DeepWaterMap," IEEE Geoscience and Remote Sensing Letters, 2019. [Read at IEEExplore], [PDF]
  • F. Isikdogan, A.C. Bovik, and P. Passalacqua, "Surface Water Mapping by Deep Learning," IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2017. [Read at IEEExplore], [PDF]

Dependencies

  • TensorFlow (tested on TensorFlow 1.12)
  • Numpy
  • Tifffile (for reading geotiff files)
  • OpenCV (for reading and writing images)

Dependencies can be installed using the Python Package Installer (pip):

pip install tensorflow==1.12.0 tifffile opencv-python

Running inference

You can use our inference script to generate a surface water map given a multi-spectral image as:

$ python inference.py --checkpoint_path checkpoints/cp.135.ckpt \
    --image_path sample_data/sentinel2_example.tif --save_path water_map.png

You can download the checkpoint that contains our trained model parameters at: checkpoints.zip.

You can find sample input images at: sample_data.zip.

If you receive an out of memory error, try running it on CPU or on a smaller input image. Running inference on a full-sized Landsat image on CPU may take a few minutes.

DeepWaterMap does not require the input images to be Landsat-7, Landsat-8, or Sentinel-2 images. However, it expects the input bands to approximately match the Landsat bands listed below.

B2: Blue
B3: Green
B4: Red
B5: Near Infrared (NIR)
B6: Shortwave Infrared 1 (SWIR1)
B7: Shortwave Infrared 2 (SWIR2)

See https://www.usgs.gov/faqs/what-are-band-designations-landsat-satellites for more information about those bands.

If you are using images acquired by a sensor other than Landsat, try to match the bands above as closely as possible and make sure the input bands are in the correct order. The model is robust against the shifts in the spectral responses of sensors. Therefore, the bands do not need to match perfectly.

The inference script we provide gets its input from a 6-band TIFF file. You can modify the script to feed the model a matrix of MxNx6 dimensions in any form. For example, you can read the input bands from separate files, concatenate them in the channel axis, and feed it to the model.

Dataset

You do not need to download the dataset to use DeepWaterMap to run inference on images. You can use the checkpoint we provide instead. We made this dataset available for researchers who wish to experiment with it.

We provide the original GeoTIFF files and the compressed TFRecords dataset that we used to train DeepWaterMap.

If you wish to re-train our model or train another model using our dataset you can download our TFRecords dataset and run trainer.py.

Download TFRecords (~205GB)

You can find the original GeoTIFF images in the following box folder.

Original GeoTIFF files (~1TB)

The GeoTIFF dataset is very big. If you need to find and download a particular tile you can find an index of the tiles in ShapeFile format in metadata.zip.

Differences from the paper

The dataset we provide here has more samples than mentioned in the paper. The additional samples in the dataset have heavier cloud coverage. The checkpoint we provide is a result of training DeepWaterMap on the entire dataset for 135 epochs, including the additional, more challenging samples.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].