EO-Learn Slovenia Notebook: Deep Learning Example

Hello! I am still working through the SI_LULC_pipeline example and I had a question.

In the blog post associated with the example, Land Cover Classification with eo-learn: Part 3 | by Matic Lubej | Sentinel Hub Blog | Medium, on part 3 it mentions that you attempted a deep learning approach for the eopatch data of slovenia. Is there example code for this? I would be really interested in running through the example to see how it works.

I was able to find the eo-flow repository on github, is this where the deep learning examples are located?

Yes! I believe in the blog post we referred to the Temporal FCN network which is reported in the example notebook.

Great! Yes thank you this is actually what I was working on so I am glad I was able to find the correct one. I really appreciate your assistance. I am sure I may have some more questions as I work through it so I will bring some more of those questions here to the forums. Thank you for being so responsive it is super awesome!

Hate to hit you with another question already but I did remember something I was wondering as I worked through the notebook examples. I am not sure if there is another space where this is discussed but I have been wondering about how exactly the timepoints for the eopatches work. I thought that there could be changes over time for example in spring more vegetation, larger rivers etc. and in say winter snow/less vegetation.

So I guess my questions would be where exactly are the labels being pulled from and do they change overtime depending on the range in timepoints.

I remember reading in the SI_LULC_pipeline notebook it talked about selecting a date and drawing the closest timestamp for each eopatch. Does this mean the labeling is being limited to a specific date? Sorry about posing many questions, as I have been working through the examples many things peaked my interest and I havent been able to find clear answers on this.

The label regarding snowfall never seems to be predicted so I am wondering if I selected a specific region of patches that may experience significant snowfall, would I begin to see these get predicted?

In case of Slovenia, and often for other regions and countries as well, the land cover labels are provided on a yearly bases, and can be updated every few years. This means that for a given location the seasonal changes are not taken into account, and the label describes “what is on land most of the time”. For the majority of classes this is not a problem (e.g. built-up area, grassland, agricultural land), although it might be source of noise for others (as you mention rivers that dry up or flood, bareland on mountains).

It is up to you and the model to try and deal with this, either by letting the model learn these variations, or removing them from the input data (e.g. only provide summer-time months).

The snow class refers to permanent snows or glaciers if I remember correctly, so snow/ice present all year, which is quite rare. This becomes then a problem of imbalanced class labels, which you’d have to handle separately by, for instance, stratified sampling.

In addition, there is often a land cover/land use source of noise (e.g. land cover marked as build-up which actually denotes use, and might actually be grassland where houses/buildings could be built on).

Good luck with your efforts.

Oh alright awesome this does answer many questions I have had. I really appreciate you taking the time to answer my questions.

No problem!

Good luck