Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Global Dynamic World Uncertainty layer #209

Open
1 task done
Geethen opened this issue Jan 18, 2024 · 2 comments
Open
1 task done

Global Dynamic World Uncertainty layer #209

Geethen opened this issue Jan 18, 2024 · 2 comments
Assignees

Comments

@Geethen
Copy link

Geethen commented Jan 18, 2024

Contact Details

geethen.singh@gmail.com

Dataset description

Using a modern uncertainty quantification method, conformal prediction, we have quantified the uncertainty for the first non-null dynamic world composite of 2020. Each pixel contains a value from 0 to 9 and represents the length of the prediction set (uncertainty) for a pixel. Each prediction set includes the correct landcover class with, in this case, a 90% probability. The more classes included in a set the greater the uncertainty. If the Dynamic World model was not confident for all 9 candidate classes, an empty set is returned (a value of 0). Therefore, a value of 0 corresponds to the highest uncertainty and a value of 1 corresponds to the lowest uncertainty. A set length value greater one is also associated with high uncertainty.

Research paper: https://arxiv.org/abs/2401.06421

The earth engine app can be used to derive uncertainty for any dynamic world scene
GEE app: https://ee-geethensingh.projects.earthengine.app/view/conformaluq

Earth Engine Snippet if dataset already in GEE

for example

// Prepare Dynamic world
var AfricaDW = ee.ImageCollection('users/grazingresearch/for_geethen').mosaic();
var SAmericaDW = ee.ImageCollection('users/grazingresearch/for_geethen2').mosaic();
//Rest of the world
var Remainder = ee.ImageCollection("projects/ee-geethensingh/assets/UQ/DWsetLength")
var dw = ee.ImageCollection(dw).mosaic();

var dw = ee.ImageCollection.fromImages([dw, AfricaDW, SAmericaDW]).mosaic().rename('setLength');

// Visualise Set length (Uncertainty)
var palettes = require('users/gena/packages:palettes');
Map.addLayer(dw,{min:0, max:9, palette: palettes.matplotlib.viridis[7]}, 'Set lengths');

Sample Code: Add a sample code maybe just adding your datasets in the code editor

Enter license information

CC-BY-4.0

Keywords

Uncertainty, Landcover, Dynamic World

Code of Conduct

  • I agree to follow this project's Code of Conduct
@samapriya
Copy link
Owner

Hi @Geethen
Working on your dataset now can you tell me what each of these collections are? a line a one liner for each maybe. Thanks

@Geethen
Copy link
Author

Geethen commented Feb 26, 2024

Hi Sam,

They all contain the same type of data/information just for different regions of the world. Ideally, This would be a single image collection.

Specifically, each image contains the set length. i.e., a multiclass prediction based on the calibrated set-valued conformal predictor with alpha (tolerance level) = 0.1. Therefore, the predictions contain the actual class with a 90% probability.

Here is a blog post (https://medium.com/@coachgeets/uncertainty-quantification-in-google-earth-engine-using-conformal-prediction-5e0dd3850564) describing conformal prediction for classification and a demo on how one can do this for any dynamic world scene and area.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants