Datensatzstruktur
Jedes Release verwendet dieselbe Verzeichnisstruktur und dieselben Dateinamen — ein Loader, der für einen Datensatz geschrieben wurde, funktioniert auch für den nächsten.
Verzeichnisstruktur
electrical-assembly-1.3.0/
├── manifest.json # dataset, version, counts, file map
├── LICENCE.md # terms this release is delivered under
├── CHANGELOG.md # what changed since 1.2.0
├── checksums.txt # sha256 per file
├── episodes/
│ ├── episodes.parquet # one row per episode
│ └── annotations.parquet # one row per subtask span
├── video/
│ └── ep_000123/
│ ├── head.mp4
│ └── chest.mp4
├── calibration/
│ └── ep_000123.json # intrinsics and mount geometry
├── provenance/
│ └── provenance.parquet # one row per episode
└── splits/
├── train.txt
└── eval.txtmanifest.json
Das Manifest ist der Einstiegspunkt. Lesen Sie es zuerst — es benennt die Schemaversion, die Ihr Loader unterstützen muss, und verweist für jede logische Tabelle auf einen Pfad.
{
"dataset_id": "electrical-assembly",
"version": "1.3.0",
"schema_version": "2.1",
"released_at": "2026-05-14",
"episode_count": 1420,
"accepted_hours": 56.4,
"environments": ["workshop"],
"sensors": ["gopro-head", "chest-cam"],
"licence": {"tier": "commercial", "file": "LICENCE.md"},
"files": {
"episodes": "episodes/episodes.parquet",
"annotations": "episodes/annotations.parquet",
"provenance": "provenance/provenance.parquet",
"splits": {"train": "splits/train.txt", "eval": "splits/eval.txt"}
},
"checksums": {"algorithm": "sha256", "file": "checksums.txt"}
}episodes.parquet
Eine Zeile je Episode. Eine Episode ist ein vollständiger Versuch der spezifizierten Aufgabe, mit expliziten Start- und Endbedingungen.
- episode_id — stabile Zeichenkette, eindeutig innerhalb des Datensatzes.
- task — Aufgabenkennung aus dem Aufgabenvokabular des Datensatzes.
- environment — workshop, construction-site, residential oder industrial.
- duration_s — Episodenlänge in Sekunden.
- outcome — success, failure oder recovery.
- contributor — pseudonyme Kennung, über Episoden hinweg stabil.
- streams — für diese Episode verfügbare Sensorströme.
annotations.parquet
Eine Zeile je Teilaufgaben-Abschnitt, über episode_id mit den Episoden verknüpft. Abschnitte sind innerhalb einer Episode zusammenhängend und überschneidungsfrei.
- episode_id, span_index — Verknüpfungsschlüssel und Reihenfolge innerhalb der Episode.
- label — Teilaufgabenlabel aus dem veröffentlichten Vokabular.
- start_s, end_s — frame-genaue Grenzen in Sekunden.
- tool, object — referenzierte Entitäten, können null sein.
- result — Ergebnis eines verify-Abschnitts, kann null sein.
Splits
Die vorgeschlagenen Trainings- und Evaluierungssplits trennen Mitwirkende und Einsatzorte, damit die Evaluierung keine auswendig gelernten Szenen misst. Sie sind ein Vorschlag, keine Vorgabe — die Episodenliste können Sie beliebig neu aufteilen.