
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.
Stores with a fixed camera, lookalike packaging, and a catalogue that keeps changing.

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

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

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.
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.

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.
One camera over the checkout belt or facing the shelf, over RTSP or USB. Nothing runs on the camera.
Shelf use needs frame skipping or slot-by-slot sampling.
This box finds the items and identifies each one; the three presets differ only here. The decision logic is identical on all three.
| Recognition host | Finding items | Identifying items | Whole chain run on the device |
|---|---|---|---|
| Rockchip NPU (reComputer RK3588) | NPU | Rockchip CPU by default, NPU optional | Shelf replay |
| reComputer R2000 Series (R2035-12, Hailo-8) | Hailo-8 | Host CPU | Not included; models provided per stage |
| reComputer J40 Series (J4012, Orin NX 16GB) | GPU | GPU | Checkout replay |
Only the reComputer J40 preset identifies items on the accelerator by default. On the Hailo preset that step stays on the CPU, which limits dense shelf frames.
A console host on site registers products, serves the management UI and runs the MQTT broker. It needs Docker and no GPU, and every preset uses it. Recognition hosts publish results to its broker and download the product library from it, all on the local network.
Every library version is kept unchanged and can be rolled back. Pushing a new version to devices is left to the integrator. The data interface is listed under “What you get out of it” below.
What the store manager sees and operates in a browser once it is running.
Replays on the device and a public-dataset benchmark, not a certified count or price.
| What the store gets | Typical | Device |
|---|---|---|
| Checkout: item detected to result published | 22.3 ms p50 (42.8 ms p95) | reComputer J40 Series (J4012, Orin NX 16GB) |
| Frames dropped over a 2 956-frame checkout replay | 0 | reComputer J40 Series |
| Shelf: item detected to result published | 924 ms p50 (1153 ms p95) | reComputer RK3588 Series |
| Shelf item top-1 on 704 crops, against the CPU reference | 541 / 704, identical | reComputer 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.
Once deployed, these three interfaces are the whole surface, all on the local network.
| Interface | Where | Payload |
|---|---|---|
MQTT retail/v1/events | Broker on the console host, 1883 | One 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, 8089 | Register a SKU from 3–8 images as a new version, list versions, download the current version, roll back |
HTTP /api/* | Management UI, 8080 | Event 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.
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.
| Layer | What porting costs you |
|---|---|
| Item detector and the two input sizes | reuse as-is; retrain only if your objects look nothing like packaged goods |
| Identification model and its quantisation recipe | reuse as-is |
| Versioned product library and rollback | reuse as-is |
| Registration API, photo quality check, access roles | reuse as-is |
| MQTT message and per-frame summary | adjust the summary for the new counting rule |
| Library contents and registration photos | collect for the new catalogue |
Fits: parts bins and kitting stations, returns sorting, asset check-in, tool-crib tracking.
Tell us about your site — we work out the hardware, then you connect the data and follow the steps.
What does the camera watch? The scene decides the compiled input size and how many crops one frame costs.
| Setup | Role | Device | Qty |
|---|---|---|---|
| Rockchip NPU — RK3588 / RK3576 | Console Host | Console / On-Prem Host | 1 |
| Recognition Host | reComputer RK3588 Series / reComputer RK3576 Series(either one) | 1 | |
| Camera | RTSP / USB Camera | 1 | |
| reComputer R2000 (Hailo-8) | Console Host | Console / On-Prem Host | 1 |
| Recognition Host | reComputer Industrial R20 Series | 1 | |
| Camera | RTSP / USB Camera | 1 | |
| Jetson Orin — TensorRT | Console Host | Console / On-Prem Host | 1 |
| Recognition Host | reComputer J40 Series (Jetson Orin NX) / reComputer J30 Series (Jetson Orin Nano)(either one) | 1 | |
| Camera | RTSP / USB Camera | 1 |
| Preset | Recognition host | Finding items | Identifying items | Whole chain run on the device |
|---|---|---|---|---|
| Rockchip NPU — RK3588 / RK3576 | reComputer RK3588 | NPU | Rockchip CPU by default | Shelf replay |
| reComputer R2000 Series (R2035-12, Hailo-8) — Detector on the NPU, Embedder on the CPU | reComputer R2000 Series with the Hailo-8 option (R2035-12) | Hailo-8 | Host CPU | Not included |
| reComputer J40 — TensorRT, Both Stages on the GPU | reComputer J4012 (Orin NX 16GB) or J3011 (Orin Nano 8GB) | GPU | GPU | Checkout replay on both tiers |
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.
The reComputer J40 preset has run the whole chain on a 2 956-frame checkout replay with no dropped frames. The Rockchip preset has run a 20-SKU shelf replay. The Hailo preset provides per-stage models without a joined device service.
On the Grocery Store Dataset (81 classes) with 8 photos per SKU, top-1 is 84.67% and top-5 96.66%. With a single photo per SKU, the smaller model drops to 51.11%. Measure on your own products before relying on it.
Each item is identified separately, so time grows with item count. A five-item basket takes about half a second on the Hailo preset; a crowded shelf frame about 14 seconds. Shelf use needs frame skipping or slot-by-slot sampling.
By default only on the reComputer J40 preset. On the Hailo preset it runs on the CPU because the quantised versions did not keep accuracy. The Rockchip preset uses the CPU by default and can move it to the NPU.
Nothing as shipped, and no weights ship with the package. Both models are trained on datasets licensed for non-commercial use only. A commercial deployment must retrain both and rebuild the product library.
No endpoint in the package points outward; camera, recognition host and console host are all on site. The bundled broker has no password, so add accounts and encryption before it leaves the bench.
The input size is fixed when the model is built. The shelf build uses 1280² input so distant products are not lost. Choose the build when you convert the model.