Welcome to our repository, where we explore the cutting-edge deep learning architectures applied to crop mapping. This project aims to enhance crop classification accuracy by using the power of AI.
This repository contains a series of experiments and implementations of various deep learning models designed to identify, classify, and map different crop types using satellite imagery. By integrating different architectures, we aim to compare their effectiveness and accuracy in real-world scenarios, contributing to optimising crop type predictions and land use efficiency.
Applied to temporal sequences, ideal for analyzing changes over time in crop growth.
Utilized for large-scale and high-resolution imagery, focusing on capturing complex, long-range dependencies.
Optimized for analyzing sequential data, this model is ideal for extracting features from temporal profiles of crop growth captured in time-series satellite data.
Designed to interpret volumetric data, enabling the analysis of spatial-temporal patterns in multi-temporal imagery.
A type of recurrent neural network with an attention operation capable of learning order dependence in sequence prediction problems, particularly useful for time-series prediction in crop development.
Combines CNNs and RNNs to interpret spatial and temporal data simultaneously, providing a robust framework for dynamic environmental understanding.
An adaptation of the U-Net architecture that works with volumetric data, suitable for detailed segmentation tasks in 3D remote sensing images and adapted here for high-resolution crop classification.
Ensemble learning jointly combines multiple models to improve accuracy, robustness, and generalisation beyond what single models achieve. Ensemble methods help reduce overfitting and enhance prediction capabilities on complex datasets. Hybrid architectures merge different types of neural networks or combine neural networks in order, such as using CNNs' outputs as inputs into RNNs.
To deepen our understanding of the models' decision-making processes and improve their transparency and usability, we explore model interpretation from three perspectives:
-
Unveiling Model Learning Behavior We analyze how models evolve during training, focusing on understanding the changes in their internal state across convolutional layers and time series.
-
Soft Output (Prediction Confidence) We examine the confidence levels of the model predictions to assess their reliability.
-
Gradients for visualising Important Features and Acquisition Dates By analyzing the gradients, we explore which features (e.g., satellite-derived features, temporal windows) contribute most to the model's predictions.
The datasets used in this project are sourced from public satellite imagery (mainly Sentinel-1 and Sentinel-2) and agricultural surveys conducted by the Chinese Academy of Agriculture Science (CAAS). Due to the large data volume, the preprocessed data for model training and evaluation is not directly provided here. Still, we will keep uploading demo datasets and updating this repository accordingly.
Datasets are used for model training, validating and testing:
Please download the dataset (Sentinel-1 m-chi, dataset split required) used in Chapter 3: https://drive.google.com/file/d/1-4XBXDrC6QwBBwflJI2-a8O4fQ0DDxRm/view?usp=drive_link
Please download the dataset used in Chapter 4 (Sentinel-1 m-chi + Sentinel-2 spectral bands): https://drive.google.com/drive/folders/10q7QIbHrfQMS1TrDBgPeJFWbr5u4LO-g?usp=drive_link
TensorFlow
numpy
pandas
scikit-learn
jupyter
Clone this repo to begin exploring different neural networks' performance on crop mapping. Installation guidelines, usage instructions, and detailed documentation are provided for setting up your environment and running the models.
Contributions are welcome! If you have suggestions for new models, improvements in the existing ones, or additional datasets, please feel free to open an issue or submit a pull request.
This project is released under the MIT License. Please refer to the LICENSE file for more details.