enter dashboard

ETHERIUM

ETHERIUM

Astronaut

The Problem

Every 5 days

Sentinel-2 photographs every place on Earth about every 5 days, for free.

10 m per pixel

But at that resolution a house is one or two pixels, and small roads disappear.

Every few years

Sub-metre aerial imagery is sharp, but it is captured once every few years and can't be downloaded freely in bulk.

About 2.4 m per pixel

So we sharpen the free Sentinel-2 L2A images of India 4x, to about 2.4 m per pixel.

How We Solve It

10 m per pixel

  1. Eight dates, stacked into one input

    Eight Sentinel-2 Level-2A images (atmospherically corrected) of the same place, from eight different dates, are stacked into one 24-channel input. Combining dates lets the network see past haze or small clouds on any one of them, and cloudy frames are rejected automatically.

  2. Four times the pixels in each direction

    A 32 × 32 tile at 10 m per pixel becomes 128 × 128, four times more pixels in each direction, at about 2.4 m per pixel. Buildings, roads and field boundaries become visible: here you can pick out the running track, the football ground and the roads threading along the ridge.

  3. Every pixel judged against the inputs

    During training, a second network scores every pixel of the output against the eight input images, so detail the satellite data doesn't support is penalised.

  4. Tested on places it never saw

    Drag across the image to compare the Sentinel-2 image with the output. Tested on 7 places in India the model never saw in training:

    Looks realistic (LPIPS, lower is better)

    Upscaling0.588
    Model 10.197

    Edges in the right place (Edge-F1, higher is better)

    Upscaling0.405
    Model 10.642

    The output is a prediction, not real 2 m imagery. Fine detail can be wrong, so check it before using it for anything safety-critical.

The Architecture

ESRGAN's generator in its Real-ESRGAN form, adapted to multiple satellite images by the Allen Institute for AI's Satlas project, then fine-tuned on India.

Super-resolution network Eight Sentinel-2 L2A dates stacked into 24 channels go through a convolution, 23 residual-in-residual dense blocks with a skip connection, and two 2x upsampling steps, producing a 128 by 128 RGB tile at about 2.4 m per pixel. Each RRDB contains three dense blocks scaled by beta 0.2. During training a U-Net discriminator with spectral normalisation sees the output or aerial tile plus the eight input dates and scores every pixel. Generator makes the image, about 16.7 million parameters Convolution Residual block Upsampling skip connection 8 L2A dates 32 × 32 × 24 10 m per pixel Conv 24 → 64 RRDB × 23 Conv + Upsample ×2 nearest + conv Upsample ×2 nearest + conv Conv + LReLU Conv → RGB 128 × 128 RGB about 2.4 m per pixel Inside one RRDB three dense blocks, each scaled by β = 0.2 before it is added back outer residual, also scaled by β Dense block 5 conv layers β + Dense block 5 conv layers β + Dense block 5 conv layers β + β + Discriminator training only: is each pixel real or generated? Output or aerial tile 3 channels 8 input dates 24 channels U-Net spectral norm score per pixel

Applications

Vegetation index map over a crop field

Crop monitoring

Monitor crop health, vegetation conditions and field changes using satellite imagery and spectral analysis.

Satellite view of a coastal city and port

Urban analysis

Analyze urban growth, infrastructure, land use and changes in built-up areas through satellite imagery.

Impact map highlighting affected areas

Disaster assessment

Assess affected regions using before-and-after satellite imagery to detect floods, damage and disaster impacts.