Satellite images classification using the EuroSAT dataset

Roman Nagy
5 min readMar 16, 2023

--

Satellite imagery and using AI to extract relevant information out of satellite images play an increasingly important role in different areas of our lives. There are a number of various applications using this technology to create a positive impact. These are commercial as well as non-profit applications, contributing to the 17 SDGs of the UN. For more information and some interesting links to the newest research in this area, see my post AI for Social Good at AAAI 2023.

In order to be able to apply AI for the analysis of satellite images, extensive datasets are needed to train the AI models. These datasets enable different types of tasks, e.g. classification, object detection, semantic segmentation. A very promising and commonly used is the EuroSAT dataset which can be applied in the classification of observed areas. The goal of this blog is a brief introduction of this dataset together with a quick guide on how to use it for a classification task and what performance can be expected depending on the used AI model. To get the source code used to prepare this blog, feel free to check my github repo.

Dataset

The EuroSAT dataset [1] [2] is a publicly available remote sensing dataset of Sentinel-2 satellite images, which were captured over 13 spectral bands. The dataset contains 27k labeled images, covering ten different land cover classes, including residential areas, industrial areas, forests, pastures, and more. It can be downloaded via this link.

The EuroSAT dataset was created by the German Aerospace Center (DLR) as part of the BigEarthNet project, which aims to provide a large-scale benchmark dataset for remote sensing image retrieval and classification tasks. This dataset is widely used by researchers and practitioners in the field of remote sensing and machine learning. Its availability has contributed to the development of more accurate and reliable algorithms for land cover classification and other remote sensing applications.

Each of the 27k images is labeled by one of the 10 following classes:

This blog describes one of the possible ways for how to use the dataset for the classification of areas observed in satellite images. For this purpose, the dataset was downloaded and the images were loaded directly from the local drive using the tf.keras.utils.image_dataset_from_directory method from TensorFlow. The split between training and validation set was 80/20. The images were during the training sorted in batches each containing 32 samples.

Models for image classification

The goal was to see how good a neural network for image classification can be trained using the EuroSAT dataset. To evaluate the dataset, the image classification has been done using three different models — neural networks. First layer of each model was a rescaling layer scaling the RGB values from the range [0..255] to the range [0..1]. The last layer of each model was a softmax layer with 10 output nodes.

Following models have been trained and their performance has been evaluated using the EuroSAT dataset:

  • A pre-trained ImageNet model (mobilenet_v1_100_128) extended by the first rescaling layer and the last softmax layer. For fitting of this model 3 epochs were used.
  • Model including a pre-trained features extractor (efficientnet_v2_imagenet1k_l). This was the largest used neural network with more than 117 million parameters. Only 1 epoch was used to fit the model.
  • Custom sequential model with 3 x (Conv2D + MaxPooling2D) layers. This model was fit in 20 epochs.

Model evaluation

After fitting the models, the evaluation of each of them was performed using the accuracy and the F1 score metrics. Following values have been achieved on the validation set:

The smallest accuracy as well as F1 score values have been achieved by the custom sequential model. These were 0.85 and 0.84 respectively. Both models using pre-trained parts performed much better. The model with features extractor achieved for both, accuracy as well as F1 score, the value of 0.93. The pre-trained ImageNet model achieved 0.96 for both metrics. Further fine tuning of model parameters and model architecture would possibly lead to next performance improvements, which was not done in this version. Given achieved values of the selected metrics, the EuroSAT dataset can definitely be considered as a very promising dataset for satellite image classification.

Conclusion

EuroSAT is a publicly available remote sensing dataset of satellite images. For the purpose of this blog, it has been used for image classification using three different models. The evaluation was done using the accuracy and the F1 score metrics. Metrics values around 0.96 achieved on the validation set have shown that the dataset is sufficient in order to be used in various applications and use-cases using satellite imagery. Besides others, these might be:

  • Land-use classification: The EuroSAT dataset can be used to train machine learning models for land-use classification tasks. This can be useful for mapping and monitoring changes in land-use over time.
  • Environmental monitoring: The EuroSAT dataset can be used to monitor environmental changes such as deforestation, urbanization, and land degradation.
  • Disaster response: The EuroSAT dataset can be used to help respond to disasters such as floods, wildfires, and earthquakes by providing up-to-date satellite images of affected areas.
  • Agriculture: The EuroSAT dataset can be used to monitor crop growth and health, estimate yields, and identify areas of potential crop damage.
  • Urban planning: The EuroSAT dataset can be used to support urban planning by providing information on land-use patterns and changes in urban areas.

The dataset is a valuable resource for researchers and practitioners in a wide range of fields who need access to high-quality satellite imagery of Europe.

References

[1] EuroSAT: A novel dataset and deep learning benchmark for land use and land cover classification. Patrick Helber, Benjamin Bischke, Andreas Dengel, Damian Borth. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2019.

[2] Introducing EuroSAT: A Novel Dataset and Deep Learning Benchmark for Land Use and Land Cover Classification. Patrick Helber, Benjamin Bischke, Andreas Dengel. 2018 IEEE International Geoscience and Remote Sensing Symposium, 2018.

--

--