Supermarket Product Recognition

Recognises what's on the shelf and at the till; a new product joins the catalogue from a few photos.

Recognise every product on a checkout belt or shelf: checkout gets an item list, the shelf reports empty and misplaced slots. Register a new product from 3–8 photos, with no retraining.

Advanced90minVision & Video AI

One shelf, four rows of five slots, read in a single scan on an RK3588 board — each slot boxed by its verdict, green ok and orange empty, with the board, the scan window and the mismatch count along the bottom: 0 of 20 here

The same twenty-slot layout after a slot was restocked with the wrong product — that box turns red and reads wrong_sku while the other nineteen stay green

A checkout replay on the RK3588 board — each item keeps its track id and instance number as it moves across the counter

The checkout and shelf board — the most recent basket on the left, the four-state slot snapshot on the right. Synthetic demo data from the upstream web_demo tool, not field results

The recognition events list — scene, device, box count and item summary per window, filterable by scene, device, SKU and time. Synthetic demo data from the upstream web_demo tool, not field results

One event's detail drawer — per-box similarity, top-2 margin, OCR rerank status and VLM fallback, plus the gallery version and model hashes it was scored against

The product gallery — version history with rollback, and the SKUs registered in the current version with their aliases, image counts and license

Reusable Site Templates

Stores with a fixed camera, lookalike packaging, and a catalogue that keeps changing.

Checkout lane

Checkout lane

Tills in convenience stores and fresh-food supermarkets. The camera reads a basket instead of each barcode.

Shelf audit

Shelf audit

Supermarket facings, inner shelves of unattended cabinets. Gaps and misplacements are reported without a walk-round.

Stores that change SKUs weekly

Stores that change SKUs weekly

Snack discounters, trial-launch shops. A new SKU is registered from 3 to 8 photos, with no training run.

Not a fit: certified weighing, a legally binding price, or theft detection. The number of registration photos moves accuracy most, so shoot several angles. A crowded shelf frame takes far longer than a small basket.

How it works

A camera over the belt or facing the shelf captures the view, a recognition host (reComputer J40 Series or reComputer RK3588 Series) makes the call, an on-site console collects the results, and they go to your till or replenishment system.

Device composition for supermarket product recognition: one RTSP or USB camera feeds a recognition host — a Rockchip NPU box, a reComputer R2000 with a Hailo-8, or a Jetson Orin box — which publishes one MQTT message per frame to a console host that runs the registration service, the management UI and the broker for a store client to read

Four things: a camera over the belt or facing the shelf, one host that runs the detector and the embedder, a console host that mints the gallery and serves the UI, and whatever reads the events. All of them sit on site. The console host is shared infrastructure — every preset needs it, because that is where a new SKU is registered.

Camera

One camera over the checkout belt or facing the shelf, over RTSP or USB. Nothing runs on the camera.

  • Checkout and shelf use different model builds. The checkout build takes 640² frames, the shelf build 1280², so distant shelf products are not lost.
  • Plan by item count, not frame rate. Each item in the frame is looked up once, so a crowded shelf frame takes far longer than a five-item basket.

Shelf use needs frame skipping or slot-by-slot sampling.

How well it works

What the store manager sees and operates in a browser once it is running.

An event log you can audit frame by frame

  • Filter events by scene, device, SKU or time
  • Detail view shows track id, similarity and gallery version
  • Close calls flagged red and routed to OCR rerank

Shelf and checkout on one board

  • Top cards show event count, gallery version and item total
  • Slots sorted into ok, empty, wrong SKU or unknown
  • Odd slots name the expected vs actual SKU

A versioned product gallery — roll back mistakes

  • Each version tracks parent, SKU count and vector dimension
  • Roll back any non-current version with one click
  • Devices pick up the change on their next pull

Registering a new SKU

  • Enter SKU id, name and aliases; upload 3–8 photos
  • Submitting builds a new version, not an in-place edit
  • Old version stays for rollback
Measured results

Replays on the device and a public-dataset benchmark, not a certified count or price.

