OpenVINO — real-time object detection via Docker (NCS2, Intel GPU, CPU)
56
64%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./skills/detection/yolo-detection-2026-openvino/SKILL.mdReal-time object detection using Intel OpenVINO runtime. Runs inside Docker for cross-platform support. Supports Intel NCS2 USB stick, Intel integrated GPU, Intel Arc discrete GPU, and any x86_64 CPU.
┌─────────────────────────────────────────────────────┐
│ Host (Aegis-AI) │
│ frame.jpg → /tmp/aegis_detection/ │
│ stdin ──→ ┌──────────────────────────────┐ │
│ │ Docker Container │ │
│ │ detect.py │ │
│ │ ├─ loads OpenVINO IR model │ │
│ │ ├─ reads frame from volume │ │
│ │ └─ runs inference on device │ │
│ stdout ←── │ → JSONL detections │ │
│ └──────────────────────────────┘ │
│ USB ──→ /dev/bus/usb (NCS2) │
│ DRI ──→ /dev/dri (Intel GPU) │
└─────────────────────────────────────────────────────┘/tmp/aegis_detection/ volumeframe event via stdin JSONL to Docker containerdetect.py reads frame, runs inference via OpenVINOdetections event via stdout JSONLyolo-detection-2026 — Aegis sees no difference# Intel GPU and NCS2 auto-detected via /dev/dri and /dev/bus/usb
# Docker uses --device flags for direct device access
./deploy.sh# Docker Desktop USB/IP handles NCS2 passthrough
# CPU fallback always available
./deploy.sh# Docker Desktop 4.35+ with USB/IP support
# Or WSL2 backend with usbipd-win for NCS2
.\deploy.batShips without a pre-compiled model by default. On first run, detect.py will auto-download yolo26n.pt and export to OpenVINO IR format. To pre-export:
# Runs on any platform (unlike Edge TPU compilation)
python scripts/compile_model.py --model yolo26n --size 640 --precision FP16| Device | Flag | Precision | ~Speed |
|---|---|---|---|
| Intel NCS2 | MYRIAD | FP16 | ~15ms |
| Intel iGPU | GPU | FP16/INT8 | ~8ms |
| Intel Arc | GPU | FP16/INT8 | ~4ms |
| Any CPU | CPU | FP32/INT8 | ~25ms |
| Auto | AUTO | Best | Auto |
Same JSONL as yolo-detection-2026:
{"event": "ready", "model": "yolo26n_openvino", "device": "GPU", "format": "openvino_ir", "classes": 80}
{"event": "detections", "frame_id": 42, "camera_id": "front_door", "objects": [{"class": "person", "confidence": 0.85, "bbox": [100, 50, 300, 400]}]}
{"event": "perf_stats", "total_frames": 50, "timings_ms": {"inference": {"avg": 8.1, "p50": 7.9, "p95": 10.2}}}[x_min, y_min, x_max, y_max] — pixel coordinates (xyxy).
./deploy.shThe deployer builds the Docker image locally, probes for OpenVINO devices, and sets the runtime command. No packages pulled from external registries beyond Docker base images and pip dependencies.
2264fcb
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.