Step-by-step guide for the CCDC-based NRT alert generation on the SEPAL platform
NFM Team
FAO Forestry Division
Change Alert Recipe
Overview
NRTM in SEPAL
3
25.07.23
Change Alert Recipe
Original Method
NRTM in SEPAL
4
25.07.23
CCDC model + RMSE (1 year before)
First Observation in monitoring period
CCDC slice to image comparison
Calibration period
Monitoring period
Change Alert Recipe
SEPAL Method tweaked for NRT
NRTM in SEPAL
25.07.23
Workflow
NRTM in SEPAL
25.07.23
Workflow
This how-to guide provides the general steps when using a combination of Landsat and Sentinel-2 data for an exemplary area in Bolivia.
NRTM in SEPAL
7
25.07.23
Change Alert Recipe
I - Generation of historical CCDC Asset
NRTM in SEPAL
8
25.07.23
Workflow
I - Generation of historical CCDC Asset
Note: As an example you can use the following EE Table:
users/andreasvollrath/workflows/aoi_bolivia_nrt
1
2
3
4
NRTM in SEPAL
9
25.07.23
Workflow
I - Generation of historical CCDC Asset
Note: if cloud cover is not persistent, a 3-year period before the start of monitoring is sufficient
1
2
NRTM in SEPAL
10
25.07.23
Workflow
I - Generation of historical CCDC Asset
Note I: Even if you plan to use a combination of Landsat and Sentinel-2 it is sufficient to only use 1 for the reference period. In our example we just use Landsat 8 and 9
Note II: By default, the breakpoint band is NDFI, you can select any other one, but consider that we are interested in stable forest for the reference period
1
2
NRTM in SEPAL
11
25.07.23
Workflow
I - Generation of historical CCDC Asset
Note I: We aim for the highest quality, using surface reflectance and aggressive cloud and shadow masking
Note II: BRDF Correction is highly recommended for larger areas with overlapping scene footprints, but can be quite compute intense
1
2
NRTM in SEPAL
12
25.07.23
Workflow
I - Generation of historical CCDC Asset
Note: We select conservative break detection, as we do not expect breaks for stable forest in the history period. In this way we avoid false positives
1
2
NRTM in SEPAL
13
25.07.23
Workflow
I - Generation of historical CCDC Asset
1
NRTM in SEPAL
14
25.07.23
Workflow
I - Generation of historical CCDC Asset
Note I: We only want to export bands potentially used in later monitoring
Note II: If you renamed the recipe, the asset ID will be automatically created
Note III: Especially for larger areas it is a good idea to export the asset, as computation gets slow if calculated on the fly.
1
2
NRTM in SEPAL
15
25.07.23
Workflow
I - Generation of historical CCDC Asset
Important consideration:
The CCDC asset needs regular updating, but:
this step will ONLY have to be repeated every 6-8 months, as the subsequent alerts are generated by comparing new incoming images with the modelled CCDC slice of 1 year ago.
NRTM in SEPAL
16
25.07.23
Workflow
II - Applying a Forest Mask
1
NRTM in SEPAL
17
25.07.23
Workflow
II - Applying a Forest Mask (optional)
Note I: If you exported the CCDC asset, select “Earth Engine Asset”, otherwise click on “Saved Sepal Recipe”
1
NRTM in SEPAL
18
25.07.23
Workflow
II - Applying a Forest Mask (optional)
Note I: You can use a the template CCDC asset over a small area in Bolivia:
users/andreasvollrath/Workflow_NRT/CCDC_historical
1
NRTM in SEPAL
19
25.07.23
Workflow
II - Applying a Forest Mask (optional)
1
NRTM in SEPAL
20
25.07.23
Workflow
II - Applying a Forest Mask (optional)
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
NRTM in SEPAL
21
25.07.23
Workflow
II - Applying a Forest Mask (optional)
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
1
NRTM in SEPAL
22
25.07.23
Workflow
III – Generation of alerts
NRTM in SEPAL
23
25.07.23
Workflow
III – Generation of alerts
NRTM in SEPAL
24
25.07.23
Workflow
III – Generation of alerts
NRTM in SEPAL
25
25.07.23
Workflow
III – Generation of alerts
Note I: The monitoring period can range from days to months. It should not be too short, as otherwise alerts cannot be confirmed, but also not too long, as otherwise confirmed alerts might be unflagged due to regrowth
Note II: The calibration period for 3 months works for most cases. In areas/seasons with dense cloud cover, this value might need to be increased due to scarcity of available image.
NRTM in SEPAL
26
25.07.23
Workflow
III – Generation of alerts
Note I: Even though your CCDC asset is only based on Landsat data, you can select both Sentinel-2 and Landsat. Note II: Landsat-7, due to its striping issues might introduce artifacts.
Note III: If your CCDC asset has been exported, the bands that show up here will depend on the band selection during export.
NRTM in SEPAL
27
25.07.23
Workflow
III – Generation of alerts
Make sure to align those with the ones in the historical CCDC asset
NRTM in SEPAL
28
25.07.23
Workflow
III – Generation of alerts
1 Make sure to align those with the ones in the historical CCDC asset
2 Those can be independently set from the CCDC asset
1
2
NRTM in SEPAL
29
25.07.23
Workflow
III – Generation of alerts
Covered in IV – Instant verification and parameter tweaking
NRTM in SEPAL
30
25.07.23
Workflow
III – Generation of alerts
NRTM in SEPAL
31
25.07.23
Workflow
IV – Visual inspection and parameter tweaking
NRTM in SEPAL
32
25.07.23
Workflow
IV – Visual inspection and parameter tweaking
Move the recipe 3 times to the left
1
2
3
NRTM in SEPAL
33
25.07.23
Workflow
IV – Visual inspection and parameter tweaking
For now, we have 4 equal windows showing the confidence of the detected alerts.
Our aim is to place:
- detection date on the top right
- a “before” median image composite on the lower left
- a “last valid pixel” composite on the lower right
1
2
3
NRTM in SEPAL
25.07.23
Workflow
IV – Visual inspection and parameter tweaking
1
2
3
NRTM in SEPAL
25.07.23
Workflow
IV – Visual inspection and parameter tweaking
Note: Pixels can come from different images, depending on cloud conditions and coverage of the AOI
1
2
3
4
5
NRTM in SEPAL
25.07.23
NRTM in SEPAL
25.07.23
Workflow
IV – Visual inspection and parameter tweaking
From the previous slide we can observe several issues with our alerts as they are:
NRTM in SEPAL
25.07.23
Workflow
IV – Visual inspection and parameter tweaking
Check underlying time-series:
Observation I: In this case a shift in seasonality seems to have triggered the alert. As the signal of the NDFI goes up, we can assume this is not a real alert. Indeed the before and after images do not show a “degreening” of that area.
NRTM in SEPAL
25.07.23
Workflow
IV – Visual inspection and parameter tweaking
Check underlying time-series:
Observation II: In this case a strong, abrupt decrease in NDFI is observable that is consistent. The area is clearly visible in the before and after image composites. An actual alert is present.
Workflow
IV – Visual inspection and parameter tweaking
Adjusting the results – Basic Parameters:
This shall always be the first parameter to tweak, as it only indirectly affect the date of detection/confirmation
This shall always be the second parameter to play with, as it always will delay the detection of an alert
Workflow
Confidence = 3 difference/RMSE
Confidence = 10 difference/RMSE
Confidence
Workflow
Confidence = 3 difference/RMSE
Confidence = 10 difference/RMSE
First detection date
Workflow
IV – Visual inspection and parameter tweaking
Adjusting the results – Advanced Parameters:
If enabled, a changes already confirmed in the calibration period are masked out
If enabled, changes outside the monitoring period (i.e. between the reference date (i.e. 1 year from new observation) and current observation are masked out
If enabled, detected changes, that due to regrowth or other phenomena adhere to non-change criteria after the change event, are masked out. This might be helpful, if the recipe is used for long-term observations of several months.
Workflow
IV – Visual inspection and parameter tweaking
Observations from previous slides:
Increasing the confidence threshold:
How is it possible that actual change increases despite a higher confidence value?
This is possible if for example a change has been already confirmed in the calibration period when applying a lower confidence value. Due to later detection with a higher confidence interval, it may pop up. You can tweak that with a disabled “Confirmed in monitoring” setting in the advanced parameters.
Another possibility is that due to the lower confidence, the sensitivity to regrowth is higher, and the alert gets masked as it does not stay change. The respective option can be used to disable that.
Workflow
Confidence = 3 difference/RMSE
Confidence = 3 difference/RMSE with confirmed in monitor option disabled
Confidence
Workflow
V – Export and post-processing
Results can be exported both:
- to SEPAL (and from there to local)
- as Earth Engine asset
Workflow
V – Export and 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
Workflow
V – Export and post-processing
Unfiltered Alerts
Filtered Alerts with a MMU of 0.5 ha
Thank you!