1 of 54

Step-by-step guide for the BayTS NRT alert generation on the SEPAL platform

NFM Team

FAO Forestry Division &

Wageningen University

2 of 54

BayTS Recipes

Overview

  •  Based on the same method as RADD alerts
  •  For Sentinel-1 only
  •  Large-scale - weekly/monthly
  •  Parameter tuning for local conditions
  •  Export to GEE/SepalDrive/Locally

3 of 54

NRTM in SEPAL

3

25.07.23

BayTS Recipes

Original Method

  • Historical reference for pixel-based mean and SD calculation
  • F-probability density function
    • Mean backscatter ± 2* SD
  • NF-probability density function
    • Mean backscatter – 4 dB ± 2*SD
  • Alerts are generated based on Bayesian probability updating and threshhold on NF-probability

4 of 54

NRTM in SEPAL

25.07.23

Workflow

  1. Generation of historical BayTS Layer 🡪 BAYTS Historical recipe
  2. Creation of Forest Mask (optional) 🡪 Masking recipe
  3. Generation of BayTS Alerts 🡪 BAYTS Alerts recipe
  4. Visual inspection and parameter tweaking 🡪 BAYTS Alerts recipe interface
  5. Updating previous alerts 🡪 BAYTS Alerts recipe

5 of 54

NRTM in SEPAL

25.07.23

Workflow

  1. Generation of historical BayTS Layer 🡪 BAYTS Historical recipe
  2. Creation of Forest Mask (optional) 🡪 Masking recipe
  3. Generation of BayTS Alerts 🡪 BAYTS Alerts recipe
  4. Visual inspection and parameter tweaking 🡪 BAYTS Alerts recipe interface

This how-to guide provides the general steps when using a combination of Landsat and Sentinel-2 data for an exemplary area in Bolivia.

6 of 54

NRTM in SEPAL

6

25.07.23

Workflow

I - Generation of historical BayTS Asset

  1. Open the recipe menu
  2. Click on BAYTS HISTORICAL LAYER

7 of 54

NRTM in SEPAL

7

25.07.23

Workflow

I - Generation of historical BayTS Asset

  1. Open the recipe menu
  2. Click on BAYTS HISTORICAL LAYER
  3. Select and Area of Interest

Note: As an example you can use the following EE Table:

users/andreasvollrath/workflows/aoi_bolivia_nrt

1

2

3

4

8 of 54

NRTM in SEPAL

8

25.07.23

Workflow

I - Generation of historical BayTS Asset

  1. Open the recipe menu
  2. Click on BAYTS HISTORICAL LAYER
  3. Select and Area of Interest
  4. Select a date

Note: if cloud cover is not persistent, a 3-year period before the start of monitoring is sufficient

1

2

9 of 54

NRTM in SEPAL

9

25.07.23

Workflow

I - Generation of historical BayTS Asset

  1. Open the recipe menu
  2. Click on BAYTS HISTORICAL LAYER
  3. Select and Area of Interest
  4. Select a date
  5. Select pre-processing options

Note I: Terrain correction is usually recommended in SAR processing for land applications. In or case, we only do relative comparisons to the same acquisition geometry, so it does not have a huge impact

Note II: By default no multi-temporal speckle filter is selected. Quegan can drastically improve the results though, especially as it needs to be applied later on the single imagery

1

2

10 of 54

NRTM in SEPAL

10

25.07.23

Workflow

I - Generation of historical BayTS Asset

  1. Open the recipe menu
  2. Click on BAYTS HISTORICAL LAYER
  3. Select and Area of Interest
  4. Select a date
  5. Select pre-processing options
  6. Rename Recipe

1

11 of 54

NRTM in SEPAL

11

25.07.23

Workflow

I - Generation of historical BayTS Asset

  1. Open the recipe menu
  2. Click on BAYTS HISTORICAL LAYER
  3. Select and Area of Interest
  4. Select a date
  5. Select pre-processing options
  6. Rename Recipe
  7. Export recipe

1

12 of 54

NRTM in SEPAL

12

25.07.23

Workflow

I - Generation of historical BayTS Asset

Important consideration:

The BAYTS asset usually does not need any updating and is produced only once, but:

if you apply this over forest with seasonality, you may need to adapt to historical years with similar similar conditions to the monitoring year.

