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.npzwithflow_xy,valid_mask, andtimestamps_ns.detection:<stem>.detections.jsonlwithtimestamp_ns,boxes_xyxy, andclass_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-evk4parses 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 downstreaminvocation except--synthetic-smokeis refused by the CLI preflight (cli.preflight.downstream_unsupported) before writing output — including the--write-label-templateand--check-real-targetforms 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.