--- license: agpl-3.0 library_name: ultralytics pipeline_tag: object-detection base_model: Ultralytics/YOLO11 tags: - object-detection - ultralytics - yolo11 - onnx - onnxruntime - casino-chips - chip-detection - casino - live-game-defender model-index: - name: lgd-chips-gen1 results: - task: type: object-detection dataset: type: lgd-chip-gate-blackjack name: LGD chip_test blackjack gate (private, never trained on) metrics: - type: recall value: 0.91 name: Chip recall @50 - type: precision value: 0.77 name: Precision --- # LGD Chips — Gen 1 · YOLO11s casino chip-colour detector (5 colours) The first generation of the **Live Game Defender (LGD)** casino-chip detector: a **YOLO11s** object detector that finds gaming chips on the felt and classifies each by **colour**. Trained on point-labeled blackjack-table footage. Colours only — colour→denomination is per-casino configuration downstream. > **Superseded** by **[`lgd-chips-gen2`](https://huggingface.co/sroot/lgd-chips-gen2)** (the current > served model — a dual-felt blend covering both blackjack and Ultimate Texas Hold'em, with a > different venue-matched palette). Gen 1 is published for provenance. ## Generations | Gen | Repo | Palette | Frozen-gate verdict | Status | |---|---|---|---|---| | 1 | **lgd-chips-gen1** (this) | black / white / green / red / pink | blackjack gate: recall 0.91 / precision 0.77 | superseded | | 2 | [lgd-chips-gen2](https://huggingface.co/sroot/lgd-chips-gen2) | black / green / pink / purple / yellow | UTH gate: 0.80 / 0.85 / colour 0.97 | ✅ current | Card detectors: [lgd-cards-gen1](https://huggingface.co/sroot/lgd-cards-gen1) · [lgd-cards-gen2](https://huggingface.co/sroot/lgd-cards-gen2) · [lgd-cards-gen3](https://huggingface.co/sroot/lgd-cards-gen3). ## Classes (5, in `model.classes.json` order) ``` chip_black chip_white chip_green chip_red chip_pink ``` ## Files - `model.onnx` — ONNX export (run with `onnxruntime`). - `model.classes.json` — ordered class-name sidecar (index → colour). - `metrics.json` — training config + evaluation. ## Training - **Base:** Ultralytics `yolo11s.pt` (COCO-pretrained), 60 epochs, `imgsz=640`. - **Data:** point-labeled chips from our blackjack-table proof-of-concept footage (labeled by vision agents — chip colour is a small class set, so no external labeling service was used). - **Hardware:** NVIDIA RTX 3060 (12 GB). ## Metrics — frozen gate (never trained on) | Gate | Recall | Precision | |---|---|---| | `chip_test` (blackjack) | 0.91 | 0.77 | > ⚠️ **Not casino accuracy (rule of the project).** Gate footage is our own PoC recordings. This > generation also produced **false `chip_black` boxes on printed felt markings** (fixed in gen 2). > Dataset-internal `mAP@50` (0.97) in `metrics.json` is not real-world accuracy. ## Usage ```python import json, onnxruntime as ort sess = ort.InferenceSession("model.onnx", providers=["CPUExecutionProvider"]) colours = json.load(open("model.classes.json")) # index -> "chip_black", ... # Detect boxes per colour, then count per class for stack/bet estimation. ``` ## License & provenance **AGPL-3.0**, a fine-tune of **Ultralytics YOLO11** (`yolo11s.pt`, AGPL-3.0) — these weights inherit AGPL-3.0 and **are not an original work of ours**. Networked deployment triggers AGPL §13 (offer the Corresponding Source). `onnxruntime` (MIT) keeps the inference code AGPL-free; the weights stay AGPL. Built for **Live Game Defender (LGD)** — an on-prem AI integrity monitor for live casino table games. © 2026 TechTools s.r.o.