lanha / DSen2

Super-Resolution of Sentinel-2 Images: Learning a Globally Applicable Deep Neural Network
GNU General Public License v3.0
235 stars 70 forks source link

DSen2

Deep Sentinel-2

Super-Resolution of Sentinel-2 Images: Learning a Globally Applicable Deep Neural Network

Contact: Charis Lanaras, charis.lanaras@alumni.ethz.ch

Requirements

Training

See the detailed description in the training directory. Use the --resume option with your application related Sentinel-2 tiles to refine the provided network weights.

Using the Trained Network

The network can be used directly on downloaded Sentinel-2 tiles. See details in the s2_tiles_supres.py file. An example follows:

 python s2_tiles_supres.py /path/to/S2A_MSIL1C_20161230T074322_N0204_R092_T37NCE_20161230T075722.SAFE/MTD_MSIL1C.xml /path/to/output_file.tif --roi_x_y "100,100,2000,2000"

Point to the .xml file of the uzipped S2 tile. You must also provide an output file -- consider using a .tif extension that is easily read by QGIS. If you want to also copy the high resolution (10m bands) you can do so, with the option --copy_original_bands. To also predict the lowest resolution bands (60m) use the --run_60 option.

MATLAB Demo

The demo is also ported to MATLAB: demoDSen2.m. However, MATLAB 2018a or newer is needed to run. It utilizes the Neural Network toolbox that can be accelerated with the Parallel Computing Toolbox.

Used Sentinel-2 tiles

The Sentinel-2 tiles used for training and testing are listed in:

They can be downloaded from the Copernicus Open Access Hub.