$npx -y skills add SharpAI/DeepCamera --skill yolo-detection-2026-openvinoOpenVINO — real-time object detection via Docker (NCS2, Intel GPU, CPU)
| 1 | # OpenVINO Object Detection |
| 2 | |
| 3 | Real-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. |
| 4 | |
| 5 | ## Requirements |
| 6 | |
| 7 | - **Docker Desktop 4.35+** (all platforms) |
| 8 | - **Optional hardware**: Intel NCS2 USB, Intel iGPU, Intel Arc GPU |
| 9 | - Falls back to CPU if no accelerator present |
| 10 | |
| 11 | ## How It Works |
| 12 | |
| 13 | ``` |
| 14 | ┌─────────────────────────────────────────────────────┐ |
| 15 | │ Host (Aegis-AI) │ |
| 16 | │ frame.jpg → /tmp/aegis_detection/ │ |
| 17 | │ stdin ──→ ┌──────────────────────────────┐ │ |
| 18 | │ │ Docker Container │ │ |
| 19 | │ │ detect.py │ │ |
| 20 | │ │ ├─ loads OpenVINO IR model │ │ |
| 21 | │ │ ├─ reads frame from volume │ │ |
| 22 | │ │ └─ runs inference on device │ │ |
| 23 | │ stdout ←── │ → JSONL detections │ │ |
| 24 | │ └──────────────────────────────┘ │ |
| 25 | │ USB ──→ /dev/bus/usb (NCS2) │ |
| 26 | │ DRI ──→ /dev/dri (Intel GPU) │ |
| 27 | └─────────────────────────────────────────────────────┘ |
| 28 | ``` |
| 29 | |
| 30 | 1. Aegis writes camera frame JPEG to shared `/tmp/aegis_detection/` volume |
| 31 | 2. Sends `frame` event via stdin JSONL to Docker container |
| 32 | 3. `detect.py` reads frame, runs inference via OpenVINO |
| 33 | 4. Returns `detections` event via stdout JSONL |
| 34 | 5. Same protocol as `yolo-detection-2026` — Aegis sees no difference |
| 35 | |
| 36 | ## Platform Setup |
| 37 | |
| 38 | ### Linux |
| 39 | ```bash |
| 40 | # Intel GPU and NCS2 auto-detected via /dev/dri and /dev/bus/usb |
| 41 | # Docker uses --device flags for direct device access |
| 42 | ./deploy.sh |
| 43 | ``` |
| 44 | |
| 45 | ### macOS (Docker Desktop 4.35+) |
| 46 | ```bash |
| 47 | # Docker Desktop USB/IP handles NCS2 passthrough |
| 48 | # CPU fallback always available |
| 49 | ./deploy.sh |
| 50 | ``` |
| 51 | |
| 52 | ### Windows |
| 53 | ```powershell |
| 54 | # Docker Desktop 4.35+ with USB/IP support |
| 55 | # Or WSL2 backend with usbipd-win for NCS2 |
| 56 | .\deploy.bat |
| 57 | ``` |
| 58 | |
| 59 | ## Model |
| 60 | |
| 61 | Ships 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: |
| 62 | |
| 63 | ```bash |
| 64 | # Runs on any platform (unlike Edge TPU compilation) |
| 65 | python scripts/compile_model.py --model yolo26n --size 640 --precision FP16 |
| 66 | ``` |
| 67 | |
| 68 | ## Supported Devices |
| 69 | |
| 70 | | Device | Flag | Precision | ~Speed | |
| 71 | |--------|------|-----------|--------| |
| 72 | | Intel NCS2 | `MYRIAD` | FP16 | ~15ms | |
| 73 | | Intel iGPU | `GPU` | FP16/INT8 | ~8ms | |
| 74 | | Intel Arc | `GPU` | FP16/INT8 | ~4ms | |
| 75 | | Any CPU | `CPU` | FP32/INT8 | ~25ms | |
| 76 | | Auto | `AUTO` | Best | Auto | |
| 77 | |
| 78 | ## Protocol |
| 79 | |
| 80 | Same JSONL as `yolo-detection-2026`: |
| 81 | |
| 82 | ### Skill → Aegis (stdout) |
| 83 | ```jsonl |
| 84 | {"event": "ready", "model": "yolo26n_openvino", "device": "GPU", "format": "openvino_ir", "classes": 80} |
| 85 | {"event": "detections", "frame_id": 42, "camera_id": "front_door", "objects": [{"class": "person", "confidence": 0.85, "bbox": [100, 50, 300, 400]}]} |
| 86 | {"event": "perf_stats", "total_frames": 50, "timings_ms": {"inference": {"avg": 8.1, "p50": 7.9, "p95": 10.2}}} |
| 87 | ``` |
| 88 | |
| 89 | ### Bounding Box Format |
| 90 | `[ |