Manoeuvre detection from public orbital elements with a small pretrained transformer: prototype results
Neuravant AI Limited (company no. 16071477) · Dillman Hunte · 4 August 2026 · v1.0
We test the core hypothesis behind ORBIT-FM — that a transformer trained on sequences of residuals against an SGP4 physics baseline learns what physics misses — at deliberately small scale. A 2.9M-parameter model trained on 1.1M time steps from 335 LEO objects, entirely on our own two-node NVIDIA DGX Spark cluster, beats the standard classical manoeuvre detector on strictly held-out months: F1 0.628 vs 0.568, with up to +9.2 percentage points of recall at matched precision, evaluated against 574 real manoeuvre events derived from CNES/IDS DORIS precise-orbit records across nine satellites. Of 98 held-out events, the model uniquely detects 11 that the classical threshold misses entirely (five on Sentinel-3A) while missing only 2 the baseline finds. The result is robust across two model configurations trained independently, one per cluster node. Phase 0’s success criterion — beat the classical baseline at matched precision on held-out months — is met.
Data. Space-Track GP (TLE/OMM) histories, 2021-01-01 to 2026-06-30, for 406 objects (curated manoeuvring satellites with public manoeuvre truth, plus LEO debris negatives); 335 objects survive residual construction, yielding 1,103,533 time steps. Each step is a 14-feature vector: RTN position/velocity residuals of the published state against SGP4 propagation from the previous state (dr_R, dr_T, dr_N, dv_R, dv_T, dv_N), time gap, element deltas (mean motion, eccentricity, inclination), B*, space-weather covariates (F10.7, Ap), and altitude. Features are robust-scaled (median/IQR).
Labels. 574 manoeuvre events for 9 DORIS-tracked satellites — CryoSat-2, SARAL, Jason-3, Sentinel-3A, Sentinel-3B, HY-2C, Sentinel-6A, HY-2D, SWOT — extracted from public CNES/IDS DORIS manoeuvre files. No labels are used in training; they exist only for evaluation.
Split. Time-based: training data ends 2025-07-01; all evaluation is on the subsequent twelve months. 98 labelled events fall in the held-out window.
Model. Decoder-style transformer: d_model 192, 6 layers, 8 heads, context 256 steps, stride 16, 2.9M parameters; next-step prediction of the six position/velocity residual targets; BF16, 20,000 steps, batch 64, cosine schedule. Training runs on one NVIDIA DGX Spark (GB10); the full recipe is a few GPU-hours.
Detector. At inference, each step is scored by the model’s position-residual prediction error, standardised per object (median/MAD z); events are merged within 12 h. Baseline: the standard classical detector — MAD z-score on time-normalised along-track position residuals — with identical merging and evaluation. Matching tolerance: ±24 h. Both detectors are swept over their thresholds; we report full operating curves, not a single point.
| Detector | Best F1 | at operating point | Precision | Recall |
|---|---|---|---|---|
| ORBIT-FM prototype (ctx-256) | 0.628 | z = 18 | 0.656 | 0.602 |
| Classical MAD baseline | 0.568 | z = 24 | 0.641 | 0.510 |
| ORBIT-FM ctx-512 variant | 0.609 | z = 18 | 0.651 | 0.571 |
At every baseline operating point from z = 3 upward, the model
achieves equal or better recall at matched precision; at the baseline’s
own F1-optimal point the model delivers recall 0.602 vs 0.510 at higher
precision — +9.2 percentage points. Full sweep tables:
logs/sweep_eval_final.log,
logs/c512_run.out.
Of the 98 held-out events: 48 caught by both
detectors, 11 by the model only (Sentinel-3A ×5, HY-2C
×2, Sentinel-3B, Jason-3, CryoSat-2, HY-2D), 2 by the baseline
only, 37 by neither. Figures 1–3 show three of the model-only
detections; the full set is in reports/qualitative/. In
each, the top panel is the raw along-track residual (km) around the
labelled event (dashed red line); the bottom panel shows both detectors’
scores against their F1-optimal thresholds (dotted lines).
False positives are counted against DORIS-labelled events only. Manoeuvres by the 326 unlabelled objects, and any unlogged events on labelled ones, score as false positives for both detectors. Reported precision is therefore a floor.
We report these deliberately; they shaped the recipe.
Everything — data pipeline, training, evaluation — ran on Neuravant’s own 2× NVIDIA DGX Spark cluster (GB10, 256 GB unified memory, 200 GbE ConnectX-linked), one experiment per node, no cloud dependency. The ctx-256 and ctx-512 variants were trained in parallel, one per node.
Pipeline:
fetch_tles.py → build_residuals.py → train.py → detect.py / baseline.py → sweep_eval.py / qualitative.py,
configuration-driven (YAML), containerised (NGC PyTorch 25.10, aarch64).
Evidence artefacts: training logs, threshold-sweep tables, per-event
comparison, and detection-timeline figures are retained and available on
request. A public, versioned benchmark release (labels, evaluation
harness, baseline implementations) is the first milestone of the funded
programme.
Orbital data courtesy of Space-Track.org / United States Space Command, used under the site’s user agreement; results here are publication of analysis with attribution. Manoeuvre ground truth derived from public CNES / International DORIS Service manoeuvre records. Space-weather indices from CelesTrak.
Contact: Dillman Hunte, Neuravant AI Limited — [email/phone]