feat: add RELLIS dataset compatibility smoke
This commit is contained in:
@@ -19,12 +19,13 @@ datasets and future real onboard sensors.
|
||||
|
||||
Implemented now:
|
||||
|
||||
- `missioncore.dataset-gateway-catalog/v2`, exposed read-only at
|
||||
- multi-source `missioncore.dataset-gateway-catalog/v3`, exposed read-only at
|
||||
`GET /api/v1/lidar/dataset-gateway`;
|
||||
- path-free `missioncore.dataset-admission/v1` worker evidence instead of a
|
||||
static React status;
|
||||
- a bounded `missioncore.dataset-native-scan-preview/v1`, exposed read-only at
|
||||
`GET /api/v1/lidar/dataset-gateway/preview`;
|
||||
- bounded `missioncore.dataset-native-scan-preview/v1` (GOOSE) and `/v2`
|
||||
(RELLIS smoke) artifacts, selected by source at
|
||||
`GET /api/v1/lidar/dataset-gateway/preview?source_id=...`;
|
||||
- explicit `native-scan`, `normalized-scan` and `rolling-local-map`
|
||||
representations;
|
||||
- a lossless GOOSE/SemanticKITTI frame reader for little-endian float32 XYZI
|
||||
@@ -39,6 +40,10 @@ Implemented now:
|
||||
`Открыть` action;
|
||||
- one admitted GOOSE validation frame with source colors, normalized remission
|
||||
and an independent ground-truth view;
|
||||
- a pinned RELLIS-3D v1.1 compatibility smoke using the official Ouster example
|
||||
frame `000104`, its native `131,072` XYZI points, point-aligned labels,
|
||||
official ontology colors, explicit FLU sensor axes and a versioned
|
||||
`ground / non-ground / ignore` evaluation policy;
|
||||
- a published, dimensioned MuCAR-3/VLS-128 Patchwork++ input profile:
|
||||
sensor frame `x-forward / y-left / z-up`, physical height `2.24 m`, native
|
||||
one-revolution scan and explicit absence of deskew/full vehicle TF claims;
|
||||
@@ -54,6 +59,8 @@ Not implemented:
|
||||
- no implicit coordinate conversion;
|
||||
- no fake ring/timestamp reconstruction for K1 MQTT evidence;
|
||||
- no model training or production promotion;
|
||||
- no full RELLIS Ouster archive, pose set, algorithm comparison or ROS bag
|
||||
admission yet;
|
||||
- no rolling-map implementation yet.
|
||||
|
||||
## Product surface boundary
|
||||
@@ -73,10 +80,11 @@ The gateway is not part of device quality diagnostics.
|
||||
backend evidence contract. They are not a second operator navigation item
|
||||
and are not presented as vehicle motion.
|
||||
|
||||
Before real dataset bytes exist, the catalog explains the blocked storage gate
|
||||
and keeps `Открыть датасет` disabled. It becomes available
|
||||
only after the worker manifest says `frame-ready` and the bounded preview passes
|
||||
its own point-alignment and safety checks.
|
||||
Before compatible source evidence exists, the catalog explains the blocked
|
||||
storage gate and keeps `Открыть датасет` disabled. GOOSE becomes available only
|
||||
after the worker manifest says `frame-ready`; RELLIS becomes available at
|
||||
`smoke-ready` only for the pinned official example. Both bounded previews must
|
||||
pass their own identity, point-alignment and safety checks.
|
||||
|
||||
## Why public recordings look different
|
||||
|
||||
@@ -191,8 +199,53 @@ time; TTL/dynamic filtering prevents stale ghosts.
|
||||
- [x] Patchwork++ one-frame accuracy measured against ground truth.
|
||||
- [x] Current/Patchwork++ validation-split gate qualified.
|
||||
- [x] Sensor-degradation matrix qualified.
|
||||
- [x] Dataset catalog accepts more than one independently identified source.
|
||||
- [x] Official RELLIS Ouster example passes the shared SemanticKITTI reader.
|
||||
- [x] RELLIS axes, ontology colors and versioned ground-target/ignore mapping
|
||||
are visible in the same Dataset workflow.
|
||||
- [ ] Full RELLIS Ouster SemanticKITTI scans, labels and poses admitted on
|
||||
worker D.
|
||||
- [ ] Current/Patchwork++ RELLIS comparison qualified without obstacle loss.
|
||||
- [ ] Rolling local map with pose/TTL/dynamic policy qualified.
|
||||
|
||||
## RELLIS S0 compatibility evidence
|
||||
|
||||
RELLIS is the independent second-source check, not extra decoration in the
|
||||
catalog. GOOSE and RELLIS share the ingress format and viewer, but retain
|
||||
separate source identity, sensor domain, ontology, licensing and results.
|
||||
|
||||
The pinned smoke input is the official repository example at commit
|
||||
`c17a118fcaed1559f03cc32cc3a91dedc557f8b8`:
|
||||
|
||||
- point file: `utils/example/000104.bin`;
|
||||
- label file: `utils/example/000104.label`;
|
||||
- source points: `131,072`;
|
||||
- point SHA-256:
|
||||
`ed81a9c3636d55b17d78058c72545d5d22419beecf174d50596d23ae178752af`;
|
||||
- label SHA-256:
|
||||
`9b8c65b710873e931af4ac6dfc7d3dd2298696514ab721e50300bd55ad5b634e`;
|
||||
- official ontology config SHA-256:
|
||||
`573379a232ac561805987466c391a61fd5ad338be7fb9c4c2842f3f28067e0ad`;
|
||||
- bounded browser preview: `20,000` deterministic even-index points;
|
||||
- coordinate frame: right-handed, `x` forward, `y` left, `z` up; no vehicle
|
||||
transform, pose registration or deskew is claimed;
|
||||
- license: `CC-BY-NC-SA-3.0`; this is a research qualification source, not an
|
||||
unrestricted commercial runtime dependency.
|
||||
|
||||
Mission Core ground policy v1 treats `dirt`, `grass`, `asphalt`, `concrete` and
|
||||
`mud` as ground; clear structures, vegetation, people, vehicles and rubble as
|
||||
non-ground; and `void`, `water`, `sky`, generic `object` and `puddle` as
|
||||
`ignore`. The ignore set is excluded from future metrics instead of being
|
||||
silently counted as either free ground or obstacle. This mapping is a Mission
|
||||
Core evaluation decision, not an upstream RELLIS claim.
|
||||
|
||||
The smoke closes reader, alignment, axes, palette and mapping compatibility
|
||||
only. The next gate admits the `14 GB` Ouster SemanticKITTI scans plus the
|
||||
`174 MB` labels and `174 MB` poses to D-only worker storage. Full ROS bags are
|
||||
not needed for the ground cross-check. Patchwork++ may be compared only after a
|
||||
physical Ouster mounting-height profile is evidenced; no height is inferred
|
||||
from the example cloud.
|
||||
|
||||
## First GOOSE admission evidence
|
||||
|
||||
- worker root: canonical D-only root, path never exposed by the HTTP API;
|
||||
|
||||
Reference in New Issue
Block a user