DL Detector (f8.dl.detector)¶
ONNXRuntime object detector service (no tracking).
- Service class:
f8.dl.detector - Version:
0.0.1 - Source directory:
f8/dl/detector - Tags:
onnx,vision,detection
When to Use¶
- Use
f8.dl.detectorwhen you need bounding boxes, classes, and confidence scores for objects in the frame. - It is the usual first step when the graph needs to know where targets are.
- Choose it when multiple candidate objects may appear and later logic needs structured detections.
Common Wiring Patterns¶
- Typical inputs are
f8.implayerandf8.screencap. - Keep the original video visible during tuning so detection quality can be verified against the image.
- Detection output often continues into
f8.dl.detsorter,f8.cvkit.tracking, orf8.pyengine.
Pitfalls / Gotchas¶
- Do not tune thresholds before confirming that model selection, input sizing, and class mapping are correct.
- Slow performance can come from oversized input or deployment limits, not just from the model itself.
- If results fluctuate badly, inspect source image quality before over-tuning postprocessing.
Service Reference¶
How to Run¶
pixi run -e onnx f8pydl_detector
- Workdir:
../../../../ - Environment overrides: none
Typical Inputs / Outputs¶
- Data inputs: none
- Data outputs:
detections,monitor - Commands: none
Service State Fields¶
| Name | Access | Required | On Node | Schema | Description |
|---|---|---|---|---|---|
shmName |
rw |
true |
true |
string / default= |
Video SHM mapping name (e.g. shm.implayer.video). |
weightsDir |
rw |
true |
true |
string / default=services/f8/dl/weights |
Directory containing .yaml + .onnx model files. Reset to the default relative path when exporting publish JSON. |
modelId |
rw |
true |
true |
string / default= |
Model id selected from weightsDir (ignored if modelYamlPath is set). |
modelYamlPath |
rw |
true |
false |
string / default= |
Optional explicit model yaml path (overrides modelId). Cleared when exporting publish JSON. |
ortProvider |
rw |
true |
true |
string / enum[auto, cuda, cpu] / default=auto |
auto prefers CUDAExecutionProvider when available. |
autoDownloadWeights |
rw |
true |
false |
boolean / default=True |
When model file is missing, download from onnxUrl in model yaml. |
inferEveryN |
rw |
true |
true |
integer / default=1 |
Run model inference every N frames (>=1). |
confThreshold |
rw |
true |
false |
number / default=-1.0 |
Override confidence threshold (negative uses model yaml). |
iouThreshold |
rw |
true |
false |
number / default=-1.0 |
Override IoU threshold for NMS (negative uses model yaml). |
enabledClasses |
rw |
true |
false |
array[string] |
Optional class whitelist for output. Empty means all classes. |
perClassK |
rw |
true |
true |
integer / default=0 |
Per-class top-K by score (<=0 means unlimited). |
modelClasses |
ro |
true |
false |
array[string] |
Current loaded model class labels. |
availableModels |
ro |
true |
false |
array[string] |
List of model ids discovered from weightsDir. |
loadedModel |
ro |
true |
false |
string / default= |
Current loaded model id/task. |
ortActiveProviders |
ro |
true |
false |
string / default= |
JSON list of active ONNX Runtime providers for this session. |
lastError |
ro |
true |
false |
string / default= |
Last runtime error string (best-effort). |
active |
rw |
true |
false |
boolean / default=True |
Service lifecycle state (activate/deactivate). |
svcId |
ro |
true |
false |
string |
Readonly: current service instance id (svcId). |
Key Fields That Matter¶
shmName(Video SHM,rw): Video SHM mapping name (e.g. shm.implayer.video). Schema:string / default=.weightsDir(Weights Dir,rw): Directory containing .yaml + .onnx model files. Reset to the default relative path when exporting publish JSON. Schema:string / default=services/f8/dl/weights.modelId(Model Id,rw): Model id selected from weightsDir (ignored if modelYamlPath is set). Schema:string / default=.modelYamlPath(Model YAML Path,rw): Optional explicit model yaml path (overrides modelId). Cleared when exporting publish JSON. Schema:string / default=.ortProvider(ONNX Runtime Provider,rw): auto prefers CUDAExecutionProvider when available. Schema:string / enum[auto, cuda, cpu] / default=auto.autoDownloadWeights(Auto Download Weights,rw): When model file is missing, download from onnxUrl in model yaml. Schema:boolean / default=True.inferEveryN(Infer Every N Frames,rw): Run model inference every N frames (>=1). Schema:integer / default=1.confThreshold(Conf Threshold Override,rw): Override confidence threshold (negative uses model yaml). Schema:number / default=-1.0.
Service Commands¶
None
Service Data Input Ports¶
None
Service Data Output Ports¶
| Name | Required | On Node | Schema | Description |
|---|---|---|---|---|
detections |
true |
true |
object{detections, frameId, height, model, ...} |
Detection output in schema f8visionDetections/1. |
monitor |
true |
false |
object{active, alive, cpu, error, ...} |
Unified runtime monitor snapshots (health/resource/perf/error). |
Operators¶
None
Related Scenarios¶
- No bundled scenario references this node yet.