This is a Pytorch implementation of NODE for crop mapping task described in
If you find our work useful in your research, please consider citing our paper:
@article{metzger2021crop,
title={Crop classification under varying cloud cover with neural ordinary differential equations},
author={Metzger, Nando and Turkoglu, Mehmet Ozgur and D'Aronco, Stefano and Wegner, Jan Dirk and Schindler, Konrad},
journal={IEEE Transactions on Geoscience and Remote Sensing},
year={2021},
publisher={IEEE}
}
RNNs are not very happy with irregulary sampled time series since they do not have explicit notion of time by definition.
In remote sensing and Earth observation we often have data gaps which translates irregular time series not only due to clouds, but also caused by irregular acquisition patterns in space or time, sensor failures and replacements, transmission limits, etc. For instance, we show below examples of Sentinel-2 time series data from TUM dataset (left for winter wheat, right for corn). Observations obscured by clouds are marked in blue at the bottom. Note their irregular distribution.
Illustration of the hidden state dynamics for traditional RNNs (left) and for the ODE-RNN model (right).
We use a Conda environment that makes it easy to install all dependencies. Our code has been tested on Ubuntu 20.04 with PyTorch xx and CUDA xx.
- Install miniconda with Python 3.8.
- Create the conda environment:
conda env create -f environment.yml
- Activate the environment:
conda activate node
coming soon
coming soon