What the store getsTypicalDevice
Checkout: item detected to result published22.3 ms p50 (42.8 ms p95)reComputer J40 Series (J4012, Orin NX 16GB)
Frames dropped over a 2 956-frame checkout replay0reComputer J40 Series
Shelf: item detected to result published924 ms p50 (1153 ms p95)reComputer RK3588 Series
Shelf item top-1 on 704 crops, against the CPU reference541 / 704, identicalreComputer RK3588 Series

Recognition on the Grocery Store Dataset (81 classes), with 8 photos per SKU: 84.67% top-1, 96.66% top-5.

The number of registration photos moves accuracy most: 79.11% top-1 with 8 photos, 51.11% with one (smaller model). Photograph each SKU from several angles.

What you get out of it

Once deployed, these three interfaces are the whole surface, all on the local network.

InterfaceWherePayload
MQTT retail/v1/eventsBroker on the console host, 1883One JSON message per frame: each item's track id, box, SKU and similarity, a summary (checkout items and quantities, empty and wrong shelf slots), plus the library version and model hashes
HTTP /v1/gallery/*Registration service, 8089Register a SKU from 3–8 images as a new version, list versions, download the current version, roll back
HTTP /api/*Management UI, 8080Event list filtered by scene, SKU, device and time; per-item detail; the checkout and shelf board

Most integrations read only the summary block. A similarity score is meaningful only with the library version and model in the same message. Access needs a token with a viewer, operator or admin role; the bundled broker has no password, so add accounts before leaving the bench.

Porting It to Your Own System

The reusable unit is not "groceries" — it is the chain find items → identify each against a versioned library → aggregate → MQTT. Only the library contents are bound to a catalogue; everything else carries over unchanged.

LayerWhat porting costs you
Item detector and the two input sizesreuse as-is; retrain only if your objects look nothing like packaged goods
Identification model and its quantisation recipereuse as-is
Versioned product library and rollbackreuse as-is
Registration API, photo quality check, access rolesreuse as-is
MQTT message and per-frame summaryadjust the summary for the new counting rule
Library contents and registration photoscollect for the new catalogue

Fits: parts bins and kitting stations, returns sorting, asset check-in, tool-crib tracking.

Where this shape does not fit

  • A legally binding count or price. It counts what it can see; no certified scale, no theft claim.
  • Items told apart only by fine print. Label reading is not implemented, so near-identical packages are not separated.
  • Commercial use of the shipped weights. Both models inherit non-commercial dataset terms and must be retrained.

How to deploy

Tell us about your site — we work out the hardware, then you connect the data and follow the steps.

Camera Scene

What does the camera watch? The scene decides the compiled input size and how many crops one frame costs.

Or compare them yourself: preset specificationsDeployment Guide · 90min
SetupRoleDeviceQty
Rockchip NPU — RK3588 / RK3576Console HostConsole / On-Prem Host1
Recognition HostreComputer RK3588 Series / reComputer RK3576 Series(either one)1
CameraRTSP / USB Camera1
reComputer R2000 (Hailo-8)Console HostConsole / On-Prem Host1
Recognition HostreComputer Industrial R20 Series1
CameraRTSP / USB Camera1
Jetson Orin — TensorRTConsole HostConsole / On-Prem Host1
Recognition HostreComputer J40 Series (Jetson Orin NX) / reComputer J30 Series (Jetson Orin Nano)(either one)1
CameraRTSP / USB Camera1
PresetRecognition hostFinding itemsIdentifying itemsWhole chain run on the device
Rockchip NPU — RK3588 / RK3576reComputer RK3588NPURockchip CPU by defaultShelf replay
reComputer R2000 Series (R2035-12, Hailo-8) — Detector on the NPU, Embedder on the CPUreComputer R2000 Series with the Hailo-8 option (R2035-12)Hailo-8Host CPUNot included
reComputer J40 — TensorRT, Both Stages on the GPUreComputer J4012 (Orin NX 16GB) or J3011 (Orin Nano 8GB)GPUGPUCheckout replay on both tiers
  • Every preset also needs the console host and a camera. Both console images are built on that host; no prebuilt image is published.
  • Difficulty is rated advanced; the guide budgets about 90 minutes per preset.

FAQ

No. Photograph the SKU 3 to 8 times and upload the photos to the console, which creates a new library version. Fewer than three photos is refused.

Didn't find your answer?
Contact Us
We Are Glad to Be Your Hardware Partner !
Next