CNN-based super-resolution algorithm for band upsampling
Hello everybody,
after some necessary workout and tweaking to adapt the solution to the operational workflow, we are now ready to start integrating our Deep Learning (DL) based solution for the upsampling of Sentinel-2 20m bands (see reference paper here: https://www.mdpi.com/2072-4292/11/22/2635) in iota2. Me and @impedimenta (can someone please add him among developers?) will participate to these developments.
Our idea is to initially provide this preprocessing step (alternative to the bicubic interpolation) as a sensor-specific option for Sentinel-2 L2A images only. We will use Tensorflow as DL backend, and at a first glance this is the only new dependency that this development will require. Everything should fit the conda framework appropriately.
The operational strategy is rather straightforward, each tile is processed independently, a training of the network from scratch is provided for the first date of the time series (or a close clean image), subsequent dates will be processed by fine-tuning the initial model. Patches for training will be selected only on non-cloudy areas, which will require for each date to first process the cloud mask (contrarily to what happens in the current workflow).
Since this is the first contribution on machine learning based image preprocessing, we guess that many questions will arise during development activities, but we're absolutely open to discussion on every single one.
Best, Raffaele