Indeed, the RADD alerts are only generated over Primary tropical humid forest, where the signal remains relatively stable in time and updating is not necessary.

13 of 54

NRTM in SEPAL

13

25.07.23

Workflow

II - Applying a Forest Mask

  1. Open the recipe menu
  2. Click on the masking recipe

1

14 of 54

NRTM in SEPAL

14

25.07.23

Workflow

II - Applying a Forest Mask (optional)

  1. Open the recipe menu
  2. Click on the masking recipe
  3. Select the Input Format of the historical BayTS Asset

Note I: If you exported the BayTS asset, select “Earth Engine Asset”, otherwise click on “Saved Sepal Recipe”

1

15 of 54

NRTM in SEPAL

15

25.07.23

Workflow

II - Applying a Forest Mask (optional)

  1. Open the recipe menu
  2. Click on the masking recipe
  3. Select the Input Format of the historical CCDC Asset
  4. Select the recipe/EE path

1

16 of 54

NRTM in SEPAL

16

25.07.23

Workflow

II - Applying a Forest Mask (optional)

  1. Open the recipe menu
  2. Click on the masking recipe
  3. Select the Input Format of the historical CCDC Asset
  4. Select the recipe/EE path
  5. Select the Input Format of the forest mask

1

17 of 54

NRTM in SEPAL

17

25.07.23

Workflow

II - Applying a Forest Mask (optional)

  1. Open the recipe menu
  2. Click on the masking recipe
  3. Select the Input Format of the historical CCDC Asset
  4. Select the recipe/EE path
  5. Select the Input Format of the forest mask
  6. Select recipe/EE path for the forest mask

Note I: The mask shall consist of 0s (non-forest) and 1s (forest)

Note II: You can use a global mask of Primary Humid Tropical Forest in 2018 as in the example:

UMD/GLAD/PRIMARY_HUMID_TROPICAL_FORESTS/v1

1

18 of 54

NRTM in SEPAL

18

25.07.23

Workflow

II - Applying a Forest Mask (optional)

  1. Open the recipe menu
  2. Click on the masking recipe
  3. Select the Input Format of the historical CCDC Asset
  4. Select the recipe/EE path
  5. Select the Input Format of the forest mask
  6. Select recipe/EE path for the forest mask
  7. Rename recipe

Note: Masking is a very fast process, so you usually do no need to export the results, and can use the output of the masking recipe as input in the next recipe

Note II: The applied mask is from 2018, and therefore does not exclude all non-forested areas. You could use SEPAL’s remap recipe and the VV SD band to further refine the mask based on the temporal backscatter behaviour.

1

19 of 54

NRTM in SEPAL

19

25.07.23

Workflow

III – Generation of BayTS alerts

  1. Open the recipe menu
  2. Click on the BayTS Alerts recipe

20 of 54

NRTM in SEPAL

20

25.07.23

Workflow

III – Generation of BayTS alerts

  1. Open the recipe menu
  2. Click on the BayTS Alerts recipe
  3. Define the source type of the (masked) historical layer

21 of 54

NRTM in SEPAL

21

25.07.23

Workflow

III – Generation of BayTS alerts

  1. Open the recipe menu
  2. Click on the BayTS Alerts recipe
  3. Define the source type of the (masked) historical layer
  4. Navigate to your Sepal recipe/EE Path

22 of 54

NRTM in SEPAL

22

25.07.23

Workflow

III – Generation of alerts

  1. Open the recipe menu
  2. Click on the Change Alerts recipe
  3. Define the source type of the (masked) historical layer
  4. Navigate to your Sepal recipe/EE Path
  5. Select the end data, and data range for the monitoring period

Note I: The monitoring period can range from days to months. However, Sentinel-1 repeat cycle ranges from 6 to 12 days.

23 of 54

NRTM in SEPAL

23

25.07.23

Workflow

III – Generation of alerts

  1. Open the recipe menu
  2. Click on the Change Alerts recipe
  3. Define the source type of the (masked) historical layer
  4. Navigate to your Sepal recipe/EE Path
  5. Select the end data, and data range for the monitoring period
  6. Set pre-processing options

Note: Those will be the same as the historical layer. If your input is a SEPAL recipe, a change within this recipe will trigger a change in the historical layer recipe.

If your input is an EE asset, it is strictly recommended to keep the pre-processing options as is, as changes will alter the statistical assumptions of the method.

