diff --git a/recognization/docs/API.md b/recognization/docs/API.md index 2cfec12..95e291e 100644 --- a/recognization/docs/API.md +++ b/recognization/docs/API.md @@ -353,6 +353,23 @@ Apple M5, 10 cores, 24 GB, CPU device, 2026-09-24 (`code/bench_engine.py`, | Live results, two clients | 8.5 per second each, detection p50 75 ms | | Time to first label on a pan | ~1.0-2.6 s (includes waiting for the product to enter) | +### Live accepted share after the cosine-gate fix (2026-09-28) + +The live path used to re-gate the gallery's own scores at `COSINE_ACCEPT` (0.60) +and `COSINE_AMBIGUOUS` (0.50), lines above the fine-tuned head's own 0.40, so +matches the gallery had already accepted were refused again. Measured on the +same machine, store `stock-lopia`, `code/stream_client.py --source add/image6.jpg +--pan 12 --seconds 20 --pace result`: + +| Gating | Tracks labelled | Final recognized / in view | +| --- | --- | --- | +| Pre-fix 0.60 / 0.50 | 16 of 261 | 2 of 30 | +| Gallery's own line | 83 of 255 | 6 of 31 | + +5.2x the labelled tracks and 3x the settled facings on an identical walk. The +remaining `unconfirmed` tracks are products the gallery has no view for, not +refusals: `stock-lopia` holds 12 SKUs while the frame shows a full bay. + The live numbers use the shipped defaults: `--classify-workers 5` and torch capped at 4 threads (`DORAYAKI_TORCH_THREADS=4`). Uncapped torch and 8 workers measured slower (11.1 results/s single-client) because detection and classification fight over the