Instructions to use sroot/lgd-chips-gen2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- ultralytics
How to use sroot/lgd-chips-gen2 with ultralytics:
# Couldn't find a valid YOLO version tag. # Replace XX with the correct version. from ultralytics import YOLOvXX model = YOLOvXX.from_pretrained("sroot/lgd-chips-gen2") source = 'http://images.cocodataset.org/val2017/000000039769.jpg' model.predict(source=source, save=True) - Notebooks
- Google Colab
- Kaggle
LGD Chips — Gen 2 · YOLO11s casino chip-colour detector (5 colours, dual-felt) ✅ CURRENT
The current generation of the Live Game Defender (LGD) casino-chip detector, and the model LGD serves in production. A YOLO11s object detector that finds gaming chips on the felt and classifies each by colour. Gen 2 is a dual-felt model — trained on a blend of Ultimate Texas Hold'em and blackjack footage so it works on both table types — and uses a venue-matched palette. Colours only; colour→denomination is per-casino configuration downstream.
The palette is the actual venue's chips: chip_black chip_green chip_pink chip_purple
chip_yellow — no white, no red (the light "100" chip is the black denomination; felt red is only
printed markers and card suit-pips).
Generations
| Gen | Repo | Palette | Frozen-gate verdict | Status |
|---|---|---|---|---|
| 1 | lgd-chips-gen1 | black / white / green / red / pink | blackjack gate: 0.91 / 0.77 | superseded |
| 2 | lgd-chips-gen2 (this) | black / green / pink / purple / yellow | UTH gate: 0.80 / 0.85 / colour 0.97 | ✅ current |
Card detectors: lgd-cards-gen1 · lgd-cards-gen2 · lgd-cards-gen3.
Classes (5, in model.classes.json order)
chip_black chip_green chip_pink chip_purple chip_yellow
Files
model.onnx— ONNX export (run withonnxruntime); this is the exact file LGD serves.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: a blend of the UTH chip corpus and the gen-1 blackjack data (point-labeled by vision agents), making it a dual-felt model.
- Hardware: NVIDIA RTX 3060 (12 GB).
Metrics — frozen gates (never trained on)
| Gate | Recall | Precision | Colour accuracy | Printed-board false positives |
|---|---|---|---|---|
chip_test_v2 (UTH) |
0.80 | 0.85 | 0.97 | 0 / 6 empty-board negatives |
chip_test (blackjack) |
0.92 | 0.95 | — | — |
The gen-1 printed-board false positive (spurious chip_black on the UTH "Play/Ante/Blind" ovals) is
fixed here — gen 2 puts zero boxes on an empty printed board.
⚠️ Not casino accuracy (rule of the project). Gates are our own PoC recordings, never trained on. Colours only — mapping colour→denomination is per-casino configuration. Dataset-internal
mAP@50(0.70) inmetrics.jsonis not a real-world accuracy claim.
Usage
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.
- Downloads last month
- -
Model tree for sroot/lgd-chips-gen2
Base model
Ultralytics/YOLO11Evaluation results
- Chip recall @50 on LGD chip_test_v2 UTH gate (private, never trained on)self-reported0.800
- Precision on LGD chip_test_v2 UTH gate (private, never trained on)self-reported0.850
- Colour accuracy on LGD chip_test_v2 UTH gate (private, never trained on)self-reported0.970