Satellite Embedding Deep Dive
Ujaval Gandhi
ujaval@spatialthoughts.com
Hands-on with the Satellite Embedding dataset in GEE
Satellite Embedding Deep Dive
This workshop is designed to help you get started with the Satellite Embedding Dataset in GEE and use it for a variety of applications.
This slide-deck
Get Access to the Workshop Video
Get Access to the Code Repository
Introduction
Ujaval Gandhi
Introduction
Vigna Purohit
Introduction to the
Satellite Embedding Dataset
Satellite Embeddings Dataset
Image © Google
Training Sources
Image © Google
Understanding Embeddings
Embeddings are compressed representations of higher dimensional inputs.
A good mental model to understand embeddings is Principal Components Analysis (PCA).
Embedding vector
Embedding field
Image © Google
Understanding Embeddings
Embeddings are “unit-length” (i.e., they have a magnitude of 1 (scaled from -1 to 1)
They can be thought to represent a coordinate on a 64-dimensional “unit-sphere”
64-dimensional embedding space
1
S63
(x, y, tstart, tend)
Image © Google
Understanding Embeddings
Since embeddings are continuous and stored in an image format, you can treat each axes of the embedding space just like spectral bands for visualization and analysis.
But remember that Embeddings are learned features and cannot be interpreted in terms of physical measurements.
Every axes can include contributions from space, time, and measurements.
Image © Google
Understanding Embeddings
Embeddings encode the spatial context around each pixel.
Each pixel uses features in a 1.28 km x 1.28 km window
Image © Google
Understanding Embeddings
Embeddings encode the temporal context for each pixel
Each pixel uses the full calendar year’s data (per sensor)
Image © Google
Understanding Embeddings
Embeddings are designed to be linearly composable
Pyramiding works as expected in Earth Engine. i.e. a 20m pixel is created by averaging four 10m pixels and represent the properties of the pixel at that resolution.
Image © Google
Satellite Embeddings Dataset
Visualizing Embeddings
Unsupervised Classification
Unsupervised Classification
Image © Google
Crop Type Mapping
Using Satellite Embedding
Use embeddings directly for crop classification tasks
Need to add temporal context
✅ Includes annual trajectories
Traditional Approach
Embeddings
Need to add spatial context
✅ Encodes spatial context around each pixel
Need to do sensor fusion to incorporate radar and optical data
Need to model response to climate variables
✅ Includes Sentinel-2, Landsat-8 (Optical) + Sentinel-1 (Radar) + ScanSAR (Radar)
✅ Includes ERA5-Land climate variables
Select a region and apply a crop mask
Extract random samples for clustering
Perform unsupervised clustering
Labeling Clusters
Detected crop map by comparing with aggregate statistics
(left) crop map from satellite embeddings (right) crop map from CDL
Surface Water Mapping
Supervised Classification
Supervised Classification
Supervised Classification
Mapping Mangroves
We will collect training samples by visual inspection of image.
Landcover Class | Description | Class Value |
mangroves | All species of salt-tolerant coastal vegetation | 1 |
water | All surface water - lake, ponds, rivers, ocean etc. | 2 |
other | All other surfaces - including built, exposed soil, sand, crops, trees etc. | 3 |
Mapping Urban Tree Cover
Object Detection with Similarity Search
Object Detection
Using Satellite Embedding
Use similarity search with embeddings for object detection
Need to train custom models for each object of interest
✅ Embeddings can be generalized across a wide variety of objects
Traditional Approach
Embeddings
Need to use deep learning libraries
✅ Uses simple similarity search
Need GPUs for training and inference
Need expensive high-resolution imagery
✅ Can be run in familiar computing environments like Code Editor
✅ Works on pixel-based embeddings created from open-source imagery
Similarity Search
-1
0
vector B
vector A
90°
180°
θ
64D embedding space
cos θ =
0°
1
Image © Google
Mapping Brick Kilns
Select a region of interest
Add Reference Location(s)
Calculate Similarity (brighter areas are more similar)
Apply a threshold and visualize the matches
Mapping Grain Silos
See our tutorial on Similarity Search with Satellite Embedding Dataset
Resources
References (Satellite Embeddings)
References (Unsupervised Classification)