jgalego commited on
Commit
ffd3d35
·
verified ·
1 Parent(s): d030d9a

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +57 -0
README.md ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ datasets:
3
+ - jgalego/orbit2vec-windows
4
+ - juliensimon/space-track-tle-history
5
+ - juliensimon/space-track-satcat
6
+ - RhynoWu/starlink-maneuver-db
7
+ library_name: pytorch
8
+ license: mit
9
+ model_name: orbit2vec
10
+ pipeline_tag: feature-extraction
11
+ tags:
12
+ - space
13
+ - satellites
14
+ - tle
15
+ - embeddings
16
+ - contrastive-learning
17
+ - weird2vec
18
+ ---
19
+
20
+ # orbit2vec
21
+
22
+ Embeddings for satellite orbit histories. Two windows of the same object, a month apart, should land close together; other objects should land apart. Part of Weird2Vec, embedding models for data nobody embeds.
23
+
24
+ > [!NOTE]
25
+ > **What is a TLE?** A two-line element set is the public record of an orbit: mean motion, eccentricity, inclination, node, perigee and drag, at one epoch. Space-Track publishes them for every tracked object, several times a day. A month of them is a trajectory, including its manoeuvres and decay.
26
+
27
+ ## 🚀 Usage
28
+
29
+ The repo holds the script that trained the model, so one command embeds the last 32 days of a TLE file (oldest first, one object) and names the nearest catalogued objects:
30
+
31
+ ```
32
+ uv run https://huggingface.co/jgalego/orbit2vec/resolve/main/orbit2vec.py embed --tle history.txt
33
+ ```
34
+
35
+ It prints the nearest objects, a guess for regime, constellation or object type and owner, inclination and altitude drift, and the 256-dimensional embedding.
36
+
37
+ ## 🛰️ Data
38
+
39
+ [jgalego/orbit2vec-windows](https://huggingface.co/datasets/jgalego/orbit2vec-windows): daily mean elements from [juliensimon/space-track-tle-history](https://huggingface.co/datasets/juliensimon/space-track-tle-history), grouped by constellation and owner with [juliensimon/space-track-satcat](https://huggingface.co/datasets/juliensimon/space-track-satcat). Repeated epochs are collapsed to the latest TLE per UTC day. Windows are 32 days long; training pairs are adjacent windows of one object, 10% of the objects are held out, and the test pair is the two windows from 2026-02-28 to 2026-05-02. Manoeuvre labels come from [RhynoWu/starlink-maneuver-db](https://huggingface.co/datasets/RhynoWu/starlink-maneuver-db) and are used for evaluation only.
40
+
41
+ ## 🏋️ Training
42
+
43
+ Each day becomes 11 features: altitude, its change within the window, eccentricity, inclination and its change, the node and perigee angles as sine and cosine, drag and its rate. Days without a TLE are masked. A transformer encodes the window and a contrastive loss pulls two augmented views (random crop, dropped days) of adjacent windows of the same object together against the rest of the batch. Most of a batch shares one window, so satellites of the same shell compete. Small heads predict regime, constellation, owner, inclination and drift.
44
+
45
+ Not trained yet.
46
+
47
+ ## 📊 Results
48
+
49
+ Each object's later test window is matched against the earlier windows of all test test objects. *Seen* objects were in training, in other months; *unseen* objects never were. The baseline matches the mean of the standardized inputs.
50
+
51
+ Not evaluated yet.
52
+
53
+ ## ⚠️ Limitations
54
+
55
+ - Mean elements from public TLEs only; accuracy is a few km and classified objects are missing.
56
+ - Windows are 32 days, so slow decay and long manoeuvre campaigns look like noise.
57
+ - Manoeuvre labels cover Starlink only.