Skip to content

Commit e397c67

Browse files
raullenchaiclaude
andcommitted
README: detector-in -> retina.event-out interop table + Colab badges
A hero 'plug in any detector -> one event stream' table in supported-models (framing the Supervision boundary on our output), plus three Open-in-Colab badges wiring the new notebooks/ from the quickstart section. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent c57ced0 commit e397c67

1 file changed

Lines changed: 19 additions & 1 deletion

File tree

README.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,14 @@ for event in cam.run(video_frames("dock.mp4")):
5353

5454
No model, no GPU? The [`examples/`](examples/) quickstarts run on synthetic detections — `git clone` the repo (they ship with the source, not the wheel) and start with `python examples/quickstart.py` (the forecast / video demos need `[video]` + a clip).
5555

56+
**▶️ Or run it in your browser — no install:**
57+
58+
| notebook | what it shows |
59+
|---|---|
60+
| [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/machinefi/trio-retina/blob/main/notebooks/01_quickstart_events.ipynb) | **quickstart** — detector → `zone` / `line` / `count` / `dwell` events + `validate()` |
61+
| [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/machinefi/trio-retina/blob/main/notebooks/02_camera_to_webhook.ipynb) | **camera → webhook** — a restricted-zone alert pushed to your endpoint |
62+
| [![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/machinefi/trio-retina/blob/main/notebooks/03_from_supervision.ipynb) | **from Supervision** — pipe your existing `sv.Detections` straight in |
63+
5664
### compose models with `|`
5765

5866
Wire models like n8n / LangChain, no GUI. Add a cheap gate and a VLM enricher anywhere in the chain:
@@ -96,7 +104,17 @@ Register your own for `from_json` with `register_node("my_type", builder)`.
96104

97105
## 🎛️ supported models
98106

99-
Retina imports no model — **any** `callable(image) -> [Detection]` plugs in (`CallableDetector` wraps a function in one line). Batteries-included:
107+
Retina imports no model — **any** detector plugs in, and out comes one standard event stream. That seam *is* the point:
108+
109+
| plug in any detector… || …out comes one `retina.event` stream |
110+
|---|:---:|---|
111+
| **YOLO** (Ultralytics: v5–v12, RT-DETR) || `{"type":"zone.enter", "id":42, "label":"person", …}` |
112+
| **any VLM** (GPT-4o · Qwen-VL · Gemini · Claude) || `{"type":"line.cross", "dir":"a_to_b", …}` |
113+
| **Grounding DINO** (open-vocab, no training) || `{"type":"zone.dwell", "dur":31.0, …}` |
114+
| your existing **`sv.Detections`** (Supervision) || `{"type":"count.threshold", "n":12, …}` |
115+
| any **`callable(image) -> [Detection]`** || …+ an optional latent `vec` on the same record |
116+
117+
Supervision gives you boxes on a screen; Retina turns *any* of those into a serializable state + event stream the next layer (dynamics, twin, agent) can consume. Batteries-included adapters:
100118

101119
- **YOLO family**`YoloDetector("<weights>.pt")` (Ultralytics): YOLOv5/8/9/10/11/12, RT-DETR. Open-vocab via YOLO-World.
102120
- **Open-vocab from text**`GroundingDinoDetector(["forklift", "hard hat"])`, no training.

0 commit comments

Comments
 (0)