Shelf recognition that learns new products without retraining
One model finds products on the shelf and a second identifies them by comparing vectors, so the catalogue can grow without touching either model. Presented at NVIDIA GTC 2025.
- Where
- President Information Corp, 2023 — 2025
- My part
- Lead engineer: architecture, training, production deployment
- Built with
- YOLO, Triplet loss, TensorRT, DeepStream, TAO Toolkit, GCP, Metropolis
A store's product range changes constantly. The architecture had to let the catalogue grow without adding a training cycle for every new product.
- 7,000+
- 7-ELEVEN stores running it (Scientific Reports, 2025)
- +30%
- recognition of products in a customer’s hand
- Store #8
- Taiwan’s 8th unmanned 7-Eleven, deployed
Where it is, and what it is
An object detector finds products on the shelf. A separate embedding model, fine-tuned with triplet loss, decides what each product is by finding the closest match in a catalogue of reference vectors. Adding a product means adding its vectors. No model is retrained.
| Question | Component | A new product costs |
|---|---|---|
| Where is a product? | object detector | nothing |
| Which product is it? | fine-tuned triplet-loss embedding, nearest-neighbour lookup | reference vectors, no retraining |
| Does the shelf match the plan? | comparison against the planogram | nothing |
Treating product identity as a lookup, instead of a fixed list of classes, has been the standard approach to open-set product recognition since Tonioni and Di Stefano (2018). It lets the system recognise products it has seen only once or a few times. A fixed classifier would require retraining whenever the catalogue changed, so product identity was implemented as vector lookup.
I fine-tuned the embedding model because general embeddings separated categories but struggled with near-identical flavours and pack sizes.
On top of that, the system compares what is on the shelf with the planned layout (the planogram) and flags the differences. That is the question the business actually asks.
Running it on NVIDIA hardware
Production ran on NVIDIA's stack end to end, built together with NVIDIA: TAO Toolkit for training, DeepStream for video inference, TensorRT for fast execution on the hardware, and Metropolis microservices for cloud and edge deployment.
Related work: an LLM-assisted pipeline on GCP Document AI that pulls product names and details out of product images and cut a lot of manual labelling, and a predictive model over 5M+ data points, with 95% confidence intervals, used for marketing and stock decisions.
What came out of it
- Accepted as a technical poster at NVIDIA GTC 2025.
- Deployed in an unmanned store, running on edge hardware with real customers.
- A catalogue design that took retraining out of day-to-day operations.