Our Solution: Temporal Attention
We use a deep neural network model that processes time series of images from Sentinel 2 (and Sentinel 1). The approach to this problem is based on the fact that different species of plants reflect specific spectra at specific points during their development. A deep neural network model based on temporal attention is used to find these time points (attention being one of the mechanisms mainly responsible for the success of the famous Transformer architecture). So-called pixel set encodings provide a way to leverage the enormous amount of information contained in multi spectral image time series in a data-efficient way, similar to the work of Garnot et al.
This network architecture is capable of capturing changes of reflectance through time of individual crop types. It is further enhanced, for example by incorporating (cloud independent) radar data from Sentinel 1 in order to provide time series with stable intervals between images.
Technologies Used
Backend: Python, PyTorch, NumPy, geopandas, rasterio, gdal, shapely, pyproj, mgrs
Infrastructure: GCloud (Training), Git, dvc, tensorboard
Challenges
As with any solution that makes use of optical satellite data, cloud occlusion is one of the main challenges to be overcome. This entails the reduction of available data points in time for a given region and an imbalance of data between seasons: Warmer seasons tend to have clearer skies. Consequently, more data points are usable as the satellites are able to capture more images that are not obstructed by clouds.
Another challenge is the fact that the data sets are time series of images with multiple channels per time step, which makes the training process memory consuming and demands smart data aggregation strategies.
Finally, because satellites can only capture a limited area at a time, different locations will have different temporal availability of data, i. e. the sequences of data points in time for different areas will be of different sizes and different dates.