This solution won first prize at the UnIT 2025 competition in Prague.
The task was to develop a method that, given 5 satellite images of the same area, spaced in 5-day intervals, would predict a satellite image 25 days after the last one. Our final model was a custom Convolutional LSTM neural network.
The model has an input of five
The model is accompanied by a website visualizes the input and prediction of the model.
Clouds in satellite images posed a challenge, as they confused the model and reduced the usable data. Due to the unclean dataset, some images contained clouds. We applied a preprocessing algorithm that removes them using approximation methods across selected input images.
- Five input images
- Slider to select batch of images
- Model selection dropdown
We can notice that the second image is contaminated with clouds.
- Prediction on the left
- Ground truth on the right
- Evaluation metric for each class at the bottom
Only tested with Python 3.10. For example, Python 3.13 is unsupported. For anaconda it would be:
conda create -n unit2025 python=3.10
pip install -r visualization/requirements.txt
make vis
The full training data (~100GB) has to be provided to you by the competition's partner company, Datamole.
pip install -r model/requirements.txt
make train