Extract the YOLO-ONNX detector into liria/dora-yolo-onnx #8

Closed
opened 2026-09-04 20:34:28 +00:00 by cristhian · 1 comment
Owner

Feature: Extract the YOLO-ONNX detector into liria/dora-yolo-onnx

User Story

As a dataflow author,
I want image-based YOLO detection as its own node,
so that detection is reusable with any camera source and the camera node carries no inference dependency.

Requirements

  • New repository liria/dora-yolo-onnx, seeded from dora-zed history so provenance is preserved.
  • Carries src/engines/yolo_onnx.cc, src/engines/yolo_onnx.h, src/engines/yolo_helpers.h, src/test_yolo_onnx.cc, scripts/export_yolo.py.
  • Input image — uint8, layout HWC, shape in metadata, encoding=bgr8.
  • Output objects.
  • Environment variables drop the ZED_ prefix: ONNX_MODEL_PATH, ONNX_LABELS, ONNX_LABELS_FILE, ONNX_CONFIDENCE, ONNX_NMS_THRESHOLD, ONNX_INPUT_SIZE, ONNX_OUTPUT_FORMAT.
  • Builds against dora 1.0 with a shell-free build command.
  • README.md documents inputs, outputs and environment variables in the table style used by dora-zed.

Acceptance Criteria

  • The repository builds and the node starts under dora run.
  • A dataflow wiring camera/image_bgr to detector/image publishes objects.
  • The objects row layout is documented, including field names, dtype and units.
  • README.md documents every input, output and environment variable.

Notes

688 LoC across engine (373), helpers (153), test (113) and header (49).

The objects layout in dora-zed v0.1.0 is 37 floats per row and includes fields the
ZED SDK supplies: x, y, z (indices 2–4) and bb3d (indices 13–36). An image-only
detector cannot populate these. The extracted node publishes 2D fields only, so the row
layout must be redefined and documented rather than carried over unchanged.

Repository creation requires approval before this issue can start.

# Feature: Extract the YOLO-ONNX detector into liria/dora-yolo-onnx ## User Story As a dataflow author, I want image-based YOLO detection as its own node, so that detection is reusable with any camera source and the camera node carries no inference dependency. ## Requirements - New repository `liria/dora-yolo-onnx`, seeded from dora-zed history so provenance is preserved. - Carries `src/engines/yolo_onnx.cc`, `src/engines/yolo_onnx.h`, `src/engines/yolo_helpers.h`, `src/test_yolo_onnx.cc`, `scripts/export_yolo.py`. - Input `image` — `uint8`, layout `HWC`, `shape` in metadata, `encoding=bgr8`. - Output `objects`. - Environment variables drop the `ZED_` prefix: `ONNX_MODEL_PATH`, `ONNX_LABELS`, `ONNX_LABELS_FILE`, `ONNX_CONFIDENCE`, `ONNX_NMS_THRESHOLD`, `ONNX_INPUT_SIZE`, `ONNX_OUTPUT_FORMAT`. - Builds against dora 1.0 with a shell-free build command. - `README.md` documents inputs, outputs and environment variables in the table style used by dora-zed. ## Acceptance Criteria - [ ] The repository builds and the node starts under `dora run`. - [ ] A dataflow wiring `camera/image_bgr` to `detector/image` publishes `objects`. - [ ] The `objects` row layout is documented, including field names, dtype and units. - [ ] `README.md` documents every input, output and environment variable. ## Notes 688 LoC across engine (373), helpers (153), test (113) and header (49). The `objects` layout in dora-zed `v0.1.0` is 37 floats per row and includes fields the ZED SDK supplies: `x, y, z` (indices 2–4) and `bb3d` (indices 13–36). An image-only detector cannot populate these. The extracted node publishes 2D fields only, so the row layout must be redefined and documented rather than carried over unchanged. Repository creation requires approval before this issue can start.
cristhian added this to the v0.2.0 Pure camera source on dora 1.0 milestone 2026-09-04 20:34:28 +00:00
cristhian added the feature label 2026-09-04 20:34:28 +00:00
Author
Owner

Not a priority

Not a priority
Sign in to join this conversation.