24 of 54

NRTM in SEPAL

24

25.07.23

Workflow

III – Generation of alerts

  1. Open the recipe menu
  2. Click on the Change Alerts recipe
  3. Define the source type of the (masked) historical layer
  4. Navigate to your Sepal recipe/EE Path
  5. Select the end data, and data range for the monitoring period
  6. Set pre-processing options
  7. Algorithmic options

This will be covered later in the tweaking the algorithm section as well as update existing alerts

25 of 54

NRTM in SEPAL

25

25.07.23

Workflow

III – Generation of alerts

  1. Open the recipe menu
  2. Click on the Change Alerts recipe
  3. Define the source type of the (masked) historical layer
  4. Navigate to your Sepal recipe/EE Path
  5. Select the end data, and data range for the monitoring period
  6. Set pre-processing options
  7. Set algorithm parameters
  8. Rename recipe

26 of 54

NRTM in SEPAL

26

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

  1. Stay in the Change Alert Menu
  2. Open the Multi-View Interface

27 of 54

NRTM in SEPAL

27

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

  1. Stay in the Change Alert Menu
  2. Open the Multi-View Interface
  3. Set-up multi-view

Move the recipe 3 times to the left

2

3

1

28 of 54

NRTM in SEPAL

28

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

  1. Stay in the Change Alert Menu
  2. Open the Multi-View Interface
  3. Set-up multi-view
  4. Note the visual button

For now, we have 4 equal windows showing the probability of the detected alerts.

Our aim is to place:

- flag on the top left

- detection date on the top right

- a “first pixel in monitoring period” image composite on the lower left

- a “last pixel in monitoring period” image composite on the lower right

1

2

3

29 of 54

NRTM in SEPAL

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

  1. Stay in the Change Alert Menu
  2. Open the Multi-View Interface
  3. Set-up multi-view
  4. Note the visual button
  5. Add flag window for all detected alerts

Note: The internal algorithm handles 3 types of alerts:

- 1: Initial (when Bayesian updating starts because of going above the NF prob. threshold)

- 2: low confidence (change prob. > 0.85)

- 3: high confidence (change prob. > 0.975)

By default, only high confidence alerts are shown.

1

2

4

3

30 of 54

NRTM in SEPAL

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

  1. Stay in the Change Alert Menu
  2. Open the Multi-View Interface
  3. Set-up multi-view
  4. Note the visual button
  5. Add flag window for all detected alerts
  6. Add the first detection date for low and high confidence alerts

1

2

4

3

31 of 54

NRTM in SEPAL

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

  1. Stay in the Change Alert Menu
  2. Open the Multi-View Interface
  3. Set-up multi-view
  4. Note the visual button
  5. Add flag window for all detected alerts
  6. Add the first detection date for low and high confidence alerts
  7. Add First and Last pixel composites

1

2

4

3

Lower Left

Lower Right

32 of 54

NRTM in SEPAL

25.07.23

Workflow

33 of 54

NRTM in SEPAL

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

Observation

While all of the clear-cutted areas do show up in the alerts, there are some false detections around already cleared land. Those result from an imperfect forest mask and show the algorithms sensitivity to outside forest areas.

An additional forest mask can be created based on the historical layer.

34 of 54

NRTM in SEPAL

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

Additional Forest mask

1. Open a remap recipe

35 of 54

NRTM in SEPAL

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

Additional Forest mask

  1. Open a remap recipe
  2. Add the historical reference

36 of 54

NRTM in SEPAL

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

Additional Forest mask

  1. Open a remap recipe
  2. Add the historical reference
  3. Add a F-NF legend

37 of 54

NRTM in SEPAL

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

Additional Forest mask

  1. Open a remap recipe
  2. Add the historical reference
  3. Add a F-NF legend
  4. Add rulesets to the mapping

38 of 54

NRTM in SEPAL

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

Additional Forest mask

  1. Open a remap recipe
  2. Add the historical reference
  3. Add a F-NF legend
  4. Add rulesets to the mapping
  5. Rename recipe

39 of 54

NRTM in SEPAL

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

Additional Forest mask

  1. Open a remap recipe
  2. Add the historical reference
  3. Add a F-NF legend
  4. Add rulesets to the mapping
  5. Rename recipe
  6. Open a new masking recipe

