Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Physical EVK4 Intake

Runbook for converting a physical Prophesee EVK4 capture into the SRB event-camera validation layout. This does not require public release; current HF staging remains private.

This page is for contributors running a physical EVK4 hardware capture. If you only work with synthetic event data, you can safely skip it.

Target Layout

event_camera_physical/
  events_manifest.jsonl
  episodes/
    evk4_reference.h5
    evk4_reference.flow.npz          # event_flow labels
    evk4_reference.detections.jsonl  # detection labels
  README.md

evk4_reference.h5 must use canonical EVENT_HDF5 schema v1. Label sidecars stay next to the event file and are task-specific:

  • event_flow: <stem>.flow.npz with flow_xy, valid_mask, and timestamps_ns.
  • detection: <stem>.detections.jsonl with timestamp_ns, boxes_xyxy, and class_ids.

Capture Stub

Reserve the physical dataset layout before hardware capture:

srb dataset capture-real-evk4 \
  --task excavation \
  --policy /path/to/policy.ckpt \
  --episodes 5 \
  --output /data/srb/event_camera_physical

This command is currently rejected. srb dataset capture-real-evk4 parses its arguments and then exits through the CLI preflight (cli.preflight.evk4_unsupported) before creating any directory, manifest, or protocol output, because no validated hardware capture backend and device contract exists in this build. The layout below is the contract the command will reserve once a capture backend lands; create it by hand until then.

Label Template

Also currently rejected. Every srb dataset validate-events downstream invocation except --synthetic-smoke is refused by the CLI preflight (cli.preflight.downstream_unsupported) before writing output — including the --write-label-template and --check-real-target forms below. The template and contract-check helpers exist in-tree and are unit-tested, so the shapes documented here are the ones that will run once the downstream harness and model adapter land.

After evk4_reference.h5 exists, create a valid sidecar skeleton:

srb dataset validate-events downstream \
  --synth-events /data/srb/synth/events.h5 \
  --real-events /data/srb/event_camera_physical/episodes/evk4_reference.h5 \
  --task event_flow \
  --output /tmp/downstream_stub.json \
  --write-label-template

For event_flow, the template contains one zero-flow frame with valid_mask=False everywhere. For detection, the template contains one timestamped record with no boxes. These files are valid contract skeletons, not finished labels.

Validate once labels have been filled:

srb dataset validate-events downstream \
  --synth-events /data/srb/synth/events.h5 \
  --real-events /data/srb/event_camera_physical/episodes/evk4_reference.h5 \
  --task event_flow \
  --output /tmp/downstream_stub.json \
  --check-real-target

Private HF Staging

Current private fixture repository:

AndrejOrsula/srb-event-camera-fixtures

Upload convention for permissioned collaborators:

hf upload AndrejOrsula/srb-event-camera-fixtures \
  /data/srb/event_camera_physical/episodes/evk4_reference.h5 \
  evk4/excavation/evk4_reference.h5 \
  --repo-type dataset

Keep the repo private until redistribution terms, attribution, and curation are ready. Record SHA256, byte size, event count, resolution, task, policy id, and capture date in the dataset card or adjacent README before granting broader access.

Pull And Check

Permissioned users should fetch through the SRB fixture registry when a mirror entry exists:

srb event-camera list-fixtures
srb event-camera fetch-fixture --mirror hf-andrejorsula-active-marker-gen4

For new physical task datasets, add a distinct private mirror short name only after the SHA256 and license note have been reviewed.