This repository contains the solution of the Late Birds team for the 2020 Climate Informatics Data Challenge, ranked 2nd place. We are Dánnell Quesada and Aris Marcolongo.
The original documentation of the challenge, original Jupyter Notebook and test dataset is here. The goal of the Hackathon was to reproduce the visible spectrum (RGB) of satellite images by using the infra-red channels, both taken at the same time, so we can predict visible images (RGB) of Earth at night.
Check the webpage of the Conference for more details and info.
The following is a short description we did about our solution:
As an image to image model we started from the well-known U-net, adapted it to be compatible with the image dimensions and used 1 - ssim as a custom loss function. The data was preprocessed neglecting images which contained more than 20% of black pixels in the True Color dataset. All data was scaled between 0 and 1 and a sigmoid final activation consistently used. For regularization we used early stopping (90/10 — train/validation split).The best U-net was selected by trial and error looking at the validation error and the best models had 6 levels of depths, 32 as channel seed and a filter width of 3 pixels. We used Adam as optimizer with a constant learning_rate of 0.001.
For more details check the latebirds.ipynb notebook, some explanation is added, or you can get in contact with us. Note that the 20% was changed to 2.5% in the latest solution, with no major breakthrough, according to the score. But the animations look a bit better.
To see the output from our latest solution, with some comments and explanation, open the latebirds.ipynb notebook. For the code only, check latebirds.py
With the following command, you can reproduce our last result.
model, hist, CT, TC = create_and_run_model(epochs=100, batch_size=16, to_remove=0.975, n_layers=6, channel_seed=32, kernel_size=3, validation_split=0.1, run=4)During the Hackathon, the models were trained in the HPC of TU Dresden. Specifically, on the machine learning node. Further runs were done locally, as in the notebook, to avoid complications getting the animations.