40 of 54

NRTM in SEPAL

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

Additional Forest mask

  1. Open a remap recipe
  2. Add the historical reference
  3. Add a F-NF legend
  4. Add rulesets to the mapping
  5. Rename recipe
  6. Open a new masking recipe
  7. Select the already masked historic reference recipe as source

41 of 54

NRTM in SEPAL

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

Add customized Forest mask

  1. Open a remap recipe
  2. Add the historical reference
  3. Add a F-NF legend
  4. Add rulesets to the mapping
  5. Rename recipe
  6. Open a new masking recipe
  7. Select the already masked historic reference recipe as source
  8. Select the newly remapped FNF mask as mask

42 of 54

NRTM in SEPAL

25.07.23

Workflow

Primary Humid Tropical Forest Mask (Turubanova 2018)

Primary Humid Tropical Forest Mask (Turubanova 2018) +

1.5 dB VH threshold FNF mask

43 of 54

NRTM in SEPAL

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

Add customized Forest mask

  1. Open a remap recipe
  2. Add the historical reference
  3. Add a F-NF legend
  4. Add rulesets to the mapping
  5. Rename recipe
  6. Open a new masking recipe
  7. Select the already masked historic reference recipe as source
  8. Select the newly remapped FNF mask as mask
  9. Replace the source image in the BayTS alerts recipe with the new forest mask

44 of 54

NRTM in SEPAL

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

Add customized Forest mask

Ouch….results have not improved! ☹

But now you know how to add a customized forest mask ☺

Another issue that causes this pattern:

- Alerts at the border are detected later and fall into the monitoring period

We can check this easily by including preceding alerts

45 of 54

NRTM in SEPAL

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

Include preceding alerts

46 of 54

NRTM in SEPAL

25.07.23

Workflow

IV – Visual inspection and parameter tweaking

Include preceding alerts

Indeed, we can see that for some of the preceding alerts, the boundaries show up with later dates, which means that the signal of change is less clear and the algorithm needs more time for confirmation.

If this overlaps with the start of the monitoring period, holes can appear.

With BayTS Alerts recipe it is possible to add previous alerts that have been exported.

47 of 54

NRTM in SEPAL

25.07.23

Workflow

V – Update previous alerts

  1. Export first iteration of alerts as EE asset

48 of 54

NRTM in SEPAL

25.07.23

Workflow

V – Update previous alerts

  1. Export first iteration of alerts as EE asset
  2. Add previous alerts asset to the OPTions within the BayTS alerts recipe

49 of 54

NRTM in SEPAL

25.07.23

Workflow

V – Update previous alerts

  1. Export first iteration of alerts as EE asset
  2. Add previous alerts asset to the OPTions within the BayTS alerts recipe
  3. Adjust monitoring period under DAT

Note: You should consider the end date and period, according to the end date of your previous asset.

50 of 54

NRTM in SEPAL

25.07.23

Workflow

V – Update previous alerts

  1. Export first iteration of alerts as EE asset
  2. Add previous alerts asset to the OPTions within the BayTS alerts recipe
  3. Adjust monitoring period under DAT
  4. You can select the INCLUDE options in the Viz parameters to show the previous alerts

Note: Previous alerts will show up in the flag and probability layers independent of this selection, as those are updated versions of the previous

51 of 54

NRTM in SEPAL

25.07.23

Workflow

V – Update previous alerts

  1. Export first iteration of alerts as EE asset
  2. Add previous alerts asset to the OPTions within the BayTS alerts recipe
  3. Adjust monitoring period under DAT
  4. You can select the INCLUDE options in the Viz parameters to show the previous alerts
  5. Re-export, using the replace button

52 of 54

NRTM in SEPAL

25.07.23

Workflow

VI – Post-processing

Small islands can be removed by a script, where a user can:

- Define the Minimum Mapping Unit in hectare

- Use the Earth Engine exported Asset of the alerts

🡪 needs first_detection_date band included

Follow this link:

https://code.earthengine.google.com/8cf59d6e39d90c7d3bbdc4691f23a08a

53 of 54

NRTM in SEPAL

25.07.23

Workflow

Unfiltered Alerts

Filtered Alerts with a MMU of 0.1 ha

54 of 54

Thank you!

Join the Platform

www.sepal.io

Browse the Open Foris suite of tools

http://openforis.org/