By using existing knowhow and integrating it with GEM platform (eo-learn and eo-grow) we have established a process that can identify new urban areas at large scale on quarterly or even monthly basis. We have created the 120 m resolution global cloudless mosaic Analysis Ready Data cube specifically with cost-optimised large-scale monitoring in mind. For the built-up use case, a process was developed, which can (on an ongoing basis) produce information about new built-up areas on Sentinel-2 120 m mosaic. The drill-down mechanism can then be used to run further models on higher and higher resolution, up to very high resolution (VHR) data for identification of individual buildings. In the experimentation phase we focused on the area of Slovenia and France, where high quality reference data provided the means to understand the issues of using low resolution inputs.
To detect built-up areas, we tried several approaches: classifying all the land cover classes within GEM taxonomy, binary classification and finally predicting the fraction of pixel that is considered built-up via regression. The process heavily relies on eo-learn, which is upgraded with the eo-grow framework for scalability. Computations can be done on remote clusters and scalability was tested by producing the results for the whole of Africa. Thanks to the 120 m resolution the process is fast and relatively cheap. The accuracy of results is sufficient to open the way for change detection, which can be further augmented by identifying key areas to process at a higher resolution for more accurate results (drill down mechanism).
Public demonstrator viewer:
Viewer is accessible at https://www.globalearthmonitor.eu/sites/default/files/D5.2_demo.html
Results of built-up regression with LightBGM model:
Results of a deep learning model with spatio-temporal convolutions:
Drill-down mechanism, struggling to identify buildings on Sentinel-2 data (but still doing a rather good job)
All steps of drill-down mechanism, from regression on 120m resolution, to building footprint segmentation with VHR data can be done with eo-grow:
For data access, please see tutorials at https://github.com/sentinel-hub/eo-learn-examples/blob/main/GEM-data/gem-builtup-usecase.ipynb
Running similar pilot yourself:
There is a number of examples how to start with GEM framework available on GitHub: https://github.com/sentinel-hub/eo-grow-examples/tree/main/GEM