Main project’s delivery is PerceptiveSentinel platform – eo-learn. To learn more about it, view the source code, documentation and blog posts.

Streaming machine learning is provided through platform’s “intelligence” component: EO-QMiner. GitHub

The very important part is also FASTENER for the feature selection. GitHub

FASTENER (FeAture SelecTion ENabled by EntRopy) algorithm with its multi-objective approach tries to maximize the accuracy of a machine learning algorithm with as few features as possible. The algorithm exploits entropy-based measures like mutual information in the crossover phase of the iterative genetic approach. FASTENER converges to an (near) optimal subset of features faster than other multi-objective wrapper methods such as POSS, DT-forward and SDS-FS and achieves better classification accuracy than similarity and information theory-based methods utilized in earth observation scenarios so far. The approach was evaluated using the earth observation data set for land-cover classification from ESA’s Sentinel-2 mission, the digital elevation model and the ground truth data of the Land Parcel Identification System from Slovenia. In land cover classification, the algorithm gives state-of-the-art results. Additionally, FASTENER was tested on open feature selection datasets and compared to the state-of-the-art methods. With less model evaluations, the algorithm yields comparable results to DT-forward and is superior to SDS-FS. FASTENER can be used in any supervised machine learning scenario. FASTENER converges faster and gives better results than compared methods. Below

Flow diagram of the FASTENER graphically represents basic feature selection genetic algorithm


PerceptiveSentinel platform has been validated and its value demonstrated through development of the set of six EO VAS use-cases and through their chaining into Danish precision farming system: Demonstration USE-CASE.


EO VAS use-cases

Cultivated Area
Crop Cycle
Crop Damage
Moisture content


Cultivated Area

In this Notebook we used the algorithms already present in the framework to download data for a large time period and average the output of our model to make better predictions:


Example of a considered time series


The corresponding evaluations

The final output

This Notebook shows how easy a prediction can be made on any Sentinel-2 data at any location available to the user.



A Jupyter Notebook build on top of the eo-learn library was developed for the automatic detection of crop types. It contains the processing chain from the ingestion of the raw data, the in-situ data, preparing the data and applying two different classification algorithms to the data.

The crop type algorithm that is deployed results in satisfactory results in Austria, with accuracies ranging from 60 (vegetables) to over 95 percent, with most classes above 90 percent, after some regrouping of the initial classes.

The Jupyter Notebook was also adapted successfully to a region in Denmark.


Crop Cycle

A Crop Cycle Jupiter Notebook was developed to illustrate how relative comparison of crop evolution among regions or smaller territorial units could be useful for related value-added services (VAS) such as Crop Yield, Crop Damage and indirectly also Soil moisture.

The Jupiter Notebook Crop Cycle has been prepared with 2019 data for Slovenian territory already downloaded from Sentinel hub and saved in EO patches locally.

A comparison of area of interest with the region average was demonstrated. In our case, bounding area of one EO patch was compared to the maize development in Pomurska region. Results are presented in figure below:


Crop Damage

The crop damage was developed using the eo-learn library and can be applied to any arbitrary field (or set of fields). After testing several different approaches, a two step-method was derived. After creating a fitness map, for which itself three different methods can be applied, a multitemporal and intra-field or multi-field approach is applied to identify areas within a field (or various fields) that underperforms and either is already recovering or considered damaged.

It is implemented into a REST API web service and can be called either directly or from within an EO Task.

The main challenge of the development was a lack of sufficient and clean in-situ data, although various data sources were considered and tested. The final result was designed in such a way, that key parameter of the algorithm can be altered within the call, meaning that as soon as you have good and representative in-situ data the method can be finetuned to match the given situation and problem area.

Use-Case: GeoVille's Crop Status service


Moisture Content

A sound soil moisture algorithm was developed and applied to three representative regions within Austria, Slovenia, and Denmark. SMAP moisture data were downscaled to a 20 m resolution and made available by a Jupyter Notebook that uses the eo-learn library.

The service is available for 2018 and 2019 (to be precise: 2018-03-01 and 2019-11-30), however not for each individual date. The time gap between observations varies depending on available imagery. The service can be utilised for individual fields as input data for precision farming, as well as for larger regions as input for drought monitoring or similar applications.

Soil moisture data for lower Austria during a very dry period


Soil moisture data for the Mura region in Slovenia


For the Danish region, areas close to the sea were excluded. A drier central region can be seen



The service “Crop Yield” is a machine learning (ML) model based on yields from 106 winter wheat fields (1,125 hectare) collected in 2016 and 2017, Sentinel-2 L1C data (consisting of 13 spectral bands and the indices NDVI, NDRE, and MSAVI2), the Danish terrain height model with a resolution of 0.4 meter, and weather data (including air temperature, evaporation, precipitation, soil temperature, and global radiation). The forecast was developed in winter wheat throughout the growth season, thereby making it possible for the farmer to regulate the first and second nitrogen fertilizer application based on yield predictions. The models were able to predict winter wheat yield on field level and on position level, with a MEA of 0,7 and 1,2 t/ha before harvest, respectively.

Data used in the machine learning (ML) model predicting winter wheat yields.


Danish precision farming system: Demonstration USE-CASE

The EO VAS Crop Yield service facilitates CropManager with a yield map prognosis for winter wheat fields. In the future, the EO VAS Crop Yield service is easy to expand with more winter wheat models and models for other crop types. The farmer can see a visualization of the yield map prognosis with 10m-by-10m pixels to make the variation of the yield on her/his fields more visible. A total amount of the crop yield on field level is also calculated and shown to the farmer. The farmers’ input about the ML model predictions of the yield as they measure it at harvest and also about the distribution of the yield from the pixels in the field being as expected will contribute to insight in the performance of the model in fields differing from the training set. The EO VAS Crop Yield service is a web service easy to integrate into other programs besides CropManager.







This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Enter the characters shown in the image.