Photos in, catalogue out.
Each product is a folder with a few photos. The catalogue builder turns them into a search index, so adding a product never means collecting training data or retraining a model.
Developed for a retail client: a vision system that learns a product from a few photos and logs every pick-up and put-back on the device.
Client: Retail technology company
Challenge
Unattended retail, from smart fridges and cabinets to open shelves, has to know what each shopper took. When recognition depends on a model trained for every product, each new item becomes a data-collection and retraining project, and the catalogue falls behind what is actually on the shelf. Operators also need shopper video to stay in the store.
Our approach
For this client we built a vision engine that recognises products by matching what the camera sees against a catalogue made from a few photos of each product. Nothing is trained: adding a product means dropping its photos in a folder and rebuilding the catalogue, which takes seconds to minutes. On the device, the engine detects the item, matches it with vector search, and tracks its direction across the shelf boundary to decide whether it was taken or put back. Guardrails stop a hesitating hand from creating duplicate events, and only product, action and session events are sent to the backend.
How it works
Each product is a folder with a few photos. The catalogue builder turns them into a search index, so adding a product never means collecting training data or retraining a model.
Detection, matching against the catalogue and direction tracking all run on the unit. Only three facts are sent on: which product, which action, which session.
The cloud connector is a single function that builds and posts a payload. Swap it for your own API, message queue or point-of-sale system without touching the vision engine.
This is the demo we run live, on your products if you send a few photos ahead. The drawing plays the part that happens in front of the camera.
3:00Live: the engine boxes and labels each product it knows.
Events sent to the backend
A folder with a few photos per product. That is all the data there is.
The catalogue builder runs and finishes in seconds to minutes, depending on catalogue size.
The session API starts and a demo session is opened.
The vision engine starts, with direction arrows switched on.
You see the box, the label, the outgoing arrow and a remove event in the log.
The arrow reverses and an add event is logged.
Wave the item at the boundary. Guardrails prevent duplicate events.
Photograph a new product, drop the photos in a folder, rebuild and restart. It is recognised right away.
The session updates in the backend or the basket screen as events arrive.