A satellite photographs far more than its radio can ever send down, and filtering onboard takes 98 seconds against a 22-second deadline — Kodan clusters Earth's imagery into contexts on the ground, then lets the satellite discard, downlink, or precisely filter each tile according to what its own hardware can afford, nearly doubling the useful fraction of every downlink.
The argument in one glance
-
Problem
Constellations see everything and can send almost nothing
Launch costs fell, so Earth observation moved from single $855-million satellites to constellations of hundreds of cheap nanosatellites — enough, for the first time, to photograph the whole planet daily. But a satellite passes a ground station only briefly: one satellite downlinks about 2% of what it observes, and once the shared ground segment saturates, adding satellites adds observations without adding downlink.
-
What people did
Filter on board: orbital edge computing
Most captured pixels are worthless (52% of the reference dataset is cloud). Orbital edge computing (OEC) puts commercial compute hardware on each satellite to discard low-value tiles before transmission — ideally tripling the fraction of downlinked bits that matter.
-
Why it fell short
The filter itself misses the deadline
A frame must be fully processed before the next capture — a deadline of roughly 1–30 seconds. A real cloud-filtering model, built for elastic datacenters, needs 98 seconds per frame against a 22-second deadline on satellite-class hardware. Direct deployment therefore improves useful downlink by just 9%, versus the potential 3×. Prior OEC work spreads the work across a pipeline of 100+ satellites — enormously costly, and single-application.
-
This paper's idea
Spend precision where the data deserves it
Kodan transforms an application once, on the ground: it clusters representative imagery into geospatial contexts, trains small context-specialized models, and simulates the exact target satellite to pick a per-context policy. In orbit, a cheap context classifier routes each tile: discard (mostly clouds), downlink as-is (mostly valuable), or run the specialized filter — with frame tile count tuned so everything meets the deadline. Data value density rises 89–97% over sending everything.
Why this problem is worth solving
An Earth-observation satellite in low-Earth orbit circles the planet about every 90 minutes at hundreds of kilometers altitude, capturing image frames along its ground track — each a large region, split by analysis software into tiles. The economics changed twice in a decade: cubesats made satellites cheap, and constellations (Planet’s ~200 Doves, Spire’s ~120 Lemurs) made daily global coverage real for the first time.
The radio did not keep up. Ground station contacts are brief and shared; the paper’s Landsat-based model shows a single satellite downlinking about 2% of its observations, and while a small constellation can claim idle ground-station time, the ground segment eventually saturates — beyond that point, more satellites observe more and downlink nothing more. Worse, the pipe carries mostly junk: only about 21% of blindly downlinked (“bent-pipe”) data is high-value, because half of everything is cloud.
The fix — OEC: processing sensor
data on the satellite itself, using commercial off-the-shelf
hardware rather than slow radiation-hardened space CPUs, to triage
before transmission
What people did before, and where it broke
Bent pipe. Downlink everything, filter on the ground. Simple,
and wasteful precisely in the resource that saturates: the paper’s
metric, DVD — the fraction of downlinked
bits that are high-value
Direct OEC deployment. Run the existing analysis model onboard. The model was designed for elastic datacenters where slow means “rent more machines”; on a satellite, slow means frames pass unfiltered. Measured improvement: 9%, versus 3× potential.
Satellite-parallel pipelines. Earlier OEC work distributes each frame’s tiles across many satellites so each meets the deadline on a slice. Population requirements exceed 100 devices per application — affordable only for vertically-integrated, single-purpose constellations, useless for the emerging constellation-as-a-service model where one platform hosts many customer applications and always runs at its computational limit.
The unexploited fact: not all pixels deserve equal work. A tile that is 95% ocean cloud needs no segmentation network to be judged worthless; a tile of dense clear city needs none to be judged valuable. Only the ambiguous middle earns full processing. No prior system acted on this.
Kodan's two phases
-
Reference application + representative dataset
Input: an existing geospatial analysis model (built for datacenters) plus labeled imagery representative of what the satellite will see. The reference model also generates training labels.
-
Context generation (one-time, on the ground) new
Unsupervised clustering partitions the dataset into geospatial contexts — groups of similar samples (cloudy ocean, forest, tundra, urban…). A small classification network, the context engine, learns to label any tile with its context.
-
Model specialization new
For each context (and combinations), train and validate a compact segmentation model on just that context’s data. Specialists are both faster and more precise than the general reference model on their home turf; each has known execution time on the target hardware.
-
Selection-logic search new
A simulator of the exact deployment — satellite hardware, orbit, sensor, radio, ground stations — sweeps frame tile counts and per-context choices (discard / downlink / which model) to find the policy maximizing data value density under the frame deadline. The output is the selection logic.
-
Onboard runtime (every frame, in orbit) new
Tile the frame per the selection logic; the context engine labels each tile; the logic then elides (discard or downlink immediately) or routes the tile to its specialized model; surviving high-value data enters the downlink queue.
The idea
Kodan’s premise: when the downlink is fixed and the computer is fixed, the only free variable is how much precision each sample gets — so make precision a per-sample, context-driven decision.
Geospatial contexts make cheap decisions possible. A context is a cluster of similar imagery — and crucially, value is unevenly distributed across contexts. Some are almost entirely worthless (solid cloud deck over ocean); some almost entirely valuable (clear urban land for a building-footprint application). For such contexts, the expensive segmentation model adds nothing the cheap context label didn’t already know. Context-based elision acts on this: discard tiles from low-value contexts, downlink tiles from high-value contexts unprocessed, and spend the saved seconds running real filtering on the ambiguous contexts only.
Specialists beat the generalist twice. A model trained on one context’s narrow distribution is more accurate and more precise there than the general model — and it can be smaller and faster. This helps even without compute pressure: higher precision means fewer false-positive tiles wasting downlink, which is a direct DVD gain. Under compute pressure it helps more, because faster models fit more filtering under the deadline.
Tile count is the throttle. A 10K×10K-pixel frame can be split into 121 tiles (little downscaling per tile, best detail, 121 inference calls) or 9 tiles (heavy decimation, 9 calls). Fewer, larger tiles trade precision for speed. Prior work knew accuracy peaks at an empirically optimal tile count; Kodan shows precision has its own optimum, differing by model — and, when the deadline binds, deliberately moves below the precision optimum to make the frame fit. Processing every tile at lower precision beats processing a fraction of tiles precisely.
The policy is computed against a simulated twin. Which combination — how many tiles, which contexts elided, which model per context — maximizes DVD depends on the application’s cost, the satellite’s hardware, its orbit, and its ground stations. Kodan sweeps these choices in a simulation of the actual deployment target and freezes the winner into the selection logic the satellite carries.
Twenty-two seconds: one frame through the Kodan runtime
Frame = one 10K×10K-pixel capture; deadline = time until the next frame (~22 s here). Context engine = small classifier labeling each tile's context. DVD = data value density, the high-value fraction of downlinked bits. The application filters clouds for a land-analysis mission; numbers follow the paper's cloud-filter case study on Orin-class hardware, tile routing illustrative.
Step 1 of 6
Capture, and the clock starts
The sensor produces a frame covering thousands of square kilometers. In 22 seconds the satellite will capture the next one — whatever is not processed by then either ships raw (wasting downlink) or drops (wasting observation). The datacenter reference model would need 98 seconds; it was never an option.
budget: 22 s per frame reference model: 98 s per frame (4.5× over budget)
Why it works
- Value is concentrated: half the pixels are cloud, and value clusters by context → cheap context classification separates the obvious from the ambiguous → expensive inference is spent only where it changes the outcome.
- Narrow distributions are easier: specialists trained per context are simultaneously faster and more precise than the datacenter generalist → both sides of the precision-time trade improve before any trading begins.
- Under a hard deadline, coverage beats precision: filtering every tile at 9-tile coarseness outperforms filtering a fraction of tiles at 121-tile fidelity → tiling gives a smooth throttle (worth up to 50% DVD on the weakest hardware, costliest app).
- The downlink is saturated, so DVD is the objective — not accuracy, not throughput → all three techniques aim at one number, and the offline simulator can search the joint policy space directly against it.
- All adaptation lives in software chosen per hardware target → the same framework rescues satellites already flying and sizes future ones — full-coverage constellations shrink up to 12× versus pipeline-parallel OEC.
What it costs
- Precision deliberately sacrificed under pressure. Aggressive tiling and elision trade analysis fidelity for coverage; elision can discard rare valuable tiles inside a mostly-worthless context (bounded by measured context purity).
- A representative dataset is load-bearing. Contexts, specialist models, and the selection logic all assume orbit imagery resembles the reference distribution; distribution shift (season, geography, sensor drift) degrades routing silently until retrained models are uplinked.
- One-time transformation per application × hardware target. Clustering, training a model zoo, and simulator sweeps repeat for every deployment; the cluster-count hyperparameter is swept, not solved.
- Ground-based evaluation. Results come from the three hardware targets and a constellation simulator (cote), not an on-orbit deployment; radiation, thermal, and power-cycling realities are outside scope.
- Application class. Demonstrated on pixel-segmentation filtering (cloud removal); analyses that cannot be decided per-tile or context-clustered fall outside the recipe.
The evaluation
Seven deployment-ready cloud-filtering applications (semantic segmentation networks of increasing cost — 178 ms to 2.1 s per tile on a desktop GPU) run against a Sentinel satellite dataset (48% high-value, 52% cloud) on three hardware targets spanning the satellite compute spectrum: an NVIDIA GTX 1070 Ti desktop GPU, an Intel i7-7800 CPU, and an NVIDIA Jetson Orin in 15 W mode — the class of low-power device future nanosatellites will actually carry. Orbits, sensors, radios, and ground segments are modeled in the cote constellation simulator.
Getting value through a saturated downlink
| Property | Bent pipe (downlink everything) | Direct OEC deployment | Kodan |
|---|---|---|---|
| Data value density of the downlink | |||
| Where the gains come from | — | ||
| Weakest hardware (Jetson Orin, 15 W) | Unaffected — no compute used | ||
| Constellation sizing (full ground-track coverage) | — |
Check your understanding
1. A constellation operator whose ground segment is saturated adds 50 more satellites. Predict what happens to the science their customers receive.
2. On the Orin, Kodan splits frames into 9 tiles instead of the precision-optimal 36 or 121 — deliberately hurting analysis quality. Why does coarser tiling INCREASE the value downlinked?
3. Context-based elision skips the segmentation model entirely for some tiles. What justifies not running the filter?
4. Context-specialized models improve results even on the 1070 Ti, where deadlines are comfortably met. Where does that gain come from?