Sentinel–1 coherence processing chain

**Figure 3.** The main steps of the coherence processing chain applied automatically to the Sentinel–1 data in the CreoDIAS cloud environment. The numbers below show how the time series of seven images are reduced to one layer for each area in which the model is applied.

#### *2.4. Deep Learning Workflow*

The output of the Sentinel–1 pre–processing included three separate backscatter and coherence averages for each of the three desert areas, each covering the extent of one Sentinel–1 IW footprint (250 × 170 km). These, together with the OSM ancillary data, comprised the input to the second part of the methodology, which included the deep learning workflow. This second part was developed in a sandbox environment for AI projects, called Sandy, belonging to the ESA Advanced Concepts Team. It includes 10 NVIDIA GTX1080 Ti graphics processing units (GPUs), suitable for training deep neural networks, although only one GPU was necessary for the model training. The deep learning workflow was implemented in Python 3, with Keras and Tensorflow. This Jupyter Notebook is available on Github (Supplementary data—Available online: https://github.com/ESA-PhiLab/infrastructure) [45].

#### 2.4.1. OSM and SAR Data Preparation for Deep Learning

For each backscatter and coherence scene average, a corresponding mask was produced of the same extent and spatial resolution, in which pixels overlapping with OSM roads have a value of 1, and all other pixels have a value of 0. These masks were created by converting the OSM road vectors to raster.

Each SAR derived scene average and corresponding OSM mask were split into 256 × 256 adjacent, non–overlapping patches, and the SAR patches were normalised to contain pixel values from 0 to 1.

#### 2.4.2. Data Augmentation

Those SAR and mask patches in which OSM roads were present, comprised the samples to train the U–Net model. The number of such patches per AOI varied from around 400 to 800. Data augmentation was therefore used to increase the number of training samples. The data augmentation included a random rotation through a 360–degree range. It also included a horizontal and vertical flip. These random transformations were chosen as they preserve exactly the width and backscatter characteristics of roads and surrounding features, while changing only their orientation. This was considered the best choice given that roads may feasibly have any orientation, while it is uncertain as to how much their width and backscatter properties may vary. To fill gaps in the image patches following transformation, a reflect mode was selected, i.e., any blank areas, e.g., corners of patches following rotation, are converted to the mirror image of the same number of non–blank pixels on the other side of the dividing line. This was the best possible fill mode given that the lines are not broken, but continue as would be expected with the roads. Figure 4 shows an example of random data augmentation for an input SAR patch and its corresponding OSM derived reference mask.

The data augmentation was implemented through an instance of the image data generator class of the Keras library for Python 3.7.
